| // Copyright 2020 Google LLC. | 
 | // Use of this source code is governed by a BSD-style | 
 | // license that can be found in the LICENSE file. | 
 |  | 
 | // Code generated file. DO NOT EDIT. | 
 |  | 
 | // Package containeranalysis provides access to the Container Analysis API. | 
 | // | 
 | // For product documentation, see: https://cloud.google.com/container-analysis/api/reference/rest/ | 
 | // | 
 | // Creating a client | 
 | // | 
 | // Usage example: | 
 | // | 
 | //   import "google.golang.org/api/containeranalysis/v1beta1" | 
 | //   ... | 
 | //   ctx := context.Background() | 
 | //   containeranalysisService, err := containeranalysis.NewService(ctx) | 
 | // | 
 | // In this example, Google Application Default Credentials are used for authentication. | 
 | // | 
 | // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. | 
 | // | 
 | // Other authentication options | 
 | // | 
 | // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: | 
 | // | 
 | //   containeranalysisService, err := containeranalysis.NewService(ctx, option.WithAPIKey("AIza...")) | 
 | // | 
 | // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: | 
 | // | 
 | //   config := &oauth2.Config{...} | 
 | //   // ... | 
 | //   token, err := config.Exchange(ctx, ...) | 
 | //   containeranalysisService, err := containeranalysis.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) | 
 | // | 
 | // See https://godoc.org/google.golang.org/api/option/ for details on options. | 
 | package containeranalysis // import "google.golang.org/api/containeranalysis/v1beta1" | 
 |  | 
 | import ( | 
 | 	"bytes" | 
 | 	"context" | 
 | 	"encoding/json" | 
 | 	"errors" | 
 | 	"fmt" | 
 | 	"io" | 
 | 	"net/http" | 
 | 	"net/url" | 
 | 	"strconv" | 
 | 	"strings" | 
 |  | 
 | 	googleapi "google.golang.org/api/googleapi" | 
 | 	gensupport "google.golang.org/api/internal/gensupport" | 
 | 	option "google.golang.org/api/option" | 
 | 	htransport "google.golang.org/api/transport/http" | 
 | ) | 
 |  | 
 | // Always reference these packages, just in case the auto-generated code | 
 | // below doesn't. | 
 | var _ = bytes.NewBuffer | 
 | var _ = strconv.Itoa | 
 | var _ = fmt.Sprintf | 
 | var _ = json.NewDecoder | 
 | var _ = io.Copy | 
 | var _ = url.Parse | 
 | var _ = gensupport.MarshalJSON | 
 | var _ = googleapi.Version | 
 | var _ = errors.New | 
 | var _ = strings.Replace | 
 | var _ = context.Canceled | 
 |  | 
 | const apiId = "containeranalysis:v1beta1" | 
 | const apiName = "containeranalysis" | 
 | const apiVersion = "v1beta1" | 
 | const basePath = "https://containeranalysis.googleapis.com/" | 
 |  | 
 | // OAuth2 scopes used by this API. | 
 | const ( | 
 | 	// View and manage your data across Google Cloud Platform services | 
 | 	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" | 
 | ) | 
 |  | 
 | // NewService creates a new Service. | 
 | func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { | 
 | 	scopesOption := option.WithScopes( | 
 | 		"https://www.googleapis.com/auth/cloud-platform", | 
 | 	) | 
 | 	// NOTE: prepend, so we don't override user-specified scopes. | 
 | 	opts = append([]option.ClientOption{scopesOption}, opts...) | 
 | 	client, endpoint, err := htransport.NewClient(ctx, opts...) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	s, err := New(client) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	if endpoint != "" { | 
 | 		s.BasePath = endpoint | 
 | 	} | 
 | 	return s, nil | 
 | } | 
 |  | 
 | // New creates a new Service. It uses the provided http.Client for requests. | 
 | // | 
 | // Deprecated: please use NewService instead. | 
 | // To provide a custom HTTP client, use option.WithHTTPClient. | 
 | // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. | 
 | func New(client *http.Client) (*Service, error) { | 
 | 	if client == nil { | 
 | 		return nil, errors.New("client is nil") | 
 | 	} | 
 | 	s := &Service{client: client, BasePath: basePath} | 
 | 	s.Projects = NewProjectsService(s) | 
 | 	return s, nil | 
 | } | 
 |  | 
 | type Service struct { | 
 | 	client    *http.Client | 
 | 	BasePath  string // API endpoint base URL | 
 | 	UserAgent string // optional additional User-Agent fragment | 
 |  | 
 | 	Projects *ProjectsService | 
 | } | 
 |  | 
 | func (s *Service) userAgent() string { | 
 | 	if s.UserAgent == "" { | 
 | 		return googleapi.UserAgent | 
 | 	} | 
 | 	return googleapi.UserAgent + " " + s.UserAgent | 
 | } | 
 |  | 
 | func NewProjectsService(s *Service) *ProjectsService { | 
 | 	rs := &ProjectsService{s: s} | 
 | 	rs.Notes = NewProjectsNotesService(s) | 
 | 	rs.Occurrences = NewProjectsOccurrencesService(s) | 
 | 	rs.ScanConfigs = NewProjectsScanConfigsService(s) | 
 | 	return rs | 
 | } | 
 |  | 
 | type ProjectsService struct { | 
 | 	s *Service | 
 |  | 
 | 	Notes *ProjectsNotesService | 
 |  | 
 | 	Occurrences *ProjectsOccurrencesService | 
 |  | 
 | 	ScanConfigs *ProjectsScanConfigsService | 
 | } | 
 |  | 
 | func NewProjectsNotesService(s *Service) *ProjectsNotesService { | 
 | 	rs := &ProjectsNotesService{s: s} | 
 | 	rs.Occurrences = NewProjectsNotesOccurrencesService(s) | 
 | 	return rs | 
 | } | 
 |  | 
 | type ProjectsNotesService struct { | 
 | 	s *Service | 
 |  | 
 | 	Occurrences *ProjectsNotesOccurrencesService | 
 | } | 
 |  | 
 | func NewProjectsNotesOccurrencesService(s *Service) *ProjectsNotesOccurrencesService { | 
 | 	rs := &ProjectsNotesOccurrencesService{s: s} | 
 | 	return rs | 
 | } | 
 |  | 
 | type ProjectsNotesOccurrencesService struct { | 
 | 	s *Service | 
 | } | 
 |  | 
 | func NewProjectsOccurrencesService(s *Service) *ProjectsOccurrencesService { | 
 | 	rs := &ProjectsOccurrencesService{s: s} | 
 | 	return rs | 
 | } | 
 |  | 
 | type ProjectsOccurrencesService struct { | 
 | 	s *Service | 
 | } | 
 |  | 
 | func NewProjectsScanConfigsService(s *Service) *ProjectsScanConfigsService { | 
 | 	rs := &ProjectsScanConfigsService{s: s} | 
 | 	return rs | 
 | } | 
 |  | 
 | type ProjectsScanConfigsService struct { | 
 | 	s *Service | 
 | } | 
 |  | 
 | // AliasContext: An alias to a repo revision. | 
 | type AliasContext struct { | 
 | 	// Kind: The alias kind. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "KIND_UNSPECIFIED" - Unknown. | 
 | 	//   "FIXED" - Git tag. | 
 | 	//   "MOVABLE" - Git branch. | 
 | 	//   "OTHER" - Used to specify non-standard aliases. For example, if a | 
 | 	// Git repo has a | 
 | 	// ref named "refs/foo/bar". | 
 | 	Kind string `json:"kind,omitempty"` | 
 |  | 
 | 	// Name: The alias name. | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Kind") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Kind") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *AliasContext) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod AliasContext | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Artifact: Artifact describes a build product. | 
 | type Artifact struct { | 
 | 	// Checksum: Hash or checksum value of a binary, or Docker Registry 2.0 | 
 | 	// digest of a | 
 | 	// container. | 
 | 	Checksum string `json:"checksum,omitempty"` | 
 |  | 
 | 	// Id: Artifact ID, if any; for container images, this will be a URL by | 
 | 	// digest | 
 | 	// like `gcr.io/projectID/imagename@sha256:123456`. | 
 | 	Id string `json:"id,omitempty"` | 
 |  | 
 | 	// Names: Related artifact names. This may be the path to a binary or | 
 | 	// jar file, or in | 
 | 	// the case of a container build, the name used to push the container | 
 | 	// image to | 
 | 	// Google Container Registry, as presented to `docker push`. Note that | 
 | 	// a | 
 | 	// single Artifact ID can have multiple names, for example if two tags | 
 | 	// are | 
 | 	// applied to one image. | 
 | 	Names []string `json:"names,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Checksum") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Checksum") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Artifact) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Artifact | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Attestation: Occurrence that represents a single "attestation". The | 
 | // authenticity of an | 
 | // attestation can be verified using the attached signature. If the | 
 | // verifier | 
 | // trusts the public key of the signer, then verifying the signature | 
 | // is | 
 | // sufficient to establish trust. In this circumstance, the authority to | 
 | // which | 
 | // this attestation is attached is primarily useful for look-up (how to | 
 | // find | 
 | // this attestation if you already know the authority and artifact to | 
 | // be | 
 | // verified) and intent (which authority was this attestation intended | 
 | // to sign | 
 | // for). | 
 | type Attestation struct { | 
 | 	GenericSignedAttestation *GenericSignedAttestation `json:"genericSignedAttestation,omitempty"` | 
 |  | 
 | 	// PgpSignedAttestation: A PGP signed attestation. | 
 | 	PgpSignedAttestation *PgpSignedAttestation `json:"pgpSignedAttestation,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. | 
 | 	// "GenericSignedAttestation") to unconditionally include in API | 
 | 	// requests. By default, fields with empty values are omitted from API | 
 | 	// requests. However, any non-pointer, non-interface field appearing in | 
 | 	// ForceSendFields will be sent to the server regardless of whether the | 
 | 	// field is empty or not. This may be used to include empty fields in | 
 | 	// Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "GenericSignedAttestation") | 
 | 	// to include in API requests with the JSON null value. By default, | 
 | 	// fields with empty values are omitted from API requests. However, any | 
 | 	// field with an empty value appearing in NullFields will be sent to the | 
 | 	// server as null. It is an error if a field in this list has a | 
 | 	// non-empty value. This may be used to include null fields in Patch | 
 | 	// requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Attestation) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Attestation | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Authority: Note kind that represents a logical attestation "role" or | 
 | // "authority". For | 
 | // example, an organization might have one `Authority` for "QA" and one | 
 | // for | 
 | // "build". This note is intended to act strictly as a grouping | 
 | // mechanism for | 
 | // the attached occurrences (Attestations). This grouping mechanism | 
 | // also | 
 | // provides a security boundary, since IAM ACLs gate the ability for a | 
 | // principle | 
 | // to attach an occurrence to a given note. It also provides a single | 
 | // point of | 
 | // lookup to find all attached attestation occurrences, even if they | 
 | // don't all | 
 | // live in the same project. | 
 | type Authority struct { | 
 | 	// Hint: Hint hints at the purpose of the attestation authority. | 
 | 	Hint *Hint `json:"hint,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Hint") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Hint") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Authority) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Authority | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Basis: Basis describes the base image portion (Note) of the | 
 | // DockerImage | 
 | // relationship. Linked occurrences are derived from this or | 
 | // an | 
 | // equivalent image via: | 
 | //   FROM <Basis.resource_url> | 
 | // Or an equivalent reference, e.g. a tag of the resource_url. | 
 | type Basis struct { | 
 | 	// Fingerprint: Required. Immutable. The fingerprint of the base image. | 
 | 	Fingerprint *Fingerprint `json:"fingerprint,omitempty"` | 
 |  | 
 | 	// ResourceUrl: Required. Immutable. The resource_url for the resource | 
 | 	// representing the | 
 | 	// basis of associated occurrence images. | 
 | 	ResourceUrl string `json:"resourceUrl,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Fingerprint") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Fingerprint") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Basis) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Basis | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // BatchCreateNotesRequest: Request to create notes in batch. | 
 | type BatchCreateNotesRequest struct { | 
 | 	// Notes: Required. The notes to create. Max allowed length is 1000. | 
 | 	Notes map[string]Note `json:"notes,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Notes") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Notes") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *BatchCreateNotesRequest) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod BatchCreateNotesRequest | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // BatchCreateNotesResponse: Response for creating notes in batch. | 
 | type BatchCreateNotesResponse struct { | 
 | 	// Notes: The notes that were created. | 
 | 	Notes []*Note `json:"notes,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Notes") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Notes") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *BatchCreateNotesResponse) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod BatchCreateNotesResponse | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // BatchCreateOccurrencesRequest: Request to create occurrences in | 
 | // batch. | 
 | type BatchCreateOccurrencesRequest struct { | 
 | 	// Occurrences: Required. The occurrences to create. Max allowed length | 
 | 	// is 1000. | 
 | 	Occurrences []*Occurrence `json:"occurrences,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Occurrences") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Occurrences") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *BatchCreateOccurrencesRequest) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod BatchCreateOccurrencesRequest | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // BatchCreateOccurrencesResponse: Response for creating occurrences in | 
 | // batch. | 
 | type BatchCreateOccurrencesResponse struct { | 
 | 	// Occurrences: The occurrences that were created. | 
 | 	Occurrences []*Occurrence `json:"occurrences,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Occurrences") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Occurrences") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *BatchCreateOccurrencesResponse) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod BatchCreateOccurrencesResponse | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Binding: Associates `members` with a `role`. | 
 | type Binding struct { | 
 | 	// Condition: The condition that is associated with this binding. | 
 | 	// NOTE: An unsatisfied condition will not allow user access via | 
 | 	// current | 
 | 	// binding. Different bindings, including their conditions, are | 
 | 	// examined | 
 | 	// independently. | 
 | 	Condition *Expr `json:"condition,omitempty"` | 
 |  | 
 | 	// Members: Specifies the identities requesting access for a Cloud | 
 | 	// Platform resource. | 
 | 	// `members` can have the following values: | 
 | 	// | 
 | 	// * `allUsers`: A special identifier that represents anyone who is | 
 | 	//    on the internet; with or without a Google account. | 
 | 	// | 
 | 	// * `allAuthenticatedUsers`: A special identifier that represents | 
 | 	// anyone | 
 | 	//    who is authenticated with a Google account or a service | 
 | 	// account. | 
 | 	// | 
 | 	// * `user:{emailid}`: An email address that represents a specific | 
 | 	// Google | 
 | 	//    account. For example, `alice@example.com` . | 
 | 	// | 
 | 	// | 
 | 	// * `serviceAccount:{emailid}`: An email address that represents a | 
 | 	// service | 
 | 	//    account. For example, | 
 | 	// `my-other-app@appspot.gserviceaccount.com`. | 
 | 	// | 
 | 	// * `group:{emailid}`: An email address that represents a Google | 
 | 	// group. | 
 | 	//    For example, `admins@example.com`. | 
 | 	// | 
 | 	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus | 
 | 	// unique | 
 | 	//    identifier) representing a user that has been recently deleted. | 
 | 	// For | 
 | 	//    example, `alice@example.com?uid=123456789012345678901`. If the | 
 | 	// user is | 
 | 	//    recovered, this value reverts to `user:{emailid}` and the | 
 | 	// recovered user | 
 | 	//    retains the role in the binding. | 
 | 	// | 
 | 	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address | 
 | 	// (plus | 
 | 	//    unique identifier) representing a service account that has been | 
 | 	// recently | 
 | 	//    deleted. For example, | 
 | 	// | 
 | 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. | 
 | 	// | 
 | 	//    If the service account is undeleted, this value reverts to | 
 | 	//    `serviceAccount:{emailid}` and the undeleted service account | 
 | 	// retains the | 
 | 	//    role in the binding. | 
 | 	// | 
 | 	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus | 
 | 	// unique | 
 | 	//    identifier) representing a Google group that has been recently | 
 | 	//    deleted. For example, | 
 | 	// `admins@example.com?uid=123456789012345678901`. If | 
 | 	//    the group is recovered, this value reverts to `group:{emailid}` | 
 | 	// and the | 
 | 	//    recovered group retains the role in the binding. | 
 | 	// | 
 | 	// | 
 | 	// * `domain:{domain}`: The G Suite domain (primary) that represents all | 
 | 	// the | 
 | 	//    users of that domain. For example, `google.com` or | 
 | 	// `example.com`. | 
 | 	// | 
 | 	// | 
 | 	Members []string `json:"members,omitempty"` | 
 |  | 
 | 	// Role: Role that is assigned to `members`. | 
 | 	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | 
 | 	Role string `json:"role,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Condition") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Condition") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Binding) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Binding | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Build: Note holding the version of the provider's builder and the | 
 | // signature of the | 
 | // provenance message in the build details occurrence. | 
 | type Build struct { | 
 | 	// BuilderVersion: Required. Immutable. Version of the builder which | 
 | 	// produced this build. | 
 | 	BuilderVersion string `json:"builderVersion,omitempty"` | 
 |  | 
 | 	// Signature: Signature of the build in occurrences pointing to this | 
 | 	// build note | 
 | 	// containing build details. | 
 | 	Signature *BuildSignature `json:"signature,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "BuilderVersion") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "BuilderVersion") to | 
 | 	// include in API requests with the JSON null value. By default, fields | 
 | 	// with empty values are omitted from API requests. However, any field | 
 | 	// with an empty value appearing in NullFields will be sent to the | 
 | 	// server as null. It is an error if a field in this list has a | 
 | 	// non-empty value. This may be used to include null fields in Patch | 
 | 	// requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Build) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Build | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // BuildProvenance: Provenance of a build. Contains all information | 
 | // needed to verify the full | 
 | // details about the build from source to completion. | 
 | type BuildProvenance struct { | 
 | 	// BuildOptions: Special options applied to this build. This is a | 
 | 	// catch-all field where | 
 | 	// build providers can enter any desired additional details. | 
 | 	BuildOptions map[string]string `json:"buildOptions,omitempty"` | 
 |  | 
 | 	// BuilderVersion: Version string of the builder at the time this build | 
 | 	// was executed. | 
 | 	BuilderVersion string `json:"builderVersion,omitempty"` | 
 |  | 
 | 	// BuiltArtifacts: Output of the build. | 
 | 	BuiltArtifacts []*Artifact `json:"builtArtifacts,omitempty"` | 
 |  | 
 | 	// Commands: Commands requested by the build. | 
 | 	Commands []*Command `json:"commands,omitempty"` | 
 |  | 
 | 	// CreateTime: Time at which the build was created. | 
 | 	CreateTime string `json:"createTime,omitempty"` | 
 |  | 
 | 	// Creator: E-mail address of the user who initiated this build. Note | 
 | 	// that this was the | 
 | 	// user's e-mail address at the time the build was initiated; this | 
 | 	// address may | 
 | 	// not represent the same end-user for all time. | 
 | 	Creator string `json:"creator,omitempty"` | 
 |  | 
 | 	// EndTime: Time at which execution of the build was finished. | 
 | 	EndTime string `json:"endTime,omitempty"` | 
 |  | 
 | 	// Id: Required. Unique identifier of the build. | 
 | 	Id string `json:"id,omitempty"` | 
 |  | 
 | 	// LogsUri: URI where any logs for this provenance were written. | 
 | 	LogsUri string `json:"logsUri,omitempty"` | 
 |  | 
 | 	// ProjectId: ID of the project. | 
 | 	ProjectId string `json:"projectId,omitempty"` | 
 |  | 
 | 	// SourceProvenance: Details of the Source input to the build. | 
 | 	SourceProvenance *Source `json:"sourceProvenance,omitempty"` | 
 |  | 
 | 	// StartTime: Time at which execution of the build was started. | 
 | 	StartTime string `json:"startTime,omitempty"` | 
 |  | 
 | 	// TriggerId: Trigger identifier if the build was triggered | 
 | 	// automatically; empty if not. | 
 | 	TriggerId string `json:"triggerId,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "BuildOptions") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "BuildOptions") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *BuildProvenance) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod BuildProvenance | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // BuildSignature: Message encapsulating the signature of the verified | 
 | // build. | 
 | type BuildSignature struct { | 
 | 	// KeyId: An ID for the key used to sign. This could be either an ID for | 
 | 	// the key | 
 | 	// stored in `public_key` (such as the ID or fingerprint for a PGP key, | 
 | 	// or the | 
 | 	// CN for a cert), or a reference to an external key (such as a | 
 | 	// reference to a | 
 | 	// key in Cloud Key Management Service). | 
 | 	KeyId string `json:"keyId,omitempty"` | 
 |  | 
 | 	// KeyType: The type of the key, either stored in `public_key` or | 
 | 	// referenced in | 
 | 	// `key_id`. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "KEY_TYPE_UNSPECIFIED" - `KeyType` is not set. | 
 | 	//   "PGP_ASCII_ARMORED" - `PGP ASCII Armored` public key. | 
 | 	//   "PKIX_PEM" - `PKIX PEM` public key. | 
 | 	KeyType string `json:"keyType,omitempty"` | 
 |  | 
 | 	// PublicKey: Public key of the builder which can be used to verify that | 
 | 	// the related | 
 | 	// findings are valid and unchanged. If `key_type` is empty, this | 
 | 	// defaults | 
 | 	// to PEM encoded public keys. | 
 | 	// | 
 | 	// This field may be empty if `key_id` references an external key. | 
 | 	// | 
 | 	// For Cloud Build based signatures, this is a PEM encoded public | 
 | 	// key. To verify the Cloud Build signature, place the contents of | 
 | 	// this field into a file (public.pem). The signature field is | 
 | 	// base64-decoded | 
 | 	// into its binary representation in signature.bin, and the provenance | 
 | 	// bytes | 
 | 	// from `BuildDetails` are base64-decoded into a binary representation | 
 | 	// in | 
 | 	// signed.bin. OpenSSL can then verify the signature: | 
 | 	// `openssl sha256 -verify public.pem -signature signature.bin | 
 | 	// signed.bin` | 
 | 	PublicKey string `json:"publicKey,omitempty"` | 
 |  | 
 | 	// Signature: Required. Signature of the related `BuildProvenance`. In | 
 | 	// JSON, this is | 
 | 	// base-64 encoded. | 
 | 	Signature string `json:"signature,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "KeyId") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "KeyId") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *BuildSignature) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod BuildSignature | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // CVSSv3: Common Vulnerability Scoring System version 3. | 
 | // For details, see https://www.first.org/cvss/specification-document | 
 | type CVSSv3 struct { | 
 | 	// Possible values: | 
 | 	//   "ATTACK_COMPLEXITY_UNSPECIFIED" | 
 | 	//   "ATTACK_COMPLEXITY_LOW" | 
 | 	//   "ATTACK_COMPLEXITY_HIGH" | 
 | 	AttackComplexity string `json:"attackComplexity,omitempty"` | 
 |  | 
 | 	// AttackVector: Base Metrics | 
 | 	// Represents the intrinsic characteristics of a vulnerability that | 
 | 	// are | 
 | 	// constant over time and across user environments. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "ATTACK_VECTOR_UNSPECIFIED" | 
 | 	//   "ATTACK_VECTOR_NETWORK" | 
 | 	//   "ATTACK_VECTOR_ADJACENT" | 
 | 	//   "ATTACK_VECTOR_LOCAL" | 
 | 	//   "ATTACK_VECTOR_PHYSICAL" | 
 | 	AttackVector string `json:"attackVector,omitempty"` | 
 |  | 
 | 	// Possible values: | 
 | 	//   "IMPACT_UNSPECIFIED" | 
 | 	//   "IMPACT_HIGH" | 
 | 	//   "IMPACT_LOW" | 
 | 	//   "IMPACT_NONE" | 
 | 	AvailabilityImpact string `json:"availabilityImpact,omitempty"` | 
 |  | 
 | 	// BaseScore: The base score is a function of the base metric scores. | 
 | 	BaseScore float64 `json:"baseScore,omitempty"` | 
 |  | 
 | 	// Possible values: | 
 | 	//   "IMPACT_UNSPECIFIED" | 
 | 	//   "IMPACT_HIGH" | 
 | 	//   "IMPACT_LOW" | 
 | 	//   "IMPACT_NONE" | 
 | 	ConfidentialityImpact string `json:"confidentialityImpact,omitempty"` | 
 |  | 
 | 	ExploitabilityScore float64 `json:"exploitabilityScore,omitempty"` | 
 |  | 
 | 	ImpactScore float64 `json:"impactScore,omitempty"` | 
 |  | 
 | 	// Possible values: | 
 | 	//   "IMPACT_UNSPECIFIED" | 
 | 	//   "IMPACT_HIGH" | 
 | 	//   "IMPACT_LOW" | 
 | 	//   "IMPACT_NONE" | 
 | 	IntegrityImpact string `json:"integrityImpact,omitempty"` | 
 |  | 
 | 	// Possible values: | 
 | 	//   "PRIVILEGES_REQUIRED_UNSPECIFIED" | 
 | 	//   "PRIVILEGES_REQUIRED_NONE" | 
 | 	//   "PRIVILEGES_REQUIRED_LOW" | 
 | 	//   "PRIVILEGES_REQUIRED_HIGH" | 
 | 	PrivilegesRequired string `json:"privilegesRequired,omitempty"` | 
 |  | 
 | 	// Possible values: | 
 | 	//   "SCOPE_UNSPECIFIED" | 
 | 	//   "SCOPE_UNCHANGED" | 
 | 	//   "SCOPE_CHANGED" | 
 | 	Scope string `json:"scope,omitempty"` | 
 |  | 
 | 	// Possible values: | 
 | 	//   "USER_INTERACTION_UNSPECIFIED" | 
 | 	//   "USER_INTERACTION_NONE" | 
 | 	//   "USER_INTERACTION_REQUIRED" | 
 | 	UserInteraction string `json:"userInteraction,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "AttackComplexity") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "AttackComplexity") to | 
 | 	// include in API requests with the JSON null value. By default, fields | 
 | 	// with empty values are omitted from API requests. However, any field | 
 | 	// with an empty value appearing in NullFields will be sent to the | 
 | 	// server as null. It is an error if a field in this list has a | 
 | 	// non-empty value. This may be used to include null fields in Patch | 
 | 	// requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *CVSSv3) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod CVSSv3 | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | func (s *CVSSv3) UnmarshalJSON(data []byte) error { | 
 | 	type NoMethod CVSSv3 | 
 | 	var s1 struct { | 
 | 		BaseScore           gensupport.JSONFloat64 `json:"baseScore"` | 
 | 		ExploitabilityScore gensupport.JSONFloat64 `json:"exploitabilityScore"` | 
 | 		ImpactScore         gensupport.JSONFloat64 `json:"impactScore"` | 
 | 		*NoMethod | 
 | 	} | 
 | 	s1.NoMethod = (*NoMethod)(s) | 
 | 	if err := json.Unmarshal(data, &s1); err != nil { | 
 | 		return err | 
 | 	} | 
 | 	s.BaseScore = float64(s1.BaseScore) | 
 | 	s.ExploitabilityScore = float64(s1.ExploitabilityScore) | 
 | 	s.ImpactScore = float64(s1.ImpactScore) | 
 | 	return nil | 
 | } | 
 |  | 
 | // CloudRepoSourceContext: A CloudRepoSourceContext denotes a particular | 
 | // revision in a Google Cloud | 
 | // Source Repo. | 
 | type CloudRepoSourceContext struct { | 
 | 	// AliasContext: An alias, which may be a branch or tag. | 
 | 	AliasContext *AliasContext `json:"aliasContext,omitempty"` | 
 |  | 
 | 	// RepoId: The ID of the repo. | 
 | 	RepoId *RepoId `json:"repoId,omitempty"` | 
 |  | 
 | 	// RevisionId: A revision ID. | 
 | 	RevisionId string `json:"revisionId,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "AliasContext") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "AliasContext") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *CloudRepoSourceContext) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod CloudRepoSourceContext | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Command: Command describes a step performed as part of the build | 
 | // pipeline. | 
 | type Command struct { | 
 | 	// Args: Command-line arguments used when executing this command. | 
 | 	Args []string `json:"args,omitempty"` | 
 |  | 
 | 	// Dir: Working directory (relative to project source root) used when | 
 | 	// running this | 
 | 	// command. | 
 | 	Dir string `json:"dir,omitempty"` | 
 |  | 
 | 	// Env: Environment variables set before running this command. | 
 | 	Env []string `json:"env,omitempty"` | 
 |  | 
 | 	// Id: Optional unique identifier for this command, used in wait_for to | 
 | 	// reference | 
 | 	// this command as a dependency. | 
 | 	Id string `json:"id,omitempty"` | 
 |  | 
 | 	// Name: Required. Name of the command, as presented on the command | 
 | 	// line, or if the | 
 | 	// command is packaged as a Docker container, as presented to `docker | 
 | 	// pull`. | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// WaitFor: The ID(s) of the command(s) that this command depends on. | 
 | 	WaitFor []string `json:"waitFor,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Args") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Args") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Command) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Command | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Deployable: An artifact that can be deployed in some runtime. | 
 | type Deployable struct { | 
 | 	// ResourceUri: Required. Resource URI for the artifact being deployed. | 
 | 	ResourceUri []string `json:"resourceUri,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "ResourceUri") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "ResourceUri") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Deployable) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Deployable | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Deployment: The period during which some deployable was active in a | 
 | // runtime. | 
 | type Deployment struct { | 
 | 	// Address: Address of the runtime element hosting this deployment. | 
 | 	Address string `json:"address,omitempty"` | 
 |  | 
 | 	// Config: Configuration used to create this deployment. | 
 | 	Config string `json:"config,omitempty"` | 
 |  | 
 | 	// DeployTime: Required. Beginning of the lifetime of this deployment. | 
 | 	DeployTime string `json:"deployTime,omitempty"` | 
 |  | 
 | 	// Platform: Platform hosting this deployment. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "PLATFORM_UNSPECIFIED" - Unknown. | 
 | 	//   "GKE" - Google Container Engine. | 
 | 	//   "FLEX" - Google App Engine: Flexible Environment. | 
 | 	//   "CUSTOM" - Custom user-defined platform. | 
 | 	Platform string `json:"platform,omitempty"` | 
 |  | 
 | 	// ResourceUri: Output only. Resource URI for the artifact being | 
 | 	// deployed taken from | 
 | 	// the deployable field with the same name. | 
 | 	ResourceUri []string `json:"resourceUri,omitempty"` | 
 |  | 
 | 	// UndeployTime: End of the lifetime of this deployment. | 
 | 	UndeployTime string `json:"undeployTime,omitempty"` | 
 |  | 
 | 	// UserEmail: Identity of the user that triggered this deployment. | 
 | 	UserEmail string `json:"userEmail,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Address") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Address") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Deployment) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Deployment | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Derived: Derived describes the derived image portion (Occurrence) of | 
 | // the DockerImage | 
 | // relationship. This image would be produced from a Dockerfile with | 
 | // FROM | 
 | // <DockerImage.Basis in attached Note>. | 
 | type Derived struct { | 
 | 	// BaseResourceUrl: Output only. This contains the base image URL for | 
 | 	// the derived image | 
 | 	// occurrence. | 
 | 	BaseResourceUrl string `json:"baseResourceUrl,omitempty"` | 
 |  | 
 | 	// Distance: Output only. The number of layers by which this image | 
 | 	// differs from the | 
 | 	// associated image basis. | 
 | 	Distance int64 `json:"distance,omitempty"` | 
 |  | 
 | 	// Fingerprint: Required. The fingerprint of the derived image. | 
 | 	Fingerprint *Fingerprint `json:"fingerprint,omitempty"` | 
 |  | 
 | 	// LayerInfo: This contains layer-specific metadata, if populated it has | 
 | 	// length | 
 | 	// "distance" and is ordered with [distance] being the layer | 
 | 	// immediately | 
 | 	// following the base image and [1] being the final layer. | 
 | 	LayerInfo []*Layer `json:"layerInfo,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "BaseResourceUrl") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "BaseResourceUrl") to | 
 | 	// include in API requests with the JSON null value. By default, fields | 
 | 	// with empty values are omitted from API requests. However, any field | 
 | 	// with an empty value appearing in NullFields will be sent to the | 
 | 	// server as null. It is an error if a field in this list has a | 
 | 	// non-empty value. This may be used to include null fields in Patch | 
 | 	// requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Derived) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Derived | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Detail: Identifies all appearances of this vulnerability in the | 
 | // package for a | 
 | // specific distro/location. For example: glibc | 
 | // in | 
 | // cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2 | 
 | type Detail struct { | 
 | 	// CpeUri: Required. The CPE URI in | 
 | 	// [cpe format](https://cpe.mitre.org/specification/) in which | 
 | 	// the | 
 | 	// vulnerability manifests. Examples include distro or storage location | 
 | 	// for | 
 | 	// vulnerable jar. | 
 | 	CpeUri string `json:"cpeUri,omitempty"` | 
 |  | 
 | 	// Description: A vendor-specific description of this note. | 
 | 	Description string `json:"description,omitempty"` | 
 |  | 
 | 	// FixedLocation: The fix for this specific package version. | 
 | 	FixedLocation *VulnerabilityLocation `json:"fixedLocation,omitempty"` | 
 |  | 
 | 	// IsObsolete: Whether this detail is obsolete. Occurrences are expected | 
 | 	// not to point to | 
 | 	// obsolete details. | 
 | 	IsObsolete bool `json:"isObsolete,omitempty"` | 
 |  | 
 | 	// MaxAffectedVersion: The max version of the package in which the | 
 | 	// vulnerability exists. | 
 | 	MaxAffectedVersion *Version `json:"maxAffectedVersion,omitempty"` | 
 |  | 
 | 	// MinAffectedVersion: The min version of the package in which the | 
 | 	// vulnerability exists. | 
 | 	MinAffectedVersion *Version `json:"minAffectedVersion,omitempty"` | 
 |  | 
 | 	// Package: Required. The name of the package where the vulnerability | 
 | 	// was found. | 
 | 	Package string `json:"package,omitempty"` | 
 |  | 
 | 	// PackageType: The type of package; whether native or non native(ruby | 
 | 	// gems, node.js | 
 | 	// packages etc). | 
 | 	PackageType string `json:"packageType,omitempty"` | 
 |  | 
 | 	// SeverityName: The severity (eg: distro assigned severity) for this | 
 | 	// vulnerability. | 
 | 	SeverityName string `json:"severityName,omitempty"` | 
 |  | 
 | 	// SourceUpdateTime: The time this information was last changed at the | 
 | 	// source. This is an | 
 | 	// upstream timestamp from the underlying information source - e.g. | 
 | 	// Ubuntu | 
 | 	// security tracker. | 
 | 	SourceUpdateTime string `json:"sourceUpdateTime,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "CpeUri") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "CpeUri") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Detail) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Detail | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Details: Details of an attestation occurrence. | 
 | type Details struct { | 
 | 	// Attestation: Required. Attestation for the resource. | 
 | 	Attestation *Attestation `json:"attestation,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Attestation") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Attestation") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Details) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Details | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Discovered: Provides information about the analysis status of a | 
 | // discovered resource. | 
 | type Discovered struct { | 
 | 	// AnalysisStatus: The status of discovery for the resource. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "ANALYSIS_STATUS_UNSPECIFIED" - Unknown. | 
 | 	//   "PENDING" - Resource is known but no action has been taken yet. | 
 | 	//   "SCANNING" - Resource is being analyzed. | 
 | 	//   "FINISHED_SUCCESS" - Analysis has finished successfully. | 
 | 	//   "FINISHED_FAILED" - Analysis has finished unsuccessfully, the | 
 | 	// analysis itself is in a bad | 
 | 	// state. | 
 | 	//   "FINISHED_UNSUPPORTED" - The resource is known not to be supported | 
 | 	AnalysisStatus string `json:"analysisStatus,omitempty"` | 
 |  | 
 | 	// AnalysisStatusError: When an error is encountered this will contain a | 
 | 	// LocalizedMessage under | 
 | 	// details to show to the user. The LocalizedMessage is output only | 
 | 	// and | 
 | 	// populated by the API. | 
 | 	AnalysisStatusError *Status `json:"analysisStatusError,omitempty"` | 
 |  | 
 | 	// ContinuousAnalysis: Whether the resource is continuously analyzed. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "CONTINUOUS_ANALYSIS_UNSPECIFIED" - Unknown. | 
 | 	//   "ACTIVE" - The resource is continuously analyzed. | 
 | 	//   "INACTIVE" - The resource is ignored for continuous analysis. | 
 | 	ContinuousAnalysis string `json:"continuousAnalysis,omitempty"` | 
 |  | 
 | 	// LastAnalysisTime: The last time continuous analysis was done for this | 
 | 	// resource. | 
 | 	// Deprecated, do not use. | 
 | 	LastAnalysisTime string `json:"lastAnalysisTime,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "AnalysisStatus") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "AnalysisStatus") to | 
 | 	// include in API requests with the JSON null value. By default, fields | 
 | 	// with empty values are omitted from API requests. However, any field | 
 | 	// with an empty value appearing in NullFields will be sent to the | 
 | 	// server as null. It is an error if a field in this list has a | 
 | 	// non-empty value. This may be used to include null fields in Patch | 
 | 	// requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Discovered) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Discovered | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Discovery: A note that indicates a type of analysis a provider would | 
 | // perform. This note | 
 | // exists in a provider's project. A `Discovery` occurrence is created | 
 | // in a | 
 | // consumer's project at the start of analysis. | 
 | type Discovery struct { | 
 | 	// AnalysisKind: Required. Immutable. The kind of analysis that is | 
 | 	// handled by this | 
 | 	// discovery. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "NOTE_KIND_UNSPECIFIED" - Unknown. | 
 | 	//   "VULNERABILITY" - The note and occurrence represent a package | 
 | 	// vulnerability. | 
 | 	//   "BUILD" - The note and occurrence assert build provenance. | 
 | 	//   "IMAGE" - This represents an image basis relationship. | 
 | 	//   "PACKAGE" - This represents a package installed via a package | 
 | 	// manager. | 
 | 	//   "DEPLOYMENT" - The note and occurrence track deployment events. | 
 | 	//   "DISCOVERY" - The note and occurrence track the initial discovery | 
 | 	// status of a resource. | 
 | 	//   "ATTESTATION" - This represents a logical "role" that can attest to | 
 | 	// artifacts. | 
 | 	AnalysisKind string `json:"analysisKind,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "AnalysisKind") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "AnalysisKind") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Discovery) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Discovery | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Distribution: This represents a particular channel of distribution | 
 | // for a given package. | 
 | // E.g., Debian's jessie-backports dpkg mirror. | 
 | type Distribution struct { | 
 | 	// Architecture: The CPU architecture for which packages in this | 
 | 	// distribution channel were | 
 | 	// built. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "ARCHITECTURE_UNSPECIFIED" - Unknown architecture. | 
 | 	//   "X86" - X86 architecture. | 
 | 	//   "X64" - X64 architecture. | 
 | 	Architecture string `json:"architecture,omitempty"` | 
 |  | 
 | 	// CpeUri: Required. The cpe_uri in [CPE | 
 | 	// format](https://cpe.mitre.org/specification/) | 
 | 	// denoting the package manager version distributing a package. | 
 | 	CpeUri string `json:"cpeUri,omitempty"` | 
 |  | 
 | 	// Description: The distribution channel-specific description of this | 
 | 	// package. | 
 | 	Description string `json:"description,omitempty"` | 
 |  | 
 | 	// LatestVersion: The latest available version of this package in this | 
 | 	// distribution channel. | 
 | 	LatestVersion *Version `json:"latestVersion,omitempty"` | 
 |  | 
 | 	// Maintainer: A freeform string denoting the maintainer of this | 
 | 	// package. | 
 | 	Maintainer string `json:"maintainer,omitempty"` | 
 |  | 
 | 	// Url: The distribution channel-specific homepage for this package. | 
 | 	Url string `json:"url,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Architecture") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Architecture") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Distribution) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Distribution | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Empty: A generic empty message that you can re-use to avoid defining | 
 | // duplicated | 
 | // empty messages in your APIs. A typical example is to use it as the | 
 | // request | 
 | // or the response type of an API method. For instance: | 
 | // | 
 | //     service Foo { | 
 | //       rpc Bar(google.protobuf.Empty) returns | 
 | // (google.protobuf.Empty); | 
 | //     } | 
 | // | 
 | // The JSON representation for `Empty` is empty JSON object `{}`. | 
 | type Empty struct { | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 | } | 
 |  | 
 | // Expr: Represents an expression text. Example: | 
 | // | 
 | //     title: "User account presence" | 
 | //     description: "Determines whether the request has a user account" | 
 | //     expression: "size(request.user) > 0" | 
 | type Expr struct { | 
 | 	// Description: An optional description of the expression. This is a | 
 | 	// longer text which | 
 | 	// describes the expression, e.g. when hovered over it in a UI. | 
 | 	Description string `json:"description,omitempty"` | 
 |  | 
 | 	// Expression: Textual representation of an expression in | 
 | 	// Common Expression Language syntax. | 
 | 	// | 
 | 	// The application context of the containing message determines | 
 | 	// which | 
 | 	// well-known feature set of CEL is supported. | 
 | 	Expression string `json:"expression,omitempty"` | 
 |  | 
 | 	// Location: An optional string indicating the location of the | 
 | 	// expression for error | 
 | 	// reporting, e.g. a file name and a position in the file. | 
 | 	Location string `json:"location,omitempty"` | 
 |  | 
 | 	// Title: An optional title for the expression, i.e. a short string | 
 | 	// describing | 
 | 	// its purpose. This can be used e.g. in UIs which allow to enter | 
 | 	// the | 
 | 	// expression. | 
 | 	Title string `json:"title,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Description") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Description") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Expr) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Expr | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // FileHashes: Container message for hashes of byte content of files, | 
 | // used in source | 
 | // messages to verify integrity of source input to the build. | 
 | type FileHashes struct { | 
 | 	// FileHash: Required. Collection of file hashes. | 
 | 	FileHash []*Hash `json:"fileHash,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "FileHash") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "FileHash") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *FileHashes) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod FileHashes | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Fingerprint: A set of properties that uniquely identify a given | 
 | // Docker image. | 
 | type Fingerprint struct { | 
 | 	// V1Name: Required. The layer ID of the final layer in the Docker | 
 | 	// image's v1 | 
 | 	// representation. | 
 | 	V1Name string `json:"v1Name,omitempty"` | 
 |  | 
 | 	// V2Blob: Required. The ordered list of v2 blobs that represent a given | 
 | 	// image. | 
 | 	V2Blob []string `json:"v2Blob,omitempty"` | 
 |  | 
 | 	// V2Name: Output only. The name of the image's v2 blobs computed via: | 
 | 	//   [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + | 
 | 	// v2_name[N+1]) | 
 | 	// Only the name of the final blob is kept. | 
 | 	V2Name string `json:"v2Name,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "V1Name") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "V1Name") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Fingerprint) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Fingerprint | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // FixableTotalByDigest: Per resource and severity counts of fixable and | 
 | // total vulnerabilities. | 
 | type FixableTotalByDigest struct { | 
 | 	// FixableCount: The number of fixable vulnerabilities associated with | 
 | 	// this resource. | 
 | 	FixableCount int64 `json:"fixableCount,omitempty,string"` | 
 |  | 
 | 	// Resource: The affected resource. | 
 | 	Resource *Resource `json:"resource,omitempty"` | 
 |  | 
 | 	// Severity: The severity for this count. SEVERITY_UNSPECIFIED indicates | 
 | 	// total across | 
 | 	// all severities. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "SEVERITY_UNSPECIFIED" - Unknown. | 
 | 	//   "MINIMAL" - Minimal severity. | 
 | 	//   "LOW" - Low severity. | 
 | 	//   "MEDIUM" - Medium severity. | 
 | 	//   "HIGH" - High severity. | 
 | 	//   "CRITICAL" - Critical severity. | 
 | 	Severity string `json:"severity,omitempty"` | 
 |  | 
 | 	// TotalCount: The total number of vulnerabilities associated with this | 
 | 	// resource. | 
 | 	TotalCount int64 `json:"totalCount,omitempty,string"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "FixableCount") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "FixableCount") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *FixableTotalByDigest) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod FixableTotalByDigest | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GenericSignedAttestation: An attestation wrapper that uses the | 
 | // Grafeas `Signature` message. | 
 | // This attestation must define the `serialized_payload` that the | 
 | // `signatures` | 
 | // verify and any metadata necessary to interpret that plaintext. | 
 | // The | 
 | // signatures should always be over the `serialized_payload` bytestring. | 
 | type GenericSignedAttestation struct { | 
 | 	// ContentType: Type (for example schema) of the attestation payload | 
 | 	// that was signed. | 
 | 	// The verifier must ensure that the provided type is one that the | 
 | 	// verifier | 
 | 	// supports, and that the attestation payload is a valid instantiation | 
 | 	// of that | 
 | 	// type (for example by validating a JSON schema). | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "CONTENT_TYPE_UNSPECIFIED" - `ContentType` is not set. | 
 | 	//   "SIMPLE_SIGNING_JSON" - Atomic format attestation signature. | 
 | 	// See | 
 | 	// https://github.com/containers/image/blob/8a5d2f82a6e3263290c8e0276 | 
 | 	// c3e0f64e77723e7/docs/atomic-signature.md | 
 | 	// The payload extracted in `plaintext` is a JSON blob conforming to | 
 | 	// the | 
 | 	// linked schema. | 
 | 	ContentType string `json:"contentType,omitempty"` | 
 |  | 
 | 	// SerializedPayload: The serialized payload that is verified by one or | 
 | 	// more `signatures`. | 
 | 	// The encoding and semantic meaning of this payload must match what is | 
 | 	// set in | 
 | 	// `content_type`. | 
 | 	SerializedPayload string `json:"serializedPayload,omitempty"` | 
 |  | 
 | 	// Signatures: One or more signatures over `serialized_payload`. | 
 | 	// Verifier implementations | 
 | 	// should consider this attestation message verified if at least | 
 | 	// one | 
 | 	// `signature` verifies `serialized_payload`.  See `Signature` in | 
 | 	// common.proto | 
 | 	// for more details on signature structure and verification. | 
 | 	Signatures []*Signature `json:"signatures,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "ContentType") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "ContentType") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GenericSignedAttestation) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GenericSignedAttestation | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GerritSourceContext: A SourceContext referring to a Gerrit project. | 
 | type GerritSourceContext struct { | 
 | 	// AliasContext: An alias, which may be a branch or tag. | 
 | 	AliasContext *AliasContext `json:"aliasContext,omitempty"` | 
 |  | 
 | 	// GerritProject: The full project name within the host. Projects may be | 
 | 	// nested, so | 
 | 	// "project/subproject" is a valid project name. The "repo name" is | 
 | 	// the | 
 | 	// hostURI/project. | 
 | 	GerritProject string `json:"gerritProject,omitempty"` | 
 |  | 
 | 	// HostUri: The URI of a running Gerrit instance. | 
 | 	HostUri string `json:"hostUri,omitempty"` | 
 |  | 
 | 	// RevisionId: A revision (commit) ID. | 
 | 	RevisionId string `json:"revisionId,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "AliasContext") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "AliasContext") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GerritSourceContext) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GerritSourceContext | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GetIamPolicyRequest: Request message for `GetIamPolicy` method. | 
 | type GetIamPolicyRequest struct { | 
 | 	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options | 
 | 	// to | 
 | 	// `GetIamPolicy`. This field is only used by Cloud IAM. | 
 | 	Options *GetPolicyOptions `json:"options,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Options") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Options") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GetIamPolicyRequest) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GetIamPolicyRequest | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy. | 
 | type GetPolicyOptions struct { | 
 | 	// RequestedPolicyVersion: Optional. The policy format version to be | 
 | 	// returned. | 
 | 	// | 
 | 	// Valid values are 0, 1, and 3. Requests specifying an invalid value | 
 | 	// will be | 
 | 	// rejected. | 
 | 	// | 
 | 	// Requests for policies with any conditional bindings must specify | 
 | 	// version 3. | 
 | 	// Policies without any conditional bindings may specify any valid value | 
 | 	// or | 
 | 	// leave the field unset. | 
 | 	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. | 
 | 	// "RequestedPolicyVersion") to unconditionally include in API requests. | 
 | 	// By default, fields with empty values are omitted from API requests. | 
 | 	// However, any non-pointer, non-interface field appearing in | 
 | 	// ForceSendFields will be sent to the server regardless of whether the | 
 | 	// field is empty or not. This may be used to include empty fields in | 
 | 	// Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "RequestedPolicyVersion") | 
 | 	// to include in API requests with the JSON null value. By default, | 
 | 	// fields with empty values are omitted from API requests. However, any | 
 | 	// field with an empty value appearing in NullFields will be sent to the | 
 | 	// server as null. It is an error if a field in this list has a | 
 | 	// non-empty value. This may be used to include null fields in Patch | 
 | 	// requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GetPolicyOptions) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GetPolicyOptions | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GitSourceContext: A GitSourceContext denotes a particular revision in | 
 | // a third party Git | 
 | // repository (e.g., GitHub). | 
 | type GitSourceContext struct { | 
 | 	// RevisionId: Git commit hash. | 
 | 	RevisionId string `json:"revisionId,omitempty"` | 
 |  | 
 | 	// Url: Git repository URL. | 
 | 	Url string `json:"url,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "RevisionId") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "RevisionId") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GitSourceContext) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GitSourceContext | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata: Metadata | 
 | // for all operations used and required for all operations | 
 | // that created by Container Analysis Providers | 
 | type GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata struct { | 
 | 	// CreateTime: Output only. The time this operation was created. | 
 | 	CreateTime string `json:"createTime,omitempty"` | 
 |  | 
 | 	// EndTime: Output only. The time that this operation was marked | 
 | 	// completed or failed. | 
 | 	EndTime string `json:"endTime,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "CreateTime") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "CreateTime") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GrafeasV1beta1BuildDetails: Details of a build occurrence. | 
 | type GrafeasV1beta1BuildDetails struct { | 
 | 	// Provenance: Required. The actual provenance for the build. | 
 | 	Provenance *BuildProvenance `json:"provenance,omitempty"` | 
 |  | 
 | 	// ProvenanceBytes: Serialized JSON representation of the provenance, | 
 | 	// used in generating the | 
 | 	// build signature in the corresponding build note. After verifying | 
 | 	// the | 
 | 	// signature, `provenance_bytes` can be unmarshalled and compared to | 
 | 	// the | 
 | 	// provenance to confirm that it is unchanged. A base64-encoded | 
 | 	// string | 
 | 	// representation of the provenance bytes is used for the signature in | 
 | 	// order | 
 | 	// to interoperate with openssl which expects this format for | 
 | 	// signature | 
 | 	// verification. | 
 | 	// | 
 | 	// The serialized form is captured both to avoid ambiguity in how | 
 | 	// the | 
 | 	// provenance is marshalled to json as well to prevent incompatibilities | 
 | 	// with | 
 | 	// future changes. | 
 | 	ProvenanceBytes string `json:"provenanceBytes,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Provenance") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Provenance") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GrafeasV1beta1BuildDetails) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GrafeasV1beta1BuildDetails | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GrafeasV1beta1DeploymentDetails: Details of a deployment occurrence. | 
 | type GrafeasV1beta1DeploymentDetails struct { | 
 | 	// Deployment: Required. Deployment history for the resource. | 
 | 	Deployment *Deployment `json:"deployment,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Deployment") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Deployment") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GrafeasV1beta1DeploymentDetails) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GrafeasV1beta1DeploymentDetails | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GrafeasV1beta1DiscoveryDetails: Details of a discovery occurrence. | 
 | type GrafeasV1beta1DiscoveryDetails struct { | 
 | 	// Discovered: Required. Analysis status for the discovered resource. | 
 | 	Discovered *Discovered `json:"discovered,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Discovered") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Discovered") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GrafeasV1beta1DiscoveryDetails) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GrafeasV1beta1DiscoveryDetails | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GrafeasV1beta1ImageDetails: Details of an image occurrence. | 
 | type GrafeasV1beta1ImageDetails struct { | 
 | 	// DerivedImage: Required. Immutable. The child image derived from the | 
 | 	// base image. | 
 | 	DerivedImage *Derived `json:"derivedImage,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "DerivedImage") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "DerivedImage") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GrafeasV1beta1ImageDetails) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GrafeasV1beta1ImageDetails | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GrafeasV1beta1PackageDetails: Details of a package occurrence. | 
 | type GrafeasV1beta1PackageDetails struct { | 
 | 	// Installation: Required. Where the package was installed. | 
 | 	Installation *Installation `json:"installation,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Installation") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Installation") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GrafeasV1beta1PackageDetails) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GrafeasV1beta1PackageDetails | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // GrafeasV1beta1VulnerabilityDetails: Details of a vulnerability | 
 | // Occurrence. | 
 | type GrafeasV1beta1VulnerabilityDetails struct { | 
 | 	// CvssScore: Output only. The CVSS score of this vulnerability. CVSS | 
 | 	// score is on a | 
 | 	// scale of 0-10 where 0 indicates low severity and 10 indicates | 
 | 	// high | 
 | 	// severity. | 
 | 	CvssScore float64 `json:"cvssScore,omitempty"` | 
 |  | 
 | 	// EffectiveSeverity: The distro assigned severity for this | 
 | 	// vulnerability when it is | 
 | 	// available, and note provider assigned severity when distro has not | 
 | 	// yet | 
 | 	// assigned a severity for this vulnerability. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "SEVERITY_UNSPECIFIED" - Unknown. | 
 | 	//   "MINIMAL" - Minimal severity. | 
 | 	//   "LOW" - Low severity. | 
 | 	//   "MEDIUM" - Medium severity. | 
 | 	//   "HIGH" - High severity. | 
 | 	//   "CRITICAL" - Critical severity. | 
 | 	EffectiveSeverity string `json:"effectiveSeverity,omitempty"` | 
 |  | 
 | 	// LongDescription: Output only. A detailed description of this | 
 | 	// vulnerability. | 
 | 	LongDescription string `json:"longDescription,omitempty"` | 
 |  | 
 | 	// PackageIssue: Required. The set of affected locations and their fixes | 
 | 	// (if available) | 
 | 	// within the associated resource. | 
 | 	PackageIssue []*PackageIssue `json:"packageIssue,omitempty"` | 
 |  | 
 | 	// RelatedUrls: Output only. URLs related to this vulnerability. | 
 | 	RelatedUrls []*RelatedUrl `json:"relatedUrls,omitempty"` | 
 |  | 
 | 	// Severity: Output only. The note provider assigned Severity of the | 
 | 	// vulnerability. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "SEVERITY_UNSPECIFIED" - Unknown. | 
 | 	//   "MINIMAL" - Minimal severity. | 
 | 	//   "LOW" - Low severity. | 
 | 	//   "MEDIUM" - Medium severity. | 
 | 	//   "HIGH" - High severity. | 
 | 	//   "CRITICAL" - Critical severity. | 
 | 	Severity string `json:"severity,omitempty"` | 
 |  | 
 | 	// ShortDescription: Output only. A one sentence description of this | 
 | 	// vulnerability. | 
 | 	ShortDescription string `json:"shortDescription,omitempty"` | 
 |  | 
 | 	// Type: The type of package; whether native or non native(ruby gems, | 
 | 	// node.js | 
 | 	// packages etc) | 
 | 	Type string `json:"type,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "CvssScore") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "CvssScore") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *GrafeasV1beta1VulnerabilityDetails) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod GrafeasV1beta1VulnerabilityDetails | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | func (s *GrafeasV1beta1VulnerabilityDetails) UnmarshalJSON(data []byte) error { | 
 | 	type NoMethod GrafeasV1beta1VulnerabilityDetails | 
 | 	var s1 struct { | 
 | 		CvssScore gensupport.JSONFloat64 `json:"cvssScore"` | 
 | 		*NoMethod | 
 | 	} | 
 | 	s1.NoMethod = (*NoMethod)(s) | 
 | 	if err := json.Unmarshal(data, &s1); err != nil { | 
 | 		return err | 
 | 	} | 
 | 	s.CvssScore = float64(s1.CvssScore) | 
 | 	return nil | 
 | } | 
 |  | 
 | // Hash: Container message for hash values. | 
 | type Hash struct { | 
 | 	// Type: Required. The type of hash that was performed. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "HASH_TYPE_UNSPECIFIED" - Unknown. | 
 | 	//   "SHA256" - A SHA-256 hash. | 
 | 	Type string `json:"type,omitempty"` | 
 |  | 
 | 	// Value: Required. The hash value. | 
 | 	Value string `json:"value,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Type") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Type") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Hash) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Hash | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Hint: This submessage provides human-readable hints about the purpose | 
 | // of the | 
 | // authority. Because the name of a note acts as its resource reference, | 
 | // it is | 
 | // important to disambiguate the canonical name of the Note (which might | 
 | // be a | 
 | // UUID for security purposes) from "readable" names more suitable for | 
 | // debug | 
 | // output. Note that these hints should not be used to look up | 
 | // authorities in | 
 | // security sensitive contexts, such as when looking up attestations | 
 | // to | 
 | // verify. | 
 | type Hint struct { | 
 | 	// HumanReadableName: Required. The human readable name of this | 
 | 	// attestation authority, for | 
 | 	// example "qa". | 
 | 	HumanReadableName string `json:"humanReadableName,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "HumanReadableName") | 
 | 	// to unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "HumanReadableName") to | 
 | 	// include in API requests with the JSON null value. By default, fields | 
 | 	// with empty values are omitted from API requests. However, any field | 
 | 	// with an empty value appearing in NullFields will be sent to the | 
 | 	// server as null. It is an error if a field in this list has a | 
 | 	// non-empty value. This may be used to include null fields in Patch | 
 | 	// requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Hint) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Hint | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Installation: This represents how a particular software package may | 
 | // be installed on a | 
 | // system. | 
 | type Installation struct { | 
 | 	// Location: Required. All of the places within the filesystem versions | 
 | 	// of this package | 
 | 	// have been found. | 
 | 	Location []*Location `json:"location,omitempty"` | 
 |  | 
 | 	// Name: Output only. The name of the installed package. | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Location") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Location") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Installation) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Installation | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | type KnowledgeBase struct { | 
 | 	// Name: The KB name (generally of the form KB[0-9]+ i.e. KB123456). | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// Url: A link to the KB in the Windows update catalog | 
 | 	// - | 
 | 	// https://www.catalog.update.microsoft.com/ | 
 | 	Url string `json:"url,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Name") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Name") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *KnowledgeBase) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod KnowledgeBase | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Layer: Layer holds metadata specific to a layer of a Docker image. | 
 | type Layer struct { | 
 | 	// Arguments: The recovered arguments to the Dockerfile directive. | 
 | 	Arguments string `json:"arguments,omitempty"` | 
 |  | 
 | 	// Directive: Required. The recovered Dockerfile directive used to | 
 | 	// construct this layer. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "DIRECTIVE_UNSPECIFIED" - Default value for unsupported/missing | 
 | 	// directive. | 
 | 	//   "MAINTAINER" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "RUN" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "CMD" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "LABEL" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "EXPOSE" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "ENV" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "ADD" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "COPY" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "ENTRYPOINT" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "VOLUME" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "USER" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "WORKDIR" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "ARG" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "ONBUILD" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "STOPSIGNAL" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "HEALTHCHECK" - https://docs.docker.com/engine/reference/builder/ | 
 | 	//   "SHELL" - https://docs.docker.com/engine/reference/builder/ | 
 | 	Directive string `json:"directive,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Arguments") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Arguments") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Layer) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Layer | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // ListNoteOccurrencesResponse: Response for listing occurrences for a | 
 | // note. | 
 | type ListNoteOccurrencesResponse struct { | 
 | 	// NextPageToken: Token to provide to skip to a particular spot in the | 
 | 	// list. | 
 | 	NextPageToken string `json:"nextPageToken,omitempty"` | 
 |  | 
 | 	// Occurrences: The occurrences attached to the specified note. | 
 | 	Occurrences []*Occurrence `json:"occurrences,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "NextPageToken") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "NextPageToken") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *ListNoteOccurrencesResponse) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod ListNoteOccurrencesResponse | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // ListNotesResponse: Response for listing notes. | 
 | type ListNotesResponse struct { | 
 | 	// NextPageToken: The next pagination token in the list response. It | 
 | 	// should be used as | 
 | 	// `page_token` for the following request. An empty value means no | 
 | 	// more | 
 | 	// results. | 
 | 	NextPageToken string `json:"nextPageToken,omitempty"` | 
 |  | 
 | 	// Notes: The notes requested. | 
 | 	Notes []*Note `json:"notes,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "NextPageToken") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "NextPageToken") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *ListNotesResponse) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod ListNotesResponse | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // ListOccurrencesResponse: Response for listing occurrences. | 
 | type ListOccurrencesResponse struct { | 
 | 	// NextPageToken: The next pagination token in the list response. It | 
 | 	// should be used as | 
 | 	// `page_token` for the following request. An empty value means no | 
 | 	// more | 
 | 	// results. | 
 | 	NextPageToken string `json:"nextPageToken,omitempty"` | 
 |  | 
 | 	// Occurrences: The occurrences requested. | 
 | 	Occurrences []*Occurrence `json:"occurrences,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "NextPageToken") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "NextPageToken") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *ListOccurrencesResponse) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod ListOccurrencesResponse | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // ListScanConfigsResponse: Response for listing scan configurations. | 
 | type ListScanConfigsResponse struct { | 
 | 	// NextPageToken: The next pagination token in the list response. It | 
 | 	// should be used as | 
 | 	// `page_token` for the following request. An empty value means no | 
 | 	// more | 
 | 	// results. | 
 | 	NextPageToken string `json:"nextPageToken,omitempty"` | 
 |  | 
 | 	// ScanConfigs: The scan configurations requested. | 
 | 	ScanConfigs []*ScanConfig `json:"scanConfigs,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "NextPageToken") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "NextPageToken") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *ListScanConfigsResponse) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod ListScanConfigsResponse | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Location: An occurrence of a particular package installation found | 
 | // within a system's | 
 | // filesystem. E.g., glibc was found in `/var/lib/dpkg/status`. | 
 | type Location struct { | 
 | 	// CpeUri: Required. The CPE URI in [CPE | 
 | 	// format](https://cpe.mitre.org/specification/) | 
 | 	// denoting the package manager version distributing a package. | 
 | 	CpeUri string `json:"cpeUri,omitempty"` | 
 |  | 
 | 	// Path: The path from which we gathered that this package/version is | 
 | 	// installed. | 
 | 	Path string `json:"path,omitempty"` | 
 |  | 
 | 	// Version: The version installed at this location. | 
 | 	Version *Version `json:"version,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "CpeUri") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "CpeUri") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Location) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Location | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Note: A type of analysis that can be done for a resource. | 
 | type Note struct { | 
 | 	// AttestationAuthority: A note describing an attestation role. | 
 | 	AttestationAuthority *Authority `json:"attestationAuthority,omitempty"` | 
 |  | 
 | 	// BaseImage: A note describing a base image. | 
 | 	BaseImage *Basis `json:"baseImage,omitempty"` | 
 |  | 
 | 	// Build: A note describing build provenance for a verifiable build. | 
 | 	Build *Build `json:"build,omitempty"` | 
 |  | 
 | 	// CreateTime: Output only. The time this note was created. This field | 
 | 	// can be used as a | 
 | 	// filter in list requests. | 
 | 	CreateTime string `json:"createTime,omitempty"` | 
 |  | 
 | 	// Deployable: A note describing something that can be deployed. | 
 | 	Deployable *Deployable `json:"deployable,omitempty"` | 
 |  | 
 | 	// Discovery: A note describing the initial analysis of a resource. | 
 | 	Discovery *Discovery `json:"discovery,omitempty"` | 
 |  | 
 | 	// ExpirationTime: Time of expiration for this note. Empty if note does | 
 | 	// not expire. | 
 | 	ExpirationTime string `json:"expirationTime,omitempty"` | 
 |  | 
 | 	// Kind: Output only. The type of analysis. This field can be used as a | 
 | 	// filter in | 
 | 	// list requests. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "NOTE_KIND_UNSPECIFIED" - Unknown. | 
 | 	//   "VULNERABILITY" - The note and occurrence represent a package | 
 | 	// vulnerability. | 
 | 	//   "BUILD" - The note and occurrence assert build provenance. | 
 | 	//   "IMAGE" - This represents an image basis relationship. | 
 | 	//   "PACKAGE" - This represents a package installed via a package | 
 | 	// manager. | 
 | 	//   "DEPLOYMENT" - The note and occurrence track deployment events. | 
 | 	//   "DISCOVERY" - The note and occurrence track the initial discovery | 
 | 	// status of a resource. | 
 | 	//   "ATTESTATION" - This represents a logical "role" that can attest to | 
 | 	// artifacts. | 
 | 	Kind string `json:"kind,omitempty"` | 
 |  | 
 | 	// LongDescription: A detailed description of this note. | 
 | 	LongDescription string `json:"longDescription,omitempty"` | 
 |  | 
 | 	// Name: Output only. The name of the note in the form | 
 | 	// of | 
 | 	// `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// Package: A note describing a package hosted by various package | 
 | 	// managers. | 
 | 	Package *Package `json:"package,omitempty"` | 
 |  | 
 | 	// RelatedNoteNames: Other notes related to this note. | 
 | 	RelatedNoteNames []string `json:"relatedNoteNames,omitempty"` | 
 |  | 
 | 	// RelatedUrl: URLs associated with this note. | 
 | 	RelatedUrl []*RelatedUrl `json:"relatedUrl,omitempty"` | 
 |  | 
 | 	// ShortDescription: A one sentence description of this note. | 
 | 	ShortDescription string `json:"shortDescription,omitempty"` | 
 |  | 
 | 	// UpdateTime: Output only. The time this note was last updated. This | 
 | 	// field can be used as | 
 | 	// a filter in list requests. | 
 | 	UpdateTime string `json:"updateTime,omitempty"` | 
 |  | 
 | 	// Vulnerability: A note describing a package vulnerability. | 
 | 	Vulnerability *Vulnerability `json:"vulnerability,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. | 
 | 	// "AttestationAuthority") to unconditionally include in API requests. | 
 | 	// By default, fields with empty values are omitted from API requests. | 
 | 	// However, any non-pointer, non-interface field appearing in | 
 | 	// ForceSendFields will be sent to the server regardless of whether the | 
 | 	// field is empty or not. This may be used to include empty fields in | 
 | 	// Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "AttestationAuthority") to | 
 | 	// include in API requests with the JSON null value. By default, fields | 
 | 	// with empty values are omitted from API requests. However, any field | 
 | 	// with an empty value appearing in NullFields will be sent to the | 
 | 	// server as null. It is an error if a field in this list has a | 
 | 	// non-empty value. This may be used to include null fields in Patch | 
 | 	// requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Note) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Note | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Occurrence: An instance of an analysis type that has been found on a | 
 | // resource. | 
 | type Occurrence struct { | 
 | 	// Attestation: Describes an attestation of an artifact. | 
 | 	Attestation *Details `json:"attestation,omitempty"` | 
 |  | 
 | 	// Build: Describes a verifiable build. | 
 | 	Build *GrafeasV1beta1BuildDetails `json:"build,omitempty"` | 
 |  | 
 | 	// CreateTime: Output only. The time this occurrence was created. | 
 | 	CreateTime string `json:"createTime,omitempty"` | 
 |  | 
 | 	// Deployment: Describes the deployment of an artifact on a runtime. | 
 | 	Deployment *GrafeasV1beta1DeploymentDetails `json:"deployment,omitempty"` | 
 |  | 
 | 	// DerivedImage: Describes how this resource derives from the basis in | 
 | 	// the associated | 
 | 	// note. | 
 | 	DerivedImage *GrafeasV1beta1ImageDetails `json:"derivedImage,omitempty"` | 
 |  | 
 | 	// Discovered: Describes when a resource was discovered. | 
 | 	Discovered *GrafeasV1beta1DiscoveryDetails `json:"discovered,omitempty"` | 
 |  | 
 | 	// Installation: Describes the installation of a package on the linked | 
 | 	// resource. | 
 | 	Installation *GrafeasV1beta1PackageDetails `json:"installation,omitempty"` | 
 |  | 
 | 	// Kind: Output only. This explicitly denotes which of the occurrence | 
 | 	// details are | 
 | 	// specified. This field can be used as a filter in list requests. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "NOTE_KIND_UNSPECIFIED" - Unknown. | 
 | 	//   "VULNERABILITY" - The note and occurrence represent a package | 
 | 	// vulnerability. | 
 | 	//   "BUILD" - The note and occurrence assert build provenance. | 
 | 	//   "IMAGE" - This represents an image basis relationship. | 
 | 	//   "PACKAGE" - This represents a package installed via a package | 
 | 	// manager. | 
 | 	//   "DEPLOYMENT" - The note and occurrence track deployment events. | 
 | 	//   "DISCOVERY" - The note and occurrence track the initial discovery | 
 | 	// status of a resource. | 
 | 	//   "ATTESTATION" - This represents a logical "role" that can attest to | 
 | 	// artifacts. | 
 | 	Kind string `json:"kind,omitempty"` | 
 |  | 
 | 	// Name: Output only. The name of the occurrence in the form | 
 | 	// of | 
 | 	// `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// NoteName: Required. Immutable. The analysis note associated with this | 
 | 	// occurrence, in | 
 | 	// the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can | 
 | 	// be | 
 | 	// used as a filter in list requests. | 
 | 	NoteName string `json:"noteName,omitempty"` | 
 |  | 
 | 	// Remediation: A description of actions that can be taken to remedy the | 
 | 	// note. | 
 | 	Remediation string `json:"remediation,omitempty"` | 
 |  | 
 | 	// Resource: Required. Immutable. The resource for which the occurrence | 
 | 	// applies. | 
 | 	Resource *Resource `json:"resource,omitempty"` | 
 |  | 
 | 	// UpdateTime: Output only. The time this occurrence was last updated. | 
 | 	UpdateTime string `json:"updateTime,omitempty"` | 
 |  | 
 | 	// Vulnerability: Describes a security vulnerability. | 
 | 	Vulnerability *GrafeasV1beta1VulnerabilityDetails `json:"vulnerability,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Attestation") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Attestation") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Occurrence) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Occurrence | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Package: This represents a particular package that is distributed | 
 | // over various | 
 | // channels. E.g., glibc (aka libc6) is distributed by many, at | 
 | // various | 
 | // versions. | 
 | type Package struct { | 
 | 	// Distribution: The various channels by which a package is distributed. | 
 | 	Distribution []*Distribution `json:"distribution,omitempty"` | 
 |  | 
 | 	// Name: Required. Immutable. The name of the package. | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Distribution") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Distribution") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Package) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Package | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // PackageIssue: This message wraps a location affected by a | 
 | // vulnerability and its | 
 | // associated fix (if one is available). | 
 | type PackageIssue struct { | 
 | 	// AffectedLocation: Required. The location of the vulnerability. | 
 | 	AffectedLocation *VulnerabilityLocation `json:"affectedLocation,omitempty"` | 
 |  | 
 | 	// FixedLocation: The location of the available fix for vulnerability. | 
 | 	FixedLocation *VulnerabilityLocation `json:"fixedLocation,omitempty"` | 
 |  | 
 | 	// SeverityName: Deprecated, use Details.effective_severity instead | 
 | 	// The severity (e.g., distro assigned severity) for this vulnerability. | 
 | 	SeverityName string `json:"severityName,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "AffectedLocation") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "AffectedLocation") to | 
 | 	// include in API requests with the JSON null value. By default, fields | 
 | 	// with empty values are omitted from API requests. However, any field | 
 | 	// with an empty value appearing in NullFields will be sent to the | 
 | 	// server as null. It is an error if a field in this list has a | 
 | 	// non-empty value. This may be used to include null fields in Patch | 
 | 	// requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *PackageIssue) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod PackageIssue | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // PgpSignedAttestation: An attestation wrapper with a PGP-compatible | 
 | // signature. This message only | 
 | // supports `ATTACHED` signatures, where the payload that is signed is | 
 | // included | 
 | // alongside the signature itself in the same file. | 
 | type PgpSignedAttestation struct { | 
 | 	// ContentType: Type (for example schema) of the attestation payload | 
 | 	// that was signed. | 
 | 	// The verifier must ensure that the provided type is one that the | 
 | 	// verifier | 
 | 	// supports, and that the attestation payload is a valid instantiation | 
 | 	// of that | 
 | 	// type (for example by validating a JSON schema). | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "CONTENT_TYPE_UNSPECIFIED" - `ContentType` is not set. | 
 | 	//   "SIMPLE_SIGNING_JSON" - Atomic format attestation signature. | 
 | 	// See | 
 | 	// https://github.com/containers/image/blob/8a5d2f82a6e3263290c8e0276 | 
 | 	// c3e0f64e77723e7/docs/atomic-signature.md | 
 | 	// The payload extracted from `signature` is a JSON blob conforming to | 
 | 	// the | 
 | 	// linked schema. | 
 | 	ContentType string `json:"contentType,omitempty"` | 
 |  | 
 | 	// PgpKeyId: The cryptographic fingerprint of the key used to generate | 
 | 	// the signature, | 
 | 	// as output by, e.g. `gpg --list-keys`. This should be the version 4, | 
 | 	// full | 
 | 	// 160-bit fingerprint, expressed as a 40 character hexidecimal string. | 
 | 	// See | 
 | 	// https://tools.ietf.org/html/rfc4880#section-12.2 for | 
 | 	// details. | 
 | 	// Implementations may choose to acknowledge "LONG", "SHORT", or | 
 | 	// other | 
 | 	// abbreviated key IDs, but only the full fingerprint is guaranteed to | 
 | 	// work. | 
 | 	// In gpg, the full fingerprint can be retrieved from the `fpr` | 
 | 	// field | 
 | 	// returned when calling --list-keys with --with-colons.  For | 
 | 	// example: | 
 | 	// ``` | 
 | 	// gpg --with-colons --with-fingerprint --force-v4-certs \ | 
 | 	//     --list-keys | 
 | 	// attester@example.com | 
 | 	// tru::1:1513631572:0:3:1:5 | 
 | 	// pub:...<SNIP>... | 
 | 	// fpr::: | 
 | 	// ::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB: | 
 | 	// ``` | 
 | 	// Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`. | 
 | 	PgpKeyId string `json:"pgpKeyId,omitempty"` | 
 |  | 
 | 	// Signature: Required. The raw content of the signature, as output by | 
 | 	// GNU Privacy Guard | 
 | 	// (GPG) or equivalent. Since this message only supports attached | 
 | 	// signatures, | 
 | 	// the payload that was signed must be attached. While the signature | 
 | 	// format | 
 | 	// supported is dependent on the verification implementation, currently | 
 | 	// only | 
 | 	// ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather | 
 | 	// than | 
 | 	// `--clearsign` to gpg) are supported. Concretely, `gpg --sign | 
 | 	// --armor | 
 | 	// --output=signature.gpg payload.json` will create the signature | 
 | 	// content | 
 | 	// expected in this field in `signature.gpg` for the | 
 | 	// `payload.json` | 
 | 	// attestation payload. | 
 | 	Signature string `json:"signature,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "ContentType") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "ContentType") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *PgpSignedAttestation) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod PgpSignedAttestation | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Policy: An Identity and Access Management (IAM) policy, which | 
 | // specifies access | 
 | // controls for Google Cloud resources. | 
 | // | 
 | // | 
 | // A `Policy` is a collection of `bindings`. A `binding` binds one or | 
 | // more | 
 | // `members` to a single `role`. Members can be user accounts, service | 
 | // accounts, | 
 | // Google groups, and domains (such as G Suite). A `role` is a named | 
 | // list of | 
 | // permissions; each `role` can be an IAM predefined role or a | 
 | // user-created | 
 | // custom role. | 
 | // | 
 | // Optionally, a `binding` can specify a `condition`, which is a | 
 | // logical | 
 | // expression that allows access to a resource only if the expression | 
 | // evaluates | 
 | // to `true`. A condition can add constraints based on attributes of | 
 | // the | 
 | // request, the resource, or both. | 
 | // | 
 | // **JSON example:** | 
 | // | 
 | //     { | 
 | //       "bindings": [ | 
 | //         { | 
 | //           "role": "roles/resourcemanager.organizationAdmin", | 
 | //           "members": [ | 
 | //             "user:mike@example.com", | 
 | //             "group:admins@example.com", | 
 | //             "domain:google.com", | 
 | // | 
 | // "serviceAccount:my-project-id@appspot.gserviceaccount.com" | 
 | //           ] | 
 | //         }, | 
 | //         { | 
 | //           "role": "roles/resourcemanager.organizationViewer", | 
 | //           "members": ["user:eve@example.com"], | 
 | //           "condition": { | 
 | //             "title": "expirable access", | 
 | //             "description": "Does not grant access after Sep 2020", | 
 | //             "expression": "request.time < | 
 | // timestamp('2020-10-01T00:00:00.000Z')", | 
 | //           } | 
 | //         } | 
 | //       ], | 
 | //       "etag": "BwWWja0YfJA=", | 
 | //       "version": 3 | 
 | //     } | 
 | // | 
 | // **YAML example:** | 
 | // | 
 | //     bindings: | 
 | //     - members: | 
 | //       - user:mike@example.com | 
 | //       - group:admins@example.com | 
 | //       - domain:google.com | 
 | //       - serviceAccount:my-project-id@appspot.gserviceaccount.com | 
 | //       role: roles/resourcemanager.organizationAdmin | 
 | //     - members: | 
 | //       - user:eve@example.com | 
 | //       role: roles/resourcemanager.organizationViewer | 
 | //       condition: | 
 | //         title: expirable access | 
 | //         description: Does not grant access after Sep 2020 | 
 | //         expression: request.time < | 
 | // timestamp('2020-10-01T00:00:00.000Z') | 
 | //     - etag: BwWWja0YfJA= | 
 | //     - version: 3 | 
 | // | 
 | // For a description of IAM and its features, see the | 
 | // [IAM documentation](https://cloud.google.com/iam/docs/). | 
 | type Policy struct { | 
 | 	// Bindings: Associates a list of `members` to a `role`. Optionally, may | 
 | 	// specify a | 
 | 	// `condition` that determines how and when the `bindings` are applied. | 
 | 	// Each | 
 | 	// of the `bindings` must contain at least one member. | 
 | 	Bindings []*Binding `json:"bindings,omitempty"` | 
 |  | 
 | 	// Etag: `etag` is used for optimistic concurrency control as a way to | 
 | 	// help | 
 | 	// prevent simultaneous updates of a policy from overwriting each | 
 | 	// other. | 
 | 	// It is strongly suggested that systems make use of the `etag` in | 
 | 	// the | 
 | 	// read-modify-write cycle to perform policy updates in order to avoid | 
 | 	// race | 
 | 	// conditions: An `etag` is returned in the response to `getIamPolicy`, | 
 | 	// and | 
 | 	// systems are expected to put that etag in the request to | 
 | 	// `setIamPolicy` to | 
 | 	// ensure that their change will be applied to the same version of the | 
 | 	// policy. | 
 | 	// | 
 | 	// **Important:** If you use IAM Conditions, you must include the `etag` | 
 | 	// field | 
 | 	// whenever you call `setIamPolicy`. If you omit this field, then IAM | 
 | 	// allows | 
 | 	// you to overwrite a version `3` policy with a version `1` policy, and | 
 | 	// all of | 
 | 	// the conditions in the version `3` policy are lost. | 
 | 	Etag string `json:"etag,omitempty"` | 
 |  | 
 | 	// Version: Specifies the format of the policy. | 
 | 	// | 
 | 	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid | 
 | 	// value | 
 | 	// are rejected. | 
 | 	// | 
 | 	// Any operation that affects conditional role bindings must specify | 
 | 	// version | 
 | 	// `3`. This requirement applies to the following operations: | 
 | 	// | 
 | 	// * Getting a policy that includes a conditional role binding | 
 | 	// * Adding a conditional role binding to a policy | 
 | 	// * Changing a conditional role binding in a policy | 
 | 	// * Removing any role binding, with or without a condition, from a | 
 | 	// policy | 
 | 	//   that includes conditions | 
 | 	// | 
 | 	// **Important:** If you use IAM Conditions, you must include the `etag` | 
 | 	// field | 
 | 	// whenever you call `setIamPolicy`. If you omit this field, then IAM | 
 | 	// allows | 
 | 	// you to overwrite a version `3` policy with a version `1` policy, and | 
 | 	// all of | 
 | 	// the conditions in the version `3` policy are lost. | 
 | 	// | 
 | 	// If a policy does not include any conditions, operations on that | 
 | 	// policy may | 
 | 	// specify any valid version or leave the field unset. | 
 | 	Version int64 `json:"version,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Bindings") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Bindings") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Policy) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Policy | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // ProjectRepoId: Selects a repo using a Google Cloud Platform project | 
 | // ID (e.g., | 
 | // winged-cargo-31) and a repo name within that project. | 
 | type ProjectRepoId struct { | 
 | 	// ProjectId: The ID of the project. | 
 | 	ProjectId string `json:"projectId,omitempty"` | 
 |  | 
 | 	// RepoName: The name of the repo. Leave empty for the default repo. | 
 | 	RepoName string `json:"repoName,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "ProjectId") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "ProjectId") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *ProjectRepoId) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod ProjectRepoId | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // RelatedUrl: Metadata for any related URL information. | 
 | type RelatedUrl struct { | 
 | 	// Label: Label to describe usage of the URL. | 
 | 	Label string `json:"label,omitempty"` | 
 |  | 
 | 	// Url: Specific URL associated with the resource. | 
 | 	Url string `json:"url,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Label") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Label") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *RelatedUrl) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod RelatedUrl | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // RepoId: A unique identifier for a Cloud Repo. | 
 | type RepoId struct { | 
 | 	// ProjectRepoId: A combination of a project ID and a repo name. | 
 | 	ProjectRepoId *ProjectRepoId `json:"projectRepoId,omitempty"` | 
 |  | 
 | 	// Uid: A server-assigned, globally unique identifier. | 
 | 	Uid string `json:"uid,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "ProjectRepoId") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "ProjectRepoId") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *RepoId) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod RepoId | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Resource: An entity that can have metadata. For example, a Docker | 
 | // image. | 
 | type Resource struct { | 
 | 	// ContentHash: Deprecated, do not use. Use uri instead. | 
 | 	// | 
 | 	// The hash of the resource content. For example, the Docker digest. | 
 | 	ContentHash *Hash `json:"contentHash,omitempty"` | 
 |  | 
 | 	// Name: Deprecated, do not use. Use uri instead. | 
 | 	// | 
 | 	// The name of the resource. For example, the name of a Docker image | 
 | 	// - | 
 | 	// "Debian". | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// Uri: Required. The unique URI of the resource. For | 
 | 	// example, | 
 | 	// `https://gcr.io/project/image@sha256:foo` for a Docker image. | 
 | 	Uri string `json:"uri,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "ContentHash") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "ContentHash") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Resource) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Resource | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // ScanConfig: A scan configuration specifies whether Cloud components | 
 | // in a project have a | 
 | // particular type of analysis being run. For example, it can configure | 
 | // whether | 
 | // vulnerability scanning is being done on Docker images or not. | 
 | type ScanConfig struct { | 
 | 	// CreateTime: Output only. The time this scan config was created. | 
 | 	CreateTime string `json:"createTime,omitempty"` | 
 |  | 
 | 	// Description: Output only. A human-readable description of what the | 
 | 	// scan configuration | 
 | 	// does. | 
 | 	Description string `json:"description,omitempty"` | 
 |  | 
 | 	// Enabled: Whether the scan is enabled. | 
 | 	Enabled bool `json:"enabled,omitempty"` | 
 |  | 
 | 	// Name: Output only. The name of the scan configuration in the form | 
 | 	// of | 
 | 	// `projects/[PROJECT_ID]/scanConfigs/[SCAN_CONFIG_ID]`. | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// UpdateTime: Output only. The time this scan config was last updated. | 
 | 	UpdateTime string `json:"updateTime,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "CreateTime") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "CreateTime") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *ScanConfig) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod ScanConfig | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // SetIamPolicyRequest: Request message for `SetIamPolicy` method. | 
 | type SetIamPolicyRequest struct { | 
 | 	// Policy: REQUIRED: The complete policy to be applied to the | 
 | 	// `resource`. The size of | 
 | 	// the policy is limited to a few 10s of KB. An empty policy is a | 
 | 	// valid policy but certain Cloud Platform services (such as | 
 | 	// Projects) | 
 | 	// might reject them. | 
 | 	Policy *Policy `json:"policy,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Policy") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Policy") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod SetIamPolicyRequest | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Signature: Verifiers (e.g. Kritis implementations) MUST verify | 
 | // signatures | 
 | // with respect to the trust anchors defined in policy (e.g. a Kritis | 
 | // policy). | 
 | // Typically this means that the verifier has been configured with a map | 
 | // from | 
 | // `public_key_id` to public key material (and any required parameters, | 
 | // e.g. | 
 | // signing algorithm). | 
 | // | 
 | // In particular, verification implementations MUST NOT treat the | 
 | // signature | 
 | // `public_key_id` as anything more than a key lookup hint. The | 
 | // `public_key_id` | 
 | // DOES NOT validate or authenticate a public key; it only provides a | 
 | // mechanism | 
 | // for quickly selecting a public key ALREADY CONFIGURED on the verifier | 
 | // through | 
 | // a trusted channel. Verification implementations MUST reject | 
 | // signatures in any | 
 | // of the following circumstances: | 
 | //   * The `public_key_id` is not recognized by the verifier. | 
 | //   * The public key that `public_key_id` refers to does not verify | 
 | // the | 
 | //     signature with respect to the payload. | 
 | // | 
 | // The `signature` contents SHOULD NOT be "attached" (where the payload | 
 | // is | 
 | // included with the serialized `signature` bytes). Verifiers MUST | 
 | // ignore any | 
 | // "attached" payload and only verify signatures with respect to | 
 | // explicitly | 
 | // provided payload (e.g. a `payload` field on the proto message that | 
 | // holds | 
 | // this Signature, or the canonical serialization of the proto message | 
 | // that | 
 | // holds this signature). | 
 | type Signature struct { | 
 | 	// PublicKeyId: The identifier for the public key that verifies this | 
 | 	// signature. | 
 | 	//   * The `public_key_id` is required. | 
 | 	//   * The `public_key_id` MUST be an RFC3986 conformant URI. | 
 | 	//   * When possible, the `public_key_id` SHOULD be an immutable | 
 | 	// reference, | 
 | 	//     such as a cryptographic digest. | 
 | 	// | 
 | 	// Examples of valid `public_key_id`s: | 
 | 	// | 
 | 	// OpenPGP V4 public key fingerprint: | 
 | 	//   * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA" | 
 | 	// See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for | 
 | 	// more | 
 | 	// details on this scheme. | 
 | 	// | 
 | 	// RFC6920 digest-named SubjectPublicKeyInfo (digest of the | 
 | 	// DER | 
 | 	// serialization): | 
 | 	//   * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU" | 
 | 	//   * | 
 | 	// "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95 | 
 | 	// a1271589a5" | 
 | 	PublicKeyId string `json:"publicKeyId,omitempty"` | 
 |  | 
 | 	// Signature: The content of the signature, an opaque bytestring. | 
 | 	// The payload that this signature verifies MUST be unambiguously | 
 | 	// provided | 
 | 	// with the Signature during verification. A wrapper message might | 
 | 	// provide | 
 | 	// the payload explicitly. Alternatively, a message might have a | 
 | 	// canonical | 
 | 	// serialization that can always be unambiguously computed to derive | 
 | 	// the | 
 | 	// payload. | 
 | 	Signature string `json:"signature,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "PublicKeyId") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "PublicKeyId") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Signature) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Signature | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Source: Source describes the location of the source used for the | 
 | // build. | 
 | type Source struct { | 
 | 	// AdditionalContexts: If provided, some of the source code used for the | 
 | 	// build may be found in | 
 | 	// these locations, in the case where the source repository had | 
 | 	// multiple | 
 | 	// remotes or submodules. This list will not include the context | 
 | 	// specified in | 
 | 	// the context field. | 
 | 	AdditionalContexts []*SourceContext `json:"additionalContexts,omitempty"` | 
 |  | 
 | 	// ArtifactStorageSourceUri: If provided, the input binary artifacts for | 
 | 	// the build came from this | 
 | 	// location. | 
 | 	ArtifactStorageSourceUri string `json:"artifactStorageSourceUri,omitempty"` | 
 |  | 
 | 	// Context: If provided, the source code used for the build came from | 
 | 	// this location. | 
 | 	Context *SourceContext `json:"context,omitempty"` | 
 |  | 
 | 	// FileHashes: Hash(es) of the build source, which can be used to verify | 
 | 	// that the original | 
 | 	// source integrity was maintained in the build. | 
 | 	// | 
 | 	// The keys to this map are file paths used as build source and the | 
 | 	// values | 
 | 	// contain the hash values for those files. | 
 | 	// | 
 | 	// If the build source came in a single package such as a gzipped | 
 | 	// tarfile | 
 | 	// (.tar.gz), the FileHash will be for the single path to that file. | 
 | 	FileHashes map[string]FileHashes `json:"fileHashes,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "AdditionalContexts") | 
 | 	// to unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "AdditionalContexts") to | 
 | 	// include in API requests with the JSON null value. By default, fields | 
 | 	// with empty values are omitted from API requests. However, any field | 
 | 	// with an empty value appearing in NullFields will be sent to the | 
 | 	// server as null. It is an error if a field in this list has a | 
 | 	// non-empty value. This may be used to include null fields in Patch | 
 | 	// requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Source) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Source | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // SourceContext: A SourceContext is a reference to a tree of files. A | 
 | // SourceContext together | 
 | // with a path point to a unique revision of a single file or directory. | 
 | type SourceContext struct { | 
 | 	// CloudRepo: A SourceContext referring to a revision in a Google Cloud | 
 | 	// Source Repo. | 
 | 	CloudRepo *CloudRepoSourceContext `json:"cloudRepo,omitempty"` | 
 |  | 
 | 	// Gerrit: A SourceContext referring to a Gerrit project. | 
 | 	Gerrit *GerritSourceContext `json:"gerrit,omitempty"` | 
 |  | 
 | 	// Git: A SourceContext referring to any third party Git repo (e.g., | 
 | 	// GitHub). | 
 | 	Git *GitSourceContext `json:"git,omitempty"` | 
 |  | 
 | 	// Labels: Labels with user defined metadata. | 
 | 	Labels map[string]string `json:"labels,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "CloudRepo") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "CloudRepo") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *SourceContext) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod SourceContext | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Status: The `Status` type defines a logical error model that is | 
 | // suitable for | 
 | // different programming environments, including REST APIs and RPC APIs. | 
 | // It is | 
 | // used by [gRPC](https://github.com/grpc). Each `Status` message | 
 | // contains | 
 | // three pieces of data: error code, error message, and error | 
 | // details. | 
 | // | 
 | // You can find out more about this error model and how to work with it | 
 | // in the | 
 | // [API Design Guide](https://cloud.google.com/apis/design/errors). | 
 | type Status struct { | 
 | 	// Code: The status code, which should be an enum value of | 
 | 	// google.rpc.Code. | 
 | 	Code int64 `json:"code,omitempty"` | 
 |  | 
 | 	// Details: A list of messages that carry the error details.  There is a | 
 | 	// common set of | 
 | 	// message types for APIs to use. | 
 | 	Details []googleapi.RawMessage `json:"details,omitempty"` | 
 |  | 
 | 	// Message: A developer-facing error message, which should be in | 
 | 	// English. Any | 
 | 	// user-facing error message should be localized and sent in | 
 | 	// the | 
 | 	// google.rpc.Status.details field, or localized by the client. | 
 | 	Message string `json:"message,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Code") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Code") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Status) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Status | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // TestIamPermissionsRequest: Request message for `TestIamPermissions` | 
 | // method. | 
 | type TestIamPermissionsRequest struct { | 
 | 	// Permissions: The set of permissions to check for the `resource`. | 
 | 	// Permissions with | 
 | 	// wildcards (such as '*' or 'storage.*') are not allowed. For | 
 | 	// more | 
 | 	// information see | 
 | 	// [IAM | 
 | 	// Overview](https://cloud.google.com/iam/docs/overview#permissions). | 
 | 	Permissions []string `json:"permissions,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Permissions") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Permissions") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod TestIamPermissionsRequest | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // TestIamPermissionsResponse: Response message for `TestIamPermissions` | 
 | // method. | 
 | type TestIamPermissionsResponse struct { | 
 | 	// Permissions: A subset of `TestPermissionsRequest.permissions` that | 
 | 	// the caller is | 
 | 	// allowed. | 
 | 	Permissions []string `json:"permissions,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Permissions") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Permissions") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod TestIamPermissionsResponse | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Version: Version contains structured information about the version of | 
 | // a package. | 
 | type Version struct { | 
 | 	// Epoch: Used to correct mistakes in the version numbering scheme. | 
 | 	Epoch int64 `json:"epoch,omitempty"` | 
 |  | 
 | 	// Kind: Required. Distinguishes between sentinel MIN/MAX versions and | 
 | 	// normal | 
 | 	// versions. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "VERSION_KIND_UNSPECIFIED" - Unknown. | 
 | 	//   "NORMAL" - A standard package version. | 
 | 	//   "MINIMUM" - A special version representing negative infinity. | 
 | 	//   "MAXIMUM" - A special version representing positive infinity. | 
 | 	Kind string `json:"kind,omitempty"` | 
 |  | 
 | 	// Name: Required only when version kind is NORMAL. The main part of the | 
 | 	// version | 
 | 	// name. | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// Revision: The iteration of the package build from the above version. | 
 | 	Revision string `json:"revision,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Epoch") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Epoch") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Version) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Version | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Vulnerability: Vulnerability provides metadata about a security | 
 | // vulnerability in a Note. | 
 | type Vulnerability struct { | 
 | 	// CvssScore: The CVSS score for this vulnerability. | 
 | 	CvssScore float64 `json:"cvssScore,omitempty"` | 
 |  | 
 | 	// CvssV3: The full description of the CVSSv3. | 
 | 	CvssV3 *CVSSv3 `json:"cvssV3,omitempty"` | 
 |  | 
 | 	// Details: All information about the package to specifically identify | 
 | 	// this | 
 | 	// vulnerability. One entry per (version range and cpe_uri) the | 
 | 	// package | 
 | 	// vulnerability has manifested in. | 
 | 	Details []*Detail `json:"details,omitempty"` | 
 |  | 
 | 	// Severity: Note provider assigned impact of the vulnerability. | 
 | 	// | 
 | 	// Possible values: | 
 | 	//   "SEVERITY_UNSPECIFIED" - Unknown. | 
 | 	//   "MINIMAL" - Minimal severity. | 
 | 	//   "LOW" - Low severity. | 
 | 	//   "MEDIUM" - Medium severity. | 
 | 	//   "HIGH" - High severity. | 
 | 	//   "CRITICAL" - Critical severity. | 
 | 	Severity string `json:"severity,omitempty"` | 
 |  | 
 | 	// SourceUpdateTime: The time this information was last changed at the | 
 | 	// source. This is an | 
 | 	// upstream timestamp from the underlying information source - e.g. | 
 | 	// Ubuntu | 
 | 	// security tracker. | 
 | 	SourceUpdateTime string `json:"sourceUpdateTime,omitempty"` | 
 |  | 
 | 	// WindowsDetails: Windows details get their own format because the | 
 | 	// information format and | 
 | 	// model don't match a normal detail. Specifically Windows updates are | 
 | 	// done as | 
 | 	// patches, thus Windows vulnerabilities really are a missing package, | 
 | 	// rather | 
 | 	// than a package being at an incorrect version. | 
 | 	WindowsDetails []*WindowsDetail `json:"windowsDetails,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "CvssScore") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "CvssScore") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Vulnerability) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Vulnerability | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | func (s *Vulnerability) UnmarshalJSON(data []byte) error { | 
 | 	type NoMethod Vulnerability | 
 | 	var s1 struct { | 
 | 		CvssScore gensupport.JSONFloat64 `json:"cvssScore"` | 
 | 		*NoMethod | 
 | 	} | 
 | 	s1.NoMethod = (*NoMethod)(s) | 
 | 	if err := json.Unmarshal(data, &s1); err != nil { | 
 | 		return err | 
 | 	} | 
 | 	s.CvssScore = float64(s1.CvssScore) | 
 | 	return nil | 
 | } | 
 |  | 
 | // VulnerabilityLocation: The location of the vulnerability. | 
 | type VulnerabilityLocation struct { | 
 | 	// CpeUri: Required. The CPE URI in [cpe | 
 | 	// format](https://cpe.mitre.org/specification/) | 
 | 	// format. Examples include distro or storage location for vulnerable | 
 | 	// jar. | 
 | 	CpeUri string `json:"cpeUri,omitempty"` | 
 |  | 
 | 	// Package: Required. The package being described. | 
 | 	Package string `json:"package,omitempty"` | 
 |  | 
 | 	// Version: Required. The version of the package being described. | 
 | 	Version *Version `json:"version,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "CpeUri") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "CpeUri") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *VulnerabilityLocation) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod VulnerabilityLocation | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // VulnerabilityOccurrencesSummary: A summary of how many vulnerability | 
 | // occurrences there are per resource and | 
 | // severity type. | 
 | type VulnerabilityOccurrencesSummary struct { | 
 | 	// Counts: A listing by resource of the number of fixable and total | 
 | 	// vulnerabilities. | 
 | 	Counts []*FixableTotalByDigest `json:"counts,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Counts") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Counts") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *VulnerabilityOccurrencesSummary) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod VulnerabilityOccurrencesSummary | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | type WindowsDetail struct { | 
 | 	// CpeUri: Required. The CPE URI in | 
 | 	// [cpe format](https://cpe.mitre.org/specification/) in which | 
 | 	// the | 
 | 	// vulnerability manifests. Examples include distro or storage location | 
 | 	// for | 
 | 	// vulnerable jar. | 
 | 	CpeUri string `json:"cpeUri,omitempty"` | 
 |  | 
 | 	// Description: The description of the vulnerability. | 
 | 	Description string `json:"description,omitempty"` | 
 |  | 
 | 	// FixingKbs: Required. The names of the KBs which have hotfixes to | 
 | 	// mitigate this | 
 | 	// vulnerability. Note that there may be multiple hotfixes (and | 
 | 	// thus | 
 | 	// multiple KBs) that mitigate a given vulnerability. Currently any | 
 | 	// listed | 
 | 	// kb's presence is considered a fix. | 
 | 	FixingKbs []*KnowledgeBase `json:"fixingKbs,omitempty"` | 
 |  | 
 | 	// Name: Required. The name of the vulnerability. | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "CpeUri") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "CpeUri") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *WindowsDetail) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod WindowsDetail | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.notes.batchCreate": | 
 |  | 
 | type ProjectsNotesBatchCreateCall struct { | 
 | 	s                       *Service | 
 | 	parent                  string | 
 | 	batchcreatenotesrequest *BatchCreateNotesRequest | 
 | 	urlParams_              gensupport.URLParams | 
 | 	ctx_                    context.Context | 
 | 	header_                 http.Header | 
 | } | 
 |  | 
 | // BatchCreate: Creates new notes in batch. | 
 | func (r *ProjectsNotesService) BatchCreate(parent string, batchcreatenotesrequest *BatchCreateNotesRequest) *ProjectsNotesBatchCreateCall { | 
 | 	c := &ProjectsNotesBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.parent = parent | 
 | 	c.batchcreatenotesrequest = batchcreatenotesrequest | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsNotesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsNotesBatchCreateCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsNotesBatchCreateCall) Context(ctx context.Context) *ProjectsNotesBatchCreateCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsNotesBatchCreateCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsNotesBatchCreateCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchcreatenotesrequest) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/notes:batchCreate") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("POST", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"parent": c.parent, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.notes.batchCreate" call. | 
 | // Exactly one of *BatchCreateNotesResponse or error will be non-nil. | 
 | // Any non-2xx status code is an error. Response headers are in either | 
 | // *BatchCreateNotesResponse.ServerResponse.Header or (if a response was | 
 | // returned at all) in error.(*googleapi.Error).Header. Use | 
 | // googleapi.IsNotModified to check whether the returned error was | 
 | // because http.StatusNotModified was returned. | 
 | func (c *ProjectsNotesBatchCreateCall) Do(opts ...googleapi.CallOption) (*BatchCreateNotesResponse, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &BatchCreateNotesResponse{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Creates new notes in batch.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/notes:batchCreate", | 
 | 	//   "httpMethod": "POST", | 
 | 	//   "id": "containeranalysis.projects.notes.batchCreate", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "parent" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "parent": { | 
 | 	//       "description": "Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which\nthe notes are to be created.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+parent}/notes:batchCreate", | 
 | 	//   "request": { | 
 | 	//     "$ref": "BatchCreateNotesRequest" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "BatchCreateNotesResponse" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.notes.create": | 
 |  | 
 | type ProjectsNotesCreateCall struct { | 
 | 	s          *Service | 
 | 	parent     string | 
 | 	note       *Note | 
 | 	urlParams_ gensupport.URLParams | 
 | 	ctx_       context.Context | 
 | 	header_    http.Header | 
 | } | 
 |  | 
 | // Create: Creates a new note. | 
 | func (r *ProjectsNotesService) Create(parent string, note *Note) *ProjectsNotesCreateCall { | 
 | 	c := &ProjectsNotesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.parent = parent | 
 | 	c.note = note | 
 | 	return c | 
 | } | 
 |  | 
 | // NoteId sets the optional parameter "noteId": Required. The ID to use | 
 | // for this note. | 
 | func (c *ProjectsNotesCreateCall) NoteId(noteId string) *ProjectsNotesCreateCall { | 
 | 	c.urlParams_.Set("noteId", noteId) | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsNotesCreateCall) Fields(s ...googleapi.Field) *ProjectsNotesCreateCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsNotesCreateCall) Context(ctx context.Context) *ProjectsNotesCreateCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsNotesCreateCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsNotesCreateCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.note) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/notes") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("POST", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"parent": c.parent, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.notes.create" call. | 
 | // Exactly one of *Note or error will be non-nil. Any non-2xx status | 
 | // code is an error. Response headers are in either | 
 | // *Note.ServerResponse.Header or (if a response was returned at all) in | 
 | // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check | 
 | // whether the returned error was because http.StatusNotModified was | 
 | // returned. | 
 | func (c *ProjectsNotesCreateCall) Do(opts ...googleapi.CallOption) (*Note, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Note{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Creates a new note.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/notes", | 
 | 	//   "httpMethod": "POST", | 
 | 	//   "id": "containeranalysis.projects.notes.create", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "parent" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "noteId": { | 
 | 	//       "description": "Required. The ID to use for this note.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "parent": { | 
 | 	//       "description": "Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which\nthe note is to be created.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+parent}/notes", | 
 | 	//   "request": { | 
 | 	//     "$ref": "Note" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "Note" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.notes.delete": | 
 |  | 
 | type ProjectsNotesDeleteCall struct { | 
 | 	s          *Service | 
 | 	name       string | 
 | 	urlParams_ gensupport.URLParams | 
 | 	ctx_       context.Context | 
 | 	header_    http.Header | 
 | } | 
 |  | 
 | // Delete: Deletes the specified note. | 
 | func (r *ProjectsNotesService) Delete(name string) *ProjectsNotesDeleteCall { | 
 | 	c := &ProjectsNotesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsNotesDeleteCall) Fields(s ...googleapi.Field) *ProjectsNotesDeleteCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsNotesDeleteCall) Context(ctx context.Context) *ProjectsNotesDeleteCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsNotesDeleteCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsNotesDeleteCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("DELETE", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.notes.delete" call. | 
 | // Exactly one of *Empty or error will be non-nil. Any non-2xx status | 
 | // code is an error. Response headers are in either | 
 | // *Empty.ServerResponse.Header or (if a response was returned at all) | 
 | // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to | 
 | // check whether the returned error was because http.StatusNotModified | 
 | // was returned. | 
 | func (c *ProjectsNotesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Empty{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Deletes the specified note.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}", | 
 | 	//   "httpMethod": "DELETE", | 
 | 	//   "id": "containeranalysis.projects.notes.delete", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "name": { | 
 | 	//       "description": "Required. The name of the note in the form of\n`projects/[PROVIDER_ID]/notes/[NOTE_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/notes/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+name}", | 
 | 	//   "response": { | 
 | 	//     "$ref": "Empty" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.notes.get": | 
 |  | 
 | type ProjectsNotesGetCall struct { | 
 | 	s            *Service | 
 | 	name         string | 
 | 	urlParams_   gensupport.URLParams | 
 | 	ifNoneMatch_ string | 
 | 	ctx_         context.Context | 
 | 	header_      http.Header | 
 | } | 
 |  | 
 | // Get: Gets the specified note. | 
 | func (r *ProjectsNotesService) Get(name string) *ProjectsNotesGetCall { | 
 | 	c := &ProjectsNotesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsNotesGetCall) Fields(s ...googleapi.Field) *ProjectsNotesGetCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // IfNoneMatch sets the optional parameter which makes the operation | 
 | // fail if the object's ETag matches the given value. This is useful for | 
 | // getting updates only after the object has changed since the last | 
 | // request. Use googleapi.IsNotModified to check whether the response | 
 | // error from Do is the result of In-None-Match. | 
 | func (c *ProjectsNotesGetCall) IfNoneMatch(entityTag string) *ProjectsNotesGetCall { | 
 | 	c.ifNoneMatch_ = entityTag | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsNotesGetCall) Context(ctx context.Context) *ProjectsNotesGetCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsNotesGetCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsNotesGetCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	if c.ifNoneMatch_ != "" { | 
 | 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
 | 	} | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("GET", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.notes.get" call. | 
 | // Exactly one of *Note or error will be non-nil. Any non-2xx status | 
 | // code is an error. Response headers are in either | 
 | // *Note.ServerResponse.Header or (if a response was returned at all) in | 
 | // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check | 
 | // whether the returned error was because http.StatusNotModified was | 
 | // returned. | 
 | func (c *ProjectsNotesGetCall) Do(opts ...googleapi.CallOption) (*Note, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Note{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Gets the specified note.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}", | 
 | 	//   "httpMethod": "GET", | 
 | 	//   "id": "containeranalysis.projects.notes.get", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "name": { | 
 | 	//       "description": "Required. The name of the note in the form of\n`projects/[PROVIDER_ID]/notes/[NOTE_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/notes/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+name}", | 
 | 	//   "response": { | 
 | 	//     "$ref": "Note" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.notes.getIamPolicy": | 
 |  | 
 | type ProjectsNotesGetIamPolicyCall struct { | 
 | 	s                   *Service | 
 | 	resource            string | 
 | 	getiampolicyrequest *GetIamPolicyRequest | 
 | 	urlParams_          gensupport.URLParams | 
 | 	ctx_                context.Context | 
 | 	header_             http.Header | 
 | } | 
 |  | 
 | // GetIamPolicy: Gets the access control policy for a note or an | 
 | // occurrence resource. | 
 | // Requires `containeranalysis.notes.setIamPolicy` | 
 | // or | 
 | // `containeranalysis.occurrences.setIamPolicy` permission if the | 
 | // resource is | 
 | // a note or occurrence, respectively. | 
 | // | 
 | // The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` | 
 | // for | 
 | // notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` | 
 | // for | 
 | // occurrences. | 
 | func (r *ProjectsNotesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsNotesGetIamPolicyCall { | 
 | 	c := &ProjectsNotesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.resource = resource | 
 | 	c.getiampolicyrequest = getiampolicyrequest | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsNotesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsNotesGetIamPolicyCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsNotesGetIamPolicyCall) Context(ctx context.Context) *ProjectsNotesGetIamPolicyCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsNotesGetIamPolicyCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsNotesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("POST", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"resource": c.resource, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.notes.getIamPolicy" call. | 
 | // Exactly one of *Policy or error will be non-nil. Any non-2xx status | 
 | // code is an error. Response headers are in either | 
 | // *Policy.ServerResponse.Header or (if a response was returned at all) | 
 | // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to | 
 | // check whether the returned error was because http.StatusNotModified | 
 | // was returned. | 
 | func (c *ProjectsNotesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Policy{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Gets the access control policy for a note or an occurrence resource.\nRequires `containeranalysis.notes.setIamPolicy` or\n`containeranalysis.occurrences.setIamPolicy` permission if the resource is\na note or occurrence, respectively.\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}:getIamPolicy", | 
 | 	//   "httpMethod": "POST", | 
 | 	//   "id": "containeranalysis.projects.notes.getIamPolicy", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "resource" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "resource": { | 
 | 	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/notes/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+resource}:getIamPolicy", | 
 | 	//   "request": { | 
 | 	//     "$ref": "GetIamPolicyRequest" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "Policy" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.notes.list": | 
 |  | 
 | type ProjectsNotesListCall struct { | 
 | 	s            *Service | 
 | 	parent       string | 
 | 	urlParams_   gensupport.URLParams | 
 | 	ifNoneMatch_ string | 
 | 	ctx_         context.Context | 
 | 	header_      http.Header | 
 | } | 
 |  | 
 | // List: Lists notes for the specified project. | 
 | func (r *ProjectsNotesService) List(parent string) *ProjectsNotesListCall { | 
 | 	c := &ProjectsNotesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.parent = parent | 
 | 	return c | 
 | } | 
 |  | 
 | // Filter sets the optional parameter "filter": The filter expression. | 
 | func (c *ProjectsNotesListCall) Filter(filter string) *ProjectsNotesListCall { | 
 | 	c.urlParams_.Set("filter", filter) | 
 | 	return c | 
 | } | 
 |  | 
 | // PageSize sets the optional parameter "pageSize": Number of notes to | 
 | // return in the list. Must be positive. Max allowed page | 
 | // size is 1000. If not specified, page size defaults to 20. | 
 | func (c *ProjectsNotesListCall) PageSize(pageSize int64) *ProjectsNotesListCall { | 
 | 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) | 
 | 	return c | 
 | } | 
 |  | 
 | // PageToken sets the optional parameter "pageToken": Token to provide | 
 | // to skip to a particular spot in the list. | 
 | func (c *ProjectsNotesListCall) PageToken(pageToken string) *ProjectsNotesListCall { | 
 | 	c.urlParams_.Set("pageToken", pageToken) | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsNotesListCall) Fields(s ...googleapi.Field) *ProjectsNotesListCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // IfNoneMatch sets the optional parameter which makes the operation | 
 | // fail if the object's ETag matches the given value. This is useful for | 
 | // getting updates only after the object has changed since the last | 
 | // request. Use googleapi.IsNotModified to check whether the response | 
 | // error from Do is the result of In-None-Match. | 
 | func (c *ProjectsNotesListCall) IfNoneMatch(entityTag string) *ProjectsNotesListCall { | 
 | 	c.ifNoneMatch_ = entityTag | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsNotesListCall) Context(ctx context.Context) *ProjectsNotesListCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsNotesListCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsNotesListCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	if c.ifNoneMatch_ != "" { | 
 | 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
 | 	} | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/notes") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("GET", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"parent": c.parent, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.notes.list" call. | 
 | // Exactly one of *ListNotesResponse or error will be non-nil. Any | 
 | // non-2xx status code is an error. Response headers are in either | 
 | // *ListNotesResponse.ServerResponse.Header or (if a response was | 
 | // returned at all) in error.(*googleapi.Error).Header. Use | 
 | // googleapi.IsNotModified to check whether the returned error was | 
 | // because http.StatusNotModified was returned. | 
 | func (c *ProjectsNotesListCall) Do(opts ...googleapi.CallOption) (*ListNotesResponse, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &ListNotesResponse{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Lists notes for the specified project.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/notes", | 
 | 	//   "httpMethod": "GET", | 
 | 	//   "id": "containeranalysis.projects.notes.list", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "parent" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "filter": { | 
 | 	//       "description": "The filter expression.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "pageSize": { | 
 | 	//       "description": "Number of notes to return in the list. Must be positive. Max allowed page\nsize is 1000. If not specified, page size defaults to 20.", | 
 | 	//       "format": "int32", | 
 | 	//       "location": "query", | 
 | 	//       "type": "integer" | 
 | 	//     }, | 
 | 	//     "pageToken": { | 
 | 	//       "description": "Token to provide to skip to a particular spot in the list.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "parent": { | 
 | 	//       "description": "Required. The name of the project to list notes for in the form of\n`projects/[PROJECT_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+parent}/notes", | 
 | 	//   "response": { | 
 | 	//     "$ref": "ListNotesResponse" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // Pages invokes f for each page of results. | 
 | // A non-nil error returned from f will halt the iteration. | 
 | // The provided context supersedes any context provided to the Context method. | 
 | func (c *ProjectsNotesListCall) Pages(ctx context.Context, f func(*ListNotesResponse) error) error { | 
 | 	c.ctx_ = ctx | 
 | 	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point | 
 | 	for { | 
 | 		x, err := c.Do() | 
 | 		if err != nil { | 
 | 			return err | 
 | 		} | 
 | 		if err := f(x); err != nil { | 
 | 			return err | 
 | 		} | 
 | 		if x.NextPageToken == "" { | 
 | 			return nil | 
 | 		} | 
 | 		c.PageToken(x.NextPageToken) | 
 | 	} | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.notes.patch": | 
 |  | 
 | type ProjectsNotesPatchCall struct { | 
 | 	s          *Service | 
 | 	name       string | 
 | 	note       *Note | 
 | 	urlParams_ gensupport.URLParams | 
 | 	ctx_       context.Context | 
 | 	header_    http.Header | 
 | } | 
 |  | 
 | // Patch: Updates the specified note. | 
 | func (r *ProjectsNotesService) Patch(name string, note *Note) *ProjectsNotesPatchCall { | 
 | 	c := &ProjectsNotesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	c.note = note | 
 | 	return c | 
 | } | 
 |  | 
 | // UpdateMask sets the optional parameter "updateMask": The fields to | 
 | // update. | 
 | func (c *ProjectsNotesPatchCall) UpdateMask(updateMask string) *ProjectsNotesPatchCall { | 
 | 	c.urlParams_.Set("updateMask", updateMask) | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsNotesPatchCall) Fields(s ...googleapi.Field) *ProjectsNotesPatchCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsNotesPatchCall) Context(ctx context.Context) *ProjectsNotesPatchCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsNotesPatchCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsNotesPatchCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.note) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("PATCH", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.notes.patch" call. | 
 | // Exactly one of *Note or error will be non-nil. Any non-2xx status | 
 | // code is an error. Response headers are in either | 
 | // *Note.ServerResponse.Header or (if a response was returned at all) in | 
 | // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check | 
 | // whether the returned error was because http.StatusNotModified was | 
 | // returned. | 
 | func (c *ProjectsNotesPatchCall) Do(opts ...googleapi.CallOption) (*Note, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Note{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Updates the specified note.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}", | 
 | 	//   "httpMethod": "PATCH", | 
 | 	//   "id": "containeranalysis.projects.notes.patch", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "name": { | 
 | 	//       "description": "Required. The name of the note in the form of\n`projects/[PROVIDER_ID]/notes/[NOTE_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/notes/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "updateMask": { | 
 | 	//       "description": "The fields to update.", | 
 | 	//       "format": "google-fieldmask", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+name}", | 
 | 	//   "request": { | 
 | 	//     "$ref": "Note" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "Note" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.notes.setIamPolicy": | 
 |  | 
 | type ProjectsNotesSetIamPolicyCall struct { | 
 | 	s                   *Service | 
 | 	resource            string | 
 | 	setiampolicyrequest *SetIamPolicyRequest | 
 | 	urlParams_          gensupport.URLParams | 
 | 	ctx_                context.Context | 
 | 	header_             http.Header | 
 | } | 
 |  | 
 | // SetIamPolicy: Sets the access control policy on the specified note or | 
 | // occurrence. | 
 | // Requires `containeranalysis.notes.setIamPolicy` | 
 | // or | 
 | // `containeranalysis.occurrences.setIamPolicy` permission if the | 
 | // resource is | 
 | // a note or an occurrence, respectively. | 
 | // | 
 | // The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` | 
 | // for | 
 | // notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` | 
 | // for | 
 | // occurrences. | 
 | func (r *ProjectsNotesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsNotesSetIamPolicyCall { | 
 | 	c := &ProjectsNotesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.resource = resource | 
 | 	c.setiampolicyrequest = setiampolicyrequest | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsNotesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsNotesSetIamPolicyCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsNotesSetIamPolicyCall) Context(ctx context.Context) *ProjectsNotesSetIamPolicyCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsNotesSetIamPolicyCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsNotesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("POST", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"resource": c.resource, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.notes.setIamPolicy" call. | 
 | // Exactly one of *Policy or error will be non-nil. Any non-2xx status | 
 | // code is an error. Response headers are in either | 
 | // *Policy.ServerResponse.Header or (if a response was returned at all) | 
 | // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to | 
 | // check whether the returned error was because http.StatusNotModified | 
 | // was returned. | 
 | func (c *ProjectsNotesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Policy{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Sets the access control policy on the specified note or occurrence.\nRequires `containeranalysis.notes.setIamPolicy` or\n`containeranalysis.occurrences.setIamPolicy` permission if the resource is\na note or an occurrence, respectively.\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}:setIamPolicy", | 
 | 	//   "httpMethod": "POST", | 
 | 	//   "id": "containeranalysis.projects.notes.setIamPolicy", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "resource" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "resource": { | 
 | 	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/notes/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+resource}:setIamPolicy", | 
 | 	//   "request": { | 
 | 	//     "$ref": "SetIamPolicyRequest" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "Policy" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.notes.testIamPermissions": | 
 |  | 
 | type ProjectsNotesTestIamPermissionsCall struct { | 
 | 	s                         *Service | 
 | 	resource                  string | 
 | 	testiampermissionsrequest *TestIamPermissionsRequest | 
 | 	urlParams_                gensupport.URLParams | 
 | 	ctx_                      context.Context | 
 | 	header_                   http.Header | 
 | } | 
 |  | 
 | // TestIamPermissions: Returns the permissions that a caller has on the | 
 | // specified note or | 
 | // occurrence. Requires list permission on the project (for | 
 | // example, | 
 | // `containeranalysis.notes.list`). | 
 | // | 
 | // The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` | 
 | // for | 
 | // notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` | 
 | // for | 
 | // occurrences. | 
 | func (r *ProjectsNotesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsNotesTestIamPermissionsCall { | 
 | 	c := &ProjectsNotesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.resource = resource | 
 | 	c.testiampermissionsrequest = testiampermissionsrequest | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsNotesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsNotesTestIamPermissionsCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsNotesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsNotesTestIamPermissionsCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsNotesTestIamPermissionsCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsNotesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("POST", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"resource": c.resource, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.notes.testIamPermissions" call. | 
 | // Exactly one of *TestIamPermissionsResponse or error will be non-nil. | 
 | // Any non-2xx status code is an error. Response headers are in either | 
 | // *TestIamPermissionsResponse.ServerResponse.Header or (if a response | 
 | // was returned at all) in error.(*googleapi.Error).Header. Use | 
 | // googleapi.IsNotModified to check whether the returned error was | 
 | // because http.StatusNotModified was returned. | 
 | func (c *ProjectsNotesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &TestIamPermissionsResponse{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Returns the permissions that a caller has on the specified note or\noccurrence. Requires list permission on the project (for example,\n`containeranalysis.notes.list`).\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}:testIamPermissions", | 
 | 	//   "httpMethod": "POST", | 
 | 	//   "id": "containeranalysis.projects.notes.testIamPermissions", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "resource" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "resource": { | 
 | 	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/notes/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+resource}:testIamPermissions", | 
 | 	//   "request": { | 
 | 	//     "$ref": "TestIamPermissionsRequest" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "TestIamPermissionsResponse" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.notes.occurrences.list": | 
 |  | 
 | type ProjectsNotesOccurrencesListCall struct { | 
 | 	s            *Service | 
 | 	name         string | 
 | 	urlParams_   gensupport.URLParams | 
 | 	ifNoneMatch_ string | 
 | 	ctx_         context.Context | 
 | 	header_      http.Header | 
 | } | 
 |  | 
 | // List: Lists occurrences referencing the specified note. Provider | 
 | // projects can use | 
 | // this method to get all occurrences across consumer projects | 
 | // referencing the | 
 | // specified note. | 
 | func (r *ProjectsNotesOccurrencesService) List(name string) *ProjectsNotesOccurrencesListCall { | 
 | 	c := &ProjectsNotesOccurrencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	return c | 
 | } | 
 |  | 
 | // Filter sets the optional parameter "filter": The filter expression. | 
 | func (c *ProjectsNotesOccurrencesListCall) Filter(filter string) *ProjectsNotesOccurrencesListCall { | 
 | 	c.urlParams_.Set("filter", filter) | 
 | 	return c | 
 | } | 
 |  | 
 | // PageSize sets the optional parameter "pageSize": Number of | 
 | // occurrences to return in the list. | 
 | func (c *ProjectsNotesOccurrencesListCall) PageSize(pageSize int64) *ProjectsNotesOccurrencesListCall { | 
 | 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) | 
 | 	return c | 
 | } | 
 |  | 
 | // PageToken sets the optional parameter "pageToken": Token to provide | 
 | // to skip to a particular spot in the list. | 
 | func (c *ProjectsNotesOccurrencesListCall) PageToken(pageToken string) *ProjectsNotesOccurrencesListCall { | 
 | 	c.urlParams_.Set("pageToken", pageToken) | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsNotesOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsNotesOccurrencesListCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // IfNoneMatch sets the optional parameter which makes the operation | 
 | // fail if the object's ETag matches the given value. This is useful for | 
 | // getting updates only after the object has changed since the last | 
 | // request. Use googleapi.IsNotModified to check whether the response | 
 | // error from Do is the result of In-None-Match. | 
 | func (c *ProjectsNotesOccurrencesListCall) IfNoneMatch(entityTag string) *ProjectsNotesOccurrencesListCall { | 
 | 	c.ifNoneMatch_ = entityTag | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsNotesOccurrencesListCall) Context(ctx context.Context) *ProjectsNotesOccurrencesListCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsNotesOccurrencesListCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsNotesOccurrencesListCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	if c.ifNoneMatch_ != "" { | 
 | 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
 | 	} | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/occurrences") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("GET", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.notes.occurrences.list" call. | 
 | // Exactly one of *ListNoteOccurrencesResponse or error will be non-nil. | 
 | // Any non-2xx status code is an error. Response headers are in either | 
 | // *ListNoteOccurrencesResponse.ServerResponse.Header or (if a response | 
 | // was returned at all) in error.(*googleapi.Error).Header. Use | 
 | // googleapi.IsNotModified to check whether the returned error was | 
 | // because http.StatusNotModified was returned. | 
 | func (c *ProjectsNotesOccurrencesListCall) Do(opts ...googleapi.CallOption) (*ListNoteOccurrencesResponse, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &ListNoteOccurrencesResponse{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Lists occurrences referencing the specified note. Provider projects can use\nthis method to get all occurrences across consumer projects referencing the\nspecified note.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}/occurrences", | 
 | 	//   "httpMethod": "GET", | 
 | 	//   "id": "containeranalysis.projects.notes.occurrences.list", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "filter": { | 
 | 	//       "description": "The filter expression.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "name": { | 
 | 	//       "description": "Required. The name of the note to list occurrences for in the form of\n`projects/[PROVIDER_ID]/notes/[NOTE_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/notes/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "pageSize": { | 
 | 	//       "description": "Number of occurrences to return in the list.", | 
 | 	//       "format": "int32", | 
 | 	//       "location": "query", | 
 | 	//       "type": "integer" | 
 | 	//     }, | 
 | 	//     "pageToken": { | 
 | 	//       "description": "Token to provide to skip to a particular spot in the list.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+name}/occurrences", | 
 | 	//   "response": { | 
 | 	//     "$ref": "ListNoteOccurrencesResponse" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // Pages invokes f for each page of results. | 
 | // A non-nil error returned from f will halt the iteration. | 
 | // The provided context supersedes any context provided to the Context method. | 
 | func (c *ProjectsNotesOccurrencesListCall) Pages(ctx context.Context, f func(*ListNoteOccurrencesResponse) error) error { | 
 | 	c.ctx_ = ctx | 
 | 	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point | 
 | 	for { | 
 | 		x, err := c.Do() | 
 | 		if err != nil { | 
 | 			return err | 
 | 		} | 
 | 		if err := f(x); err != nil { | 
 | 			return err | 
 | 		} | 
 | 		if x.NextPageToken == "" { | 
 | 			return nil | 
 | 		} | 
 | 		c.PageToken(x.NextPageToken) | 
 | 	} | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.occurrences.batchCreate": | 
 |  | 
 | type ProjectsOccurrencesBatchCreateCall struct { | 
 | 	s                             *Service | 
 | 	parent                        string | 
 | 	batchcreateoccurrencesrequest *BatchCreateOccurrencesRequest | 
 | 	urlParams_                    gensupport.URLParams | 
 | 	ctx_                          context.Context | 
 | 	header_                       http.Header | 
 | } | 
 |  | 
 | // BatchCreate: Creates new occurrences in batch. | 
 | func (r *ProjectsOccurrencesService) BatchCreate(parent string, batchcreateoccurrencesrequest *BatchCreateOccurrencesRequest) *ProjectsOccurrencesBatchCreateCall { | 
 | 	c := &ProjectsOccurrencesBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.parent = parent | 
 | 	c.batchcreateoccurrencesrequest = batchcreateoccurrencesrequest | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsOccurrencesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesBatchCreateCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsOccurrencesBatchCreateCall) Context(ctx context.Context) *ProjectsOccurrencesBatchCreateCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsOccurrencesBatchCreateCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsOccurrencesBatchCreateCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchcreateoccurrencesrequest) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences:batchCreate") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("POST", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"parent": c.parent, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.occurrences.batchCreate" call. | 
 | // Exactly one of *BatchCreateOccurrencesResponse or error will be | 
 | // non-nil. Any non-2xx status code is an error. Response headers are in | 
 | // either *BatchCreateOccurrencesResponse.ServerResponse.Header or (if a | 
 | // response was returned at all) in error.(*googleapi.Error).Header. Use | 
 | // googleapi.IsNotModified to check whether the returned error was | 
 | // because http.StatusNotModified was returned. | 
 | func (c *ProjectsOccurrencesBatchCreateCall) Do(opts ...googleapi.CallOption) (*BatchCreateOccurrencesResponse, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &BatchCreateOccurrencesResponse{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Creates new occurrences in batch.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences:batchCreate", | 
 | 	//   "httpMethod": "POST", | 
 | 	//   "id": "containeranalysis.projects.occurrences.batchCreate", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "parent" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "parent": { | 
 | 	//       "description": "Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which\nthe occurrences are to be created.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+parent}/occurrences:batchCreate", | 
 | 	//   "request": { | 
 | 	//     "$ref": "BatchCreateOccurrencesRequest" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "BatchCreateOccurrencesResponse" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.occurrences.create": | 
 |  | 
 | type ProjectsOccurrencesCreateCall struct { | 
 | 	s          *Service | 
 | 	parent     string | 
 | 	occurrence *Occurrence | 
 | 	urlParams_ gensupport.URLParams | 
 | 	ctx_       context.Context | 
 | 	header_    http.Header | 
 | } | 
 |  | 
 | // Create: Creates a new occurrence. | 
 | func (r *ProjectsOccurrencesService) Create(parent string, occurrence *Occurrence) *ProjectsOccurrencesCreateCall { | 
 | 	c := &ProjectsOccurrencesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.parent = parent | 
 | 	c.occurrence = occurrence | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsOccurrencesCreateCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesCreateCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsOccurrencesCreateCall) Context(ctx context.Context) *ProjectsOccurrencesCreateCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsOccurrencesCreateCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsOccurrencesCreateCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.occurrence) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("POST", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"parent": c.parent, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.occurrences.create" call. | 
 | // Exactly one of *Occurrence or error will be non-nil. Any non-2xx | 
 | // status code is an error. Response headers are in either | 
 | // *Occurrence.ServerResponse.Header or (if a response was returned at | 
 | // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified | 
 | // to check whether the returned error was because | 
 | // http.StatusNotModified was returned. | 
 | func (c *ProjectsOccurrencesCreateCall) Do(opts ...googleapi.CallOption) (*Occurrence, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Occurrence{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Creates a new occurrence.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences", | 
 | 	//   "httpMethod": "POST", | 
 | 	//   "id": "containeranalysis.projects.occurrences.create", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "parent" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "parent": { | 
 | 	//       "description": "Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which\nthe occurrence is to be created.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+parent}/occurrences", | 
 | 	//   "request": { | 
 | 	//     "$ref": "Occurrence" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "Occurrence" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.occurrences.delete": | 
 |  | 
 | type ProjectsOccurrencesDeleteCall struct { | 
 | 	s          *Service | 
 | 	name       string | 
 | 	urlParams_ gensupport.URLParams | 
 | 	ctx_       context.Context | 
 | 	header_    http.Header | 
 | } | 
 |  | 
 | // Delete: Deletes the specified occurrence. For example, use this | 
 | // method to delete an | 
 | // occurrence when the occurrence is no longer applicable for the | 
 | // given | 
 | // resource. | 
 | func (r *ProjectsOccurrencesService) Delete(name string) *ProjectsOccurrencesDeleteCall { | 
 | 	c := &ProjectsOccurrencesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsOccurrencesDeleteCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesDeleteCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsOccurrencesDeleteCall) Context(ctx context.Context) *ProjectsOccurrencesDeleteCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsOccurrencesDeleteCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsOccurrencesDeleteCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("DELETE", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.occurrences.delete" call. | 
 | // Exactly one of *Empty or error will be non-nil. Any non-2xx status | 
 | // code is an error. Response headers are in either | 
 | // *Empty.ServerResponse.Header or (if a response was returned at all) | 
 | // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to | 
 | // check whether the returned error was because http.StatusNotModified | 
 | // was returned. | 
 | func (c *ProjectsOccurrencesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Empty{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Deletes the specified occurrence. For example, use this method to delete an\noccurrence when the occurrence is no longer applicable for the given\nresource.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}", | 
 | 	//   "httpMethod": "DELETE", | 
 | 	//   "id": "containeranalysis.projects.occurrences.delete", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "name": { | 
 | 	//       "description": "Required. The name of the occurrence in the form of\n`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+name}", | 
 | 	//   "response": { | 
 | 	//     "$ref": "Empty" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.occurrences.get": | 
 |  | 
 | type ProjectsOccurrencesGetCall struct { | 
 | 	s            *Service | 
 | 	name         string | 
 | 	urlParams_   gensupport.URLParams | 
 | 	ifNoneMatch_ string | 
 | 	ctx_         context.Context | 
 | 	header_      http.Header | 
 | } | 
 |  | 
 | // Get: Gets the specified occurrence. | 
 | func (r *ProjectsOccurrencesService) Get(name string) *ProjectsOccurrencesGetCall { | 
 | 	c := &ProjectsOccurrencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsOccurrencesGetCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // IfNoneMatch sets the optional parameter which makes the operation | 
 | // fail if the object's ETag matches the given value. This is useful for | 
 | // getting updates only after the object has changed since the last | 
 | // request. Use googleapi.IsNotModified to check whether the response | 
 | // error from Do is the result of In-None-Match. | 
 | func (c *ProjectsOccurrencesGetCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesGetCall { | 
 | 	c.ifNoneMatch_ = entityTag | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsOccurrencesGetCall) Context(ctx context.Context) *ProjectsOccurrencesGetCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsOccurrencesGetCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsOccurrencesGetCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	if c.ifNoneMatch_ != "" { | 
 | 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
 | 	} | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("GET", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.occurrences.get" call. | 
 | // Exactly one of *Occurrence or error will be non-nil. Any non-2xx | 
 | // status code is an error. Response headers are in either | 
 | // *Occurrence.ServerResponse.Header or (if a response was returned at | 
 | // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified | 
 | // to check whether the returned error was because | 
 | // http.StatusNotModified was returned. | 
 | func (c *ProjectsOccurrencesGetCall) Do(opts ...googleapi.CallOption) (*Occurrence, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Occurrence{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Gets the specified occurrence.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}", | 
 | 	//   "httpMethod": "GET", | 
 | 	//   "id": "containeranalysis.projects.occurrences.get", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "name": { | 
 | 	//       "description": "Required. The name of the occurrence in the form of\n`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+name}", | 
 | 	//   "response": { | 
 | 	//     "$ref": "Occurrence" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.occurrences.getIamPolicy": | 
 |  | 
 | type ProjectsOccurrencesGetIamPolicyCall struct { | 
 | 	s                   *Service | 
 | 	resource            string | 
 | 	getiampolicyrequest *GetIamPolicyRequest | 
 | 	urlParams_          gensupport.URLParams | 
 | 	ctx_                context.Context | 
 | 	header_             http.Header | 
 | } | 
 |  | 
 | // GetIamPolicy: Gets the access control policy for a note or an | 
 | // occurrence resource. | 
 | // Requires `containeranalysis.notes.setIamPolicy` | 
 | // or | 
 | // `containeranalysis.occurrences.setIamPolicy` permission if the | 
 | // resource is | 
 | // a note or occurrence, respectively. | 
 | // | 
 | // The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` | 
 | // for | 
 | // notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` | 
 | // for | 
 | // occurrences. | 
 | func (r *ProjectsOccurrencesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsOccurrencesGetIamPolicyCall { | 
 | 	c := &ProjectsOccurrencesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.resource = resource | 
 | 	c.getiampolicyrequest = getiampolicyrequest | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsOccurrencesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetIamPolicyCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsOccurrencesGetIamPolicyCall) Context(ctx context.Context) *ProjectsOccurrencesGetIamPolicyCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsOccurrencesGetIamPolicyCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsOccurrencesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("POST", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"resource": c.resource, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.occurrences.getIamPolicy" call. | 
 | // Exactly one of *Policy or error will be non-nil. Any non-2xx status | 
 | // code is an error. Response headers are in either | 
 | // *Policy.ServerResponse.Header or (if a response was returned at all) | 
 | // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to | 
 | // check whether the returned error was because http.StatusNotModified | 
 | // was returned. | 
 | func (c *ProjectsOccurrencesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Policy{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Gets the access control policy for a note or an occurrence resource.\nRequires `containeranalysis.notes.setIamPolicy` or\n`containeranalysis.occurrences.setIamPolicy` permission if the resource is\na note or occurrence, respectively.\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}:getIamPolicy", | 
 | 	//   "httpMethod": "POST", | 
 | 	//   "id": "containeranalysis.projects.occurrences.getIamPolicy", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "resource" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "resource": { | 
 | 	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+resource}:getIamPolicy", | 
 | 	//   "request": { | 
 | 	//     "$ref": "GetIamPolicyRequest" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "Policy" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.occurrences.getNotes": | 
 |  | 
 | type ProjectsOccurrencesGetNotesCall struct { | 
 | 	s            *Service | 
 | 	name         string | 
 | 	urlParams_   gensupport.URLParams | 
 | 	ifNoneMatch_ string | 
 | 	ctx_         context.Context | 
 | 	header_      http.Header | 
 | } | 
 |  | 
 | // GetNotes: Gets the note attached to the specified occurrence. | 
 | // Consumer projects can | 
 | // use this method to get a note that belongs to a provider project. | 
 | func (r *ProjectsOccurrencesService) GetNotes(name string) *ProjectsOccurrencesGetNotesCall { | 
 | 	c := &ProjectsOccurrencesGetNotesCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsOccurrencesGetNotesCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetNotesCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // IfNoneMatch sets the optional parameter which makes the operation | 
 | // fail if the object's ETag matches the given value. This is useful for | 
 | // getting updates only after the object has changed since the last | 
 | // request. Use googleapi.IsNotModified to check whether the response | 
 | // error from Do is the result of In-None-Match. | 
 | func (c *ProjectsOccurrencesGetNotesCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesGetNotesCall { | 
 | 	c.ifNoneMatch_ = entityTag | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsOccurrencesGetNotesCall) Context(ctx context.Context) *ProjectsOccurrencesGetNotesCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsOccurrencesGetNotesCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsOccurrencesGetNotesCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	if c.ifNoneMatch_ != "" { | 
 | 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
 | 	} | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/notes") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("GET", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.occurrences.getNotes" call. | 
 | // Exactly one of *Note or error will be non-nil. Any non-2xx status | 
 | // code is an error. Response headers are in either | 
 | // *Note.ServerResponse.Header or (if a response was returned at all) in | 
 | // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check | 
 | // whether the returned error was because http.StatusNotModified was | 
 | // returned. | 
 | func (c *ProjectsOccurrencesGetNotesCall) Do(opts ...googleapi.CallOption) (*Note, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Note{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Gets the note attached to the specified occurrence. Consumer projects can\nuse this method to get a note that belongs to a provider project.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}/notes", | 
 | 	//   "httpMethod": "GET", | 
 | 	//   "id": "containeranalysis.projects.occurrences.getNotes", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "name": { | 
 | 	//       "description": "Required. The name of the occurrence in the form of\n`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+name}/notes", | 
 | 	//   "response": { | 
 | 	//     "$ref": "Note" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.occurrences.getVulnerabilitySummary": | 
 |  | 
 | type ProjectsOccurrencesGetVulnerabilitySummaryCall struct { | 
 | 	s            *Service | 
 | 	parent       string | 
 | 	urlParams_   gensupport.URLParams | 
 | 	ifNoneMatch_ string | 
 | 	ctx_         context.Context | 
 | 	header_      http.Header | 
 | } | 
 |  | 
 | // GetVulnerabilitySummary: Gets a summary of the number and severity of | 
 | // occurrences. | 
 | func (r *ProjectsOccurrencesService) GetVulnerabilitySummary(parent string) *ProjectsOccurrencesGetVulnerabilitySummaryCall { | 
 | 	c := &ProjectsOccurrencesGetVulnerabilitySummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.parent = parent | 
 | 	return c | 
 | } | 
 |  | 
 | // Filter sets the optional parameter "filter": The filter expression. | 
 | func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Filter(filter string) *ProjectsOccurrencesGetVulnerabilitySummaryCall { | 
 | 	c.urlParams_.Set("filter", filter) | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetVulnerabilitySummaryCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // IfNoneMatch sets the optional parameter which makes the operation | 
 | // fail if the object's ETag matches the given value. This is useful for | 
 | // getting updates only after the object has changed since the last | 
 | // request. Use googleapi.IsNotModified to check whether the response | 
 | // error from Do is the result of In-None-Match. | 
 | func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesGetVulnerabilitySummaryCall { | 
 | 	c.ifNoneMatch_ = entityTag | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Context(ctx context.Context) *ProjectsOccurrencesGetVulnerabilitySummaryCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	if c.ifNoneMatch_ != "" { | 
 | 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
 | 	} | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences:vulnerabilitySummary") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("GET", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"parent": c.parent, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.occurrences.getVulnerabilitySummary" call. | 
 | // Exactly one of *VulnerabilityOccurrencesSummary or error will be | 
 | // non-nil. Any non-2xx status code is an error. Response headers are in | 
 | // either *VulnerabilityOccurrencesSummary.ServerResponse.Header or (if | 
 | // a response was returned at all) in error.(*googleapi.Error).Header. | 
 | // Use googleapi.IsNotModified to check whether the returned error was | 
 | // because http.StatusNotModified was returned. | 
 | func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Do(opts ...googleapi.CallOption) (*VulnerabilityOccurrencesSummary, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &VulnerabilityOccurrencesSummary{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Gets a summary of the number and severity of occurrences.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences:vulnerabilitySummary", | 
 | 	//   "httpMethod": "GET", | 
 | 	//   "id": "containeranalysis.projects.occurrences.getVulnerabilitySummary", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "parent" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "filter": { | 
 | 	//       "description": "The filter expression.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "parent": { | 
 | 	//       "description": "Required. The name of the project to get a vulnerability summary for in the form of\n`projects/[PROJECT_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+parent}/occurrences:vulnerabilitySummary", | 
 | 	//   "response": { | 
 | 	//     "$ref": "VulnerabilityOccurrencesSummary" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.occurrences.list": | 
 |  | 
 | type ProjectsOccurrencesListCall struct { | 
 | 	s            *Service | 
 | 	parent       string | 
 | 	urlParams_   gensupport.URLParams | 
 | 	ifNoneMatch_ string | 
 | 	ctx_         context.Context | 
 | 	header_      http.Header | 
 | } | 
 |  | 
 | // List: Lists occurrences for the specified project. | 
 | func (r *ProjectsOccurrencesService) List(parent string) *ProjectsOccurrencesListCall { | 
 | 	c := &ProjectsOccurrencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.parent = parent | 
 | 	return c | 
 | } | 
 |  | 
 | // Filter sets the optional parameter "filter": The filter expression. | 
 | func (c *ProjectsOccurrencesListCall) Filter(filter string) *ProjectsOccurrencesListCall { | 
 | 	c.urlParams_.Set("filter", filter) | 
 | 	return c | 
 | } | 
 |  | 
 | // PageSize sets the optional parameter "pageSize": Number of | 
 | // occurrences to return in the list. Must be positive. Max allowed | 
 | // page size is 1000. If not specified, page size defaults to 20. | 
 | func (c *ProjectsOccurrencesListCall) PageSize(pageSize int64) *ProjectsOccurrencesListCall { | 
 | 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) | 
 | 	return c | 
 | } | 
 |  | 
 | // PageToken sets the optional parameter "pageToken": Token to provide | 
 | // to skip to a particular spot in the list. | 
 | func (c *ProjectsOccurrencesListCall) PageToken(pageToken string) *ProjectsOccurrencesListCall { | 
 | 	c.urlParams_.Set("pageToken", pageToken) | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesListCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // IfNoneMatch sets the optional parameter which makes the operation | 
 | // fail if the object's ETag matches the given value. This is useful for | 
 | // getting updates only after the object has changed since the last | 
 | // request. Use googleapi.IsNotModified to check whether the response | 
 | // error from Do is the result of In-None-Match. | 
 | func (c *ProjectsOccurrencesListCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesListCall { | 
 | 	c.ifNoneMatch_ = entityTag | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsOccurrencesListCall) Context(ctx context.Context) *ProjectsOccurrencesListCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsOccurrencesListCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsOccurrencesListCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	if c.ifNoneMatch_ != "" { | 
 | 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
 | 	} | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("GET", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"parent": c.parent, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.occurrences.list" call. | 
 | // Exactly one of *ListOccurrencesResponse or error will be non-nil. Any | 
 | // non-2xx status code is an error. Response headers are in either | 
 | // *ListOccurrencesResponse.ServerResponse.Header or (if a response was | 
 | // returned at all) in error.(*googleapi.Error).Header. Use | 
 | // googleapi.IsNotModified to check whether the returned error was | 
 | // because http.StatusNotModified was returned. | 
 | func (c *ProjectsOccurrencesListCall) Do(opts ...googleapi.CallOption) (*ListOccurrencesResponse, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &ListOccurrencesResponse{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Lists occurrences for the specified project.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences", | 
 | 	//   "httpMethod": "GET", | 
 | 	//   "id": "containeranalysis.projects.occurrences.list", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "parent" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "filter": { | 
 | 	//       "description": "The filter expression.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "pageSize": { | 
 | 	//       "description": "Number of occurrences to return in the list. Must be positive. Max allowed\npage size is 1000. If not specified, page size defaults to 20.", | 
 | 	//       "format": "int32", | 
 | 	//       "location": "query", | 
 | 	//       "type": "integer" | 
 | 	//     }, | 
 | 	//     "pageToken": { | 
 | 	//       "description": "Token to provide to skip to a particular spot in the list.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "parent": { | 
 | 	//       "description": "Required. The name of the project to list occurrences for in the form of\n`projects/[PROJECT_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+parent}/occurrences", | 
 | 	//   "response": { | 
 | 	//     "$ref": "ListOccurrencesResponse" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // Pages invokes f for each page of results. | 
 | // A non-nil error returned from f will halt the iteration. | 
 | // The provided context supersedes any context provided to the Context method. | 
 | func (c *ProjectsOccurrencesListCall) Pages(ctx context.Context, f func(*ListOccurrencesResponse) error) error { | 
 | 	c.ctx_ = ctx | 
 | 	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point | 
 | 	for { | 
 | 		x, err := c.Do() | 
 | 		if err != nil { | 
 | 			return err | 
 | 		} | 
 | 		if err := f(x); err != nil { | 
 | 			return err | 
 | 		} | 
 | 		if x.NextPageToken == "" { | 
 | 			return nil | 
 | 		} | 
 | 		c.PageToken(x.NextPageToken) | 
 | 	} | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.occurrences.patch": | 
 |  | 
 | type ProjectsOccurrencesPatchCall struct { | 
 | 	s          *Service | 
 | 	name       string | 
 | 	occurrence *Occurrence | 
 | 	urlParams_ gensupport.URLParams | 
 | 	ctx_       context.Context | 
 | 	header_    http.Header | 
 | } | 
 |  | 
 | // Patch: Updates the specified occurrence. | 
 | func (r *ProjectsOccurrencesService) Patch(name string, occurrence *Occurrence) *ProjectsOccurrencesPatchCall { | 
 | 	c := &ProjectsOccurrencesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	c.occurrence = occurrence | 
 | 	return c | 
 | } | 
 |  | 
 | // UpdateMask sets the optional parameter "updateMask": The fields to | 
 | // update. | 
 | func (c *ProjectsOccurrencesPatchCall) UpdateMask(updateMask string) *ProjectsOccurrencesPatchCall { | 
 | 	c.urlParams_.Set("updateMask", updateMask) | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsOccurrencesPatchCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesPatchCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsOccurrencesPatchCall) Context(ctx context.Context) *ProjectsOccurrencesPatchCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsOccurrencesPatchCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsOccurrencesPatchCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.occurrence) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("PATCH", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.occurrences.patch" call. | 
 | // Exactly one of *Occurrence or error will be non-nil. Any non-2xx | 
 | // status code is an error. Response headers are in either | 
 | // *Occurrence.ServerResponse.Header or (if a response was returned at | 
 | // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified | 
 | // to check whether the returned error was because | 
 | // http.StatusNotModified was returned. | 
 | func (c *ProjectsOccurrencesPatchCall) Do(opts ...googleapi.CallOption) (*Occurrence, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Occurrence{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Updates the specified occurrence.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}", | 
 | 	//   "httpMethod": "PATCH", | 
 | 	//   "id": "containeranalysis.projects.occurrences.patch", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "name": { | 
 | 	//       "description": "Required. The name of the occurrence in the form of\n`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "updateMask": { | 
 | 	//       "description": "The fields to update.", | 
 | 	//       "format": "google-fieldmask", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+name}", | 
 | 	//   "request": { | 
 | 	//     "$ref": "Occurrence" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "Occurrence" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.occurrences.setIamPolicy": | 
 |  | 
 | type ProjectsOccurrencesSetIamPolicyCall struct { | 
 | 	s                   *Service | 
 | 	resource            string | 
 | 	setiampolicyrequest *SetIamPolicyRequest | 
 | 	urlParams_          gensupport.URLParams | 
 | 	ctx_                context.Context | 
 | 	header_             http.Header | 
 | } | 
 |  | 
 | // SetIamPolicy: Sets the access control policy on the specified note or | 
 | // occurrence. | 
 | // Requires `containeranalysis.notes.setIamPolicy` | 
 | // or | 
 | // `containeranalysis.occurrences.setIamPolicy` permission if the | 
 | // resource is | 
 | // a note or an occurrence, respectively. | 
 | // | 
 | // The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` | 
 | // for | 
 | // notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` | 
 | // for | 
 | // occurrences. | 
 | func (r *ProjectsOccurrencesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsOccurrencesSetIamPolicyCall { | 
 | 	c := &ProjectsOccurrencesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.resource = resource | 
 | 	c.setiampolicyrequest = setiampolicyrequest | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsOccurrencesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesSetIamPolicyCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsOccurrencesSetIamPolicyCall) Context(ctx context.Context) *ProjectsOccurrencesSetIamPolicyCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsOccurrencesSetIamPolicyCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsOccurrencesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("POST", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"resource": c.resource, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.occurrences.setIamPolicy" call. | 
 | // Exactly one of *Policy or error will be non-nil. Any non-2xx status | 
 | // code is an error. Response headers are in either | 
 | // *Policy.ServerResponse.Header or (if a response was returned at all) | 
 | // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to | 
 | // check whether the returned error was because http.StatusNotModified | 
 | // was returned. | 
 | func (c *ProjectsOccurrencesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Policy{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Sets the access control policy on the specified note or occurrence.\nRequires `containeranalysis.notes.setIamPolicy` or\n`containeranalysis.occurrences.setIamPolicy` permission if the resource is\na note or an occurrence, respectively.\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}:setIamPolicy", | 
 | 	//   "httpMethod": "POST", | 
 | 	//   "id": "containeranalysis.projects.occurrences.setIamPolicy", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "resource" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "resource": { | 
 | 	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+resource}:setIamPolicy", | 
 | 	//   "request": { | 
 | 	//     "$ref": "SetIamPolicyRequest" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "Policy" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.occurrences.testIamPermissions": | 
 |  | 
 | type ProjectsOccurrencesTestIamPermissionsCall struct { | 
 | 	s                         *Service | 
 | 	resource                  string | 
 | 	testiampermissionsrequest *TestIamPermissionsRequest | 
 | 	urlParams_                gensupport.URLParams | 
 | 	ctx_                      context.Context | 
 | 	header_                   http.Header | 
 | } | 
 |  | 
 | // TestIamPermissions: Returns the permissions that a caller has on the | 
 | // specified note or | 
 | // occurrence. Requires list permission on the project (for | 
 | // example, | 
 | // `containeranalysis.notes.list`). | 
 | // | 
 | // The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` | 
 | // for | 
 | // notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` | 
 | // for | 
 | // occurrences. | 
 | func (r *ProjectsOccurrencesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsOccurrencesTestIamPermissionsCall { | 
 | 	c := &ProjectsOccurrencesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.resource = resource | 
 | 	c.testiampermissionsrequest = testiampermissionsrequest | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsOccurrencesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesTestIamPermissionsCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsOccurrencesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsOccurrencesTestIamPermissionsCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsOccurrencesTestIamPermissionsCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsOccurrencesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("POST", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"resource": c.resource, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.occurrences.testIamPermissions" call. | 
 | // Exactly one of *TestIamPermissionsResponse or error will be non-nil. | 
 | // Any non-2xx status code is an error. Response headers are in either | 
 | // *TestIamPermissionsResponse.ServerResponse.Header or (if a response | 
 | // was returned at all) in error.(*googleapi.Error).Header. Use | 
 | // googleapi.IsNotModified to check whether the returned error was | 
 | // because http.StatusNotModified was returned. | 
 | func (c *ProjectsOccurrencesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &TestIamPermissionsResponse{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Returns the permissions that a caller has on the specified note or\noccurrence. Requires list permission on the project (for example,\n`containeranalysis.notes.list`).\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}:testIamPermissions", | 
 | 	//   "httpMethod": "POST", | 
 | 	//   "id": "containeranalysis.projects.occurrences.testIamPermissions", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "resource" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "resource": { | 
 | 	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+resource}:testIamPermissions", | 
 | 	//   "request": { | 
 | 	//     "$ref": "TestIamPermissionsRequest" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "TestIamPermissionsResponse" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.scanConfigs.get": | 
 |  | 
 | type ProjectsScanConfigsGetCall struct { | 
 | 	s            *Service | 
 | 	name         string | 
 | 	urlParams_   gensupport.URLParams | 
 | 	ifNoneMatch_ string | 
 | 	ctx_         context.Context | 
 | 	header_      http.Header | 
 | } | 
 |  | 
 | // Get: Gets the specified scan configuration. | 
 | func (r *ProjectsScanConfigsService) Get(name string) *ProjectsScanConfigsGetCall { | 
 | 	c := &ProjectsScanConfigsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsScanConfigsGetCall) Fields(s ...googleapi.Field) *ProjectsScanConfigsGetCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // IfNoneMatch sets the optional parameter which makes the operation | 
 | // fail if the object's ETag matches the given value. This is useful for | 
 | // getting updates only after the object has changed since the last | 
 | // request. Use googleapi.IsNotModified to check whether the response | 
 | // error from Do is the result of In-None-Match. | 
 | func (c *ProjectsScanConfigsGetCall) IfNoneMatch(entityTag string) *ProjectsScanConfigsGetCall { | 
 | 	c.ifNoneMatch_ = entityTag | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsScanConfigsGetCall) Context(ctx context.Context) *ProjectsScanConfigsGetCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsScanConfigsGetCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsScanConfigsGetCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	if c.ifNoneMatch_ != "" { | 
 | 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
 | 	} | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("GET", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.scanConfigs.get" call. | 
 | // Exactly one of *ScanConfig or error will be non-nil. Any non-2xx | 
 | // status code is an error. Response headers are in either | 
 | // *ScanConfig.ServerResponse.Header or (if a response was returned at | 
 | // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified | 
 | // to check whether the returned error was because | 
 | // http.StatusNotModified was returned. | 
 | func (c *ProjectsScanConfigsGetCall) Do(opts ...googleapi.CallOption) (*ScanConfig, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &ScanConfig{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Gets the specified scan configuration.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/scanConfigs/{scanConfigsId}", | 
 | 	//   "httpMethod": "GET", | 
 | 	//   "id": "containeranalysis.projects.scanConfigs.get", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "name": { | 
 | 	//       "description": "Required. The name of the scan configuration in the form of\n`projects/[PROJECT_ID]/scanConfigs/[SCAN_CONFIG_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/scanConfigs/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+name}", | 
 | 	//   "response": { | 
 | 	//     "$ref": "ScanConfig" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.scanConfigs.list": | 
 |  | 
 | type ProjectsScanConfigsListCall struct { | 
 | 	s            *Service | 
 | 	parent       string | 
 | 	urlParams_   gensupport.URLParams | 
 | 	ifNoneMatch_ string | 
 | 	ctx_         context.Context | 
 | 	header_      http.Header | 
 | } | 
 |  | 
 | // List: Lists scan configurations for the specified project. | 
 | func (r *ProjectsScanConfigsService) List(parent string) *ProjectsScanConfigsListCall { | 
 | 	c := &ProjectsScanConfigsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.parent = parent | 
 | 	return c | 
 | } | 
 |  | 
 | // Filter sets the optional parameter "filter": Required. The filter | 
 | // expression. | 
 | func (c *ProjectsScanConfigsListCall) Filter(filter string) *ProjectsScanConfigsListCall { | 
 | 	c.urlParams_.Set("filter", filter) | 
 | 	return c | 
 | } | 
 |  | 
 | // PageSize sets the optional parameter "pageSize": The number of scan | 
 | // configs to return in the list. | 
 | func (c *ProjectsScanConfigsListCall) PageSize(pageSize int64) *ProjectsScanConfigsListCall { | 
 | 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) | 
 | 	return c | 
 | } | 
 |  | 
 | // PageToken sets the optional parameter "pageToken": Token to provide | 
 | // to skip to a particular spot in the list. | 
 | func (c *ProjectsScanConfigsListCall) PageToken(pageToken string) *ProjectsScanConfigsListCall { | 
 | 	c.urlParams_.Set("pageToken", pageToken) | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsScanConfigsListCall) Fields(s ...googleapi.Field) *ProjectsScanConfigsListCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // IfNoneMatch sets the optional parameter which makes the operation | 
 | // fail if the object's ETag matches the given value. This is useful for | 
 | // getting updates only after the object has changed since the last | 
 | // request. Use googleapi.IsNotModified to check whether the response | 
 | // error from Do is the result of In-None-Match. | 
 | func (c *ProjectsScanConfigsListCall) IfNoneMatch(entityTag string) *ProjectsScanConfigsListCall { | 
 | 	c.ifNoneMatch_ = entityTag | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsScanConfigsListCall) Context(ctx context.Context) *ProjectsScanConfigsListCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsScanConfigsListCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsScanConfigsListCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	if c.ifNoneMatch_ != "" { | 
 | 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
 | 	} | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/scanConfigs") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("GET", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"parent": c.parent, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.scanConfigs.list" call. | 
 | // Exactly one of *ListScanConfigsResponse or error will be non-nil. Any | 
 | // non-2xx status code is an error. Response headers are in either | 
 | // *ListScanConfigsResponse.ServerResponse.Header or (if a response was | 
 | // returned at all) in error.(*googleapi.Error).Header. Use | 
 | // googleapi.IsNotModified to check whether the returned error was | 
 | // because http.StatusNotModified was returned. | 
 | func (c *ProjectsScanConfigsListCall) Do(opts ...googleapi.CallOption) (*ListScanConfigsResponse, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &ListScanConfigsResponse{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Lists scan configurations for the specified project.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/scanConfigs", | 
 | 	//   "httpMethod": "GET", | 
 | 	//   "id": "containeranalysis.projects.scanConfigs.list", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "parent" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "filter": { | 
 | 	//       "description": "Required. The filter expression.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "pageSize": { | 
 | 	//       "description": "The number of scan configs to return in the list.", | 
 | 	//       "format": "int32", | 
 | 	//       "location": "query", | 
 | 	//       "type": "integer" | 
 | 	//     }, | 
 | 	//     "pageToken": { | 
 | 	//       "description": "Token to provide to skip to a particular spot in the list.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "parent": { | 
 | 	//       "description": "Required. The name of the project to list scan configurations for in the form of\n`projects/[PROJECT_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+parent}/scanConfigs", | 
 | 	//   "response": { | 
 | 	//     "$ref": "ListScanConfigsResponse" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // Pages invokes f for each page of results. | 
 | // A non-nil error returned from f will halt the iteration. | 
 | // The provided context supersedes any context provided to the Context method. | 
 | func (c *ProjectsScanConfigsListCall) Pages(ctx context.Context, f func(*ListScanConfigsResponse) error) error { | 
 | 	c.ctx_ = ctx | 
 | 	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point | 
 | 	for { | 
 | 		x, err := c.Do() | 
 | 		if err != nil { | 
 | 			return err | 
 | 		} | 
 | 		if err := f(x); err != nil { | 
 | 			return err | 
 | 		} | 
 | 		if x.NextPageToken == "" { | 
 | 			return nil | 
 | 		} | 
 | 		c.PageToken(x.NextPageToken) | 
 | 	} | 
 | } | 
 |  | 
 | // method id "containeranalysis.projects.scanConfigs.update": | 
 |  | 
 | type ProjectsScanConfigsUpdateCall struct { | 
 | 	s          *Service | 
 | 	name       string | 
 | 	scanconfig *ScanConfig | 
 | 	urlParams_ gensupport.URLParams | 
 | 	ctx_       context.Context | 
 | 	header_    http.Header | 
 | } | 
 |  | 
 | // Update: Updates the specified scan configuration. | 
 | func (r *ProjectsScanConfigsService) Update(name string, scanconfig *ScanConfig) *ProjectsScanConfigsUpdateCall { | 
 | 	c := &ProjectsScanConfigsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	c.scanconfig = scanconfig | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsScanConfigsUpdateCall) Fields(s ...googleapi.Field) *ProjectsScanConfigsUpdateCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsScanConfigsUpdateCall) Context(ctx context.Context) *ProjectsScanConfigsUpdateCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsScanConfigsUpdateCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsScanConfigsUpdateCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20200115") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	var body io.Reader = nil | 
 | 	body, err := googleapi.WithoutDataWrapper.JSONReader(c.scanconfig) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	reqHeaders.Set("Content-Type", "application/json") | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("PUT", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "containeranalysis.projects.scanConfigs.update" call. | 
 | // Exactly one of *ScanConfig or error will be non-nil. Any non-2xx | 
 | // status code is an error. Response headers are in either | 
 | // *ScanConfig.ServerResponse.Header or (if a response was returned at | 
 | // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified | 
 | // to check whether the returned error was because | 
 | // http.StatusNotModified was returned. | 
 | func (c *ProjectsScanConfigsUpdateCall) Do(opts ...googleapi.CallOption) (*ScanConfig, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &ScanConfig{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Updates the specified scan configuration.", | 
 | 	//   "flatPath": "v1beta1/projects/{projectsId}/scanConfigs/{scanConfigsId}", | 
 | 	//   "httpMethod": "PUT", | 
 | 	//   "id": "containeranalysis.projects.scanConfigs.update", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "name": { | 
 | 	//       "description": "Required. The name of the scan configuration in the form of\n`projects/[PROJECT_ID]/scanConfigs/[SCAN_CONFIG_ID]`.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/scanConfigs/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v1beta1/{+name}", | 
 | 	//   "request": { | 
 | 	//     "$ref": "ScanConfig" | 
 | 	//   }, | 
 | 	//   "response": { | 
 | 	//     "$ref": "ScanConfig" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } |