|  | // 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" | 
|  | internaloption "google.golang.org/api/option/internaloption" | 
|  | 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 | 
|  | var _ = internaloption.WithDefaultEndpoint | 
|  |  | 
|  | 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...) | 
|  | opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) | 
|  | 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) | 
|  | } | 
|  |  | 
|  | // ArtifactHashes: Defines a hash object for use in Materials and | 
|  | // Products. | 
|  | type ArtifactHashes struct { | 
|  | Sha256 string `json:"sha256,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "Sha256") 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. "Sha256") 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 *ArtifactHashes) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod ArtifactHashes | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // ArtifactRule: Defines an object to declare an in-toto artifact rule | 
|  | type ArtifactRule struct { | 
|  | ArtifactRule []string `json:"artifactRule,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "ArtifactRule") 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. "ArtifactRule") 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 *ArtifactRule) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod ArtifactRule | 
|  | 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. | 
|  | // | 
|  | // If the condition evaluates to `true`, then this binding applies to | 
|  | // the | 
|  | // current request. | 
|  | // | 
|  | // If the condition evaluates to `false`, then this binding does not | 
|  | // apply to | 
|  | // the current request. However, a different role binding might grant | 
|  | // the same | 
|  | // role to one or more of the members in this binding. | 
|  | // | 
|  | // To learn which resources support conditions in their IAM policies, | 
|  | // see | 
|  | // the | 
|  | // [IAM | 
|  | // documentation](https://cloud.google.com/iam/help/conditions/r | 
|  | // esource-policies). | 
|  | 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) | 
|  | } | 
|  |  | 
|  | // ByProducts: Defines an object for the byproducts field in in-toto | 
|  | // links. The suggested | 
|  | // fields are "stderr", "stdout", and "return-value". | 
|  | type ByProducts struct { | 
|  | CustomValues map[string]string `json:"customValues,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "CustomValues") 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. "CustomValues") 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 *ByProducts) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod ByProducts | 
|  | 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. | 
|  | //   "INTOTO" - This represents an in-toto link. | 
|  | 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:"-"` | 
|  | } | 
|  |  | 
|  | // Environment: Defines an object for the environment field in in-toto | 
|  | // links. The suggested | 
|  | // fields are "variables", "filesystem", and "workdir". | 
|  | type Environment struct { | 
|  | CustomValues map[string]string `json:"customValues,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "CustomValues") 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. "CustomValues") 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 *Environment) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod Environment | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // Expr: Represents a textual expression in the Common Expression | 
|  | // Language (CEL) | 
|  | // syntax. CEL is a C-like expression language. The syntax and semantics | 
|  | // of CEL | 
|  | // are documented at https://github.com/google/cel-spec. | 
|  | // | 
|  | // Example (Comparison): | 
|  | // | 
|  | //     title: "Summary size limit" | 
|  | //     description: "Determines if a summary is less than 100 chars" | 
|  | //     expression: "document.summary.size() < 100" | 
|  | // | 
|  | // Example (Equality): | 
|  | // | 
|  | //     title: "Requestor is owner" | 
|  | //     description: "Determines if requestor is the document owner" | 
|  | //     expression: "document.owner == | 
|  | // request.auth.claims.email" | 
|  | // | 
|  | // Example (Logic): | 
|  | // | 
|  | //     title: "Public documents" | 
|  | //     description: "Determine whether the document should be publicly | 
|  | // visible" | 
|  | //     expression: "document.type != 'private' && document.type != | 
|  | // 'internal'" | 
|  | // | 
|  | // Example (Data Manipulation): | 
|  | // | 
|  | //     title: "Notification string" | 
|  | //     description: "Create a notification string with a timestamp." | 
|  | //     expression: "'New message received at ' + | 
|  | // string(document.create_time)" | 
|  | // | 
|  | // The exact variables and functions that may be referenced within an | 
|  | // expression | 
|  | // are determined by the service that evaluates it. See the | 
|  | // service | 
|  | // documentation for additional information. | 
|  | type Expr struct { | 
|  | // Description: 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. | 
|  | Expression string `json:"expression,omitempty"` | 
|  |  | 
|  | // Location: 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: 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`. | 
|  | 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. | 
|  | // | 
|  | // To learn which resources support conditions in their IAM policies, | 
|  | // see | 
|  | // the | 
|  | // [IAM | 
|  | // documentation](https://cloud.google.com/iam/help/conditions/r | 
|  | // esource-policies). | 
|  | 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) | 
|  | } | 
|  |  | 
|  | type GrafeasV1beta1IntotoArtifact struct { | 
|  | Hashes *ArtifactHashes `json:"hashes,omitempty"` | 
|  |  | 
|  | ResourceUri string `json:"resourceUri,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "Hashes") 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. "Hashes") 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 *GrafeasV1beta1IntotoArtifact) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod GrafeasV1beta1IntotoArtifact | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // GrafeasV1beta1IntotoDetails: This corresponds to a signed in-toto | 
|  | // link - it is made up of one or more | 
|  | // signatures and the in-toto link itself. This is used for occurrences | 
|  | // of a | 
|  | // Grafeas in-toto note. | 
|  | type GrafeasV1beta1IntotoDetails struct { | 
|  | Signatures []*GrafeasV1beta1IntotoSignature `json:"signatures,omitempty"` | 
|  |  | 
|  | Signed *Link `json:"signed,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "Signatures") 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. "Signatures") 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 *GrafeasV1beta1IntotoDetails) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod GrafeasV1beta1IntotoDetails | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // GrafeasV1beta1IntotoSignature: A signature object consists of the | 
|  | // KeyID used and the signature itself. | 
|  | type GrafeasV1beta1IntotoSignature struct { | 
|  | Keyid string `json:"keyid,omitempty"` | 
|  |  | 
|  | Sig string `json:"sig,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 *GrafeasV1beta1IntotoSignature) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod GrafeasV1beta1IntotoSignature | 
|  | 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) | 
|  | } | 
|  |  | 
|  | // InToto: This contains the fields corresponding to the definition of a | 
|  | // software supply | 
|  | // chain step in an in-toto layout. This information goes into a Grafeas | 
|  | // note. | 
|  | type InToto struct { | 
|  | // ExpectedCommand: This field contains the expected command used to | 
|  | // perform the step. | 
|  | ExpectedCommand []string `json:"expectedCommand,omitempty"` | 
|  |  | 
|  | // ExpectedMaterials: The following fields contain in-toto artifact | 
|  | // rules identifying the | 
|  | // artifacts that enter this supply chain step, and exit the supply | 
|  | // chain | 
|  | // step, i.e. materials and products of the step. | 
|  | ExpectedMaterials []*ArtifactRule `json:"expectedMaterials,omitempty"` | 
|  |  | 
|  | ExpectedProducts []*ArtifactRule `json:"expectedProducts,omitempty"` | 
|  |  | 
|  | // SigningKeys: This field contains the public keys that can be used to | 
|  | // verify the | 
|  | // signatures on the step metadata. | 
|  | SigningKeys []*SigningKey `json:"signingKeys,omitempty"` | 
|  |  | 
|  | // StepName: This field identifies the name of the step in the supply | 
|  | // chain. | 
|  | StepName string `json:"stepName,omitempty"` | 
|  |  | 
|  | // Threshold: This field contains a value that indicates the minimum | 
|  | // number of keys that | 
|  | // need to be used to sign the step's in-toto link. | 
|  | Threshold int64 `json:"threshold,omitempty,string"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "ExpectedCommand") 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. "ExpectedCommand") 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 *InToto) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod InToto | 
|  | 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) | 
|  | } | 
|  |  | 
|  | // Link: This corresponds to an in-toto link. | 
|  | type Link struct { | 
|  | // Byproducts: ByProducts are data generated as part of a software | 
|  | // supply chain step, but | 
|  | // are not the actual result of the step. | 
|  | Byproducts *ByProducts `json:"byproducts,omitempty"` | 
|  |  | 
|  | // Command: This field contains the full command executed for the step. | 
|  | // This can also | 
|  | // be empty if links are generated for operations that aren't directly | 
|  | // mapped | 
|  | // to a specific command. Each term in the command is an independent | 
|  | // string | 
|  | // in the list. An example of a command in the in-toto metadata field | 
|  | // is: | 
|  | // "command": ["git", "clone", | 
|  | // "https://github.com/in-toto/demo-project.git"] | 
|  | Command []string `json:"command,omitempty"` | 
|  |  | 
|  | // Environment: This is a field that can be used to capture information | 
|  | // about the | 
|  | // environment. It is suggested for this field to contain information | 
|  | // that | 
|  | // details environment variables, filesystem information, and the | 
|  | // present | 
|  | // working directory. The recommended structure of this field | 
|  | // is: | 
|  | // "environment": { | 
|  | //   "custom_values": { | 
|  | //     "variables": "<ENV>", | 
|  | //     "filesystem": "<FS>", | 
|  | //     "workdir": "<CWD>", | 
|  | //     "<ANY OTHER RELEVANT FIELDS>": "..." | 
|  | //   } | 
|  | // } | 
|  | Environment *Environment `json:"environment,omitempty"` | 
|  |  | 
|  | // Materials: Materials are the supply chain artifacts that go into the | 
|  | // step and are used | 
|  | // for the operation performed. The key of the map is the path of the | 
|  | // artifact | 
|  | // and the structure contains the recorded hash information. An example | 
|  | // is: | 
|  | // "materials": [ | 
|  | //   { | 
|  | //     "resource_uri": "foo/bar", | 
|  | //     "hashes": { | 
|  | //       "sha256": "ebebf...", | 
|  | //       <OTHER HASH ALGORITHMS>: <HASH VALUE> | 
|  | //     } | 
|  | //   } | 
|  | // ] | 
|  | Materials []*GrafeasV1beta1IntotoArtifact `json:"materials,omitempty"` | 
|  |  | 
|  | // Products: Products are the supply chain artifacts generated as a | 
|  | // result of the step. | 
|  | // The structure is identical to that of materials. | 
|  | Products []*GrafeasV1beta1IntotoArtifact `json:"products,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "Byproducts") 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. "Byproducts") 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 *Link) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod Link | 
|  | 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"` | 
|  |  | 
|  | // Intoto: A note describing an in-toto link. | 
|  | Intoto *InToto `json:"intoto,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. | 
|  | //   "INTOTO" - This represents an in-toto link. | 
|  | 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"` | 
|  |  | 
|  | // Intoto: Describes a specific in-toto link. | 
|  | Intoto *GrafeasV1beta1IntotoDetails `json:"intoto,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. | 
|  | //   "INTOTO" - This represents an in-toto link. | 
|  | 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. | 
|  | // | 
|  | // For some types of Google Cloud resources, a `binding` can also | 
|  | // 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. To learn | 
|  | // which | 
|  | // resources support conditions in their IAM policies, see the | 
|  | // [IAM | 
|  | // documentation](https://cloud.google.com/iam/help/conditions/resource-p | 
|  | // olicies). | 
|  | // | 
|  | // **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. | 
|  | // | 
|  | // To learn which resources support conditions in their IAM policies, | 
|  | // see the | 
|  | // [IAM | 
|  | // documentation](https://cloud.google.com/iam/help/conditions/resource-p | 
|  | // olicies). | 
|  | 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) | 
|  | } | 
|  |  | 
|  | // SigningKey: This defines the format used to record keys used in the | 
|  | // software supply | 
|  | // chain. An in-toto link is attested using one or more keys defined in | 
|  | // the | 
|  | // in-toto layout. An example of this is: | 
|  | // { | 
|  | //   "key_id": | 
|  | // "776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...", | 
|  | //   "key_type": "rsa", | 
|  | //   "public_key_value": "-----BEGIN PUBLIC | 
|  | // KEY-----\nMIIBojANBgkqhkiG9w0B...", | 
|  | //   "key_scheme": "rsassa-pss-sha256" | 
|  | // } | 
|  | // The format for in-toto's key definition can be found in section 4.2 | 
|  | // of the | 
|  | // in-toto specification. | 
|  | type SigningKey struct { | 
|  | // KeyId: key_id is an identifier for the signing key. | 
|  | KeyId string `json:"keyId,omitempty"` | 
|  |  | 
|  | // KeyScheme: This field contains the corresponding signature | 
|  | // scheme. | 
|  | // Eg: "rsassa-pss-sha256". | 
|  | KeyScheme string `json:"keyScheme,omitempty"` | 
|  |  | 
|  | // KeyType: This field identifies the specific signing method. Eg: | 
|  | // "rsa", "ed25519", | 
|  | // and "ecdsa". | 
|  | KeyType string `json:"keyType,omitempty"` | 
|  |  | 
|  | // PublicKeyValue: This field contains the actual public key. | 
|  | PublicKeyValue string `json:"publicKeyValue,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 *SigningKey) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod SigningKey | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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/"+gensupport.GoVersion()+" gdcl/20200610") | 
|  | 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" | 
|  | //   ] | 
|  | // } | 
|  |  | 
|  | } |