blob: fb1f384126bc544051d235f9c5ff318d932171fa [file] [edit]
// Copyright 2026 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/
//
// # Library status
//
// These client libraries are officially supported by Google. However, this
// library is considered complete and is in maintenance mode. This means
// that we will address critical bugs and security issues but will not add
// any new features.
//
// When possible, we recommend using our newer
// [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
// that are still actively being worked and iterated on.
//
// # 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 [google.golang.org/api/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 [google.golang.org/api/option.WithTokenSource]:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// containeranalysisService, err := containeranalysis.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See [google.golang.org/api/option.ClientOption] for details on options.
package containeranalysis // import "google.golang.org/api/containeranalysis/v1beta1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"log/slog"
"net/http"
"net/url"
"strconv"
"strings"
"github.com/googleapis/gax-go/v2/internallog"
googleapi "google.golang.org/api/googleapi"
internal "google.golang.org/api/internal"
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
var _ = internal.Version
var _ = internallog.New
const apiId = "containeranalysis:v1beta1"
const apiName = "containeranalysis"
const apiVersion = "v1beta1"
const basePath = "https://containeranalysis.googleapis.com/"
const basePathTemplate = "https://containeranalysis.UNIVERSE_DOMAIN/"
const mtlsBasePath = "https://containeranalysis.mtls.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// See, edit, configure, and delete your Google Cloud data and see the email
// address for your Google Account.
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := internaloption.WithDefaultScopes(
"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))
opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
opts = append(opts, internaloption.EnableNewAuthLibrary())
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s := &Service{client: client, BasePath: basePath, logger: internaloption.GetLogger(opts)}
s.Projects = NewProjectsService(s)
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")
}
return NewService(context.TODO(), option.WithHTTPClient(client))
}
type Service struct {
client *http.Client
logger *slog.Logger
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.Locations = NewProjectsLocationsService(s)
rs.Notes = NewProjectsNotesService(s)
rs.Occurrences = NewProjectsOccurrencesService(s)
rs.Resources = NewProjectsResourcesService(s)
return rs
}
type ProjectsService struct {
s *Service
Locations *ProjectsLocationsService
Notes *ProjectsNotesService
Occurrences *ProjectsOccurrencesService
Resources *ProjectsResourcesService
}
func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
rs := &ProjectsLocationsService{s: s}
rs.Notes = NewProjectsLocationsNotesService(s)
rs.Occurrences = NewProjectsLocationsOccurrencesService(s)
rs.Resources = NewProjectsLocationsResourcesService(s)
return rs
}
type ProjectsLocationsService struct {
s *Service
Notes *ProjectsLocationsNotesService
Occurrences *ProjectsLocationsOccurrencesService
Resources *ProjectsLocationsResourcesService
}
func NewProjectsLocationsNotesService(s *Service) *ProjectsLocationsNotesService {
rs := &ProjectsLocationsNotesService{s: s}
rs.Occurrences = NewProjectsLocationsNotesOccurrencesService(s)
return rs
}
type ProjectsLocationsNotesService struct {
s *Service
Occurrences *ProjectsLocationsNotesOccurrencesService
}
func NewProjectsLocationsNotesOccurrencesService(s *Service) *ProjectsLocationsNotesOccurrencesService {
rs := &ProjectsLocationsNotesOccurrencesService{s: s}
return rs
}
type ProjectsLocationsNotesOccurrencesService struct {
s *Service
}
func NewProjectsLocationsOccurrencesService(s *Service) *ProjectsLocationsOccurrencesService {
rs := &ProjectsLocationsOccurrencesService{s: s}
return rs
}
type ProjectsLocationsOccurrencesService struct {
s *Service
}
func NewProjectsLocationsResourcesService(s *Service) *ProjectsLocationsResourcesService {
rs := &ProjectsLocationsResourcesService{s: s}
return rs
}
type ProjectsLocationsResourcesService struct {
s *Service
}
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 NewProjectsResourcesService(s *Service) *ProjectsResourcesService {
rs := &ProjectsResourcesService{s: s}
return rs
}
type ProjectsResourcesService 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s AliasContext) MarshalJSON() ([]byte, error) {
type NoMethod AliasContext
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// AnalysisCompleted: Indicates which analysis completed successfully. Multiple
// types of analysis can be performed on a single resource.
type AnalysisCompleted struct {
AnalysisType []string `json:"analysisType,omitempty"`
// ForceSendFields is a list of field names (e.g. "AnalysisType") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AnalysisType") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s AnalysisCompleted) MarshalJSON() ([]byte, error) {
type NoMethod AnalysisCompleted
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Artifact) MarshalJSON() ([]byte, error) {
type NoMethod Artifact
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ArtifactHashes) MarshalJSON() ([]byte, error) {
type NoMethod ArtifactHashes
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ArtifactRule) MarshalJSON() ([]byte, error) {
type NoMethod ArtifactRule
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Assessment: Assessment provides all information that is related to a single
// vulnerability for this product.
type Assessment struct {
// Cve: Holds the MITRE standard Common Vulnerabilities and Exposures (CVE)
// tracking number for the vulnerability. Deprecated: Use vulnerability_id
// instead to denote CVEs.
Cve string `json:"cve,omitempty"`
// Impacts: Contains information about the impact of this vulnerability, this
// will change with time.
Impacts []string `json:"impacts,omitempty"`
// Justification: Justification provides the justification when the state of
// the assessment if NOT_AFFECTED.
Justification *Justification `json:"justification,omitempty"`
// LongDescription: A detailed description of this Vex.
LongDescription string `json:"longDescription,omitempty"`
// RelatedUris: Holds a list of references associated with this vulnerability
// item and assessment. These uris have additional information about the
// vulnerability and the assessment itself. E.g. Link to a document which
// details how this assessment concluded the state of this vulnerability.
RelatedUris []*RelatedUrl `json:"relatedUris,omitempty"`
// Remediations: Specifies details on how to handle (and presumably, fix) a
// vulnerability.
Remediations []*Remediation `json:"remediations,omitempty"`
// ShortDescription: A one sentence description of this Vex.
ShortDescription string `json:"shortDescription,omitempty"`
// State: Provides the state of this Vulnerability assessment.
//
// Possible values:
// "STATE_UNSPECIFIED" - No state is specified.
// "AFFECTED" - This product is known to be affected by this vulnerability.
// "NOT_AFFECTED" - This product is known to be not affected by this
// vulnerability.
// "FIXED" - This product contains a fix for this vulnerability.
// "UNDER_INVESTIGATION" - It is not known yet whether these versions are or
// are not affected by the vulnerability. However, it is still under
// investigation.
State string `json:"state,omitempty"`
// VulnerabilityId: The vulnerability identifier for this Assessment. Will hold
// one of common identifiers e.g. CVE, GHSA etc.
VulnerabilityId string `json:"vulnerabilityId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Cve") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Cve") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Assessment) MarshalJSON() ([]byte, error) {
type NoMethod Assessment
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Attestation) MarshalJSON() ([]byte, error) {
type NoMethod Attestation
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Authority) MarshalJSON() ([]byte, error) {
type NoMethod Authority
return gensupport.MarshalJSON(NoMethod(s), 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 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Basis) MarshalJSON() ([]byte, error) {
type NoMethod Basis
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// BatchCreateNotesRequest: Request to create notes in batch.
type BatchCreateNotesRequest struct {
// Notes: Required. The notes to create, the key is expected to be the note ID.
// 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BatchCreateNotesRequest) MarshalJSON() ([]byte, error) {
type NoMethod BatchCreateNotesRequest
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BatchCreateNotesResponse) MarshalJSON() ([]byte, error) {
type NoMethod BatchCreateNotesResponse
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BatchCreateOccurrencesRequest) MarshalJSON() ([]byte, error) {
type NoMethod BatchCreateOccurrencesRequest
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BatchCreateOccurrencesResponse) MarshalJSON() ([]byte, error) {
type NoMethod BatchCreateOccurrencesResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Binding: Associates `members`, or principals, 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 principals in this binding. To learn
// which resources support conditions in their IAM policies, see the IAM
// documentation
// (https://cloud.google.com/iam/help/conditions/resource-policies).
Condition *Expr `json:"condition,omitempty"`
// Members: Specifies the principals requesting access for a Google Cloud
// 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. Does not include identities that come from external identity
// providers (IdPs) through identity federation. * `user:{emailid}`: An email
// address that represents a specific Google account. For example,
// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that
// represents a Google service account. For example,
// `my-other-app@appspot.gserviceaccount.com`. *
// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
// identifier for a Kubernetes service account
// (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
// `group:{emailid}`: An email address that represents a Google group. For
// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
// (primary) that represents all the users of that domain. For example,
// `google.com` or `example.com`. *
// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub
// ject/{subject_attribute_value}`: A single identity in a workforce identity
// pool. *
// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
// group/{group_id}`: All workforce identities in a group. *
// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
// attribute.{attribute_name}/{attribute_value}`: All workforce identities with
// a specific attribute value. *
// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
// *`: All identities in a workforce identity pool. *
// `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo
// rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
// identity in a workload identity pool. *
// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
// /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool
// group. *
// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
// /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}
// `: All identities in a workload identity pool with a certain attribute. *
// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
// /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity
// pool. * `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. *
// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool
// _id}/subject/{subject_attribute_value}`: Deleted single identity in a
// workforce identity pool. For example,
// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po
// ol-id/subject/my-subject-attribute-value`.
Members []string `json:"members,omitempty"`
// Role: Role that is assigned to the list of `members`, or principals. For
// example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview
// of the IAM roles and permissions, see the IAM documentation
// (https://cloud.google.com/iam/docs/roles-overview). For a list of the
// available pre-defined roles, see here
// (https://cloud.google.com/iam/docs/understanding-roles).
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Binding) MarshalJSON() ([]byte, error) {
type NoMethod Binding
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Build) MarshalJSON() ([]byte, error) {
type NoMethod Build
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
type BuildDefinition struct {
BuildType string `json:"buildType,omitempty"`
ExternalParameters googleapi.RawMessage `json:"externalParameters,omitempty"`
InternalParameters googleapi.RawMessage `json:"internalParameters,omitempty"`
ResolvedDependencies []*ResourceDescriptor `json:"resolvedDependencies,omitempty"`
// ForceSendFields is a list of field names (e.g. "BuildType") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BuildType") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BuildDefinition) MarshalJSON() ([]byte, error) {
type NoMethod BuildDefinition
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
type BuildMetadata struct {
FinishedOn string `json:"finishedOn,omitempty"`
InvocationId string `json:"invocationId,omitempty"`
StartedOn string `json:"startedOn,omitempty"`
// ForceSendFields is a list of field names (e.g. "FinishedOn") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FinishedOn") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BuildMetadata) MarshalJSON() ([]byte, error) {
type NoMethod BuildMetadata
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BuildProvenance) MarshalJSON() ([]byte, error) {
type NoMethod BuildProvenance
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BuildSignature) MarshalJSON() ([]byte, error) {
type NoMethod BuildSignature
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// BuildStep: A step in the build pipeline. Next ID: 23
type BuildStep struct {
// AllowExitCodes: Allow this build step to fail without failing the entire
// build if and only if the exit code is one of the specified codes. If
// allow_failure is also specified, this field will take precedence.
AllowExitCodes []int64 `json:"allowExitCodes,omitempty"`
// AllowFailure: Allow this build step to fail without failing the entire
// build. If false, the entire build will fail if this step fails. Otherwise,
// the build will succeed, but this step will still have a failure status.
// Error information will be reported in the failure_detail field.
AllowFailure bool `json:"allowFailure,omitempty"`
// Args: A list of arguments that will be presented to the step when it is
// started. If the image used to run the step's container has an entrypoint,
// the `args` are used as arguments to that entrypoint. If the image does not
// define an entrypoint, the first element in args is used as the entrypoint,
// and the remainder will be used as arguments.
Args []string `json:"args,omitempty"`
// AutomapSubstitutions: Option to include built-in and custom substitutions as
// env variables for this build step. This option will override the global
// option in BuildOption.
AutomapSubstitutions bool `json:"automapSubstitutions,omitempty"`
// Dir: Working directory to use when running this step's container. If this
// value is a relative path, it is relative to the build's working directory.
// If this value is absolute, it may be outside the build's working directory,
// in which case the contents of the path may not be persisted across build
// step executions, unless a `volume` for that path is specified. If the build
// specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies
// an absolute path, the `RepoSource` `dir` is ignored for the step's
// execution.
Dir string `json:"dir,omitempty"`
// Entrypoint: Entrypoint to be used instead of the build step image's default
// entrypoint. If unset, the image's default entrypoint is used.
Entrypoint string `json:"entrypoint,omitempty"`
// Env: A list of environment variable definitions to be used when running a
// step. The elements are of the form "KEY=VALUE" for the environment variable
// "KEY" being given the value "VALUE".
Env []string `json:"env,omitempty"`
// ExitCode: Output only. Return code from running the step.
ExitCode int64 `json:"exitCode,omitempty"`
// Id: Unique identifier for this build step, used in `wait_for` to reference
// this build step as a dependency.
Id string `json:"id,omitempty"`
// Name: Required. The name of the container image that will run this
// particular build step. If the image is available in the host's Docker
// daemon's cache, it will be run directly. If not, the host will attempt to
// pull the image first, using the builder service account's credentials if
// necessary. The Docker daemon's cache will already have the latest versions
// of all of the officially supported build steps
// (https://github.com/GoogleCloudPlatform/cloud-builders
// (https://github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon
// will also have cached many of the layers for some popular images, like
// "ubuntu", "debian", but they will be refreshed at the time you attempt to
// use them. If you built an image in a previous build step, it will be stored
// in the host's Docker daemon's cache and is available to use as the name for
// a later build step.
Name string `json:"name,omitempty"`
// PullTiming: Output only. Stores timing information for pulling this build
// step's builder image only.
PullTiming *TimeSpan `json:"pullTiming,omitempty"`
// RemoteConfig: Remote configuration for the build step.
RemoteConfig string `json:"remoteConfig,omitempty"`
Results []*StepResult `json:"results,omitempty"`
// Script: A shell script to be executed in the step. When script is provided,
// the user cannot specify the entrypoint or args.
Script string `json:"script,omitempty"`
// SecretEnv: A list of environment variables which are encrypted using a Cloud
// Key Management Service crypto key. These values must be specified in the
// build's `Secret`.
SecretEnv []string `json:"secretEnv,omitempty"`
// Status: Output only. Status of the build step. At this time, build step
// status is only updated on build completion; step status is not updated in
// real-time as the build progresses.
//
// Possible values:
// "STATUS_UNKNOWN" - Status of the build is unknown.
// "PENDING" - Build has been created and is pending execution and queuing.
// It has not been queued.
// "QUEUING" - Build has been received and is being queued.
// "QUEUED" - Build or step is queued; work has not yet begun.
// "WORKING" - Build or step is being executed.
// "SUCCESS" - Build or step finished successfully.
// "FAILURE" - Build or step failed to complete successfully.
// "INTERNAL_ERROR" - Build or step failed due to an internal cause.
// "TIMEOUT" - Build or step took longer than was allowed.
// "CANCELLED" - Build or step was canceled by a user.
// "EXPIRED" - Build was enqueued for longer than the value of `queue_ttl`.
Status string `json:"status,omitempty"`
// Timeout: Time limit for executing this build step. If not defined, the step
// has no time limit and will be allowed to continue to run until either it
// completes or the build itself times out.
Timeout string `json:"timeout,omitempty"`
// Timing: Output only. Stores timing information for executing this build
// step.
Timing *TimeSpan `json:"timing,omitempty"`
// Volumes: List of volumes to mount into the build step. Each volume is
// created as an empty volume prior to execution of the build step. Upon
// completion of the build, volumes and their contents are discarded. Using a
// named volume in only one step is not valid as it is indicative of a build
// request with an incorrect configuration.
Volumes []*Volume `json:"volumes,omitempty"`
// WaitFor: The ID(s) of the step(s) that this build step depends on. This
// build step will not start until all the build steps in `wait_for` have
// completed successfully. If `wait_for` is empty, this build step will start
// when all previous build steps in the `Build.Steps` list have completed
// successfully.
WaitFor []string `json:"waitFor,omitempty"`
// ForceSendFields is a list of field names (e.g. "AllowExitCodes") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AllowExitCodes") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BuildStep) MarshalJSON() ([]byte, error) {
type NoMethod BuildStep
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ByProducts) MarshalJSON() ([]byte, error) {
type NoMethod ByProducts
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CVSS: Common Vulnerability Scoring System. This message is compatible with
// CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide
// CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For
// CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS
// v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator
type CVSS struct {
// AttackComplexity: Defined in CVSS v3, CVSS v2
//
// Possible values:
// "ATTACK_COMPLEXITY_UNSPECIFIED" - Defined in CVSS v3, CVSS v2
// "ATTACK_COMPLEXITY_LOW" - Defined in CVSS v3, CVSS v2
// "ATTACK_COMPLEXITY_HIGH" - Defined in CVSS v3, CVSS v2
// "ATTACK_COMPLEXITY_MEDIUM" - Defined in CVSS v2
AttackComplexity string `json:"attackComplexity,omitempty"`
// AttackVector: Base Metrics Represents the intrinsic characteristics of a
// vulnerability that are constant over time and across user environments.
// Defined in CVSS v3, CVSS v2
//
// Possible values:
// "ATTACK_VECTOR_UNSPECIFIED" - Defined in CVSS v3, CVSS v2
// "ATTACK_VECTOR_NETWORK" - Defined in CVSS v3, CVSS v2
// "ATTACK_VECTOR_ADJACENT" - Defined in CVSS v3, CVSS v2
// "ATTACK_VECTOR_LOCAL" - Defined in CVSS v3, CVSS v2
// "ATTACK_VECTOR_PHYSICAL" - Defined in CVSS v3
AttackVector string `json:"attackVector,omitempty"`
// Authentication: Defined in CVSS v2
//
// Possible values:
// "AUTHENTICATION_UNSPECIFIED" - Defined in CVSS v2
// "AUTHENTICATION_MULTIPLE" - Defined in CVSS v2
// "AUTHENTICATION_SINGLE" - Defined in CVSS v2
// "AUTHENTICATION_NONE" - Defined in CVSS v2
Authentication string `json:"authentication,omitempty"`
// AvailabilityImpact: Defined in CVSS v3, CVSS v2
//
// Possible values:
// "IMPACT_UNSPECIFIED" - Defined in CVSS v3, CVSS v2
// "IMPACT_HIGH" - Defined in CVSS v3
// "IMPACT_LOW" - Defined in CVSS v3
// "IMPACT_NONE" - Defined in CVSS v3, CVSS v2
// "IMPACT_PARTIAL" - Defined in CVSS v2
// "IMPACT_COMPLETE" - Defined in CVSS v2
AvailabilityImpact string `json:"availabilityImpact,omitempty"`
// BaseScore: The base score is a function of the base metric scores.
BaseScore float64 `json:"baseScore,omitempty"`
// ConfidentialityImpact: Defined in CVSS v3, CVSS v2
//
// Possible values:
// "IMPACT_UNSPECIFIED" - Defined in CVSS v3, CVSS v2
// "IMPACT_HIGH" - Defined in CVSS v3
// "IMPACT_LOW" - Defined in CVSS v3
// "IMPACT_NONE" - Defined in CVSS v3, CVSS v2
// "IMPACT_PARTIAL" - Defined in CVSS v2
// "IMPACT_COMPLETE" - Defined in CVSS v2
ConfidentialityImpact string `json:"confidentialityImpact,omitempty"`
ExploitabilityScore float64 `json:"exploitabilityScore,omitempty"`
ImpactScore float64 `json:"impactScore,omitempty"`
// IntegrityImpact: Defined in CVSS v3, CVSS v2
//
// Possible values:
// "IMPACT_UNSPECIFIED" - Defined in CVSS v3, CVSS v2
// "IMPACT_HIGH" - Defined in CVSS v3
// "IMPACT_LOW" - Defined in CVSS v3
// "IMPACT_NONE" - Defined in CVSS v3, CVSS v2
// "IMPACT_PARTIAL" - Defined in CVSS v2
// "IMPACT_COMPLETE" - Defined in CVSS v2
IntegrityImpact string `json:"integrityImpact,omitempty"`
// PrivilegesRequired: Defined in CVSS v3
//
// Possible values:
// "PRIVILEGES_REQUIRED_UNSPECIFIED" - Defined in CVSS v3
// "PRIVILEGES_REQUIRED_NONE" - Defined in CVSS v3
// "PRIVILEGES_REQUIRED_LOW" - Defined in CVSS v3
// "PRIVILEGES_REQUIRED_HIGH" - Defined in CVSS v3
PrivilegesRequired string `json:"privilegesRequired,omitempty"`
// Scope: Defined in CVSS v3
//
// Possible values:
// "SCOPE_UNSPECIFIED" - Defined in CVSS v3
// "SCOPE_UNCHANGED" - Defined in CVSS v3
// "SCOPE_CHANGED" - Defined in CVSS v3
Scope string `json:"scope,omitempty"`
// UserInteraction: Defined in CVSS v3
//
// Possible values:
// "USER_INTERACTION_UNSPECIFIED" - Defined in CVSS v3
// "USER_INTERACTION_NONE" - Defined in CVSS v3
// "USER_INTERACTION_REQUIRED" - Defined in CVSS v3
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CVSS) MarshalJSON() ([]byte, error) {
type NoMethod CVSS
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
func (s *CVSS) UnmarshalJSON(data []byte) error {
type NoMethod CVSS
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
}
// CVSSv3: Deprecated. 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CVSSv3) MarshalJSON() ([]byte, error) {
type NoMethod CVSSv3
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CloudRepoSourceContext) MarshalJSON() ([]byte, error) {
type NoMethod CloudRepoSourceContext
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Command) MarshalJSON() ([]byte, error) {
type NoMethod Command
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig: ApprovalConfig
// describes configuration for manual approval of a build.
type ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig struct {
// ApprovalRequired: Whether or not approval is needed. If this is set on a
// build, it will become pending when created, and will need to be explicitly
// approved to start.
ApprovalRequired bool `json:"approvalRequired,omitempty"`
// ForceSendFields is a list of field names (e.g. "ApprovalRequired") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApprovalRequired") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult: ApprovalResult
// describes the decision and associated metadata of a manual approval of a
// build.
type ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult struct {
// ApprovalTime: Output only. The time when the approval decision was made.
ApprovalTime string `json:"approvalTime,omitempty"`
// ApproverAccount: Output only. Email of the user that called the ApproveBuild
// API to approve or reject a build at the time that the API was called.
ApproverAccount string `json:"approverAccount,omitempty"`
// Comment: Optional. An optional comment for this manual approval result.
Comment string `json:"comment,omitempty"`
// Decision: Required. The decision of this manual approval.
//
// Possible values:
// "DECISION_UNSPECIFIED" - Default enum type. This should not be used.
// "APPROVED" - Build is approved.
// "REJECTED" - Build is rejected.
Decision string `json:"decision,omitempty"`
// Url: Optional. An optional URL tied to this manual approval result. This
// field is essentially the same as comment, except that it will be rendered by
// the UI differently. An example use case is a link to an external job that
// approved this Build.
Url string `json:"url,omitempty"`
// ForceSendFields is a list of field names (e.g. "ApprovalTime") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApprovalTime") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts: Artifacts produced by
// a build that should be uploaded upon successful completion of all build
// steps.
type ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts struct {
// GoModules: Optional. A list of Go modules to be uploaded to Artifact
// Registry upon successful completion of all build steps. If any objects fail
// to be pushed, the build is marked FAILURE.
GoModules []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsGoModule `json:"goModules,omitempty"`
// Images: A list of images to be pushed upon the successful completion of all
// build steps. The images will be pushed using the builder service account's
// credentials. The digests of the pushed images will be stored in the Build
// resource's results field. If any of the images fail to be pushed, the build
// is marked FAILURE.
Images []string `json:"images,omitempty"`
// MavenArtifacts: A list of Maven artifacts to be uploaded to Artifact
// Registry upon successful completion of all build steps. Artifacts in the
// workspace matching specified paths globs will be uploaded to the specified
// Artifact Registry repository using the builder service account's
// credentials. If any artifacts fail to be pushed, the build is marked
// FAILURE.
MavenArtifacts []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact `json:"mavenArtifacts,omitempty"`
// NpmPackages: A list of npm packages to be uploaded to Artifact Registry upon
// successful completion of all build steps. Npm packages in the specified
// paths will be uploaded to the specified Artifact Registry repository using
// the builder service account's credentials. If any packages fail to be
// pushed, the build is marked FAILURE.
NpmPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage `json:"npmPackages,omitempty"`
// Objects: A list of objects to be uploaded to Cloud Storage upon successful
// completion of all build steps. Files in the workspace matching specified
// paths globs will be uploaded to the specified Cloud Storage location using
// the builder service account's credentials. The location and generation of
// the uploaded objects will be stored in the Build resource's results field.
// If any objects fail to be pushed, the build is marked FAILURE.
Objects *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects `json:"objects,omitempty"`
// PythonPackages: A list of Python packages to be uploaded to Artifact
// Registry upon successful completion of all build steps. The build service
// account credentials will be used to perform the upload. If any objects fail
// to be pushed, the build is marked FAILURE.
PythonPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage `json:"pythonPackages,omitempty"`
// ForceSendFields is a list of field names (e.g. "GoModules") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GoModules") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects: Files
// in the workspace to upload to Cloud Storage upon successful completion of
// all build steps.
type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects struct {
// Location: Cloud Storage bucket and optional object path, in the form
// "gs://bucket/path/to/somewhere/". (see Bucket Name Requirements
// (https://cloud.google.com/storage/docs/bucket-naming#requirements)). Files
// in the workspace matching any path pattern will be uploaded to Cloud Storage
// with this location as a prefix.
Location string `json:"location,omitempty"`
// Paths: Path globs used to match files in the build's workspace.
Paths []string `json:"paths,omitempty"`
// Timing: Output only. Stores timing information for pushing all artifact
// objects.
Timing *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"timing,omitempty"`
// ForceSendFields is a list of field names (e.g. "Location") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsGoModule: Go module to
// upload to Artifact Registry upon successful completion of all build steps. A
// module refers to all dependencies in a go.mod file.
type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsGoModule struct {
// ModulePath: Optional. The Go module's "module path". e.g. example.com/foo/v2
ModulePath string `json:"modulePath,omitempty"`
// ModuleVersion: Optional. The Go module's semantic version in the form
// vX.Y.Z. e.g. v0.1.1 Pre-release identifiers can also be added by appending a
// dash and dot separated ASCII alphanumeric characters and hyphens. e.g.
// v0.2.3-alpha.x.12m.5
ModuleVersion string `json:"moduleVersion,omitempty"`
// RepositoryLocation: Optional. Location of the Artifact Registry repository.
// i.e. us-east1 Defaults to the build’s location.
RepositoryLocation string `json:"repositoryLocation,omitempty"`
// RepositoryName: Optional. Artifact Registry repository name. Specified Go
// modules will be zipped and uploaded to Artifact Registry with this location
// as a prefix. e.g. my-go-repo
RepositoryName string `json:"repositoryName,omitempty"`
// RepositoryProjectId: Optional. Project ID of the Artifact Registry
// repository. Defaults to the build project.
RepositoryProjectId string `json:"repositoryProjectId,omitempty"`
// SourcePath: Optional. Source path of the go.mod file in the build's
// workspace. If not specified, this will default to the current directory.
// e.g. ~/code/go/mypackage
SourcePath string `json:"sourcePath,omitempty"`
// ForceSendFields is a list of field names (e.g. "ModulePath") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ModulePath") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsGoModule) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsGoModule
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact: A Maven
// artifact to upload to Artifact Registry upon successful completion of all
// build steps.
type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact struct {
// ArtifactId: Maven `artifactId` value used when uploading the artifact to
// Artifact Registry.
ArtifactId string `json:"artifactId,omitempty"`
// DeployFolder: Optional. Path to a folder containing the files to upload to
// Artifact Registry. This can be either an absolute path, e.g.
// `/workspace/my-app/target/`, or a relative path from /workspace, e.g.
// `my-app/target/`. This field is mutually exclusive with the `path` field.
DeployFolder string `json:"deployFolder,omitempty"`
// GroupId: Maven `groupId` value used when uploading the artifact to Artifact
// Registry.
GroupId string `json:"groupId,omitempty"`
// Path: Optional. Path to an artifact in the build's workspace to be uploaded
// to Artifact Registry. This can be either an absolute path, e.g.
// /workspace/my-app/target/my-app-1.0.SNAPSHOT.jar or a relative path from
// /workspace, e.g. my-app/target/my-app-1.0.SNAPSHOT.jar.
Path string `json:"path,omitempty"`
// Repository: Artifact Registry repository, in the form
// "https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY" Artifact in the
// workspace specified by path will be uploaded to Artifact Registry with this
// location as a prefix.
Repository string `json:"repository,omitempty"`
// Version: Maven `version` value used when uploading the artifact to Artifact
// Registry.
Version string `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArtifactId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArtifactId") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage: Npm package
// to upload to Artifact Registry upon successful completion of all build
// steps.
type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage struct {
// PackagePath: Optional. Path to the package.json. e.g.
// workspace/path/to/package Only one of `archive` or `package_path` can be
// specified.
PackagePath string `json:"packagePath,omitempty"`
// Repository: Artifact Registry repository, in the form
// "https://$REGION-npm.pkg.dev/$PROJECT/$REPOSITORY" Npm package in the
// workspace specified by path will be zipped and uploaded to Artifact Registry
// with this location as a prefix.
Repository string `json:"repository,omitempty"`
// ForceSendFields is a list of field names (e.g. "PackagePath") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PackagePath") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage: Python
// package to upload to Artifact Registry upon successful completion of all
// build steps. A package can encapsulate multiple objects to be uploaded to a
// single repository.
type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage struct {
// Paths: Path globs used to match files in the build's workspace. For Python/
// Twine, this is usually `dist/*`, and sometimes additionally an `.asc` file.
Paths []string `json:"paths,omitempty"`
// Repository: Artifact Registry repository, in the form
// "https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY" Files in the workspace
// matching any path pattern will be uploaded to Artifact Registry with this
// location as a prefix.
Repository string `json:"repository,omitempty"`
// ForceSendFields is a list of field names (e.g. "Paths") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Paths") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1Build: A build resource in the
// Cloud Build API. At a high level, a `Build` describes where to find source
// code, how to build it (for example, the builder image to run on the source),
// and where to store the built artifacts. Fields can include the following
// variables, which will be expanded when the build is created: - $PROJECT_ID:
// the project ID of the build. - $PROJECT_NUMBER: the project number of the
// build. - $LOCATION: the location/region of the build. - $BUILD_ID: the
// autogenerated ID of the build. - $REPO_NAME: the source repository name
// specified by RepoSource. - $BRANCH_NAME: the branch name specified by
// RepoSource. - $TAG_NAME: the tag name specified by RepoSource. -
// $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
// resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters
// of $REVISION_ID or $COMMIT_SHA.
type ContaineranalysisGoogleDevtoolsCloudbuildV1Build struct {
// Approval: Output only. Describes this build's approval configuration,
// status, and result.
Approval *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval `json:"approval,omitempty"`
// Artifacts: Artifacts produced by the build that should be uploaded upon
// successful completion of all build steps.
Artifacts *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts `json:"artifacts,omitempty"`
// AvailableSecrets: Secrets and secret environment variables.
AvailableSecrets *ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets `json:"availableSecrets,omitempty"`
// BuildTriggerId: Output only. The ID of the `BuildTrigger` that triggered
// this build, if it was triggered automatically.
BuildTriggerId string `json:"buildTriggerId,omitempty"`
// CreateTime: Output only. Time at which the request to create the build was
// received.
CreateTime string `json:"createTime,omitempty"`
// Dependencies: Optional. Dependencies that the Cloud Build worker will fetch
// before executing user steps.
Dependencies []*ContaineranalysisGoogleDevtoolsCloudbuildV1Dependency `json:"dependencies,omitempty"`
// FailureInfo: Output only. Contains information about the build when
// status=FAILURE.
FailureInfo *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo `json:"failureInfo,omitempty"`
// FinishTime: Output only. Time at which execution of the build was finished.
// The difference between finish_time and start_time is the duration of the
// build's execution.
FinishTime string `json:"finishTime,omitempty"`
// GitConfig: Optional. Configuration for git operations.
GitConfig *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig `json:"gitConfig,omitempty"`
// Id: Output only. Unique identifier of the build.
Id string `json:"id,omitempty"`
// Images: A list of images to be pushed upon the successful completion of all
// build steps. The images are pushed using the builder service account's
// credentials. The digests of the pushed images will be stored in the `Build`
// resource's results field. If any of the images fail to be pushed, the build
// status is marked `FAILURE`.
Images []string `json:"images,omitempty"`
// LogUrl: Output only. URL to logs for this build in Google Cloud Console.
LogUrl string `json:"logUrl,omitempty"`
// LogsBucket: Cloud Storage bucket where logs should be written (see Bucket
// Name Requirements
// (https://cloud.google.com/storage/docs/bucket-naming#requirements)). Logs
// file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
LogsBucket string `json:"logsBucket,omitempty"`
// Name: Output only. The 'Build' name with format:
// `projects/{project}/locations/{location}/builds/{build}`, where {build} is a
// unique identifier generated by the service.
Name string `json:"name,omitempty"`
// Options: Special options for this build.
Options *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions `json:"options,omitempty"`
// ProjectId: Output only. ID of the project.
ProjectId string `json:"projectId,omitempty"`
// QueueTtl: TTL in queue for this build. If provided and the build is enqueued
// longer than this value, the build will expire and the build status will be
// `EXPIRED`. The TTL starts ticking from create_time.
QueueTtl string `json:"queueTtl,omitempty"`
// Results: Output only. Results of the build.
Results *ContaineranalysisGoogleDevtoolsCloudbuildV1Results `json:"results,omitempty"`
// Secrets: Secrets to decrypt using Cloud Key Management Service. Note: Secret
// Manager is the recommended technique for managing sensitive data with Cloud
// Build. Use `available_secrets` to configure builds to access secrets from
// Secret Manager. For instructions, see:
// https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets
Secrets []*ContaineranalysisGoogleDevtoolsCloudbuildV1Secret `json:"secrets,omitempty"`
// ServiceAccount: IAM service account whose credentials will be used at build
// runtime. Must be of the format
// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can be email
// address or uniqueId of the service account.
ServiceAccount string `json:"serviceAccount,omitempty"`
// Source: Optional. The location of the source files to build.
Source *ContaineranalysisGoogleDevtoolsCloudbuildV1Source `json:"source,omitempty"`
// SourceProvenance: Output only. A permanent fixed identifier for source.
SourceProvenance *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance `json:"sourceProvenance,omitempty"`
// StartTime: Output only. Time at which execution of the build was started.
StartTime string `json:"startTime,omitempty"`
// Status: Output only. Status of the build.
//
// Possible values:
// "STATUS_UNKNOWN" - Status of the build is unknown.
// "PENDING" - Build has been created and is pending execution and queuing.
// It has not been queued.
// "QUEUED" - Build or step is queued; work has not yet begun.
// "WORKING" - Build or step is being executed.
// "SUCCESS" - Build or step finished successfully.
// "FAILURE" - Build or step failed to complete successfully.
// "INTERNAL_ERROR" - Build or step failed due to an internal cause.
// "TIMEOUT" - Build or step took longer than was allowed.
// "CANCELLED" - Build or step was canceled by a user.
// "EXPIRED" - Build was enqueued for longer than the value of `queue_ttl`.
Status string `json:"status,omitempty"`
// StatusDetail: Output only. Customer-readable message about the current
// status.
StatusDetail string `json:"statusDetail,omitempty"`
// Steps: Required. The operations to be performed on the workspace.
Steps []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep `json:"steps,omitempty"`
// Substitutions: Substitutions data for `Build` resource.
Substitutions map[string]string `json:"substitutions,omitempty"`
// Tags: Tags for annotation of a `Build`. These are not docker tags.
Tags []string `json:"tags,omitempty"`
// Timeout: Amount of time that this build should be allowed to run, to second
// granularity. If this amount of time elapses, work on the build will cease
// and the build status will be `TIMEOUT`. `timeout` starts ticking from
// `startTime`. Default time is 60 minutes.
Timeout string `json:"timeout,omitempty"`
// Timing: Output only. Stores timing information for phases of the build.
// Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to
// push all artifacts including docker images and non docker artifacts. *
// FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If
// the build does not specify source or images, these keys will not be
// included.
Timing map[string]ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"timing,omitempty"`
// Warnings: Output only. Non-fatal problems encountered during the execution
// of the build.
Warnings []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning `json:"warnings,omitempty"`
// ForceSendFields is a list of field names (e.g. "Approval") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Approval") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1Build) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Build
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval: BuildApproval
// describes a build's approval configuration, state, and result.
type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval struct {
// Config: Output only. Configuration for manual approval of this build.
Config *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig `json:"config,omitempty"`
// Result: Output only. Result of manual approval for this Build.
Result *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult `json:"result,omitempty"`
// State: Output only. The state of this build's approval.
//
// Possible values:
// "STATE_UNSPECIFIED" - Default enum type. This should not be used.
// "PENDING" - Build approval is pending.
// "APPROVED" - Build approval has been approved.
// "REJECTED" - Build approval has been rejected.
// "CANCELLED" - Build was cancelled while it was still pending approval.
State string `json:"state,omitempty"`
// ForceSendFields is a list of field names (e.g. "Config") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Config") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo: A fatal problem
// encountered during the execution of the build.
type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo struct {
// Detail: Explains the failure issue in more detail using hard-coded text.
Detail string `json:"detail,omitempty"`
// Type: The name of the failure.
//
// Possible values:
// "FAILURE_TYPE_UNSPECIFIED" - Type unspecified
// "PUSH_FAILED" - Unable to push the image to the repository.
// "PUSH_IMAGE_NOT_FOUND" - Final image not found.
// "PUSH_NOT_AUTHORIZED" - Unauthorized push of the final image.
// "LOGGING_FAILURE" - Backend logging failures. Should retry.
// "USER_BUILD_STEP" - A build step has failed.
// "FETCH_SOURCE_FAILED" - The source fetching has failed.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Detail") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Detail") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions: Optional arguments
// to enable specific features of builds.
type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions struct {
// AutomapSubstitutions: Option to include built-in and custom substitutions as
// env variables for all build steps.
AutomapSubstitutions bool `json:"automapSubstitutions,omitempty"`
// DefaultLogsBucketBehavior: Optional. Option to specify how default logs
// buckets are setup.
//
// Possible values:
// "DEFAULT_LOGS_BUCKET_BEHAVIOR_UNSPECIFIED" - Unspecified.
// "REGIONAL_USER_OWNED_BUCKET" - Bucket is located in user-owned project in
// the same region as the build. The builder service account must have access
// to create and write to Cloud Storage buckets in the build project.
// "LEGACY_BUCKET" - Bucket is located in a Google-owned project and is not
// regionalized.
DefaultLogsBucketBehavior string `json:"defaultLogsBucketBehavior,omitempty"`
// DiskSizeGb: Requested disk size for the VM that runs the build. Note that
// this is *NOT* "disk free"; some of the space will be used by the operating
// system and build utilities. Also note that this is the minimum disk size
// that will be allocated for the build -- the build may run with a larger disk
// than requested. At present, the maximum disk size is 4000GB; builds that
// request more than the maximum are rejected with an error.
DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
// DynamicSubstitutions: Option to specify whether or not to apply bash style
// string operations to the substitutions. NOTE: this is always enabled for
// triggered builds and cannot be overridden in the build configuration file.
DynamicSubstitutions bool `json:"dynamicSubstitutions,omitempty"`
// EnableStructuredLogging: Optional. Option to specify whether structured
// logging is enabled. If true, JSON-formatted logs are parsed as structured
// logs.
EnableStructuredLogging bool `json:"enableStructuredLogging,omitempty"`
// Env: A list of global environment variable definitions that will exist for
// all build steps in this build. If a variable is defined in both globally and
// in a build step, the variable will use the build step value. The elements
// are of the form "KEY=VALUE" for the environment variable "KEY" being given
// the value "VALUE".
Env []string `json:"env,omitempty"`
// LogStreamingOption: Option to define build log streaming behavior to Cloud
// Storage.
//
// Possible values:
// "STREAM_DEFAULT" - Service may automatically determine build log streaming
// behavior.
// "STREAM_ON" - Build logs should be streamed to Cloud Storage.
// "STREAM_OFF" - Build logs should not be streamed to Cloud Storage; they
// will be written when the build is completed.
LogStreamingOption string `json:"logStreamingOption,omitempty"`
// Logging: Option to specify the logging mode, which determines if and where
// build logs are stored.
//
// Possible values:
// "LOGGING_UNSPECIFIED" - The service determines the logging mode. The
// default is `LEGACY`. Do not rely on the default logging behavior as it may
// change in the future.
// "LEGACY" - Build logs are stored in Cloud Logging and Cloud Storage.
// "GCS_ONLY" - Build logs are stored in Cloud Storage.
// "STACKDRIVER_ONLY" - This option is the same as CLOUD_LOGGING_ONLY.
// "CLOUD_LOGGING_ONLY" - Build logs are stored in Cloud Logging. Selecting
// this option will not allow [logs
// streaming](https://cloud.google.com/sdk/gcloud/reference/builds/log).
// "NONE" - Turn off all logging. No build logs will be captured.
Logging string `json:"logging,omitempty"`
// MachineType: Compute Engine machine type on which to run the build.
//
// Possible values:
// "UNSPECIFIED" - Standard machine type.
// "N1_HIGHCPU_8" - Highcpu machine with 8 CPUs.
// "N1_HIGHCPU_32" - Highcpu machine with 32 CPUs.
// "E2_HIGHCPU_8" - Highcpu e2 machine with 8 CPUs.
// "E2_HIGHCPU_32" - Highcpu e2 machine with 32 CPUs.
// "E2_MEDIUM" - E2 machine with 1 CPU.
MachineType string `json:"machineType,omitempty"`
// Pool: Optional. Specification for execution on a `WorkerPool`. See running
// builds in a private pool
// (https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool)
// for more information.
Pool *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption `json:"pool,omitempty"`
// PubsubTopic: Optional. Option to specify the Pub/Sub topic to receive build
// status updates.
PubsubTopic string `json:"pubsubTopic,omitempty"`
// RequestedVerifyOption: Requested verifiability options.
//
// Possible values:
// "NOT_VERIFIED" - Not a verifiable build (the default).
// "VERIFIED" - Build must be verified.
RequestedVerifyOption string `json:"requestedVerifyOption,omitempty"`
// SecretEnv: A list of global environment variables, which are encrypted using
// a Cloud Key Management Service crypto key. These values must be specified in
// the build's `Secret`. These variables will be available to all build steps
// in this build.
SecretEnv []string `json:"secretEnv,omitempty"`
// SourceProvenanceHash: Requested hash for SourceProvenance.
//
// Possible values:
// "NONE" - No hash requested.
// "SHA256" - Use a sha256 hash.
// "MD5" - Use a md5 hash.
// "GO_MODULE_H1" - Dirhash of a Go module's source code which is then
// hex-encoded.
// "SHA512" - Use a sha512 hash.
SourceProvenanceHash []string `json:"sourceProvenanceHash,omitempty"`
// SubstitutionOption: Option to specify behavior when there is an error in the
// substitution checks. NOTE: this is always set to ALLOW_LOOSE for triggered
// builds and cannot be overridden in the build configuration file.
//
// Possible values:
// "MUST_MATCH" - Fails the build if error in substitutions checks, like
// missing a substitution in the template or in the map.
// "ALLOW_LOOSE" - Do not fail the build if error in substitutions checks.
SubstitutionOption string `json:"substitutionOption,omitempty"`
// Volumes: Global list of volumes to mount for ALL build steps Each volume is
// created as an empty volume prior to starting the build process. Upon
// completion of the build, volumes and their contents are discarded. Global
// volume names and paths cannot conflict with the volumes defined a build
// step. Using a global volume in a build with only one step is not valid as it
// is indicative of a build request with an incorrect configuration.
Volumes []*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume `json:"volumes,omitempty"`
// WorkerPool: This field deprecated; please use `pool.name` instead.
WorkerPool string `json:"workerPool,omitempty"`
// ForceSendFields is a list of field names (e.g. "AutomapSubstitutions") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AutomapSubstitutions") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption: Details
// about how a build should be executed on a `WorkerPool`. See running builds
// in a private pool
// (https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool)
// for more information.
type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption struct {
// Name: The `WorkerPool` resource to execute the build on. You must have
// `cloudbuild.workerpools.use` on the project hosting the WorkerPool. Format
// projects/{project}/locations/{location}/workerPools/{workerPoolId}
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep: A step in the build
// pipeline.
type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep struct {
// AllowExitCodes: Allow this build step to fail without failing the entire
// build if and only if the exit code is one of the specified codes. If
// allow_failure is also specified, this field will take precedence.
AllowExitCodes []int64 `json:"allowExitCodes,omitempty"`
// AllowFailure: Allow this build step to fail without failing the entire
// build. If false, the entire build will fail if this step fails. Otherwise,
// the build will succeed, but this step will still have a failure status.
// Error information will be reported in the failure_detail field.
AllowFailure bool `json:"allowFailure,omitempty"`
// Args: A list of arguments that will be presented to the step when it is
// started. If the image used to run the step's container has an entrypoint,
// the `args` are used as arguments to that entrypoint. If the image does not
// define an entrypoint, the first element in args is used as the entrypoint,
// and the remainder will be used as arguments.
Args []string `json:"args,omitempty"`
// AutomapSubstitutions: Option to include built-in and custom substitutions as
// env variables for this build step. This option will override the global
// option in BuildOption.
AutomapSubstitutions bool `json:"automapSubstitutions,omitempty"`
// Dir: Working directory to use when running this step's container. If this
// value is a relative path, it is relative to the build's working directory.
// If this value is absolute, it may be outside the build's working directory,
// in which case the contents of the path may not be persisted across build
// step executions, unless a `volume` for that path is specified. If the build
// specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies
// an absolute path, the `RepoSource` `dir` is ignored for the step's
// execution.
Dir string `json:"dir,omitempty"`
// Entrypoint: Entrypoint to be used instead of the build step image's default
// entrypoint. If unset, the image's default entrypoint is used.
Entrypoint string `json:"entrypoint,omitempty"`
// Env: A list of environment variable definitions to be used when running a
// step. The elements are of the form "KEY=VALUE" for the environment variable
// "KEY" being given the value "VALUE".
Env []string `json:"env,omitempty"`
// ExitCode: Output only. Return code from running the step.
ExitCode int64 `json:"exitCode,omitempty"`
// Id: Unique identifier for this build step, used in `wait_for` to reference
// this build step as a dependency.
Id string `json:"id,omitempty"`
// Name: Required. The name of the container image that will run this
// particular build step. If the image is available in the host's Docker
// daemon's cache, it will be run directly. If not, the host will attempt to
// pull the image first, using the builder service account's credentials if
// necessary. The Docker daemon's cache will already have the latest versions
// of all of the officially supported build steps
// (https://github.com/GoogleCloudPlatform/cloud-builders
// (https://github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon
// will also have cached many of the layers for some popular images, like
// "ubuntu", "debian", but they will be refreshed at the time you attempt to
// use them. If you built an image in a previous build step, it will be stored
// in the host's Docker daemon's cache and is available to use as the name for
// a later build step.
Name string `json:"name,omitempty"`
// PullTiming: Output only. Stores timing information for pulling this build
// step's builder image only.
PullTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"pullTiming,omitempty"`
// Script: A shell script to be executed in the step. When script is provided,
// the user cannot specify the entrypoint or args.
Script string `json:"script,omitempty"`
// SecretEnv: A list of environment variables which are encrypted using a Cloud
// Key Management Service crypto key. These values must be specified in the
// build's `Secret`.
SecretEnv []string `json:"secretEnv,omitempty"`
// Status: Output only. Status of the build step. At this time, build step
// status is only updated on build completion; step status is not updated in
// real-time as the build progresses.
//
// Possible values:
// "STATUS_UNKNOWN" - Status of the build is unknown.
// "PENDING" - Build has been created and is pending execution and queuing.
// It has not been queued.
// "QUEUED" - Build or step is queued; work has not yet begun.
// "WORKING" - Build or step is being executed.
// "SUCCESS" - Build or step finished successfully.
// "FAILURE" - Build or step failed to complete successfully.
// "INTERNAL_ERROR" - Build or step failed due to an internal cause.
// "TIMEOUT" - Build or step took longer than was allowed.
// "CANCELLED" - Build or step was canceled by a user.
// "EXPIRED" - Build was enqueued for longer than the value of `queue_ttl`.
Status string `json:"status,omitempty"`
// Timeout: Time limit for executing this build step. If not defined, the step
// has no time limit and will be allowed to continue to run until either it
// completes or the build itself times out.
Timeout string `json:"timeout,omitempty"`
// Timing: Output only. Stores timing information for executing this build
// step.
Timing *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"timing,omitempty"`
// Volumes: List of volumes to mount into the build step. Each volume is
// created as an empty volume prior to execution of the build step. Upon
// completion of the build, volumes and their contents are discarded. Using a
// named volume in only one step is not valid as it is indicative of a build
// request with an incorrect configuration.
Volumes []*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume `json:"volumes,omitempty"`
// WaitFor: The ID(s) of the step(s) that this build step depends on. This
// build step will not start until all the build steps in `wait_for` have
// completed successfully. If `wait_for` is empty, this build step will start
// when all previous build steps in the `Build.Steps` list have completed
// successfully.
WaitFor []string `json:"waitFor,omitempty"`
// ForceSendFields is a list of field names (e.g. "AllowExitCodes") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AllowExitCodes") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning: A non-fatal problem
// encountered during the execution of the build.
type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning struct {
// Priority: The priority for this warning.
//
// Possible values:
// "PRIORITY_UNSPECIFIED" - Should not be used.
// "INFO" - e.g. deprecation warnings and alternative feature highlights.
// "WARNING" - e.g. automated detection of possible issues with the build.
// "ALERT" - e.g. alerts that a feature used in the build is pending removal
Priority string `json:"priority,omitempty"`
// Text: Explanation of the warning generated.
Text string `json:"text,omitempty"`
// ForceSendFields is a list of field names (e.g. "Priority") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Priority") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage: An image built by the
// pipeline.
type ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage struct {
// ArtifactRegistryPackage: Output only. Path to the artifact in Artifact
// Registry.
ArtifactRegistryPackage string `json:"artifactRegistryPackage,omitempty"`
// Digest: Docker Registry 2.0 digest.
Digest string `json:"digest,omitempty"`
// Name: Name used to push the container image to Google Container Registry, as
// presented to `docker push`.
Name string `json:"name,omitempty"`
// PushTiming: Output only. Stores timing information for pushing the specified
// image.
PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"pushTiming,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArtifactRegistryPackage") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArtifactRegistryPackage") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository: Location of
// the source in a 2nd-gen Google Cloud Build repository resource.
type ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository struct {
// Dir: Optional. Directory, relative to the source root, in which to run the
// build.
Dir string `json:"dir,omitempty"`
// Repository: Required. Name of the Google Cloud Build repository, formatted
// as `projects/*/locations/*/connections/*/repositories/*`.
Repository string `json:"repository,omitempty"`
// Revision: Required. The revision to fetch from the Git repository such as a
// branch, a tag, a commit SHA, or any Git ref.
Revision string `json:"revision,omitempty"`
// ForceSendFields is a list of field names (e.g. "Dir") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Dir") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1Dependency: A dependency that the
// Cloud Build worker will fetch before executing user steps.
type ContaineranalysisGoogleDevtoolsCloudbuildV1Dependency struct {
// Empty: If set to true disable all dependency fetching (ignoring the default
// source as well).
Empty bool `json:"empty,omitempty"`
// GitSource: Represents a git repository as a build dependency.
GitSource *ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceDependency `json:"gitSource,omitempty"`
// ForceSendFields is a list of field names (e.g. "Empty") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Empty") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1Dependency) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Dependency
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceDependency:
// Represents a git repository as a build dependency.
type ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceDependency struct {
// Depth: Optional. How much history should be fetched for the build (default
// 1, -1 for all history).
Depth int64 `json:"depth,omitempty,string"`
// DestPath: Required. Where should the files be placed on the worker.
DestPath string `json:"destPath,omitempty"`
// RecurseSubmodules: Optional. True if submodules should be fetched too
// (default false).
RecurseSubmodules bool `json:"recurseSubmodules,omitempty"`
// Repository: Required. The kind of repo (url or dev connect).
Repository *ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceRepository `json:"repository,omitempty"`
// Revision: Required. The revision that we will fetch the repo at.
Revision string `json:"revision,omitempty"`
// ForceSendFields is a list of field names (e.g. "Depth") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Depth") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceDependency) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceDependency
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceRepository: A
// repository for a git source.
type ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceRepository struct {
// DeveloperConnect: The Developer Connect Git repository link formatted as
// `projects/*/locations/*/connections/*/gitRepositoryLink/*`
DeveloperConnect string `json:"developerConnect,omitempty"`
// Url: Location of the Git repository.
Url string `json:"url,omitempty"`
// ForceSendFields is a list of field names (e.g. "DeveloperConnect") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DeveloperConnect") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceRepository) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceRepository
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig: This
// config defines the location of a source through Developer Connect.
type ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig struct {
// Dir: Required. Directory, relative to the source root, in which to run the
// build.
Dir string `json:"dir,omitempty"`
// GitRepositoryLink: Required. The Developer Connect Git repository link,
// formatted as `projects/*/locations/*/connections/*/gitRepositoryLink/*`.
GitRepositoryLink string `json:"gitRepositoryLink,omitempty"`
// Revision: Required. The revision to fetch from the Git repository such as a
// branch, a tag, a commit SHA, or any Git ref.
Revision string `json:"revision,omitempty"`
// ForceSendFields is a list of field names (e.g. "Dir") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Dir") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes: Container message for
// hashes of byte content of files, used in SourceProvenance messages to verify
// integrity of source input to the build.
type ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes struct {
// FileHash: Collection of file hashes.
FileHash []*ContaineranalysisGoogleDevtoolsCloudbuildV1Hash `json:"fileHash,omitempty"`
// ForceSendFields is a list of field names (e.g. "FileHash") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig: GitConfig is a
// configuration for git operations.
type ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig struct {
// Http: Configuration for HTTP related git operations.
Http *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig `json:"http,omitempty"`
// ForceSendFields is a list of field names (e.g. "Http") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Http") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig: HttpConfig
// is a configuration for HTTP related git operations.
type ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig struct {
// ProxySecretVersionName: SecretVersion resource of the HTTP proxy URL. The
// Service Account used in the build (either the default Service Account or
// user-specified Service Account) should have `secretmanager.versions.access`
// permissions on this secret. The proxy URL should be in format
// `protocol://@]proxyhost[:port]`.
ProxySecretVersionName string `json:"proxySecretVersionName,omitempty"`
// ForceSendFields is a list of field names (e.g. "ProxySecretVersionName") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ProxySecretVersionName") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource: Location of the source
// in any accessible Git repository.
type ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource struct {
// Dir: Optional. Directory, relative to the source root, in which to run the
// build. This must be a relative path. If a step's `dir` is specified and is
// an absolute path, this value is ignored for that step's execution.
Dir string `json:"dir,omitempty"`
// Revision: Optional. The revision to fetch from the Git repository such as a
// branch, a tag, a commit SHA, or any Git ref. Cloud Build uses `git fetch` to
// fetch the revision from the Git repository; therefore make sure that the
// string you provide for `revision` is parsable by the command. For
// information on string values accepted by `git fetch`, see
// https://git-scm.com/docs/gitrevisions#_specifying_revisions. For information
// on `git fetch`, see https://git-scm.com/docs/git-fetch.
Revision string `json:"revision,omitempty"`
// Url: Required. Location of the Git repo to build. This will be used as a
// `git remote`, see https://git-scm.com/docs/git-remote.
Url string `json:"url,omitempty"`
// ForceSendFields is a list of field names (e.g. "Dir") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Dir") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1Hash: Container message for hash
// values.
type ContaineranalysisGoogleDevtoolsCloudbuildV1Hash struct {
// Type: The type of hash that was performed.
//
// Possible values:
// "NONE" - No hash requested.
// "SHA256" - Use a sha256 hash.
// "MD5" - Use a md5 hash.
// "GO_MODULE_H1" - Dirhash of a Go module's source code which is then
// hex-encoded.
// "SHA512" - Use a sha512 hash.
Type string `json:"type,omitempty"`
// Value: 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1Hash) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Hash
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret: Pairs a set of
// secret environment variables mapped to encrypted values with the Cloud KMS
// key to use to decrypt the value.
type ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret struct {
// EnvMap: Map of environment variable name to its encrypted value. Secret
// environment variables must be unique across all of a build's secrets, and
// must be used by at least one build step. Values can be at most 64 KB in
// size. There can be at most 100 secret values across all of a build's
// secrets.
EnvMap map[string]string `json:"envMap,omitempty"`
// KmsKeyName: Resource name of Cloud KMS crypto key to decrypt the encrypted
// value. In format: projects/*/locations/*/keyRings/*/cryptoKeys/*
KmsKeyName string `json:"kmsKeyName,omitempty"`
// ForceSendFields is a list of field names (e.g. "EnvMap") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EnvMap") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource: Location of the
// source in a Google Cloud Source Repository.
type ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource struct {
// BranchName: Regex matching branches to build. The syntax of the regular
// expressions accepted is the syntax accepted by RE2 and described at
// https://github.com/google/re2/wiki/Syntax
BranchName string `json:"branchName,omitempty"`
// CommitSha: Explicit commit SHA to build.
CommitSha string `json:"commitSha,omitempty"`
// Dir: Optional. Directory, relative to the source root, in which to run the
// build. This must be a relative path. If a step's `dir` is specified and is
// an absolute path, this value is ignored for that step's execution.
Dir string `json:"dir,omitempty"`
// InvertRegex: Optional. Only trigger a build if the revision regex does NOT
// match the revision regex.
InvertRegex bool `json:"invertRegex,omitempty"`
// ProjectId: Optional. ID of the project that owns the Cloud Source
// Repository. If omitted, the project ID requesting the build is assumed.
ProjectId string `json:"projectId,omitempty"`
// RepoName: Required. Name of the Cloud Source Repository.
RepoName string `json:"repoName,omitempty"`
// Substitutions: Optional. Substitutions to use in a triggered build. Should
// only be used with RunBuildTrigger
Substitutions map[string]string `json:"substitutions,omitempty"`
// TagName: Regex matching tags to build. The syntax of the regular expressions
// accepted is the syntax accepted by RE2 and described at
// https://github.com/google/re2/wiki/Syntax
TagName string `json:"tagName,omitempty"`
// ForceSendFields is a list of field names (e.g. "BranchName") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BranchName") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1Results: Artifacts created by the
// build pipeline.
type ContaineranalysisGoogleDevtoolsCloudbuildV1Results struct {
// ArtifactManifest: Path to the artifact manifest for non-container artifacts
// uploaded to Cloud Storage. Only populated when artifacts are uploaded to
// Cloud Storage.
ArtifactManifest string `json:"artifactManifest,omitempty"`
// ArtifactTiming: Time to push all non-container artifacts to Cloud Storage.
ArtifactTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"artifactTiming,omitempty"`
// BuildStepImages: List of build step digests, in the order corresponding to
// build step indices.
BuildStepImages []string `json:"buildStepImages,omitempty"`
// BuildStepOutputs: List of build step outputs, produced by builder images, in
// the order corresponding to build step indices. Cloud Builders
// (https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this
// output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data
// is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't
// be substituted.
BuildStepOutputs []string `json:"buildStepOutputs,omitempty"`
// GoModules: Optional. Go module artifacts uploaded to Artifact Registry at
// the end of the build.
GoModules []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedGoModule `json:"goModules,omitempty"`
// Images: Container images that were built as a part of the build.
Images []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage `json:"images,omitempty"`
// MavenArtifacts: Maven artifacts uploaded to Artifact Registry at the end of
// the build.
MavenArtifacts []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact `json:"mavenArtifacts,omitempty"`
// NpmPackages: Npm packages uploaded to Artifact Registry at the end of the
// build.
NpmPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage `json:"npmPackages,omitempty"`
// NumArtifacts: Number of non-container artifacts uploaded to Cloud Storage.
// Only populated when artifacts are uploaded to Cloud Storage.
NumArtifacts int64 `json:"numArtifacts,omitempty,string"`
// PythonPackages: Python artifacts uploaded to Artifact Registry at the end of
// the build.
PythonPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage `json:"pythonPackages,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArtifactManifest") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArtifactManifest") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1Results) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Results
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1Secret: Pairs a set of secret
// environment variables containing encrypted values with the Cloud KMS key to
// use to decrypt the value. Note: Use `kmsKeyName` with `available_secrets`
// instead of using `kmsKeyName` with `secret`. For instructions see:
// https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials.
type ContaineranalysisGoogleDevtoolsCloudbuildV1Secret struct {
// KmsKeyName: Cloud KMS key name to use to decrypt these envs.
KmsKeyName string `json:"kmsKeyName,omitempty"`
// SecretEnv: Map of environment variable name to its encrypted value. Secret
// environment variables must be unique across all of a build's secrets, and
// must be used by at least one build step. Values can be at most 64 KB in
// size. There can be at most 100 secret values across all of a build's
// secrets.
SecretEnv map[string]string `json:"secretEnv,omitempty"`
// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "KmsKeyName") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1Secret) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Secret
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret: Pairs a
// secret environment variable with a SecretVersion in Secret Manager.
type ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret struct {
// Env: Environment variable name to associate with the secret. Secret
// environment variables must be unique across all of a build's secrets, and
// must be used by at least one build step.
Env string `json:"env,omitempty"`
// VersionName: Resource name of the SecretVersion. In format:
// projects/*/secrets/*/versions/*
VersionName string `json:"versionName,omitempty"`
// ForceSendFields is a list of field names (e.g. "Env") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Env") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets: Secrets and secret
// environment variables.
type ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets struct {
// Inline: Secrets encrypted with KMS key and the associated secret environment
// variable.
Inline []*ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret `json:"inline,omitempty"`
// SecretManager: Secrets in Secret Manager and associated secret environment
// variable.
SecretManager []*ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret `json:"secretManager,omitempty"`
// ForceSendFields is a list of field names (e.g. "Inline") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Inline") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1Source: Location of the source in
// a supported storage service.
type ContaineranalysisGoogleDevtoolsCloudbuildV1Source struct {
// ConnectedRepository: Optional. If provided, get the source from this 2nd-gen
// Google Cloud Build repository resource.
ConnectedRepository *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository `json:"connectedRepository,omitempty"`
// DeveloperConnectConfig: If provided, get the source from this Developer
// Connect config.
DeveloperConnectConfig *ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig `json:"developerConnectConfig,omitempty"`
// GitSource: If provided, get the source from this Git repository.
GitSource *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource `json:"gitSource,omitempty"`
// RepoSource: If provided, get the source from this location in a Cloud Source
// Repository.
RepoSource *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource `json:"repoSource,omitempty"`
// StorageSource: If provided, get the source from this location in Cloud
// Storage.
StorageSource *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource `json:"storageSource,omitempty"`
// StorageSourceManifest: If provided, get the source from this manifest in
// Cloud Storage. This feature is in Preview; see description here
// (https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).
StorageSourceManifest *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest `json:"storageSourceManifest,omitempty"`
// ForceSendFields is a list of field names (e.g. "ConnectedRepository") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ConnectedRepository") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1Source) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Source
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance: Provenance of
// the source. Ways to find the original source, or verify that some source was
// used for this build.
type ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance struct {
// FileHashes: Output only. Hash(es) of the build source, which can be used to
// verify that the original source integrity was maintained in the build. Note
// that `FileHashes` will only be populated if `BuildOptions` has requested a
// `SourceProvenanceHash`. 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]ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `json:"fileHashes,omitempty"`
// ResolvedConnectedRepository: Output only. A copy of the build's
// `source.connected_repository`, if exists, with any revisions resolved.
ResolvedConnectedRepository *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository `json:"resolvedConnectedRepository,omitempty"`
// ResolvedGitSource: Output only. A copy of the build's `source.git_source`,
// if exists, with any revisions resolved.
ResolvedGitSource *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource `json:"resolvedGitSource,omitempty"`
// ResolvedRepoSource: A copy of the build's `source.repo_source`, if exists,
// with any revisions resolved.
ResolvedRepoSource *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource `json:"resolvedRepoSource,omitempty"`
// ResolvedStorageSource: A copy of the build's `source.storage_source`, if
// exists, with any generations resolved.
ResolvedStorageSource *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource `json:"resolvedStorageSource,omitempty"`
// ResolvedStorageSourceManifest: A copy of the build's
// `source.storage_source_manifest`, if exists, with any revisions resolved.
// This feature is in Preview.
ResolvedStorageSourceManifest *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest `json:"resolvedStorageSourceManifest,omitempty"`
// ForceSendFields is a list of field names (e.g. "FileHashes") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FileHashes") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource: Location of the
// source in an archive file in Cloud Storage.
type ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource struct {
// Bucket: Cloud Storage bucket containing the source (see Bucket Name
// Requirements
// (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
Bucket string `json:"bucket,omitempty"`
// Generation: Optional. Cloud Storage generation for the object. If the
// generation is omitted, the latest generation will be used.
Generation int64 `json:"generation,omitempty,string"`
// Object: Required. Cloud Storage object containing the source. This object
// must be a zipped (`.zip`) or gzipped archive file (`.tar.gz`) containing
// source to build.
Object string `json:"object,omitempty"`
// SourceFetcher: Optional. Option to specify the tool to fetch the source file
// for the build.
//
// Possible values:
// "SOURCE_FETCHER_UNSPECIFIED" - Unspecified defaults to GSUTIL.
// "GSUTIL" - Use the "gsutil" tool to download the source file.
// "GCS_FETCHER" - Use the Cloud Storage Fetcher tool to download the source
// file.
SourceFetcher string `json:"sourceFetcher,omitempty"`
// ForceSendFields is a list of field names (e.g. "Bucket") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Bucket") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest: Location
// of the source manifest in Cloud Storage. This feature is in Preview; see
// description here
// (https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).
type ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest struct {
// Bucket: Required. Cloud Storage bucket containing the source manifest (see
// Bucket Name Requirements
// (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
Bucket string `json:"bucket,omitempty"`
// Generation: Cloud Storage generation for the object. If the generation is
// omitted, the latest generation will be used.
Generation int64 `json:"generation,omitempty,string"`
// Object: Required. Cloud Storage object containing the source manifest. This
// object must be a JSON file.
Object string `json:"object,omitempty"`
// ForceSendFields is a list of field names (e.g. "Bucket") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Bucket") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan: Start and end times for
// a build execution phase.
type ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan struct {
// EndTime: End of time span.
EndTime string `json:"endTime,omitempty"`
// StartTime: Start of time span.
StartTime string `json:"startTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EndTime") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedGoModule: A Go module
// artifact uploaded to Artifact Registry using the GoModule directive.
type ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedGoModule struct {
// ArtifactRegistryPackage: Output only. Path to the artifact in Artifact
// Registry.
ArtifactRegistryPackage string `json:"artifactRegistryPackage,omitempty"`
// FileHashes: Hash types and values of the Go Module Artifact.
FileHashes *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `json:"fileHashes,omitempty"`
// PushTiming: Output only. Stores timing information for pushing the specified
// artifact.
PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"pushTiming,omitempty"`
// Uri: URI of the uploaded artifact.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArtifactRegistryPackage") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArtifactRegistryPackage") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedGoModule) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedGoModule
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact: A Maven
// artifact uploaded using the MavenArtifact directive.
type ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact struct {
// ArtifactRegistryPackage: Output only. Path to the artifact in Artifact
// Registry.
ArtifactRegistryPackage string `json:"artifactRegistryPackage,omitempty"`
// FileHashes: Hash types and values of the Maven Artifact.
FileHashes *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `json:"fileHashes,omitempty"`
// PushTiming: Output only. Stores timing information for pushing the specified
// artifact.
PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"pushTiming,omitempty"`
// Uri: URI of the uploaded artifact.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArtifactRegistryPackage") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArtifactRegistryPackage") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage: An npm
// package uploaded to Artifact Registry using the NpmPackage directive.
type ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage struct {
// ArtifactRegistryPackage: Output only. Path to the artifact in Artifact
// Registry.
ArtifactRegistryPackage string `json:"artifactRegistryPackage,omitempty"`
// FileHashes: Hash types and values of the npm package.
FileHashes *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `json:"fileHashes,omitempty"`
// PushTiming: Output only. Stores timing information for pushing the specified
// artifact.
PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"pushTiming,omitempty"`
// Uri: URI of the uploaded npm package.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArtifactRegistryPackage") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArtifactRegistryPackage") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage: Artifact
// uploaded using the PythonPackage directive.
type ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage struct {
// ArtifactRegistryPackage: Output only. Path to the artifact in Artifact
// Registry.
ArtifactRegistryPackage string `json:"artifactRegistryPackage,omitempty"`
// FileHashes: Hash types and values of the Python Artifact.
FileHashes *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `json:"fileHashes,omitempty"`
// PushTiming: Output only. Stores timing information for pushing the specified
// artifact.
PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `json:"pushTiming,omitempty"`
// Uri: URI of the uploaded artifact.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArtifactRegistryPackage") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArtifactRegistryPackage") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContaineranalysisGoogleDevtoolsCloudbuildV1Volume: Volume describes a Docker
// container volume which is mounted into build steps in order to persist files
// across build step execution.
type ContaineranalysisGoogleDevtoolsCloudbuildV1Volume struct {
// Name: Name of the volume to mount. Volume names must be unique per build
// step and must be valid names for Docker volumes. Each named volume must be
// used by at least two build steps.
Name string `json:"name,omitempty"`
// Path: Path at which to mount the volume. Paths must be absolute and cannot
// conflict with other volume paths on the same build step or with certain
// reserved volume paths.
Path string `json:"path,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContaineranalysisGoogleDevtoolsCloudbuildV1Volume) MarshalJSON() ([]byte, error) {
type NoMethod ContaineranalysisGoogleDevtoolsCloudbuildV1Volume
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Deployable) MarshalJSON() ([]byte, error) {
type NoMethod Deployable
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Deployment) MarshalJSON() ([]byte, error) {
type NoMethod Deployment
return gensupport.MarshalJSON(NoMethod(s), 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 .
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Derived) MarshalJSON() ([]byte, error) {
type NoMethod Derived
return gensupport.MarshalJSON(NoMethod(s), 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"`
// Source: The source from which the information in this Detail was obtained.
Source string `json:"source,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"`
// Vendor: The name of the vendor of the product.
Vendor string `json:"vendor,omitempty"`
// ForceSendFields is a list of field names (e.g. "CpeUri") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Detail) MarshalJSON() ([]byte, error) {
type NoMethod Detail
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Details) MarshalJSON() ([]byte, error) {
type NoMethod Details
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Digest: Digest information.
type Digest struct {
// Algo: `SHA1`, `SHA512` etc.
Algo string `json:"algo,omitempty"`
// DigestBytes: Value of the digest.
DigestBytes string `json:"digestBytes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Algo") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Algo") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Digest) MarshalJSON() ([]byte, error) {
type NoMethod Digest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Discovered: Provides information about the analysis status of a discovered
// resource.
type Discovered struct {
AnalysisCompleted *AnalysisCompleted `json:"analysisCompleted,omitempty"`
// AnalysisError: Indicates any errors encountered during analysis of a
// resource. There could be 0 or more of these errors.
AnalysisError []*Status `json:"analysisError,omitempty"`
// 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.
// "COMPLETE" - Analysis has completed.
// "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"`
// Files: Files that make up the resource described by the occurrence.
Files []*File `json:"files,omitempty"`
// LastAnalysisTime: The last time continuous analysis was done for this
// resource. Deprecated, do not use.
LastAnalysisTime string `json:"lastAnalysisTime,omitempty"`
// LastScanTime: The last time this resource was scanned.
LastScanTime string `json:"lastScanTime,omitempty"`
// LastVulnerabilityUpdateTime: The last time vulnerability scan results
// changed.
LastVulnerabilityUpdateTime string `json:"lastVulnerabilityUpdateTime,omitempty"`
// SbomStatus: The status of an SBOM generation.
SbomStatus *SBOMStatus `json:"sbomStatus,omitempty"`
// ForceSendFields is a list of field names (e.g. "AnalysisCompleted") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AnalysisCompleted") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Discovered) MarshalJSON() ([]byte, error) {
type NoMethod Discovered
return gensupport.MarshalJSON(NoMethod(s), 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" - Default value. This value is unused.
// "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.
// "SBOM" - This represents a software bill of materials.
// "SPDX_PACKAGE" - This represents an SPDX Package.
// "SPDX_FILE" - This represents an SPDX File.
// "SPDX_RELATIONSHIP" - This represents an SPDX Relationship.
// "VULNERABILITY_ASSESSMENT" - This represents a Vulnerability Assessment.
// "SBOM_REFERENCE" - This represents an SBOM Reference.
// "SECRET" - This represents a secret.
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Discovery) MarshalJSON() ([]byte, error) {
type NoMethod Discovery
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Distribution) MarshalJSON() ([]byte, error) {
type NoMethod Distribution
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// DocumentNote: DocumentNote represents an SPDX Document Creation Information
// section: https://spdx.github.io/spdx-spec/2-document-creation-information/
type DocumentNote struct {
// DataLicence: Compliance with the SPDX specification includes populating the
// SPDX fields therein with data related to such fields ("SPDX-Metadata")
DataLicence string `json:"dataLicence,omitempty"`
// SpdxVersion: Provide a reference number that can be used to understand how
// to parse and interpret the rest of the file
SpdxVersion string `json:"spdxVersion,omitempty"`
// ForceSendFields is a list of field names (e.g. "DataLicence") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DataLicence") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DocumentNote) MarshalJSON() ([]byte, error) {
type NoMethod DocumentNote
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// DocumentOccurrence: DocumentOccurrence represents an SPDX Document Creation
// Information section:
// https://spdx.github.io/spdx-spec/2-document-creation-information/
type DocumentOccurrence struct {
// CreateTime: Identify when the SPDX file was originally created. The date is
// to be specified according to combined date and time in UTC format as
// specified in ISO 8601 standard
CreateTime string `json:"createTime,omitempty"`
// CreatorComment: A field for creators of the SPDX file to provide general
// comments about the creation of the SPDX file or any other relevant comment
// not included in the other fields
CreatorComment string `json:"creatorComment,omitempty"`
// Creators: Identify who (or what, in the case of a tool) created the SPDX
// file. If the SPDX file was created by an individual, indicate the person's
// name
Creators []string `json:"creators,omitempty"`
// DocumentComment: A field for creators of the SPDX file content to provide
// comments to the consumers of the SPDX document
DocumentComment string `json:"documentComment,omitempty"`
// ExternalDocumentRefs: Identify any external SPDX documents referenced within
// this SPDX document
ExternalDocumentRefs []string `json:"externalDocumentRefs,omitempty"`
// Id: Identify the current SPDX document which may be referenced in
// relationships by other files, packages internally and documents externally
Id string `json:"id,omitempty"`
// LicenseListVersion: A field for creators of the SPDX file to provide the
// version of the SPDX License List used when the SPDX file was created
LicenseListVersion string `json:"licenseListVersion,omitempty"`
// Namespace: Provide an SPDX document specific namespace as a unique absolute
// Uniform Resource Identifier (URI) as specified in RFC-3986, with the
// exception of the ‘#’ delimiter
Namespace string `json:"namespace,omitempty"`
// Title: Identify name of this document as designated by creator
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DocumentOccurrence) MarshalJSON() ([]byte, error) {
type NoMethod DocumentOccurrence
return gensupport.MarshalJSON(NoMethod(s), 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); }
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
}
// Envelope: MUST match
// https://github.com/secure-systems-lab/dsse/blob/master/envelope.proto. An
// authenticated message of arbitrary type.
type Envelope struct {
Payload string `json:"payload,omitempty"`
PayloadType string `json:"payloadType,omitempty"`
Signatures []*EnvelopeSignature `json:"signatures,omitempty"`
// ForceSendFields is a list of field names (e.g. "Payload") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Payload") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Envelope) MarshalJSON() ([]byte, error) {
type NoMethod Envelope
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
type EnvelopeSignature 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s EnvelopeSignature) MarshalJSON() ([]byte, error) {
type NoMethod EnvelopeSignature
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Environment) MarshalJSON() ([]byte, error) {
type NoMethod Environment
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ExportSBOMRequest: The request to a call of ExportSBOM
type ExportSBOMRequest struct {
}
// ExportSBOMResponse: The response from a call to ExportSBOM
type ExportSBOMResponse struct {
// DiscoveryOccurrenceId: The name of the discovery occurrence in the form
// "projects/{project_id}/occurrences/{OCCURRENCE_ID} It can be used to track
// the progression of the SBOM export.
DiscoveryOccurrenceId string `json:"discoveryOccurrenceId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DiscoveryOccurrenceId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DiscoveryOccurrenceId") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ExportSBOMResponse) MarshalJSON() ([]byte, error) {
type NoMethod ExportSBOMResponse
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Expr) MarshalJSON() ([]byte, error) {
type NoMethod Expr
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ExternalRef: An External Reference allows a Package to reference an external
// source of additional information, metadata, enumerations, asset identifiers,
// or downloadable content believed to be relevant to the Package
type ExternalRef struct {
// Category: An External Reference allows a Package to reference an external
// source of additional information, metadata, enumerations, asset identifiers,
// or downloadable content believed to be relevant to the Package
//
// Possible values:
// "CATEGORY_UNSPECIFIED" - Unspecified
// "SECURITY" - Security (e.g. cpe22Type, cpe23Type)
// "PACKAGE_MANAGER" - Package Manager (e.g. maven-central, npm, nuget,
// bower, purl)
// "PERSISTENT_ID" - Persistent-Id (e.g. swh)
// "OTHER" - Other
Category string `json:"category,omitempty"`
// Comment: Human-readable information about the purpose and target of the
// reference
Comment string `json:"comment,omitempty"`
// Locator: The unique string with no spaces necessary to access the
// package-specific information, metadata, or content within the target
// location
Locator string `json:"locator,omitempty"`
// Type: Type of category (e.g. 'npm' for the PACKAGE_MANAGER category)
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Category") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Category") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ExternalRef) MarshalJSON() ([]byte, error) {
type NoMethod ExternalRef
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
type File struct {
Digest map[string]string `json:"digest,omitempty"`
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "Digest") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Digest") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s File) MarshalJSON() ([]byte, error) {
type NoMethod File
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FileHashes) MarshalJSON() ([]byte, error) {
type NoMethod FileHashes
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// FileLocation: Indicates the location at which a package was found.
type FileLocation struct {
// FilePath: For jars that are contained inside .war files, this filepath can
// indicate the path to war file combined with the path to jar file.
FilePath string `json:"filePath,omitempty"`
// ForceSendFields is a list of field names (e.g. "FilePath") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FilePath") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FileLocation) MarshalJSON() ([]byte, error) {
type NoMethod FileLocation
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// FileNote: FileNote represents an SPDX File Information section:
// https://spdx.github.io/spdx-spec/4-file-information/
type FileNote struct {
// Checksum: Provide a unique identifier to match analysis information on each
// specific file in a package
Checksum []string `json:"checksum,omitempty"`
// FileType: This field provides information about the type of file identified
//
// Possible values:
// "FILE_TYPE_UNSPECIFIED" - Unspecified
// "SOURCE" - The file is human readable source code (.c, .html, etc.)
// "BINARY" - The file is a compiled object, target image or binary
// executable (.o, .a, etc.)
// "ARCHIVE" - The file represents an archive (.tar, .jar, etc.)
// "APPLICATION" - The file is associated with a specific application type
// (MIME type of application/*)
// "AUDIO" - The file is associated with an audio file (MIME type of audio/*
// , e.g. .mp3)
// "IMAGE" - The file is associated with an picture image file (MIME type of
// image/*, e.g., .jpg, .gif)
// "TEXT" - The file is human readable text file (MIME type of text/*)
// "VIDEO" - The file is associated with a video file type (MIME type of
// video/*)
// "DOCUMENTATION" - The file serves as documentation
// "SPDX" - The file is an SPDX document
// "OTHER" - The file doesn't fit into the above categories (generated
// artifacts, data files, etc.)
FileType string `json:"fileType,omitempty"`
// Title: Identify the full path and filename that corresponds to the file
// information in this section
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "Checksum") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FileNote) MarshalJSON() ([]byte, error) {
type NoMethod FileNote
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// FileOccurrence: FileOccurrence represents an SPDX File Information section:
// https://spdx.github.io/spdx-spec/4-file-information/
type FileOccurrence struct {
// Attributions: This field provides a place for the SPDX data creator to
// record, at the file level, acknowledgements that may be needed to be
// communicated in some contexts
Attributions []string `json:"attributions,omitempty"`
// Comment: This field provides a place for the SPDX file creator to record any
// general comments about the file
Comment string `json:"comment,omitempty"`
// Contributors: This field provides a place for the SPDX file creator to
// record file contributors
Contributors []string `json:"contributors,omitempty"`
// Copyright: Identify the copyright holder of the file, as well as any dates
// present
Copyright string `json:"copyright,omitempty"`
// FilesLicenseInfo: This field contains the license information actually found
// in the file, if any
FilesLicenseInfo []string `json:"filesLicenseInfo,omitempty"`
// Id: Uniquely identify any element in an SPDX document which may be
// referenced by other elements
Id string `json:"id,omitempty"`
// LicenseConcluded: This field contains the license the SPDX file creator has
// concluded as governing the file or alternative values if the governing
// license cannot be determined
LicenseConcluded *License `json:"licenseConcluded,omitempty"`
// Notice: This field provides a place for the SPDX file creator to record
// license notices or other such related notices found in the file
Notice string `json:"notice,omitempty"`
// ForceSendFields is a list of field names (e.g. "Attributions") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Attributions") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FileOccurrence) MarshalJSON() ([]byte, error) {
type NoMethod FileOccurrence
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Fingerprint) MarshalJSON() ([]byte, error) {
type NoMethod Fingerprint
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FixableTotalByDigest) MarshalJSON() ([]byte, error) {
type NoMethod FixableTotalByDigest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GeneratePackagesSummaryRequest: GeneratePackagesSummaryRequest is the
// request body for the GeneratePackagesSummary API method. It just takes a
// single name argument, referring to the resource.
type GeneratePackagesSummaryRequest struct {
}
// 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/8a5d2f82a6e3263290c8e0276c3e0f64e77723e7/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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GenericSignedAttestation) MarshalJSON() ([]byte, error) {
type NoMethod GenericSignedAttestation
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GerritSourceContext) MarshalJSON() ([]byte, error) {
type NoMethod GerritSourceContext
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GetIamPolicyRequest) MarshalJSON() ([]byte, error) {
type NoMethod GetIamPolicyRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
type GetPolicyOptions struct {
// RequestedPolicyVersion: Optional. The maximum policy version that will be
// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
// an invalid value will be rejected. Requests for policies with any
// conditional role bindings must specify version 3. Policies with no
// conditional role bindings may specify any valid value or leave the field
// unset. The policy in the response might use the policy version that you
// specified, or it might use a lower policy version. For example, if you
// specify version 3, but the policy has no conditional role bindings, the
// response uses version 1. To learn which resources support conditions in
// their IAM policies, see the IAM documentation
// (https://cloud.google.com/iam/help/conditions/resource-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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GetPolicyOptions) MarshalJSON() ([]byte, error) {
type NoMethod GetPolicyOptions
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GitSourceContext) MarshalJSON() ([]byte, error) {
type NoMethod GitSourceContext
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GrafeasV1beta1BuildDetails: Details of a build occurrence.
type GrafeasV1beta1BuildDetails struct {
InTotoSlsaProvenanceV1 *InTotoSlsaProvenanceV1 `json:"inTotoSlsaProvenanceV1,omitempty"`
// 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. "InTotoSlsaProvenanceV1") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "InTotoSlsaProvenanceV1") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GrafeasV1beta1BuildDetails) MarshalJSON() ([]byte, error) {
type NoMethod GrafeasV1beta1BuildDetails
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GrafeasV1beta1DeploymentDetails) MarshalJSON() ([]byte, error) {
type NoMethod GrafeasV1beta1DeploymentDetails
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GrafeasV1beta1DiscoveryDetails) MarshalJSON() ([]byte, error) {
type NoMethod GrafeasV1beta1DiscoveryDetails
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GrafeasV1beta1ImageDetails) MarshalJSON() ([]byte, error) {
type NoMethod GrafeasV1beta1ImageDetails
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GrafeasV1beta1IntotoArtifact) MarshalJSON() ([]byte, error) {
type NoMethod GrafeasV1beta1IntotoArtifact
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GrafeasV1beta1IntotoDetails) MarshalJSON() ([]byte, error) {
type NoMethod GrafeasV1beta1IntotoDetails
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GrafeasV1beta1IntotoSignature) MarshalJSON() ([]byte, error) {
type NoMethod GrafeasV1beta1IntotoSignature
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GrafeasV1beta1PackageDetails) MarshalJSON() ([]byte, error) {
type NoMethod GrafeasV1beta1PackageDetails
return gensupport.MarshalJSON(NoMethod(s), 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"`
// CvssV2: The cvss v2 score for the vulnerability.
CvssV2 *CVSS `json:"cvssV2,omitempty"`
// CvssV3: The cvss v3 score for the vulnerability.
CvssV3 *CVSS `json:"cvssV3,omitempty"`
// CvssVersion: Output only. CVSS version used to populate cvss_score and
// severity.
//
// Possible values:
// "CVSS_VERSION_UNSPECIFIED"
// "CVSS_VERSION_2"
// "CVSS_VERSION_3"
CvssVersion string `json:"cvssVersion,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. When there are multiple
// PackageIssues for this vulnerability, they can have different effective
// severities because some might be provided by the distro while others are
// provided by the language ecosystem for a language pack. For this reason, it
// is advised to use the effective severity on the PackageIssue level. In the
// case where multiple PackageIssues have differing effective severities, this
// field should be the highest severity for any of the PackageIssues.
//
// 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"`
// ExtraDetails: Occurrence-specific extra details about the vulnerability.
ExtraDetails string `json:"extraDetails,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"`
VexAssessment *VexAssessment `json:"vexAssessment,omitempty"`
// ForceSendFields is a list of field names (e.g. "CvssScore") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GrafeasV1beta1VulnerabilityDetails) MarshalJSON() ([]byte, error) {
type NoMethod GrafeasV1beta1VulnerabilityDetails
return gensupport.MarshalJSON(NoMethod(s), 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.
// "GO_MODULE_H1" - Dirhash of a Go module's source code which is then
// hex-encoded. See b/244466565 and
// https://github.com/in-toto/attestation/pull/108.
// "SHA512" - A SHA-512 hash.
// "DIRSUM_SHA256" - A Dirsum 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Hash) MarshalJSON() ([]byte, error) {
type NoMethod Hash
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Hint) MarshalJSON() ([]byte, error) {
type NoMethod Hint
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s InToto) MarshalJSON() ([]byte, error) {
type NoMethod InToto
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
type InTotoSlsaProvenanceV1 struct {
// Type: InToto spec defined at
// https://github.com/in-toto/attestation/tree/main/spec#statement
Type string `json:"_type,omitempty"`
Predicate *SlsaProvenanceV1 `json:"predicate,omitempty"`
PredicateType string `json:"predicateType,omitempty"`
Subject []*Subject `json:"subject,omitempty"`
// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s InTotoSlsaProvenanceV1) MarshalJSON() ([]byte, error) {
type NoMethod InTotoSlsaProvenanceV1
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Installation: This represents how a particular software package may be
// installed on a system.
type Installation struct {
// Architecture: Output only. The CPU architecture for which packages in this
// distribution channel were built. Architecture will be blank for language
// packages.
//
// Possible values:
// "ARCHITECTURE_UNSPECIFIED" - Unknown architecture.
// "X86" - X86 architecture.
// "X64" - X64 architecture.
Architecture string `json:"architecture,omitempty"`
// CpeUri: Output only. The cpe_uri in CPE format
// (https://cpe.mitre.org/specification/) denoting the package manager version
// distributing a package. The cpe_uri will be blank for language packages.
CpeUri string `json:"cpeUri,omitempty"`
// License: Licenses that have been declared by the authors of the package.
License *License `json:"license,omitempty"`
// Location: All of the places within the filesystem versions of this package
// have been found.
Location []*Location `json:"location,omitempty"`
// Name: Required. Output only. The name of the installed package.
Name string `json:"name,omitempty"`
// PackageType: Output only. The type of package; whether native or non native
// (e.g., ruby gems, node.js packages, etc.).
PackageType string `json:"packageType,omitempty"`
// Version: Output only. The version of the package.
Version *Version `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "Architecture") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Installation) MarshalJSON() ([]byte, error) {
type NoMethod Installation
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Justification: Justification provides the justification when the state of
// the assessment if NOT_AFFECTED.
type Justification struct {
// Details: Additional details on why this justification was chosen.
Details string `json:"details,omitempty"`
// JustificationType: The justification type for this vulnerability.
//
// Possible values:
// "JUSTIFICATION_TYPE_UNSPECIFIED" - JUSTIFICATION_TYPE_UNSPECIFIED.
// "COMPONENT_NOT_PRESENT" - The vulnerable component is not present in the
// product.
// "VULNERABLE_CODE_NOT_PRESENT" - The vulnerable code is not present.
// Typically this case occurs when source code is configured or built in a way
// that excludes the vulnerable code.
// "VULNERABLE_CODE_NOT_IN_EXECUTE_PATH" - The vulnerable code can not be
// executed. Typically this case occurs when the product includes the
// vulnerable code but does not call or use the vulnerable code.
// "VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY" - The vulnerable code
// cannot be controlled by an attacker to exploit the vulnerability.
// "INLINE_MITIGATIONS_ALREADY_EXIST" - The product includes built-in
// protections or features that prevent exploitation of the vulnerability.
// These built-in protections cannot be subverted by the attacker and cannot be
// configured or disabled by the user. These mitigations completely prevent
// exploitation based on known attack vectors.
JustificationType string `json:"justificationType,omitempty"`
// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Details") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Justification) MarshalJSON() ([]byte, error) {
type NoMethod Justification
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s KnowledgeBase) MarshalJSON() ([]byte, error) {
type NoMethod KnowledgeBase
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Layer) MarshalJSON() ([]byte, error) {
type NoMethod Layer
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// License: License information.
type License struct {
// Comments: Comments
Comments string `json:"comments,omitempty"`
// Expression: Often a single license can be used to represent the licensing
// terms. Sometimes it is necessary to include a choice of one or more licenses
// or some combination of license identifiers. Examples: "LGPL-2.1-only OR
// MIT", "LGPL-2.1-only AND MIT", "GPL-2.0-or-later WITH Bison-exception-2.2".
Expression string `json:"expression,omitempty"`
// ForceSendFields is a list of field names (e.g. "Comments") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Comments") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s License) MarshalJSON() ([]byte, error) {
type NoMethod License
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// LicensesSummary: Per license count
type LicensesSummary struct {
// Count: The number of fixable vulnerabilities associated with this resource.
Count int64 `json:"count,omitempty,string"`
// License: The license of the package. Note that the format of this value is
// not guaranteed. It may be nil, an empty string, a boolean value (A | B), a
// differently formed boolean value (A OR B), etc...
License string `json:"license,omitempty"`
// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Count") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s LicensesSummary) MarshalJSON() ([]byte, error) {
type NoMethod LicensesSummary
return gensupport.MarshalJSON(NoMethod(s), 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": "", "filesystem": "",
// "workdir": "", "": "..." } }
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...", : } } ]
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Link) MarshalJSON() ([]byte, error) {
type NoMethod Link
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListNoteOccurrencesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListNoteOccurrencesResponse
return gensupport.MarshalJSON(NoMethod(s), 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"`
// Unreachable: Unordered list. Unreachable regions. Populated for requests
// from the global region when `return_partial_success` is set. Format:
// `projects/[PROJECT_ID]/locations/[LOCATION]`
Unreachable []string `json:"unreachable,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListNotesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListNotesResponse
return gensupport.MarshalJSON(NoMethod(s), 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"`
// Unreachable: Unordered list. Unreachable regions. Populated for requests
// from the global region when `return_partial_success` is set. Format:
// `projects/[PROJECT_ID]/locations/[LOCATION]`
Unreachable []string `json:"unreachable,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListOccurrencesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListOccurrencesResponse
return gensupport.MarshalJSON(NoMethod(s), 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: Deprecated. 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: Deprecated. 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Location) MarshalJSON() ([]byte, error) {
type NoMethod Location
return gensupport.MarshalJSON(NoMethod(s), 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" - Default value. This value is unused.
// "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.
// "SBOM" - This represents a software bill of materials.
// "SPDX_PACKAGE" - This represents an SPDX Package.
// "SPDX_FILE" - This represents an SPDX File.
// "SPDX_RELATIONSHIP" - This represents an SPDX Relationship.
// "VULNERABILITY_ASSESSMENT" - This represents a Vulnerability Assessment.
// "SBOM_REFERENCE" - This represents an SBOM Reference.
// "SECRET" - This represents a secret.
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"`
// Sbom: A note describing a software bill of materials.
Sbom *DocumentNote `json:"sbom,omitempty"`
// SbomReference: A note describing an SBOM reference.
SbomReference *SBOMReferenceNote `json:"sbomReference,omitempty"`
// Secret: A note describing a secret.
Secret *SecretNote `json:"secret,omitempty"`
// ShortDescription: A one sentence description of this note.
ShortDescription string `json:"shortDescription,omitempty"`
// SpdxFile: A note describing an SPDX File.
SpdxFile *FileNote `json:"spdxFile,omitempty"`
// SpdxPackage: A note describing an SPDX Package.
SpdxPackage *PackageInfoNote `json:"spdxPackage,omitempty"`
// SpdxRelationship: A note describing an SPDX File.
SpdxRelationship *RelationshipNote `json:"spdxRelationship,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"`
// VulnerabilityAssessment: A note describing a vulnerability assessment.
VulnerabilityAssessment *VulnerabilityAssessmentNote `json:"vulnerabilityAssessment,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Note) MarshalJSON() ([]byte, error) {
type NoMethod Note
return gensupport.MarshalJSON(NoMethod(s), 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"`
// Envelope: https://github.com/secure-systems-lab/dsse
Envelope *Envelope `json:"envelope,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" - Default value. This value is unused.
// "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.
// "SBOM" - This represents a software bill of materials.
// "SPDX_PACKAGE" - This represents an SPDX Package.
// "SPDX_FILE" - This represents an SPDX File.
// "SPDX_RELATIONSHIP" - This represents an SPDX Relationship.
// "VULNERABILITY_ASSESSMENT" - This represents a Vulnerability Assessment.
// "SBOM_REFERENCE" - This represents an SBOM Reference.
// "SECRET" - This represents a secret.
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"`
// Sbom: Describes a specific software bill of materials document.
Sbom *DocumentOccurrence `json:"sbom,omitempty"`
// SbomReference: Describes a specific SBOM reference occurrences.
SbomReference *SBOMReferenceOccurrence `json:"sbomReference,omitempty"`
// Secret: Describes a secret.
Secret *SecretOccurrence `json:"secret,omitempty"`
// SpdxFile: Describes a specific SPDX File.
SpdxFile *FileOccurrence `json:"spdxFile,omitempty"`
// SpdxPackage: Describes a specific SPDX Package.
SpdxPackage *PackageInfoOccurrence `json:"spdxPackage,omitempty"`
// SpdxRelationship: Describes a specific SPDX Relationship.
SpdxRelationship *RelationshipOccurrence `json:"spdxRelationship,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Occurrence) MarshalJSON() ([]byte, error) {
type NoMethod Occurrence
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Package: Package represents a particular package version.
type Package struct {
// Architecture: The CPU architecture for which packages in this distribution
// channel were built. Architecture will be blank for language packages.
//
// Possible values:
// "ARCHITECTURE_UNSPECIFIED" - Unknown architecture.
// "X86" - X86 architecture.
// "X64" - X64 architecture.
Architecture string `json:"architecture,omitempty"`
// CpeUri: The cpe_uri in CPE format (https://cpe.mitre.org/specification/)
// denoting the package manager version distributing a package. The cpe_uri
// will be blank for language packages.
CpeUri string `json:"cpeUri,omitempty"`
// Description: The description of this package.
Description string `json:"description,omitempty"`
// Digest: Hash value, typically a file digest, that allows unique
// identification a specific package.
Digest []*Digest `json:"digest,omitempty"`
// Distribution: The various channels by which a package is distributed.
Distribution []*Distribution `json:"distribution,omitempty"`
// License: Licenses that have been declared by the authors of the package.
License *License `json:"license,omitempty"`
// Maintainer: A freeform text denoting the maintainer of this package.
Maintainer string `json:"maintainer,omitempty"`
// Name: Required. Immutable. The name of the package.
Name string `json:"name,omitempty"`
// PackageType: The type of package; whether native or non native (e.g., ruby
// gems, node.js packages, etc.).
PackageType string `json:"packageType,omitempty"`
// Url: The homepage for this package.
Url string `json:"url,omitempty"`
// Version: The version of the package.
Version *Version `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "Architecture") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Package) MarshalJSON() ([]byte, error) {
type NoMethod Package
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// PackageInfoNote: PackageInfoNote represents an SPDX Package Information
// section: https://spdx.github.io/spdx-spec/3-package-information/
type PackageInfoNote struct {
// Analyzed: Indicates whether the file content of this package has been
// available for or subjected to analysis when creating the SPDX document
Analyzed bool `json:"analyzed,omitempty"`
// Attribution: A place for the SPDX data creator to record, at the package
// level, acknowledgements that may be needed to be communicated in some
// contexts
Attribution string `json:"attribution,omitempty"`
// Checksum: Provide an independently reproducible mechanism that permits
// unique identification of a specific package that correlates to the data in
// this SPDX file
Checksum string `json:"checksum,omitempty"`
// Copyright: Identify the copyright holders of the package, as well as any
// dates present
Copyright string `json:"copyright,omitempty"`
// DetailedDescription: A more detailed description of the package
DetailedDescription string `json:"detailedDescription,omitempty"`
// DownloadLocation: This section identifies the download Universal Resource
// Locator (URL), or a specific location within a version control system (VCS)
// for the package at the time that the SPDX file was created
DownloadLocation string `json:"downloadLocation,omitempty"`
// ExternalRefs: ExternalRef
ExternalRefs []*ExternalRef `json:"externalRefs,omitempty"`
// FilesLicenseInfo: Contain the license the SPDX file creator has concluded as
// governing the This field is to contain a list of all licenses found in the
// package. The relationship between licenses (i.e., conjunctive, disjunctive)
// is not specified in this field – it is simply a listing of all licenses
// found
FilesLicenseInfo []string `json:"filesLicenseInfo,omitempty"`
// HomePage: Provide a place for the SPDX file creator to record a web site
// that serves as the package's home page
HomePage string `json:"homePage,omitempty"`
// LicenseDeclared: List the licenses that have been declared by the authors of
// the package
LicenseDeclared *License `json:"licenseDeclared,omitempty"`
// Originator: If the package identified in the SPDX file originated from a
// different person or organization than identified as Package Supplier, this
// field identifies from where or whom the package originally came
Originator string `json:"originator,omitempty"`
// PackageType: The type of package: OS, MAVEN, GO, GO_STDLIB, etc.
PackageType string `json:"packageType,omitempty"`
// SummaryDescription: A short description of the package
SummaryDescription string `json:"summaryDescription,omitempty"`
// Supplier: Identify the actual distribution source for the package/directory
// identified in the SPDX file
Supplier string `json:"supplier,omitempty"`
// Title: Identify the full name of the package as given by the Package
// Originator
Title string `json:"title,omitempty"`
// VerificationCode: This field provides an independently reproducible
// mechanism identifying specific contents of a package based on the actual
// files (except the SPDX file itself, if it is included in the package) that
// make up each package and that correlates to the data in this SPDX file
VerificationCode string `json:"verificationCode,omitempty"`
// Version: Identify the version of the package
Version string `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "Analyzed") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Analyzed") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PackageInfoNote) MarshalJSON() ([]byte, error) {
type NoMethod PackageInfoNote
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// PackageInfoOccurrence: PackageInfoOccurrence represents an SPDX Package
// Information section: https://spdx.github.io/spdx-spec/3-package-information/
type PackageInfoOccurrence struct {
// Comment: A place for the SPDX file creator to record any general comments
// about the package being described
Comment string `json:"comment,omitempty"`
// Filename: Provide the actual file name of the package, or path of the
// directory being treated as a package
Filename string `json:"filename,omitempty"`
// HomePage: Output only. Provide a place for the SPDX file creator to record a
// web site that serves as the package's home page
HomePage string `json:"homePage,omitempty"`
// Id: Uniquely identify any element in an SPDX document which may be
// referenced by other elements
Id string `json:"id,omitempty"`
// LicenseConcluded: package or alternative values, if the governing license
// cannot be determined
LicenseConcluded *License `json:"licenseConcluded,omitempty"`
// PackageType: Output only. The type of package: OS, MAVEN, GO, GO_STDLIB,
// etc.
PackageType string `json:"packageType,omitempty"`
// SourceInfo: Provide a place for the SPDX file creator to record any relevant
// background information or additional comments about the origin of the
// package
SourceInfo string `json:"sourceInfo,omitempty"`
// SummaryDescription: Output only. A short description of the package
SummaryDescription string `json:"summaryDescription,omitempty"`
// Title: Output only. Identify the full name of the package as given by the
// Package Originator
Title string `json:"title,omitempty"`
// Version: Output only. Identify the version of the package
Version string `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "Comment") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Comment") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PackageInfoOccurrence) MarshalJSON() ([]byte, error) {
type NoMethod PackageInfoOccurrence
return gensupport.MarshalJSON(NoMethod(s), 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"`
// EffectiveSeverity: Output only. The distro or language system assigned
// severity for this vulnerability when that is available and note provider
// assigned severity when it is not available.
//
// 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"`
// FixedLocation: The location of the available fix for vulnerability.
FixedLocation *VulnerabilityLocation `json:"fixedLocation,omitempty"`
// PackageType: The type of package (e.g. OS, MAVEN, GO).
PackageType string `json:"packageType,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PackageIssue) MarshalJSON() ([]byte, error) {
type NoMethod PackageIssue
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// PackagesSummaryResponse: A summary of the packages found within the given
// resource.
type PackagesSummaryResponse struct {
// LicensesSummary: A listing by license name of each of the licenses and their
// counts.
LicensesSummary []*LicensesSummary `json:"licensesSummary,omitempty"`
// ResourceUrl: The unique URL of the image or the container for which this
// summary applies.
ResourceUrl string `json:"resourceUrl,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "LicensesSummary") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "LicensesSummary") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PackagesSummaryResponse) MarshalJSON() ([]byte, error) {
type NoMethod PackagesSummaryResponse
return gensupport.MarshalJSON(NoMethod(s), 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/8a5d2f82a6e3263290c8e0276c3e0f64e77723e7/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 hexadecimal 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:......
// 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PgpSignedAttestation) MarshalJSON() ([]byte, error) {
type NoMethod PgpSignedAttestation
return gensupport.MarshalJSON(NoMethod(s), 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`, or principals, to a
// single `role`. Principals 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-policies). **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`, or principals, with 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
// principal. The `bindings` in a `Policy` can refer to up to 1,500 principals;
// up to 250 of these principals can be Google groups. Each occurrence of a
// principal counts towards these limits. For example, if the `bindings` grant
// 50 different roles to `user:alice@example.com`, and not to any other
// principal, then you can add another 1,450 principals to the `bindings` in
// the `Policy`.
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-policies).
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Policy) MarshalJSON() ([]byte, error) {
type NoMethod Policy
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Product: Product contains information about a product and how to uniquely
// identify it.
type Product struct {
// GenericUri: Contains a URI which is vendor-specific. Example: The artifact
// repository URL of an image.
GenericUri string `json:"genericUri,omitempty"`
// Id: Token that identifies a product so that it can be referred to from other
// parts in the document. There is no predefined format as long as it uniquely
// identifies a group in the context of the current document.
Id string `json:"id,omitempty"`
// Name: Name of the product.
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "GenericUri") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GenericUri") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Product) MarshalJSON() ([]byte, error) {
type NoMethod Product
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ProjectRepoId) MarshalJSON() ([]byte, error) {
type NoMethod ProjectRepoId
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
type ProvenanceBuilder struct {
BuilderDependencies []*ResourceDescriptor `json:"builderDependencies,omitempty"`
Id string `json:"id,omitempty"`
Version map[string]string `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "BuilderDependencies") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BuilderDependencies") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ProvenanceBuilder) MarshalJSON() ([]byte, error) {
type NoMethod ProvenanceBuilder
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Publisher: Publisher contains information about the publisher of this Note.
type Publisher struct {
// IssuingAuthority: Provides information about the authority of the issuing
// party to release the document, in particular, the party's constituency and
// responsibilities or other obligations.
IssuingAuthority string `json:"issuingAuthority,omitempty"`
// Name: Name of the publisher. Examples: 'Google', 'Google Cloud Platform'.
Name string `json:"name,omitempty"`
// PublisherNamespace: The context or namespace. Contains a URL which is under
// control of the issuing party and can be used as a globally unique identifier
// for that issuing party. Example: https://csaf.io
PublisherNamespace string `json:"publisherNamespace,omitempty"`
// ForceSendFields is a list of field names (e.g. "IssuingAuthority") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IssuingAuthority") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Publisher) MarshalJSON() ([]byte, error) {
type NoMethod Publisher
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RelatedUrl) MarshalJSON() ([]byte, error) {
type NoMethod RelatedUrl
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// RelationshipNote: RelationshipNote represents an SPDX Relationship section:
// https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/
type RelationshipNote struct {
// Type: The type of relationship between the source and target SPDX elements
//
// Possible values:
// "RELATIONSHIP_TYPE_UNSPECIFIED" - Unspecified
// "DESCRIBES" - Is to be used when SPDXRef-DOCUMENT describes SPDXRef-A
// "DESCRIBED_BY" - Is to be used when SPDXRef-A is described by
// SPDXREF-Document
// "CONTAINS" - Is to be used when SPDXRef-A contains SPDXRef-B
// "CONTAINED_BY" - Is to be used when SPDXRef-A is contained by SPDXRef-B
// "DEPENDS_ON" - Is to be used when SPDXRef-A depends on SPDXRef-B
// "DEPENDENCY_OF" - Is to be used when SPDXRef-A is dependency of SPDXRef-B
// "DEPENDENCY_MANIFEST_OF" - Is to be used when SPDXRef-A is a manifest file
// that lists a set of dependencies for SPDXRef-B
// "BUILD_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a build dependency
// of SPDXRef-B
// "DEV_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a development
// dependency of SPDXRef-B
// "OPTIONAL_DEPENDENCY_OF" - Is to be used when SPDXRef-A is an optional
// dependency of SPDXRef-B
// "PROVIDED_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a to be
// provided dependency of SPDXRef-B
// "TEST_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a test dependency
// of SPDXRef-B
// "RUNTIME_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a dependency
// required for the execution of SPDXRef-B
// "EXAMPLE_OF" - Is to be used when SPDXRef-A is an example of SPDXRef-B
// "GENERATES" - Is to be used when SPDXRef-A generates SPDXRef-B
// "GENERATED_FROM" - Is to be used when SPDXRef-A was generated from
// SPDXRef-B
// "ANCESTOR_OF" - Is to be used when SPDXRef-A is an ancestor (same lineage
// but pre-dates) SPDXRef-B
// "DESCENDANT_OF" - Is to be used when SPDXRef-A is a descendant of (same
// lineage but postdates) SPDXRef-B
// "VARIANT_OF" - Is to be used when SPDXRef-A is a variant of (same lineage
// but not clear which came first) SPDXRef-B
// "DISTRIBUTION_ARTIFACT" - Is to be used when distributing SPDXRef-A
// requires that SPDXRef-B also be distributed
// "PATCH_FOR" - Is to be used when SPDXRef-A is a patch file for (to be
// applied to) SPDXRef-B
// "PATCH_APPLIED" - Is to be used when SPDXRef-A is a patch file that has
// been applied to SPDXRef-B
// "COPY_OF" - Is to be used when SPDXRef-A is an exact copy of SPDXRef-B
// "FILE_ADDED" - Is to be used when SPDXRef-A is a file that was added to
// SPDXRef-B
// "FILE_DELETED" - Is to be used when SPDXRef-A is a file that was deleted
// from SPDXRef-B
// "FILE_MODIFIED" - Is to be used when SPDXRef-A is a file that was modified
// from SPDXRef-B
// "EXPANDED_FROM_ARCHIVE" - Is to be used when SPDXRef-A is expanded from
// the archive SPDXRef-B
// "DYNAMIC_LINK" - Is to be used when SPDXRef-A dynamically links to
// SPDXRef-B
// "STATIC_LINK" - Is to be used when SPDXRef-A statically links to SPDXRef-B
// "DATA_FILE_OF" - Is to be used when SPDXRef-A is a data file used in
// SPDXRef-B
// "TEST_CASE_OF" - Is to be used when SPDXRef-A is a test case used in
// testing SPDXRef-B
// "BUILD_TOOL_OF" - Is to be used when SPDXRef-A is used to build SPDXRef-B
// "DEV_TOOL_OF" - Is to be used when SPDXRef-A is used as a development tool
// for SPDXRef-B
// "TEST_OF" - Is to be used when SPDXRef-A is used for testing SPDXRef-B
// "TEST_TOOL_OF" - Is to be used when SPDXRef-A is used as a test tool for
// SPDXRef-B
// "DOCUMENTATION_OF" - Is to be used when SPDXRef-A provides documentation
// of SPDXRef-B
// "OPTIONAL_COMPONENT_OF" - Is to be used when SPDXRef-A is an optional
// component of SPDXRef-B
// "METAFILE_OF" - Is to be used when SPDXRef-A is a metafile of SPDXRef-B
// "PACKAGE_OF" - Is to be used when SPDXRef-A is used as a package as part
// of SPDXRef-B
// "AMENDS" - Is to be used when (current) SPDXRef-DOCUMENT amends the SPDX
// information in SPDXRef-B
// "PREREQUISITE_FOR" - Is to be used when SPDXRef-A is a prerequisite for
// SPDXRef-B
// "HAS_PREREQUISITE" - Is to be used when SPDXRef-A has as a prerequisite
// SPDXRef-B
// "OTHER" - Is to be used for a relationship which has not been defined in
// the formal SPDX specification. A description of the relationship should be
// included in the Relationship comments field
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RelationshipNote) MarshalJSON() ([]byte, error) {
type NoMethod RelationshipNote
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// RelationshipOccurrence: RelationshipOccurrence represents an SPDX
// Relationship section:
// https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/
type RelationshipOccurrence struct {
// Comment: A place for the SPDX file creator to record any general comments
// about the relationship
Comment string `json:"comment,omitempty"`
// Source: Also referred to as SPDXRef-A The source SPDX element (file,
// package, etc)
Source string `json:"source,omitempty"`
// Target: Also referred to as SPDXRef-B The target SPDC element (file,
// package, etc) In cases where there are "known unknowns", the use of the
// keyword NOASSERTION can be used The keywords NONE can be used to indicate
// that an SPDX element (package/file/snippet) has no other elements connected
// by some relationship to it
Target string `json:"target,omitempty"`
// Type: Output only. The type of relationship between the source and target
// SPDX elements
//
// Possible values:
// "RELATIONSHIP_TYPE_UNSPECIFIED" - Unspecified
// "DESCRIBES" - Is to be used when SPDXRef-DOCUMENT describes SPDXRef-A
// "DESCRIBED_BY" - Is to be used when SPDXRef-A is described by
// SPDXREF-Document
// "CONTAINS" - Is to be used when SPDXRef-A contains SPDXRef-B
// "CONTAINED_BY" - Is to be used when SPDXRef-A is contained by SPDXRef-B
// "DEPENDS_ON" - Is to be used when SPDXRef-A depends on SPDXRef-B
// "DEPENDENCY_OF" - Is to be used when SPDXRef-A is dependency of SPDXRef-B
// "DEPENDENCY_MANIFEST_OF" - Is to be used when SPDXRef-A is a manifest file
// that lists a set of dependencies for SPDXRef-B
// "BUILD_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a build dependency
// of SPDXRef-B
// "DEV_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a development
// dependency of SPDXRef-B
// "OPTIONAL_DEPENDENCY_OF" - Is to be used when SPDXRef-A is an optional
// dependency of SPDXRef-B
// "PROVIDED_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a to be
// provided dependency of SPDXRef-B
// "TEST_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a test dependency
// of SPDXRef-B
// "RUNTIME_DEPENDENCY_OF" - Is to be used when SPDXRef-A is a dependency
// required for the execution of SPDXRef-B
// "EXAMPLE_OF" - Is to be used when SPDXRef-A is an example of SPDXRef-B
// "GENERATES" - Is to be used when SPDXRef-A generates SPDXRef-B
// "GENERATED_FROM" - Is to be used when SPDXRef-A was generated from
// SPDXRef-B
// "ANCESTOR_OF" - Is to be used when SPDXRef-A is an ancestor (same lineage
// but pre-dates) SPDXRef-B
// "DESCENDANT_OF" - Is to be used when SPDXRef-A is a descendant of (same
// lineage but postdates) SPDXRef-B
// "VARIANT_OF" - Is to be used when SPDXRef-A is a variant of (same lineage
// but not clear which came first) SPDXRef-B
// "DISTRIBUTION_ARTIFACT" - Is to be used when distributing SPDXRef-A
// requires that SPDXRef-B also be distributed
// "PATCH_FOR" - Is to be used when SPDXRef-A is a patch file for (to be
// applied to) SPDXRef-B
// "PATCH_APPLIED" - Is to be used when SPDXRef-A is a patch file that has
// been applied to SPDXRef-B
// "COPY_OF" - Is to be used when SPDXRef-A is an exact copy of SPDXRef-B
// "FILE_ADDED" - Is to be used when SPDXRef-A is a file that was added to
// SPDXRef-B
// "FILE_DELETED" - Is to be used when SPDXRef-A is a file that was deleted
// from SPDXRef-B
// "FILE_MODIFIED" - Is to be used when SPDXRef-A is a file that was modified
// from SPDXRef-B
// "EXPANDED_FROM_ARCHIVE" - Is to be used when SPDXRef-A is expanded from
// the archive SPDXRef-B
// "DYNAMIC_LINK" - Is to be used when SPDXRef-A dynamically links to
// SPDXRef-B
// "STATIC_LINK" - Is to be used when SPDXRef-A statically links to SPDXRef-B
// "DATA_FILE_OF" - Is to be used when SPDXRef-A is a data file used in
// SPDXRef-B
// "TEST_CASE_OF" - Is to be used when SPDXRef-A is a test case used in
// testing SPDXRef-B
// "BUILD_TOOL_OF" - Is to be used when SPDXRef-A is used to build SPDXRef-B
// "DEV_TOOL_OF" - Is to be used when SPDXRef-A is used as a development tool
// for SPDXRef-B
// "TEST_OF" - Is to be used when SPDXRef-A is used for testing SPDXRef-B
// "TEST_TOOL_OF" - Is to be used when SPDXRef-A is used as a test tool for
// SPDXRef-B
// "DOCUMENTATION_OF" - Is to be used when SPDXRef-A provides documentation
// of SPDXRef-B
// "OPTIONAL_COMPONENT_OF" - Is to be used when SPDXRef-A is an optional
// component of SPDXRef-B
// "METAFILE_OF" - Is to be used when SPDXRef-A is a metafile of SPDXRef-B
// "PACKAGE_OF" - Is to be used when SPDXRef-A is used as a package as part
// of SPDXRef-B
// "AMENDS" - Is to be used when (current) SPDXRef-DOCUMENT amends the SPDX
// information in SPDXRef-B
// "PREREQUISITE_FOR" - Is to be used when SPDXRef-A is a prerequisite for
// SPDXRef-B
// "HAS_PREREQUISITE" - Is to be used when SPDXRef-A has as a prerequisite
// SPDXRef-B
// "OTHER" - Is to be used for a relationship which has not been defined in
// the formal SPDX specification. A description of the relationship should be
// included in the Relationship comments field
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Comment") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Comment") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RelationshipOccurrence) MarshalJSON() ([]byte, error) {
type NoMethod RelationshipOccurrence
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Remediation: Specifies details on how to handle (and presumably, fix) a
// vulnerability.
type Remediation struct {
// Details: Contains a comprehensive human-readable discussion of the
// remediation.
Details string `json:"details,omitempty"`
// RemediationType: The type of remediation that can be applied.
//
// Possible values:
// "REMEDIATION_TYPE_UNSPECIFIED" - No remediation type specified.
// "MITIGATION" - A MITIGATION is available.
// "NO_FIX_PLANNED" - No fix is planned.
// "NONE_AVAILABLE" - Not available.
// "VENDOR_FIX" - A vendor fix is available.
// "WORKAROUND" - A workaround is available.
RemediationType string `json:"remediationType,omitempty"`
// RemediationUri: Contains the URL where to obtain the remediation.
RemediationUri *RelatedUrl `json:"remediationUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Details") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Remediation) MarshalJSON() ([]byte, error) {
type NoMethod Remediation
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RepoId) MarshalJSON() ([]byte, error) {
type NoMethod RepoId
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Resource) MarshalJSON() ([]byte, error) {
type NoMethod Resource
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
type ResourceDescriptor struct {
Annotations googleapi.RawMessage `json:"annotations,omitempty"`
Content string `json:"content,omitempty"`
Digest map[string]string `json:"digest,omitempty"`
DownloadLocation string `json:"downloadLocation,omitempty"`
MediaType string `json:"mediaType,omitempty"`
Name string `json:"name,omitempty"`
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "Annotations") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Annotations") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ResourceDescriptor) MarshalJSON() ([]byte, error) {
type NoMethod ResourceDescriptor
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
type RunDetails struct {
Builder *ProvenanceBuilder `json:"builder,omitempty"`
Byproducts []*ResourceDescriptor `json:"byproducts,omitempty"`
Metadata *BuildMetadata `json:"metadata,omitempty"`
// ForceSendFields is a list of field names (e.g. "Builder") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Builder") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RunDetails) MarshalJSON() ([]byte, error) {
type NoMethod RunDetails
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// SBOMReferenceNote: The note representing an SBOM reference.
type SBOMReferenceNote struct {
// Format: The format that SBOM takes. E.g. may be spdx, cyclonedx, etc...
Format string `json:"format,omitempty"`
// Version: The version of the format that the SBOM takes. E.g. if the format
// is spdx, the version may be 2.3.
Version string `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "Format") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Format") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SBOMReferenceNote) MarshalJSON() ([]byte, error) {
type NoMethod SBOMReferenceNote
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// SBOMReferenceOccurrence: The occurrence representing an SBOM reference as
// applied to a specific resource. The occurrence follows the DSSE
// specification. See
// https://github.com/secure-systems-lab/dsse/blob/master/envelope.md for more
// details.
type SBOMReferenceOccurrence struct {
// Payload: The actual payload that contains the SBOM reference data.
Payload *SbomReferenceIntotoPayload `json:"payload,omitempty"`
// PayloadType: The kind of payload that SbomReferenceIntotoPayload takes.
// Since it's in the intoto format, this value is expected to be
// 'application/vnd.in-toto+json'.
PayloadType string `json:"payloadType,omitempty"`
// Signatures: The signatures over the payload.
Signatures []*EnvelopeSignature `json:"signatures,omitempty"`
// ForceSendFields is a list of field names (e.g. "Payload") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Payload") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SBOMReferenceOccurrence) MarshalJSON() ([]byte, error) {
type NoMethod SBOMReferenceOccurrence
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// SBOMStatus: The status of an SBOM generation.
type SBOMStatus struct {
// Error: If there was an error generating an SBOM, this will indicate what
// that error was.
Error string `json:"error,omitempty"`
// SbomState: The progress of the SBOM generation.
//
// Possible values:
// "SBOM_STATE_UNSPECIFIED" - Default unknown state.
// "PENDING" - SBOM scanning is pending.
// "COMPLETE" - SBOM scanning has completed.
SbomState string `json:"sbomState,omitempty"`
// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Error") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SBOMStatus) MarshalJSON() ([]byte, error) {
type NoMethod SBOMStatus
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// SbomReferenceIntotoPayload: The actual payload that contains the SBOM
// Reference data. The payload follows the intoto statement specification. See
// https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md for
// more details.
type SbomReferenceIntotoPayload struct {
// Type: Identifier for the schema of the Statement.
Type string `json:"_type,omitempty"`
// Predicate: Additional parameters of the Predicate. Includes the actual data
// about the SBOM.
Predicate *SbomReferenceIntotoPredicate `json:"predicate,omitempty"`
// PredicateType: URI identifying the type of the Predicate.
PredicateType string `json:"predicateType,omitempty"`
// Subject: Set of software artifacts that the attestation applies to. Each
// element represents a single software artifact.
Subject []*Subject `json:"subject,omitempty"`
// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SbomReferenceIntotoPayload) MarshalJSON() ([]byte, error) {
type NoMethod SbomReferenceIntotoPayload
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// SbomReferenceIntotoPredicate: A predicate which describes the SBOM being
// referenced.
type SbomReferenceIntotoPredicate struct {
// Digest: A map of algorithm to digest of the contents of the SBOM.
Digest map[string]string `json:"digest,omitempty"`
// Location: The location of the SBOM.
Location string `json:"location,omitempty"`
// MimeType: The mime type of the SBOM.
MimeType string `json:"mimeType,omitempty"`
// ReferrerId: The person or system referring this predicate to the consumer.
ReferrerId string `json:"referrerId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Digest") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Digest") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SbomReferenceIntotoPredicate) MarshalJSON() ([]byte, error) {
type NoMethod SbomReferenceIntotoPredicate
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// SecretLocation: The location of the secret.
type SecretLocation struct {
// FileLocation: The secret is found from a file.
FileLocation *FileLocation `json:"fileLocation,omitempty"`
// ForceSendFields is a list of field names (e.g. "FileLocation") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FileLocation") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SecretLocation) MarshalJSON() ([]byte, error) {
type NoMethod SecretLocation
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// SecretNote: The note representing a secret.
type SecretNote struct {
}
// SecretOccurrence: The occurrence provides details of a secret.
type SecretOccurrence struct {
// Kind: Required. Type of secret.
//
// Possible values:
// "SECRET_KIND_UNSPECIFIED" - Unspecified
// "SECRET_KIND_UNKNOWN" - The secret kind is unknown.
// "SECRET_KIND_GCP_SERVICE_ACCOUNT_KEY" - A Google Cloud service account key
// per:
// https://cloud.google.com/iam/docs/creating-managing-service-account-keys
// "SECRET_KIND_GCP_API_KEY" - A Google Cloud API key per:
// https://cloud.google.com/docs/authentication/api-keys
// "SECRET_KIND_GCP_OAUTH2_CLIENT_CREDENTIALS" - A Google Cloud OAuth2 client
// credentials per: https://developers.google.com/identity/protocols/oauth2
// "SECRET_KIND_GCP_OAUTH2_ACCESS_TOKEN" - A Google Cloud OAuth2 access token
// per: https://cloud.google.com/docs/authentication/token-types#access
// "SECRET_KIND_ANTHROPIC_ADMIN_API_KEY" - An Anthropic Admin API key.
// "SECRET_KIND_ANTHROPIC_API_KEY" - An Anthropic API key.
// "SECRET_KIND_AZURE_ACCESS_TOKEN" - An Azure access token.
// "SECRET_KIND_AZURE_IDENTITY_TOKEN" - An Azure Identity Platform ID token.
// "SECRET_KIND_DOCKER_HUB_PERSONAL_ACCESS_TOKEN" - A Docker Hub personal
// access token.
// "SECRET_KIND_GITHUB_APP_REFRESH_TOKEN" - A GitHub App refresh token.
// "SECRET_KIND_GITHUB_APP_SERVER_TO_SERVER_TOKEN" - A GitHub App
// server-to-server token.
// "SECRET_KIND_GITHUB_APP_USER_TO_SERVER_TOKEN" - A GitHub App
// user-to-server token.
// "SECRET_KIND_GITHUB_CLASSIC_PERSONAL_ACCESS_TOKEN" - A GitHub personal
// access token (classic).
// "SECRET_KIND_GITHUB_FINE_GRAINED_PERSONAL_ACCESS_TOKEN" - A GitHub
// fine-grained personal access token.
// "SECRET_KIND_GITHUB_OAUTH_TOKEN" - A GitHub OAuth token.
// "SECRET_KIND_HUGGINGFACE_API_KEY" - A Hugging Face API key.
// "SECRET_KIND_OPENAI_API_KEY" - An OpenAI API key.
// "SECRET_KIND_PERPLEXITY_API_KEY" - A Perplexity API key.
// "SECRET_KIND_STRIPE_SECRET_KEY" - A Stripe secret key.
// "SECRET_KIND_STRIPE_RESTRICTED_KEY" - A Stripe restricted key.
// "SECRET_KIND_STRIPE_WEBHOOK_SECRET" - A Stripe webhook secret.
Kind string `json:"kind,omitempty"`
// Locations: Optional. Locations where the secret is detected.
Locations []*SecretLocation `json:"locations,omitempty"`
// Statuses: Optional. Status of the secret.
Statuses []*SecretStatus `json:"statuses,omitempty"`
// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SecretOccurrence) MarshalJSON() ([]byte, error) {
type NoMethod SecretOccurrence
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// SecretStatus: The status of the secret with a timestamp.
type SecretStatus struct {
// Message: Optional. Optional message about the status code.
Message string `json:"message,omitempty"`
// Status: Optional. The status of the secret.
//
// Possible values:
// "STATUS_UNSPECIFIED" - Unspecified
// "UNKNOWN" - The status of the secret is unknown.
// "VALID" - The secret is valid.
// "INVALID" - The secret is invalid.
Status string `json:"status,omitempty"`
// UpdateTime: Optional. The time the secret status was last updated.
UpdateTime string `json:"updateTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "Message") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Message") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SecretStatus) MarshalJSON() ([]byte, error) {
type NoMethod SecretStatus
return gensupport.MarshalJSON(NoMethod(s), 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 Google Cloud 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetIamPolicyRequest
return gensupport.MarshalJSON(NoMethod(s), 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` SHOULD 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;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a127158
// 9a5"
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Signature) MarshalJSON() ([]byte, error) {
type NoMethod Signature
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SigningKey) MarshalJSON() ([]byte, error) {
type NoMethod SigningKey
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// SlsaProvenanceV1: Keep in sync with schema at
// https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto
// Builder renamed to ProvenanceBuilder because of Java conflicts.
type SlsaProvenanceV1 struct {
BuildDefinition *BuildDefinition `json:"buildDefinition,omitempty"`
RunDetails *RunDetails `json:"runDetails,omitempty"`
// ForceSendFields is a list of field names (e.g. "BuildDefinition") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BuildDefinition") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SlsaProvenanceV1) MarshalJSON() ([]byte, error) {
type NoMethod SlsaProvenanceV1
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Source) MarshalJSON() ([]byte, error) {
type NoMethod Source
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SourceContext) MarshalJSON() ([]byte, error) {
type NoMethod SourceContext
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Status) MarshalJSON() ([]byte, error) {
type NoMethod Status
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// StepResult: StepResult is the declaration of a result for a build step.
type StepResult struct {
AttestationContentName string `json:"attestationContentName,omitempty"`
AttestationType string `json:"attestationType,omitempty"`
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "AttestationContentName") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AttestationContentName") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s StepResult) MarshalJSON() ([]byte, error) {
type NoMethod StepResult
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Subject: Set of software artifacts that the attestation applies to. Each
// element represents a single software artifact.
type Subject struct {
// Digest: "": "" Algorithms can be e.g. sha256, sha512 See
// https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet
Digest map[string]string `json:"digest,omitempty"`
// Name: Identifier to distinguish this artifact from others within the
// subject.
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "Digest") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Digest") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Subject) MarshalJSON() ([]byte, error) {
type NoMethod Subject
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
type NoMethod TestIamPermissionsRequest
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
type NoMethod TestIamPermissionsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// TimeSpan: Start and end times for a build execution phase. Next ID: 3
type TimeSpan struct {
// EndTime: End of time span.
EndTime string `json:"endTime,omitempty"`
// StartTime: Start of time span.
StartTime string `json:"startTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EndTime") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s TimeSpan) MarshalJSON() ([]byte, error) {
type NoMethod TimeSpan
return gensupport.MarshalJSON(NoMethod(s), 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"`
// Inclusive: Whether this version is specifying part of an inclusive range.
// Grafeas does not have the capability to specify version ranges; instead we
// have fields that specify start version and end versions. At times this is
// insufficient - we also need to specify whether the version is included in
// the range or is excluded from the range. This boolean is expected to be set
// to true when the version is included in a range.
Inclusive bool `json:"inclusive,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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Version) MarshalJSON() ([]byte, error) {
type NoMethod Version
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// VexAssessment: VexAssessment provides all publisher provided Vex information
// that is related to this vulnerability.
type VexAssessment struct {
// Cve: Holds the MITRE standard Common Vulnerabilities and Exposures (CVE)
// tracking number for the vulnerability. Deprecated: Use vulnerability_id
// instead to denote CVEs.
Cve string `json:"cve,omitempty"`
// Impacts: Contains information about the impact of this vulnerability, this
// will change with time.
Impacts []string `json:"impacts,omitempty"`
// Justification: Justification provides the justification when the state of
// the assessment if NOT_AFFECTED.
Justification *Justification `json:"justification,omitempty"`
// NoteName: The VulnerabilityAssessment note from which this VexAssessment was
// generated. This will be of the form:
// `projects/[PROJECT_ID]/notes/[NOTE_ID]`.
NoteName string `json:"noteName,omitempty"`
// RelatedUris: Holds a list of references associated with this vulnerability
// item and assessment.
RelatedUris []*RelatedUrl `json:"relatedUris,omitempty"`
// Remediations: Specifies details on how to handle (and presumably, fix) a
// vulnerability.
Remediations []*Remediation `json:"remediations,omitempty"`
// State: Provides the state of this Vulnerability assessment.
//
// Possible values:
// "STATE_UNSPECIFIED" - No state is specified.
// "AFFECTED" - This product is known to be affected by this vulnerability.
// "NOT_AFFECTED" - This product is known to be not affected by this
// vulnerability.
// "FIXED" - This product contains a fix for this vulnerability.
// "UNDER_INVESTIGATION" - It is not known yet whether these versions are or
// are not affected by the vulnerability. However, it is still under
// investigation.
State string `json:"state,omitempty"`
// VulnerabilityId: The vulnerability identifier for this Assessment. Will hold
// one of common identifiers e.g. CVE, GHSA etc.
VulnerabilityId string `json:"vulnerabilityId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Cve") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Cve") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s VexAssessment) MarshalJSON() ([]byte, error) {
type NoMethod VexAssessment
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Volume: Volume describes a Docker container volume which is mounted into
// build steps in order to persist files across build step execution. Next ID:
// 3
type Volume struct {
// Name: Name of the volume to mount. Volume names must be unique per build
// step and must be valid names for Docker volumes. Each named volume must be
// used by at least two build steps.
Name string `json:"name,omitempty"`
// Path: Path at which to mount the volume. Paths must be absolute and cannot
// conflict with other volume paths on the same build step or with certain
// reserved volume paths.
Path string `json:"path,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Volume) MarshalJSON() ([]byte, error) {
type NoMethod Volume
return gensupport.MarshalJSON(NoMethod(s), 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"`
// CvssV2: The full description of the CVSS for version 2.
CvssV2 *CVSS `json:"cvssV2,omitempty"`
// CvssV3: The full description of the CVSS for version 3.
CvssV3 *CVSSv3 `json:"cvssV3,omitempty"`
// CvssVersion: CVSS version used to populate cvss_score and severity.
//
// Possible values:
// "CVSS_VERSION_UNSPECIFIED"
// "CVSS_VERSION_2"
// "CVSS_VERSION_3"
CvssVersion string `json:"cvssVersion,omitempty"`
// Cwe: A list of CWE for this vulnerability. For details, see:
// https://cwe.mitre.org/index.html
Cwe []string `json:"cwe,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Vulnerability) MarshalJSON() ([]byte, error) {
type NoMethod Vulnerability
return gensupport.MarshalJSON(NoMethod(s), 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
}
// VulnerabilityAssessmentNote: A single VulnerabilityAssessmentNote represents
// one particular product's vulnerability assessment for one CVE.
type VulnerabilityAssessmentNote struct {
// Assessment: Represents a vulnerability assessment for the product.
Assessment *Assessment `json:"assessment,omitempty"`
// LanguageCode: Identifies the language used by this document, corresponding
// to IETF BCP 47 / RFC 5646.
LanguageCode string `json:"languageCode,omitempty"`
// LongDescription: A detailed description of this Vex.
LongDescription string `json:"longDescription,omitempty"`
// Product: The product affected by this vex.
Product *Product `json:"product,omitempty"`
// Publisher: Publisher details of this Note.
Publisher *Publisher `json:"publisher,omitempty"`
// ShortDescription: A one sentence description of this Vex.
ShortDescription string `json:"shortDescription,omitempty"`
// Title: The title of the note. E.g. `Vex-Debian-11.4`
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "Assessment") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Assessment") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s VulnerabilityAssessmentNote) MarshalJSON() ([]byte, error) {
type NoMethod VulnerabilityAssessmentNote
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s VulnerabilityLocation) MarshalJSON() ([]byte, error) {
type NoMethod VulnerabilityLocation
return gensupport.MarshalJSON(NoMethod(s), 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"`
// Unreachable: Unordered list. Unreachable regions. Populated for requests
// from the global region when `return_partial_success` is set. Format:
// `projects/[PROJECT_ID]/locations/[LOCATION]`
Unreachable []string `json:"unreachable,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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s VulnerabilityOccurrencesSummary) MarshalJSON() ([]byte, error) {
type NoMethod VulnerabilityOccurrencesSummary
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s WindowsDetail) MarshalJSON() ([]byte, error) {
type NoMethod WindowsDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
type ProjectsLocationsNotesBatchCreateCall struct {
s *Service
parent string
batchcreatenotesrequest *BatchCreateNotesRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// BatchCreate: Creates new notes in batch.
//
// - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
// under which the notes are to be created.
func (r *ProjectsLocationsNotesService) BatchCreate(parent string, batchcreatenotesrequest *BatchCreateNotesRequest) *ProjectsLocationsNotesBatchCreateCall {
c := &ProjectsLocationsNotesBatchCreateCall{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
// details.
func (c *ProjectsLocationsNotesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesBatchCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotesBatchCreateCall) Context(ctx context.Context) *ProjectsLocationsNotesBatchCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotesBatchCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsNotesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.batchcreatenotesrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.batchCreate", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.notes.batchCreate" call.
// 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 *ProjectsLocationsNotesBatchCreateCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &BatchCreateNotesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.batchCreate", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsNotesCreateCall struct {
s *Service
parent string
note *Note
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates a new note.
//
// - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
// under which the note is to be created.
func (r *ProjectsLocationsNotesService) Create(parent string, note *Note) *ProjectsLocationsNotesCreateCall {
c := &ProjectsLocationsNotesCreateCall{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 *ProjectsLocationsNotesCreateCall) NoteId(noteId string) *ProjectsLocationsNotesCreateCall {
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
// details.
func (c *ProjectsLocationsNotesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotesCreateCall) Context(ctx context.Context) *ProjectsLocationsNotesCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotesCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsNotesCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.note)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.create", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.notes.create" call.
// 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 *ProjectsLocationsNotesCreateCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Note{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.create", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsNotesDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes the specified note.
//
// - name: The name of the note in the form of
// `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
func (r *ProjectsLocationsNotesService) Delete(name string) *ProjectsLocationsNotesDeleteCall {
c := &ProjectsLocationsNotesDeleteCall{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
// details.
func (c *ProjectsLocationsNotesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotesDeleteCall) Context(ctx context.Context) *ProjectsLocationsNotesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsNotesDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.notes.delete" call.
// 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 *ProjectsLocationsNotesDeleteCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsNotesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets the specified note.
//
// - name: The name of the note in the form of
// `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
func (r *ProjectsLocationsNotesService) Get(name string) *ProjectsLocationsNotesGetCall {
c := &ProjectsLocationsNotesGetCall{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
// details.
func (c *ProjectsLocationsNotesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
func (c *ProjectsLocationsNotesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotesGetCall) Context(ctx context.Context) *ProjectsLocationsNotesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsNotesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.notes.get" call.
// 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 *ProjectsLocationsNotesGetCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Note{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsNotesGetIamPolicyCall 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.
//
// - resource: REQUIRED: The resource for which the policy is being requested.
// See Resource names (https://cloud.google.com/apis/design/resource_names)
// for the appropriate value for this field.
func (r *ProjectsLocationsNotesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsNotesGetIamPolicyCall {
c := &ProjectsLocationsNotesGetIamPolicyCall{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
// details.
func (c *ProjectsLocationsNotesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsNotesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsNotesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.getiampolicyrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.getIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.notes.getIamPolicy" call.
// 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 *ProjectsLocationsNotesGetIamPolicyCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsNotesListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists notes for the specified project.
//
// - parent: The name of the project to list notes for in the form of
// `projects/[PROJECT_ID]`.
func (r *ProjectsLocationsNotesService) List(parent string) *ProjectsLocationsNotesListCall {
c := &ProjectsLocationsNotesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": The filter expression.
func (c *ProjectsLocationsNotesListCall) Filter(filter string) *ProjectsLocationsNotesListCall {
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 *ProjectsLocationsNotesListCall) PageSize(pageSize int64) *ProjectsLocationsNotesListCall {
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 *ProjectsLocationsNotesListCall) PageToken(pageToken string) *ProjectsLocationsNotesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": If
// set, the request will return all reachable Notes and report all unreachable
// regions in the `unreachable` field in the response. Only applicable for
// requests in the global region.
func (c *ProjectsLocationsNotesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsNotesListCall {
c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
func (c *ProjectsLocationsNotesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotesListCall) Context(ctx context.Context) *ProjectsLocationsNotesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsNotesListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.notes.list" call.
// 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 *ProjectsLocationsNotesListCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ListNotesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// 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 *ProjectsLocationsNotesListCall) Pages(ctx context.Context, f func(*ListNotesResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
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)
}
}
type ProjectsLocationsNotesPatchCall struct {
s *Service
name string
note *Note
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Patch: Updates the specified note.
//
// - name: The name of the note in the form of
// `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
func (r *ProjectsLocationsNotesService) Patch(name string, note *Note) *ProjectsLocationsNotesPatchCall {
c := &ProjectsLocationsNotesPatchCall{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 *ProjectsLocationsNotesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsNotesPatchCall {
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
// details.
func (c *ProjectsLocationsNotesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotesPatchCall) Context(ctx context.Context) *ProjectsLocationsNotesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsNotesPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.note)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.notes.patch" call.
// 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 *ProjectsLocationsNotesPatchCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Note{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsNotesSetIamPolicyCall 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.
//
// - resource: REQUIRED: The resource for which the policy is being specified.
// See Resource names (https://cloud.google.com/apis/design/resource_names)
// for the appropriate value for this field.
func (r *ProjectsLocationsNotesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsNotesSetIamPolicyCall {
c := &ProjectsLocationsNotesSetIamPolicyCall{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
// details.
func (c *ProjectsLocationsNotesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsNotesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsNotesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.setiampolicyrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.notes.setIamPolicy" call.
// 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 *ProjectsLocationsNotesSetIamPolicyCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsNotesTestIamPermissionsCall 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.
//
// - resource: REQUIRED: The resource for which the policy detail is being
// requested. See Resource names
// (https://cloud.google.com/apis/design/resource_names) for the appropriate
// value for this field.
func (r *ProjectsLocationsNotesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsNotesTestIamPermissionsCall {
c := &ProjectsLocationsNotesTestIamPermissionsCall{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
// details.
func (c *ProjectsLocationsNotesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsNotesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsNotesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testiampermissionsrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.notes.testIamPermissions" call.
// 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 *ProjectsLocationsNotesTestIamPermissionsCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &TestIamPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsNotesOccurrencesListCall 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.
//
// - name: The name of the note to list occurrences for in the form of
// `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
func (r *ProjectsLocationsNotesOccurrencesService) List(name string) *ProjectsLocationsNotesOccurrencesListCall {
c := &ProjectsLocationsNotesOccurrencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Filter sets the optional parameter "filter": The filter expression.
func (c *ProjectsLocationsNotesOccurrencesListCall) Filter(filter string) *ProjectsLocationsNotesOccurrencesListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": Number of occurrences to
// return in the list.
func (c *ProjectsLocationsNotesOccurrencesListCall) PageSize(pageSize int64) *ProjectsLocationsNotesOccurrencesListCall {
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 *ProjectsLocationsNotesOccurrencesListCall) PageToken(pageToken string) *ProjectsLocationsNotesOccurrencesListCall {
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
// details.
func (c *ProjectsLocationsNotesOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotesOccurrencesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
func (c *ProjectsLocationsNotesOccurrencesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotesOccurrencesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotesOccurrencesListCall) Context(ctx context.Context) *ProjectsLocationsNotesOccurrencesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotesOccurrencesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsNotesOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.occurrences.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.notes.occurrences.list" call.
// 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 *ProjectsLocationsNotesOccurrencesListCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ListNoteOccurrencesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.notes.occurrences.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// 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 *ProjectsLocationsNotesOccurrencesListCall) Pages(ctx context.Context, f func(*ListNoteOccurrencesResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
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)
}
}
type ProjectsLocationsOccurrencesBatchCreateCall struct {
s *Service
parent string
batchcreateoccurrencesrequest *BatchCreateOccurrencesRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// BatchCreate: Creates new occurrences in batch.
//
// - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
// under which the occurrences are to be created.
func (r *ProjectsLocationsOccurrencesService) BatchCreate(parent string, batchcreateoccurrencesrequest *BatchCreateOccurrencesRequest) *ProjectsLocationsOccurrencesBatchCreateCall {
c := &ProjectsLocationsOccurrencesBatchCreateCall{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
// details.
func (c *ProjectsLocationsOccurrencesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesBatchCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOccurrencesBatchCreateCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesBatchCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOccurrencesBatchCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOccurrencesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.batchcreateoccurrencesrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.batchCreate", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.occurrences.batchCreate" call.
// 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 *ProjectsLocationsOccurrencesBatchCreateCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &BatchCreateOccurrencesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.batchCreate", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsOccurrencesCreateCall struct {
s *Service
parent string
occurrence *Occurrence
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates a new occurrence.
//
// - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
// under which the occurrence is to be created.
func (r *ProjectsLocationsOccurrencesService) Create(parent string, occurrence *Occurrence) *ProjectsLocationsOccurrencesCreateCall {
c := &ProjectsLocationsOccurrencesCreateCall{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
// details.
func (c *ProjectsLocationsOccurrencesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOccurrencesCreateCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOccurrencesCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOccurrencesCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.occurrence)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.create", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.occurrences.create" call.
// 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 *ProjectsLocationsOccurrencesCreateCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Occurrence{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.create", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsOccurrencesDeleteCall 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.
//
// - name: The name of the occurrence in the form of
// `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
func (r *ProjectsLocationsOccurrencesService) Delete(name string) *ProjectsLocationsOccurrencesDeleteCall {
c := &ProjectsLocationsOccurrencesDeleteCall{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
// details.
func (c *ProjectsLocationsOccurrencesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOccurrencesDeleteCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOccurrencesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOccurrencesDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.occurrences.delete" call.
// 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 *ProjectsLocationsOccurrencesDeleteCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsOccurrencesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets the specified occurrence.
//
// - name: The name of the occurrence in the form of
// `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
func (r *ProjectsLocationsOccurrencesService) Get(name string) *ProjectsLocationsOccurrencesGetCall {
c := &ProjectsLocationsOccurrencesGetCall{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
// details.
func (c *ProjectsLocationsOccurrencesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
func (c *ProjectsLocationsOccurrencesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOccurrencesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOccurrencesGetCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOccurrencesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOccurrencesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.occurrences.get" call.
// 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 *ProjectsLocationsOccurrencesGetCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Occurrence{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsOccurrencesGetIamPolicyCall 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.
//
// - resource: REQUIRED: The resource for which the policy is being requested.
// See Resource names (https://cloud.google.com/apis/design/resource_names)
// for the appropriate value for this field.
func (r *ProjectsLocationsOccurrencesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsOccurrencesGetIamPolicyCall {
c := &ProjectsLocationsOccurrencesGetIamPolicyCall{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
// details.
func (c *ProjectsLocationsOccurrencesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesGetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOccurrencesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOccurrencesGetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOccurrencesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.getiampolicyrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.getIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.occurrences.getIamPolicy" call.
// 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 *ProjectsLocationsOccurrencesGetIamPolicyCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsOccurrencesGetNotesCall 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.
//
// - name: The name of the occurrence in the form of
// `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
func (r *ProjectsLocationsOccurrencesService) GetNotes(name string) *ProjectsLocationsOccurrencesGetNotesCall {
c := &ProjectsLocationsOccurrencesGetNotesCall{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
// details.
func (c *ProjectsLocationsOccurrencesGetNotesCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesGetNotesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
func (c *ProjectsLocationsOccurrencesGetNotesCall) IfNoneMatch(entityTag string) *ProjectsLocationsOccurrencesGetNotesCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOccurrencesGetNotesCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesGetNotesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOccurrencesGetNotesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOccurrencesGetNotesCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.getNotes", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.occurrences.getNotes" call.
// 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 *ProjectsLocationsOccurrencesGetNotesCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Note{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.getNotes", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall 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.
//
// - parent: The name of the project to get a vulnerability summary for in the
// form of `projects/[PROJECT_ID]`.
func (r *ProjectsLocationsOccurrencesService) GetVulnerabilitySummary(parent string) *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall {
c := &ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": The filter expression.
func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) Filter(filter string) *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall {
c.urlParams_.Set("filter", filter)
return c
}
// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": If
// set, the request will return all reachable occurrence summaries and report
// all unreachable regions in the `unreachable` field in the response. Only
// applicable for requests in the global region.
func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall {
c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) IfNoneMatch(entityTag string) *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.getVulnerabilitySummary", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.occurrences.getVulnerabilitySummary" call.
// 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 *ProjectsLocationsOccurrencesGetVulnerabilitySummaryCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &VulnerabilityOccurrencesSummary{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.getVulnerabilitySummary", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsOccurrencesListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists occurrences for the specified project.
//
// - parent: The name of the project to list occurrences for in the form of
// `projects/[PROJECT_ID]`.
func (r *ProjectsLocationsOccurrencesService) List(parent string) *ProjectsLocationsOccurrencesListCall {
c := &ProjectsLocationsOccurrencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": The filter expression.
func (c *ProjectsLocationsOccurrencesListCall) Filter(filter string) *ProjectsLocationsOccurrencesListCall {
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 *ProjectsLocationsOccurrencesListCall) PageSize(pageSize int64) *ProjectsLocationsOccurrencesListCall {
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 *ProjectsLocationsOccurrencesListCall) PageToken(pageToken string) *ProjectsLocationsOccurrencesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": If
// set, the request will return all reachable Occurrences and report all
// unreachable regions in the `unreachable` field in the response. Only
// applicable for requests in the global region.
func (c *ProjectsLocationsOccurrencesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsOccurrencesListCall {
c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
func (c *ProjectsLocationsOccurrencesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOccurrencesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOccurrencesListCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOccurrencesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.occurrences.list" call.
// 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 *ProjectsLocationsOccurrencesListCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ListOccurrencesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// 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 *ProjectsLocationsOccurrencesListCall) Pages(ctx context.Context, f func(*ListOccurrencesResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
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)
}
}
type ProjectsLocationsOccurrencesPatchCall struct {
s *Service
name string
occurrence *Occurrence
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Patch: Updates the specified occurrence.
//
// - name: The name of the occurrence in the form of
// `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
func (r *ProjectsLocationsOccurrencesService) Patch(name string, occurrence *Occurrence) *ProjectsLocationsOccurrencesPatchCall {
c := &ProjectsLocationsOccurrencesPatchCall{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 *ProjectsLocationsOccurrencesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsOccurrencesPatchCall {
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
// details.
func (c *ProjectsLocationsOccurrencesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOccurrencesPatchCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOccurrencesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOccurrencesPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.occurrence)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.occurrences.patch" call.
// 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 *ProjectsLocationsOccurrencesPatchCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Occurrence{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsOccurrencesSetIamPolicyCall 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.
//
// - resource: REQUIRED: The resource for which the policy is being specified.
// See Resource names (https://cloud.google.com/apis/design/resource_names)
// for the appropriate value for this field.
func (r *ProjectsLocationsOccurrencesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsOccurrencesSetIamPolicyCall {
c := &ProjectsLocationsOccurrencesSetIamPolicyCall{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
// details.
func (c *ProjectsLocationsOccurrencesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesSetIamPolicyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOccurrencesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOccurrencesSetIamPolicyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOccurrencesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.setiampolicyrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.occurrences.setIamPolicy" call.
// 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 *ProjectsLocationsOccurrencesSetIamPolicyCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsOccurrencesTestIamPermissionsCall 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.
//
// - resource: REQUIRED: The resource for which the policy detail is being
// requested. See Resource names
// (https://cloud.google.com/apis/design/resource_names) for the appropriate
// value for this field.
func (r *ProjectsLocationsOccurrencesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsOccurrencesTestIamPermissionsCall {
c := &ProjectsLocationsOccurrencesTestIamPermissionsCall{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
// details.
func (c *ProjectsLocationsOccurrencesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsOccurrencesTestIamPermissionsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOccurrencesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsOccurrencesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOccurrencesTestIamPermissionsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOccurrencesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testiampermissionsrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.occurrences.testIamPermissions" call.
// 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 *ProjectsLocationsOccurrencesTestIamPermissionsCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &TestIamPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.occurrences.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsResourcesExportSBOMCall struct {
s *Service
name string
exportsbomrequest *ExportSBOMRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// ExportSBOM: Generates an SBOM and other dependency information for the given
// resource.
//
// - name: The name of the resource in the form of
// `projects/[PROJECT_ID]/resources/[RESOURCE_URL]`.
func (r *ProjectsLocationsResourcesService) ExportSBOM(name string, exportsbomrequest *ExportSBOMRequest) *ProjectsLocationsResourcesExportSBOMCall {
c := &ProjectsLocationsResourcesExportSBOMCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.exportsbomrequest = exportsbomrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsResourcesExportSBOMCall) Fields(s ...googleapi.Field) *ProjectsLocationsResourcesExportSBOMCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsResourcesExportSBOMCall) Context(ctx context.Context) *ProjectsLocationsResourcesExportSBOMCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsResourcesExportSBOMCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsResourcesExportSBOMCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.exportsbomrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:exportSBOM")
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{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.resources.exportSBOM", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.resources.exportSBOM" call.
// Any non-2xx status code is an error. Response headers are in either
// *ExportSBOMResponse.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 *ProjectsLocationsResourcesExportSBOMCall) Do(opts ...googleapi.CallOption) (*ExportSBOMResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ExportSBOMResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.resources.exportSBOM", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsResourcesGeneratePackagesSummaryCall struct {
s *Service
name string
generatepackagessummaryrequest *GeneratePackagesSummaryRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// GeneratePackagesSummary: Gets a summary of the packages within a given
// resource.
//
// - name: The name of the resource to get a packages summary for in the form
// of `projects/[PROJECT_ID]/resources/[RESOURCE_URL]`.
func (r *ProjectsLocationsResourcesService) GeneratePackagesSummary(name string, generatepackagessummaryrequest *GeneratePackagesSummaryRequest) *ProjectsLocationsResourcesGeneratePackagesSummaryCall {
c := &ProjectsLocationsResourcesGeneratePackagesSummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.generatepackagessummaryrequest = generatepackagessummaryrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsResourcesGeneratePackagesSummaryCall) Fields(s ...googleapi.Field) *ProjectsLocationsResourcesGeneratePackagesSummaryCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsResourcesGeneratePackagesSummaryCall) Context(ctx context.Context) *ProjectsLocationsResourcesGeneratePackagesSummaryCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsResourcesGeneratePackagesSummaryCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsResourcesGeneratePackagesSummaryCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.generatepackagessummaryrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:generatePackagesSummary")
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{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.resources.generatePackagesSummary", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.locations.resources.generatePackagesSummary" call.
// Any non-2xx status code is an error. Response headers are in either
// *PackagesSummaryResponse.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 *ProjectsLocationsResourcesGeneratePackagesSummaryCall) Do(opts ...googleapi.CallOption) (*PackagesSummaryResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &PackagesSummaryResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.locations.resources.generatePackagesSummary", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsNotesBatchCreateCall struct {
s *Service
parent string
batchcreatenotesrequest *BatchCreateNotesRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// BatchCreate: Creates new notes in batch.
//
// - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
// under which the notes are to be created.
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
// details.
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.
func (c *ProjectsNotesBatchCreateCall) Context(ctx context.Context) *ProjectsNotesBatchCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.batchcreatenotesrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.batchCreate", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.notes.batchCreate" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &BatchCreateNotesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.batchCreate", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsNotesCreateCall struct {
s *Service
parent string
note *Note
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates a new note.
//
// - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
// under which the note is to be created.
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
// details.
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.
func (c *ProjectsNotesCreateCall) Context(ctx context.Context) *ProjectsNotesCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.note)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.create", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.notes.create" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Note{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.create", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsNotesDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes the specified note.
//
// - name: The name of the note in the form of
// `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
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
// details.
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.
func (c *ProjectsNotesDeleteCall) Context(ctx context.Context) *ProjectsNotesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.notes.delete" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsNotesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets the specified note.
//
// - name: The name of the note in the form of
// `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
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
// details.
func (c *ProjectsNotesGetCall) Fields(s ...googleapi.Field) *ProjectsNotesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
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.
func (c *ProjectsNotesGetCall) Context(ctx context.Context) *ProjectsNotesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.notes.get" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Note{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - resource: REQUIRED: The resource for which the policy is being requested.
// See Resource names (https://cloud.google.com/apis/design/resource_names)
// for the appropriate value for this field.
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
// details.
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.
func (c *ProjectsNotesGetIamPolicyCall) Context(ctx context.Context) *ProjectsNotesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.getiampolicyrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.getIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.notes.getIamPolicy" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - parent: The name of the project to list notes for in the form of
// `projects/[PROJECT_ID]`.
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
}
// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": If
// set, the request will return all reachable Notes and report all unreachable
// regions in the `unreachable` field in the response. Only applicable for
// requests in the global region.
func (c *ProjectsNotesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsNotesListCall {
c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsNotesListCall) Fields(s ...googleapi.Field) *ProjectsNotesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
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.
func (c *ProjectsNotesListCall) Context(ctx context.Context) *ProjectsNotesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.notes.list" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ListNotesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// 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"))
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)
}
}
type ProjectsNotesPatchCall struct {
s *Service
name string
note *Note
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Patch: Updates the specified note.
//
// - name: The name of the note in the form of
// `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
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
// details.
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.
func (c *ProjectsNotesPatchCall) Context(ctx context.Context) *ProjectsNotesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.note)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.notes.patch" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Note{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - resource: REQUIRED: The resource for which the policy is being specified.
// See Resource names (https://cloud.google.com/apis/design/resource_names)
// for the appropriate value for this field.
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
// details.
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.
func (c *ProjectsNotesSetIamPolicyCall) Context(ctx context.Context) *ProjectsNotesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.setiampolicyrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.notes.setIamPolicy" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - resource: REQUIRED: The resource for which the policy detail is being
// requested. See Resource names
// (https://cloud.google.com/apis/design/resource_names) for the appropriate
// value for this field.
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
// details.
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.
func (c *ProjectsNotesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsNotesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testiampermissionsrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.notes.testIamPermissions" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &TestIamPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - name: The name of the note to list occurrences for in the form of
// `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
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
// details.
func (c *ProjectsNotesOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsNotesOccurrencesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
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.
func (c *ProjectsNotesOccurrencesListCall) Context(ctx context.Context) *ProjectsNotesOccurrencesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.occurrences.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.notes.occurrences.list" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ListNoteOccurrencesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.notes.occurrences.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// 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"))
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)
}
}
type ProjectsOccurrencesBatchCreateCall struct {
s *Service
parent string
batchcreateoccurrencesrequest *BatchCreateOccurrencesRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// BatchCreate: Creates new occurrences in batch.
//
// - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
// under which the occurrences are to be created.
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
// details.
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.
func (c *ProjectsOccurrencesBatchCreateCall) Context(ctx context.Context) *ProjectsOccurrencesBatchCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.batchcreateoccurrencesrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.batchCreate", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.occurrences.batchCreate" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &BatchCreateOccurrencesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.batchCreate", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsOccurrencesCreateCall struct {
s *Service
parent string
occurrence *Occurrence
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates a new occurrence.
//
// - parent: The name of the project in the form of `projects/[PROJECT_ID]`,
// under which the occurrence is to be created.
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
// details.
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.
func (c *ProjectsOccurrencesCreateCall) Context(ctx context.Context) *ProjectsOccurrencesCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.occurrence)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.create", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.occurrences.create" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Occurrence{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.create", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - name: The name of the occurrence in the form of
// `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
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
// details.
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.
func (c *ProjectsOccurrencesDeleteCall) Context(ctx context.Context) *ProjectsOccurrencesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.occurrences.delete" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsOccurrencesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets the specified occurrence.
//
// - name: The name of the occurrence in the form of
// `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
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
// details.
func (c *ProjectsOccurrencesGetCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
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.
func (c *ProjectsOccurrencesGetCall) Context(ctx context.Context) *ProjectsOccurrencesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.occurrences.get" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Occurrence{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - resource: REQUIRED: The resource for which the policy is being requested.
// See Resource names (https://cloud.google.com/apis/design/resource_names)
// for the appropriate value for this field.
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
// details.
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.
func (c *ProjectsOccurrencesGetIamPolicyCall) Context(ctx context.Context) *ProjectsOccurrencesGetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.getiampolicyrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.getIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.occurrences.getIamPolicy" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.getIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - name: The name of the occurrence in the form of
// `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
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
// details.
func (c *ProjectsOccurrencesGetNotesCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetNotesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
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.
func (c *ProjectsOccurrencesGetNotesCall) Context(ctx context.Context) *ProjectsOccurrencesGetNotesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.getNotes", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.occurrences.getNotes" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Note{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.getNotes", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - parent: The name of the project to get a vulnerability summary for in the
// form of `projects/[PROJECT_ID]`.
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
}
// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": If
// set, the request will return all reachable occurrence summaries and report
// all unreachable regions in the `unreachable` field in the response. Only
// applicable for requests in the global region.
func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
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.
func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Context(ctx context.Context) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.getVulnerabilitySummary", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.occurrences.getVulnerabilitySummary" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &VulnerabilityOccurrencesSummary{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.getVulnerabilitySummary", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - parent: The name of the project to list occurrences for in the form of
// `projects/[PROJECT_ID]`.
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
}
// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": If
// set, the request will return all reachable Occurrences and report all
// unreachable regions in the `unreachable` field in the response. Only
// applicable for requests in the global region.
func (c *ProjectsOccurrencesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsOccurrencesListCall {
c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an 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.
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.
func (c *ProjectsOccurrencesListCall) Context(ctx context.Context) *ProjectsOccurrencesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
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, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.occurrences.list" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ListOccurrencesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// 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"))
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)
}
}
type ProjectsOccurrencesPatchCall struct {
s *Service
name string
occurrence *Occurrence
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Patch: Updates the specified occurrence.
//
// - name: The name of the occurrence in the form of
// `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
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
// details.
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.
func (c *ProjectsOccurrencesPatchCall) Context(ctx context.Context) *ProjectsOccurrencesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.occurrence)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.occurrences.patch" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Occurrence{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - resource: REQUIRED: The resource for which the policy is being specified.
// See Resource names (https://cloud.google.com/apis/design/resource_names)
// for the appropriate value for this field.
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
// details.
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.
func (c *ProjectsOccurrencesSetIamPolicyCall) Context(ctx context.Context) *ProjectsOccurrencesSetIamPolicyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.setiampolicyrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.occurrences.setIamPolicy" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Policy{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.setIamPolicy", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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.
//
// - resource: REQUIRED: The resource for which the policy detail is being
// requested. See Resource names
// (https://cloud.google.com/apis/design/resource_names) for the appropriate
// value for this field.
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
// details.
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.
func (c *ProjectsOccurrencesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsOccurrencesTestIamPermissionsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testiampermissionsrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.occurrences.testIamPermissions" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &TestIamPermissionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.occurrences.testIamPermissions", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsResourcesExportSBOMCall struct {
s *Service
name string
exportsbomrequest *ExportSBOMRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// ExportSBOM: Generates an SBOM and other dependency information for the given
// resource.
//
// - name: The name of the resource in the form of
// `projects/[PROJECT_ID]/resources/[RESOURCE_URL]`.
func (r *ProjectsResourcesService) ExportSBOM(name string, exportsbomrequest *ExportSBOMRequest) *ProjectsResourcesExportSBOMCall {
c := &ProjectsResourcesExportSBOMCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.exportsbomrequest = exportsbomrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsResourcesExportSBOMCall) Fields(s ...googleapi.Field) *ProjectsResourcesExportSBOMCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsResourcesExportSBOMCall) Context(ctx context.Context) *ProjectsResourcesExportSBOMCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsResourcesExportSBOMCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsResourcesExportSBOMCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.exportsbomrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:exportSBOM")
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{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.resources.exportSBOM", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.resources.exportSBOM" call.
// Any non-2xx status code is an error. Response headers are in either
// *ExportSBOMResponse.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 *ProjectsResourcesExportSBOMCall) Do(opts ...googleapi.CallOption) (*ExportSBOMResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ExportSBOMResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.resources.exportSBOM", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsResourcesGeneratePackagesSummaryCall struct {
s *Service
name string
generatepackagessummaryrequest *GeneratePackagesSummaryRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// GeneratePackagesSummary: Gets a summary of the packages within a given
// resource.
//
// - name: The name of the resource to get a packages summary for in the form
// of `projects/[PROJECT_ID]/resources/[RESOURCE_URL]`.
func (r *ProjectsResourcesService) GeneratePackagesSummary(name string, generatepackagessummaryrequest *GeneratePackagesSummaryRequest) *ProjectsResourcesGeneratePackagesSummaryCall {
c := &ProjectsResourcesGeneratePackagesSummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.generatepackagessummaryrequest = generatepackagessummaryrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsResourcesGeneratePackagesSummaryCall) Fields(s ...googleapi.Field) *ProjectsResourcesGeneratePackagesSummaryCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsResourcesGeneratePackagesSummaryCall) Context(ctx context.Context) *ProjectsResourcesGeneratePackagesSummaryCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsResourcesGeneratePackagesSummaryCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsResourcesGeneratePackagesSummaryCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.generatepackagessummaryrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:generatePackagesSummary")
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{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "containeranalysis.projects.resources.generatePackagesSummary", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "containeranalysis.projects.resources.generatePackagesSummary" call.
// Any non-2xx status code is an error. Response headers are in either
// *PackagesSummaryResponse.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 *ProjectsResourcesGeneratePackagesSummaryCall) Do(opts ...googleapi.CallOption) (*PackagesSummaryResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &PackagesSummaryResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "containeranalysis.projects.resources.generatePackagesSummary", "response", internallog.HTTPResponse(res, b))
return ret, nil
}