1// Copyright 2019 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package containeranalysis provides access to the Container Analysis API.
8//
9// For product documentation, see: https://cloud.google.com/container-analysis/api/reference/rest/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/containeranalysis/v1beta1"
16//   ...
17//   ctx := context.Background()
18//   containeranalysisService, err := containeranalysis.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
27//
28//   containeranalysisService, err := containeranalysis.NewService(ctx, option.WithAPIKey("AIza..."))
29//
30// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
31//
32//   config := &oauth2.Config{...}
33//   // ...
34//   token, err := config.Exchange(ctx, ...)
35//   containeranalysisService, err := containeranalysis.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
36//
37// See https://godoc.org/google.golang.org/api/option/ for details on options.
38package containeranalysis // import "google.golang.org/api/containeranalysis/v1beta1"
39
40import (
41	"bytes"
42	"context"
43	"encoding/json"
44	"errors"
45	"fmt"
46	"io"
47	"net/http"
48	"net/url"
49	"strconv"
50	"strings"
51
52	gensupport "google.golang.org/api/gensupport"
53	googleapi "google.golang.org/api/googleapi"
54	option "google.golang.org/api/option"
55	htransport "google.golang.org/api/transport/http"
56)
57
58// Always reference these packages, just in case the auto-generated code
59// below doesn't.
60var _ = bytes.NewBuffer
61var _ = strconv.Itoa
62var _ = fmt.Sprintf
63var _ = json.NewDecoder
64var _ = io.Copy
65var _ = url.Parse
66var _ = gensupport.MarshalJSON
67var _ = googleapi.Version
68var _ = errors.New
69var _ = strings.Replace
70var _ = context.Canceled
71
72const apiId = "containeranalysis:v1beta1"
73const apiName = "containeranalysis"
74const apiVersion = "v1beta1"
75const basePath = "https://containeranalysis.googleapis.com/"
76
77// OAuth2 scopes used by this API.
78const (
79	// View and manage your data across Google Cloud Platform services
80	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
81)
82
83// NewService creates a new Service.
84func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
85	scopesOption := option.WithScopes(
86		"https://www.googleapis.com/auth/cloud-platform",
87	)
88	// NOTE: prepend, so we don't override user-specified scopes.
89	opts = append([]option.ClientOption{scopesOption}, opts...)
90	client, endpoint, err := htransport.NewClient(ctx, opts...)
91	if err != nil {
92		return nil, err
93	}
94	s, err := New(client)
95	if err != nil {
96		return nil, err
97	}
98	if endpoint != "" {
99		s.BasePath = endpoint
100	}
101	return s, nil
102}
103
104// New creates a new Service. It uses the provided http.Client for requests.
105//
106// Deprecated: please use NewService instead.
107// To provide a custom HTTP client, use option.WithHTTPClient.
108// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
109func New(client *http.Client) (*Service, error) {
110	if client == nil {
111		return nil, errors.New("client is nil")
112	}
113	s := &Service{client: client, BasePath: basePath}
114	s.Projects = NewProjectsService(s)
115	return s, nil
116}
117
118type Service struct {
119	client    *http.Client
120	BasePath  string // API endpoint base URL
121	UserAgent string // optional additional User-Agent fragment
122
123	Projects *ProjectsService
124}
125
126func (s *Service) userAgent() string {
127	if s.UserAgent == "" {
128		return googleapi.UserAgent
129	}
130	return googleapi.UserAgent + " " + s.UserAgent
131}
132
133func NewProjectsService(s *Service) *ProjectsService {
134	rs := &ProjectsService{s: s}
135	rs.Notes = NewProjectsNotesService(s)
136	rs.Occurrences = NewProjectsOccurrencesService(s)
137	rs.ScanConfigs = NewProjectsScanConfigsService(s)
138	return rs
139}
140
141type ProjectsService struct {
142	s *Service
143
144	Notes *ProjectsNotesService
145
146	Occurrences *ProjectsOccurrencesService
147
148	ScanConfigs *ProjectsScanConfigsService
149}
150
151func NewProjectsNotesService(s *Service) *ProjectsNotesService {
152	rs := &ProjectsNotesService{s: s}
153	rs.Occurrences = NewProjectsNotesOccurrencesService(s)
154	return rs
155}
156
157type ProjectsNotesService struct {
158	s *Service
159
160	Occurrences *ProjectsNotesOccurrencesService
161}
162
163func NewProjectsNotesOccurrencesService(s *Service) *ProjectsNotesOccurrencesService {
164	rs := &ProjectsNotesOccurrencesService{s: s}
165	return rs
166}
167
168type ProjectsNotesOccurrencesService struct {
169	s *Service
170}
171
172func NewProjectsOccurrencesService(s *Service) *ProjectsOccurrencesService {
173	rs := &ProjectsOccurrencesService{s: s}
174	return rs
175}
176
177type ProjectsOccurrencesService struct {
178	s *Service
179}
180
181func NewProjectsScanConfigsService(s *Service) *ProjectsScanConfigsService {
182	rs := &ProjectsScanConfigsService{s: s}
183	return rs
184}
185
186type ProjectsScanConfigsService struct {
187	s *Service
188}
189
190// AliasContext: An alias to a repo revision.
191type AliasContext struct {
192	// Kind: The alias kind.
193	//
194	// Possible values:
195	//   "KIND_UNSPECIFIED" - Unknown.
196	//   "FIXED" - Git tag.
197	//   "MOVABLE" - Git branch.
198	//   "OTHER" - Used to specify non-standard aliases. For example, if a
199	// Git repo has a
200	// ref named "refs/foo/bar".
201	Kind string `json:"kind,omitempty"`
202
203	// Name: The alias name.
204	Name string `json:"name,omitempty"`
205
206	// ForceSendFields is a list of field names (e.g. "Kind") to
207	// unconditionally include in API requests. By default, fields with
208	// empty values are omitted from API requests. However, any non-pointer,
209	// non-interface field appearing in ForceSendFields will be sent to the
210	// server regardless of whether the field is empty or not. This may be
211	// used to include empty fields in Patch requests.
212	ForceSendFields []string `json:"-"`
213
214	// NullFields is a list of field names (e.g. "Kind") to include in API
215	// requests with the JSON null value. By default, fields with empty
216	// values are omitted from API requests. However, any field with an
217	// empty value appearing in NullFields will be sent to the server as
218	// null. It is an error if a field in this list has a non-empty value.
219	// This may be used to include null fields in Patch requests.
220	NullFields []string `json:"-"`
221}
222
223func (s *AliasContext) MarshalJSON() ([]byte, error) {
224	type NoMethod AliasContext
225	raw := NoMethod(*s)
226	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
227}
228
229// Artifact: Artifact describes a build product.
230type Artifact struct {
231	// Checksum: Hash or checksum value of a binary, or Docker Registry 2.0
232	// digest of a
233	// container.
234	Checksum string `json:"checksum,omitempty"`
235
236	// Id: Artifact ID, if any; for container images, this will be a URL by
237	// digest
238	// like `gcr.io/projectID/imagename@sha256:123456`.
239	Id string `json:"id,omitempty"`
240
241	// Names: Related artifact names. This may be the path to a binary or
242	// jar file, or in
243	// the case of a container build, the name used to push the container
244	// image to
245	// Google Container Registry, as presented to `docker push`. Note that
246	// a
247	// single Artifact ID can have multiple names, for example if two tags
248	// are
249	// applied to one image.
250	Names []string `json:"names,omitempty"`
251
252	// ForceSendFields is a list of field names (e.g. "Checksum") to
253	// unconditionally include in API requests. By default, fields with
254	// empty values are omitted from API requests. However, any non-pointer,
255	// non-interface field appearing in ForceSendFields will be sent to the
256	// server regardless of whether the field is empty or not. This may be
257	// used to include empty fields in Patch requests.
258	ForceSendFields []string `json:"-"`
259
260	// NullFields is a list of field names (e.g. "Checksum") to include in
261	// API requests with the JSON null value. By default, fields with empty
262	// values are omitted from API requests. However, any field with an
263	// empty value appearing in NullFields will be sent to the server as
264	// null. It is an error if a field in this list has a non-empty value.
265	// This may be used to include null fields in Patch requests.
266	NullFields []string `json:"-"`
267}
268
269func (s *Artifact) MarshalJSON() ([]byte, error) {
270	type NoMethod Artifact
271	raw := NoMethod(*s)
272	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
273}
274
275// Attestation: Occurrence that represents a single "attestation". The
276// authenticity of an
277// attestation can be verified using the attached signature. If the
278// verifier
279// trusts the public key of the signer, then verifying the signature
280// is
281// sufficient to establish trust. In this circumstance, the authority to
282// which
283// this attestation is attached is primarily useful for look-up (how to
284// find
285// this attestation if you already know the authority and artifact to
286// be
287// verified) and intent (which authority was this attestation intended
288// to sign
289// for).
290type Attestation struct {
291	GenericSignedAttestation *GenericSignedAttestation `json:"genericSignedAttestation,omitempty"`
292
293	// PgpSignedAttestation: A PGP signed attestation.
294	PgpSignedAttestation *PgpSignedAttestation `json:"pgpSignedAttestation,omitempty"`
295
296	// ForceSendFields is a list of field names (e.g.
297	// "GenericSignedAttestation") to unconditionally include in API
298	// requests. By default, fields with empty values are omitted from API
299	// requests. However, any non-pointer, non-interface field appearing in
300	// ForceSendFields will be sent to the server regardless of whether the
301	// field is empty or not. This may be used to include empty fields in
302	// Patch requests.
303	ForceSendFields []string `json:"-"`
304
305	// NullFields is a list of field names (e.g. "GenericSignedAttestation")
306	// to include in API requests with the JSON null value. By default,
307	// fields with empty values are omitted from API requests. However, any
308	// field with an empty value appearing in NullFields will be sent to the
309	// server as null. It is an error if a field in this list has a
310	// non-empty value. This may be used to include null fields in Patch
311	// requests.
312	NullFields []string `json:"-"`
313}
314
315func (s *Attestation) MarshalJSON() ([]byte, error) {
316	type NoMethod Attestation
317	raw := NoMethod(*s)
318	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
319}
320
321// AuditConfig: Specifies the audit configuration for a service.
322// The configuration determines which permission types are logged, and
323// what
324// identities, if any, are exempted from logging.
325// An AuditConfig must have one or more AuditLogConfigs.
326//
327// If there are AuditConfigs for both `allServices` and a specific
328// service,
329// the union of the two AuditConfigs is used for that service: the
330// log_types
331// specified in each AuditConfig are enabled, and the exempted_members
332// in each
333// AuditLogConfig are exempted.
334//
335// Example Policy with multiple AuditConfigs:
336//
337//     {
338//       "audit_configs": [
339//         {
340//           "service": "allServices"
341//           "audit_log_configs": [
342//             {
343//               "log_type": "DATA_READ",
344//               "exempted_members": [
345//                 "user:foo@gmail.com"
346//               ]
347//             },
348//             {
349//               "log_type": "DATA_WRITE",
350//             },
351//             {
352//               "log_type": "ADMIN_READ",
353//             }
354//           ]
355//         },
356//         {
357//           "service": "fooservice.googleapis.com"
358//           "audit_log_configs": [
359//             {
360//               "log_type": "DATA_READ",
361//             },
362//             {
363//               "log_type": "DATA_WRITE",
364//               "exempted_members": [
365//                 "user:bar@gmail.com"
366//               ]
367//             }
368//           ]
369//         }
370//       ]
371//     }
372//
373// For fooservice, this policy enables DATA_READ, DATA_WRITE and
374// ADMIN_READ
375// logging. It also exempts foo@gmail.com from DATA_READ logging,
376// and
377// bar@gmail.com from DATA_WRITE logging.
378type AuditConfig struct {
379	// AuditLogConfigs: The configuration for logging of each type of
380	// permission.
381	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
382
383	// Service: Specifies a service that will be enabled for audit
384	// logging.
385	// For example, `storage.googleapis.com`,
386	// `cloudsql.googleapis.com`.
387	// `allServices` is a special value that covers all services.
388	Service string `json:"service,omitempty"`
389
390	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
391	// unconditionally include in API requests. By default, fields with
392	// empty values are omitted from API requests. However, any non-pointer,
393	// non-interface field appearing in ForceSendFields will be sent to the
394	// server regardless of whether the field is empty or not. This may be
395	// used to include empty fields in Patch requests.
396	ForceSendFields []string `json:"-"`
397
398	// NullFields is a list of field names (e.g. "AuditLogConfigs") to
399	// include in API requests with the JSON null value. By default, fields
400	// with empty values are omitted from API requests. However, any field
401	// with an empty value appearing in NullFields will be sent to the
402	// server as null. It is an error if a field in this list has a
403	// non-empty value. This may be used to include null fields in Patch
404	// requests.
405	NullFields []string `json:"-"`
406}
407
408func (s *AuditConfig) MarshalJSON() ([]byte, error) {
409	type NoMethod AuditConfig
410	raw := NoMethod(*s)
411	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
412}
413
414// AuditLogConfig: Provides the configuration for logging a type of
415// permissions.
416// Example:
417//
418//     {
419//       "audit_log_configs": [
420//         {
421//           "log_type": "DATA_READ",
422//           "exempted_members": [
423//             "user:foo@gmail.com"
424//           ]
425//         },
426//         {
427//           "log_type": "DATA_WRITE",
428//         }
429//       ]
430//     }
431//
432// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
433// exempting
434// foo@gmail.com from DATA_READ logging.
435type AuditLogConfig struct {
436	// ExemptedMembers: Specifies the identities that do not cause logging
437	// for this type of
438	// permission.
439	// Follows the same format of Binding.members.
440	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
441
442	// LogType: The log type that this config enables.
443	//
444	// Possible values:
445	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
446	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
447	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
448	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
449	LogType string `json:"logType,omitempty"`
450
451	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
452	// unconditionally include in API requests. By default, fields with
453	// empty values are omitted from API requests. However, any non-pointer,
454	// non-interface field appearing in ForceSendFields will be sent to the
455	// server regardless of whether the field is empty or not. This may be
456	// used to include empty fields in Patch requests.
457	ForceSendFields []string `json:"-"`
458
459	// NullFields is a list of field names (e.g. "ExemptedMembers") to
460	// include in API requests with the JSON null value. By default, fields
461	// with empty values are omitted from API requests. However, any field
462	// with an empty value appearing in NullFields will be sent to the
463	// server as null. It is an error if a field in this list has a
464	// non-empty value. This may be used to include null fields in Patch
465	// requests.
466	NullFields []string `json:"-"`
467}
468
469func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
470	type NoMethod AuditLogConfig
471	raw := NoMethod(*s)
472	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
473}
474
475// Authority: Note kind that represents a logical attestation "role" or
476// "authority". For
477// example, an organization might have one `Authority` for "QA" and one
478// for
479// "build". This note is intended to act strictly as a grouping
480// mechanism for
481// the attached occurrences (Attestations). This grouping mechanism
482// also
483// provides a security boundary, since IAM ACLs gate the ability for a
484// principle
485// to attach an occurrence to a given note. It also provides a single
486// point of
487// lookup to find all attached attestation occurrences, even if they
488// don't all
489// live in the same project.
490type Authority struct {
491	// Hint: Hint hints at the purpose of the attestation authority.
492	Hint *Hint `json:"hint,omitempty"`
493
494	// ForceSendFields is a list of field names (e.g. "Hint") to
495	// unconditionally include in API requests. By default, fields with
496	// empty values are omitted from API requests. However, any non-pointer,
497	// non-interface field appearing in ForceSendFields will be sent to the
498	// server regardless of whether the field is empty or not. This may be
499	// used to include empty fields in Patch requests.
500	ForceSendFields []string `json:"-"`
501
502	// NullFields is a list of field names (e.g. "Hint") to include in API
503	// requests with the JSON null value. By default, fields with empty
504	// values are omitted from API requests. However, any field with an
505	// empty value appearing in NullFields will be sent to the server as
506	// null. It is an error if a field in this list has a non-empty value.
507	// This may be used to include null fields in Patch requests.
508	NullFields []string `json:"-"`
509}
510
511func (s *Authority) MarshalJSON() ([]byte, error) {
512	type NoMethod Authority
513	raw := NoMethod(*s)
514	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
515}
516
517// Basis: Basis describes the base image portion (Note) of the
518// DockerImage
519// relationship. Linked occurrences are derived from this or
520// an
521// equivalent image via:
522//   FROM <Basis.resource_url>
523// Or an equivalent reference, e.g. a tag of the resource_url.
524type Basis struct {
525	// Fingerprint: Required. Immutable. The fingerprint of the base image.
526	Fingerprint *Fingerprint `json:"fingerprint,omitempty"`
527
528	// ResourceUrl: Required. Immutable. The resource_url for the resource
529	// representing the
530	// basis of associated occurrence images.
531	ResourceUrl string `json:"resourceUrl,omitempty"`
532
533	// ForceSendFields is a list of field names (e.g. "Fingerprint") to
534	// unconditionally include in API requests. By default, fields with
535	// empty values are omitted from API requests. However, any non-pointer,
536	// non-interface field appearing in ForceSendFields will be sent to the
537	// server regardless of whether the field is empty or not. This may be
538	// used to include empty fields in Patch requests.
539	ForceSendFields []string `json:"-"`
540
541	// NullFields is a list of field names (e.g. "Fingerprint") to include
542	// in API requests with the JSON null value. By default, fields with
543	// empty values are omitted from API requests. However, any field with
544	// an empty value appearing in NullFields will be sent to the server as
545	// null. It is an error if a field in this list has a non-empty value.
546	// This may be used to include null fields in Patch requests.
547	NullFields []string `json:"-"`
548}
549
550func (s *Basis) MarshalJSON() ([]byte, error) {
551	type NoMethod Basis
552	raw := NoMethod(*s)
553	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
554}
555
556// BatchCreateNotesRequest: Request to create notes in batch.
557type BatchCreateNotesRequest struct {
558	// Notes: The notes to create. Max allowed length is 1000.
559	Notes map[string]Note `json:"notes,omitempty"`
560
561	// ForceSendFields is a list of field names (e.g. "Notes") to
562	// unconditionally include in API requests. By default, fields with
563	// empty values are omitted from API requests. However, any non-pointer,
564	// non-interface field appearing in ForceSendFields will be sent to the
565	// server regardless of whether the field is empty or not. This may be
566	// used to include empty fields in Patch requests.
567	ForceSendFields []string `json:"-"`
568
569	// NullFields is a list of field names (e.g. "Notes") to include in API
570	// requests with the JSON null value. By default, fields with empty
571	// values are omitted from API requests. However, any field with an
572	// empty value appearing in NullFields will be sent to the server as
573	// null. It is an error if a field in this list has a non-empty value.
574	// This may be used to include null fields in Patch requests.
575	NullFields []string `json:"-"`
576}
577
578func (s *BatchCreateNotesRequest) MarshalJSON() ([]byte, error) {
579	type NoMethod BatchCreateNotesRequest
580	raw := NoMethod(*s)
581	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
582}
583
584// BatchCreateNotesResponse: Response for creating notes in batch.
585type BatchCreateNotesResponse struct {
586	// Notes: The notes that were created.
587	Notes []*Note `json:"notes,omitempty"`
588
589	// ServerResponse contains the HTTP response code and headers from the
590	// server.
591	googleapi.ServerResponse `json:"-"`
592
593	// ForceSendFields is a list of field names (e.g. "Notes") to
594	// unconditionally include in API requests. By default, fields with
595	// empty values are omitted from API requests. However, any non-pointer,
596	// non-interface field appearing in ForceSendFields will be sent to the
597	// server regardless of whether the field is empty or not. This may be
598	// used to include empty fields in Patch requests.
599	ForceSendFields []string `json:"-"`
600
601	// NullFields is a list of field names (e.g. "Notes") to include in API
602	// requests with the JSON null value. By default, fields with empty
603	// values are omitted from API requests. However, any field with an
604	// empty value appearing in NullFields will be sent to the server as
605	// null. It is an error if a field in this list has a non-empty value.
606	// This may be used to include null fields in Patch requests.
607	NullFields []string `json:"-"`
608}
609
610func (s *BatchCreateNotesResponse) MarshalJSON() ([]byte, error) {
611	type NoMethod BatchCreateNotesResponse
612	raw := NoMethod(*s)
613	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
614}
615
616// BatchCreateOccurrencesRequest: Request to create occurrences in
617// batch.
618type BatchCreateOccurrencesRequest struct {
619	// Occurrences: The occurrences to create. Max allowed length is 1000.
620	Occurrences []*Occurrence `json:"occurrences,omitempty"`
621
622	// ForceSendFields is a list of field names (e.g. "Occurrences") to
623	// unconditionally include in API requests. By default, fields with
624	// empty values are omitted from API requests. However, any non-pointer,
625	// non-interface field appearing in ForceSendFields will be sent to the
626	// server regardless of whether the field is empty or not. This may be
627	// used to include empty fields in Patch requests.
628	ForceSendFields []string `json:"-"`
629
630	// NullFields is a list of field names (e.g. "Occurrences") to include
631	// in API requests with the JSON null value. By default, fields with
632	// empty values are omitted from API requests. However, any field with
633	// an empty value appearing in NullFields will be sent to the server as
634	// null. It is an error if a field in this list has a non-empty value.
635	// This may be used to include null fields in Patch requests.
636	NullFields []string `json:"-"`
637}
638
639func (s *BatchCreateOccurrencesRequest) MarshalJSON() ([]byte, error) {
640	type NoMethod BatchCreateOccurrencesRequest
641	raw := NoMethod(*s)
642	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
643}
644
645// BatchCreateOccurrencesResponse: Response for creating occurrences in
646// batch.
647type BatchCreateOccurrencesResponse struct {
648	// Occurrences: The occurrences that were created.
649	Occurrences []*Occurrence `json:"occurrences,omitempty"`
650
651	// ServerResponse contains the HTTP response code and headers from the
652	// server.
653	googleapi.ServerResponse `json:"-"`
654
655	// ForceSendFields is a list of field names (e.g. "Occurrences") to
656	// unconditionally include in API requests. By default, fields with
657	// empty values are omitted from API requests. However, any non-pointer,
658	// non-interface field appearing in ForceSendFields will be sent to the
659	// server regardless of whether the field is empty or not. This may be
660	// used to include empty fields in Patch requests.
661	ForceSendFields []string `json:"-"`
662
663	// NullFields is a list of field names (e.g. "Occurrences") to include
664	// in API requests with the JSON null value. By default, fields with
665	// empty values are omitted from API requests. However, any field with
666	// an empty value appearing in NullFields will be sent to the server as
667	// null. It is an error if a field in this list has a non-empty value.
668	// This may be used to include null fields in Patch requests.
669	NullFields []string `json:"-"`
670}
671
672func (s *BatchCreateOccurrencesResponse) MarshalJSON() ([]byte, error) {
673	type NoMethod BatchCreateOccurrencesResponse
674	raw := NoMethod(*s)
675	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
676}
677
678// Binding: Associates `members` with a `role`.
679type Binding struct {
680	// Condition: The condition that is associated with this binding.
681	// NOTE: An unsatisfied condition will not allow user access via
682	// current
683	// binding. Different bindings, including their conditions, are
684	// examined
685	// independently.
686	Condition *Expr `json:"condition,omitempty"`
687
688	// Members: Specifies the identities requesting access for a Cloud
689	// Platform resource.
690	// `members` can have the following values:
691	//
692	// * `allUsers`: A special identifier that represents anyone who is
693	//    on the internet; with or without a Google account.
694	//
695	// * `allAuthenticatedUsers`: A special identifier that represents
696	// anyone
697	//    who is authenticated with a Google account or a service
698	// account.
699	//
700	// * `user:{emailid}`: An email address that represents a specific
701	// Google
702	//    account. For example, `alice@gmail.com` .
703	//
704	//
705	// * `serviceAccount:{emailid}`: An email address that represents a
706	// service
707	//    account. For example,
708	// `my-other-app@appspot.gserviceaccount.com`.
709	//
710	// * `group:{emailid}`: An email address that represents a Google
711	// group.
712	//    For example, `admins@example.com`.
713	//
714	//
715	// * `domain:{domain}`: The G Suite domain (primary) that represents all
716	// the
717	//    users of that domain. For example, `google.com` or
718	// `example.com`.
719	//
720	//
721	Members []string `json:"members,omitempty"`
722
723	// Role: Role that is assigned to `members`.
724	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
725	Role string `json:"role,omitempty"`
726
727	// ForceSendFields is a list of field names (e.g. "Condition") to
728	// unconditionally include in API requests. By default, fields with
729	// empty values are omitted from API requests. However, any non-pointer,
730	// non-interface field appearing in ForceSendFields will be sent to the
731	// server regardless of whether the field is empty or not. This may be
732	// used to include empty fields in Patch requests.
733	ForceSendFields []string `json:"-"`
734
735	// NullFields is a list of field names (e.g. "Condition") to include in
736	// API requests with the JSON null value. By default, fields with empty
737	// values are omitted from API requests. However, any field with an
738	// empty value appearing in NullFields will be sent to the server as
739	// null. It is an error if a field in this list has a non-empty value.
740	// This may be used to include null fields in Patch requests.
741	NullFields []string `json:"-"`
742}
743
744func (s *Binding) MarshalJSON() ([]byte, error) {
745	type NoMethod Binding
746	raw := NoMethod(*s)
747	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
748}
749
750// Build: Note holding the version of the provider's builder and the
751// signature of the
752// provenance message in the build details occurrence.
753type Build struct {
754	// BuilderVersion: Required. Immutable. Version of the builder which
755	// produced this build.
756	BuilderVersion string `json:"builderVersion,omitempty"`
757
758	// Signature: Signature of the build in occurrences pointing to this
759	// build note
760	// containing build details.
761	Signature *BuildSignature `json:"signature,omitempty"`
762
763	// ForceSendFields is a list of field names (e.g. "BuilderVersion") to
764	// unconditionally include in API requests. By default, fields with
765	// empty values are omitted from API requests. However, any non-pointer,
766	// non-interface field appearing in ForceSendFields will be sent to the
767	// server regardless of whether the field is empty or not. This may be
768	// used to include empty fields in Patch requests.
769	ForceSendFields []string `json:"-"`
770
771	// NullFields is a list of field names (e.g. "BuilderVersion") to
772	// include in API requests with the JSON null value. By default, fields
773	// with empty values are omitted from API requests. However, any field
774	// with an empty value appearing in NullFields will be sent to the
775	// server as null. It is an error if a field in this list has a
776	// non-empty value. This may be used to include null fields in Patch
777	// requests.
778	NullFields []string `json:"-"`
779}
780
781func (s *Build) MarshalJSON() ([]byte, error) {
782	type NoMethod Build
783	raw := NoMethod(*s)
784	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
785}
786
787// BuildProvenance: Provenance of a build. Contains all information
788// needed to verify the full
789// details about the build from source to completion.
790type BuildProvenance struct {
791	// BuildOptions: Special options applied to this build. This is a
792	// catch-all field where
793	// build providers can enter any desired additional details.
794	BuildOptions map[string]string `json:"buildOptions,omitempty"`
795
796	// BuilderVersion: Version string of the builder at the time this build
797	// was executed.
798	BuilderVersion string `json:"builderVersion,omitempty"`
799
800	// BuiltArtifacts: Output of the build.
801	BuiltArtifacts []*Artifact `json:"builtArtifacts,omitempty"`
802
803	// Commands: Commands requested by the build.
804	Commands []*Command `json:"commands,omitempty"`
805
806	// CreateTime: Time at which the build was created.
807	CreateTime string `json:"createTime,omitempty"`
808
809	// Creator: E-mail address of the user who initiated this build. Note
810	// that this was the
811	// user's e-mail address at the time the build was initiated; this
812	// address may
813	// not represent the same end-user for all time.
814	Creator string `json:"creator,omitempty"`
815
816	// EndTime: Time at which execution of the build was finished.
817	EndTime string `json:"endTime,omitempty"`
818
819	// Id: Required. Unique identifier of the build.
820	Id string `json:"id,omitempty"`
821
822	// LogsUri: URI where any logs for this provenance were written.
823	LogsUri string `json:"logsUri,omitempty"`
824
825	// ProjectId: ID of the project.
826	ProjectId string `json:"projectId,omitempty"`
827
828	// SourceProvenance: Details of the Source input to the build.
829	SourceProvenance *Source `json:"sourceProvenance,omitempty"`
830
831	// StartTime: Time at which execution of the build was started.
832	StartTime string `json:"startTime,omitempty"`
833
834	// TriggerId: Trigger identifier if the build was triggered
835	// automatically; empty if not.
836	TriggerId string `json:"triggerId,omitempty"`
837
838	// ForceSendFields is a list of field names (e.g. "BuildOptions") to
839	// unconditionally include in API requests. By default, fields with
840	// empty values are omitted from API requests. However, any non-pointer,
841	// non-interface field appearing in ForceSendFields will be sent to the
842	// server regardless of whether the field is empty or not. This may be
843	// used to include empty fields in Patch requests.
844	ForceSendFields []string `json:"-"`
845
846	// NullFields is a list of field names (e.g. "BuildOptions") to include
847	// in API requests with the JSON null value. By default, fields with
848	// empty values are omitted from API requests. However, any field with
849	// an empty value appearing in NullFields will be sent to the server as
850	// null. It is an error if a field in this list has a non-empty value.
851	// This may be used to include null fields in Patch requests.
852	NullFields []string `json:"-"`
853}
854
855func (s *BuildProvenance) MarshalJSON() ([]byte, error) {
856	type NoMethod BuildProvenance
857	raw := NoMethod(*s)
858	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
859}
860
861// BuildSignature: Message encapsulating the signature of the verified
862// build.
863type BuildSignature struct {
864	// KeyId: An ID for the key used to sign. This could be either an ID for
865	// the key
866	// stored in `public_key` (such as the ID or fingerprint for a PGP key,
867	// or the
868	// CN for a cert), or a reference to an external key (such as a
869	// reference to a
870	// key in Cloud Key Management Service).
871	KeyId string `json:"keyId,omitempty"`
872
873	// KeyType: The type of the key, either stored in `public_key` or
874	// referenced in
875	// `key_id`.
876	//
877	// Possible values:
878	//   "KEY_TYPE_UNSPECIFIED" - `KeyType` is not set.
879	//   "PGP_ASCII_ARMORED" - `PGP ASCII Armored` public key.
880	//   "PKIX_PEM" - `PKIX PEM` public key.
881	KeyType string `json:"keyType,omitempty"`
882
883	// PublicKey: Public key of the builder which can be used to verify that
884	// the related
885	// findings are valid and unchanged. If `key_type` is empty, this
886	// defaults
887	// to PEM encoded public keys.
888	//
889	// This field may be empty if `key_id` references an external key.
890	//
891	// For Cloud Build based signatures, this is a PEM encoded public
892	// key. To verify the Cloud Build signature, place the contents of
893	// this field into a file (public.pem). The signature field is
894	// base64-decoded
895	// into its binary representation in signature.bin, and the provenance
896	// bytes
897	// from `BuildDetails` are base64-decoded into a binary representation
898	// in
899	// signed.bin. OpenSSL can then verify the signature:
900	// `openssl sha256 -verify public.pem -signature signature.bin
901	// signed.bin`
902	PublicKey string `json:"publicKey,omitempty"`
903
904	// Signature: Required. Signature of the related `BuildProvenance`. In
905	// JSON, this is
906	// base-64 encoded.
907	Signature string `json:"signature,omitempty"`
908
909	// ForceSendFields is a list of field names (e.g. "KeyId") to
910	// unconditionally include in API requests. By default, fields with
911	// empty values are omitted from API requests. However, any non-pointer,
912	// non-interface field appearing in ForceSendFields will be sent to the
913	// server regardless of whether the field is empty or not. This may be
914	// used to include empty fields in Patch requests.
915	ForceSendFields []string `json:"-"`
916
917	// NullFields is a list of field names (e.g. "KeyId") to include in API
918	// requests with the JSON null value. By default, fields with empty
919	// values are omitted from API requests. However, any field with an
920	// empty value appearing in NullFields will be sent to the server as
921	// null. It is an error if a field in this list has a non-empty value.
922	// This may be used to include null fields in Patch requests.
923	NullFields []string `json:"-"`
924}
925
926func (s *BuildSignature) MarshalJSON() ([]byte, error) {
927	type NoMethod BuildSignature
928	raw := NoMethod(*s)
929	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
930}
931
932// CVSSv3: Common Vulnerability Scoring System version 3.
933// For details, see https://www.first.org/cvss/specification-document
934type CVSSv3 struct {
935	// Possible values:
936	//   "ATTACK_COMPLEXITY_UNSPECIFIED"
937	//   "ATTACK_COMPLEXITY_LOW"
938	//   "ATTACK_COMPLEXITY_HIGH"
939	AttackComplexity string `json:"attackComplexity,omitempty"`
940
941	// AttackVector: Base Metrics
942	// Represents the intrinsic characteristics of a vulnerability that
943	// are
944	// constant over time and across user environments.
945	//
946	// Possible values:
947	//   "ATTACK_VECTOR_UNSPECIFIED"
948	//   "ATTACK_VECTOR_NETWORK"
949	//   "ATTACK_VECTOR_ADJACENT"
950	//   "ATTACK_VECTOR_LOCAL"
951	//   "ATTACK_VECTOR_PHYSICAL"
952	AttackVector string `json:"attackVector,omitempty"`
953
954	// Possible values:
955	//   "IMPACT_UNSPECIFIED"
956	//   "IMPACT_HIGH"
957	//   "IMPACT_LOW"
958	//   "IMPACT_NONE"
959	AvailabilityImpact string `json:"availabilityImpact,omitempty"`
960
961	// BaseScore: The base score is a function of the base metric scores.
962	BaseScore float64 `json:"baseScore,omitempty"`
963
964	// Possible values:
965	//   "IMPACT_UNSPECIFIED"
966	//   "IMPACT_HIGH"
967	//   "IMPACT_LOW"
968	//   "IMPACT_NONE"
969	ConfidentialityImpact string `json:"confidentialityImpact,omitempty"`
970
971	ExploitabilityScore float64 `json:"exploitabilityScore,omitempty"`
972
973	ImpactScore float64 `json:"impactScore,omitempty"`
974
975	// Possible values:
976	//   "IMPACT_UNSPECIFIED"
977	//   "IMPACT_HIGH"
978	//   "IMPACT_LOW"
979	//   "IMPACT_NONE"
980	IntegrityImpact string `json:"integrityImpact,omitempty"`
981
982	// Possible values:
983	//   "PRIVILEGES_REQUIRED_UNSPECIFIED"
984	//   "PRIVILEGES_REQUIRED_NONE"
985	//   "PRIVILEGES_REQUIRED_LOW"
986	//   "PRIVILEGES_REQUIRED_HIGH"
987	PrivilegesRequired string `json:"privilegesRequired,omitempty"`
988
989	// Possible values:
990	//   "SCOPE_UNSPECIFIED"
991	//   "SCOPE_UNCHANGED"
992	//   "SCOPE_CHANGED"
993	Scope string `json:"scope,omitempty"`
994
995	// Possible values:
996	//   "USER_INTERACTION_UNSPECIFIED"
997	//   "USER_INTERACTION_NONE"
998	//   "USER_INTERACTION_REQUIRED"
999	UserInteraction string `json:"userInteraction,omitempty"`
1000
1001	// ForceSendFields is a list of field names (e.g. "AttackComplexity") to
1002	// unconditionally include in API requests. By default, fields with
1003	// empty values are omitted from API requests. However, any non-pointer,
1004	// non-interface field appearing in ForceSendFields will be sent to the
1005	// server regardless of whether the field is empty or not. This may be
1006	// used to include empty fields in Patch requests.
1007	ForceSendFields []string `json:"-"`
1008
1009	// NullFields is a list of field names (e.g. "AttackComplexity") to
1010	// include in API requests with the JSON null value. By default, fields
1011	// with empty values are omitted from API requests. However, any field
1012	// with an empty value appearing in NullFields will be sent to the
1013	// server as null. It is an error if a field in this list has a
1014	// non-empty value. This may be used to include null fields in Patch
1015	// requests.
1016	NullFields []string `json:"-"`
1017}
1018
1019func (s *CVSSv3) MarshalJSON() ([]byte, error) {
1020	type NoMethod CVSSv3
1021	raw := NoMethod(*s)
1022	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1023}
1024
1025func (s *CVSSv3) UnmarshalJSON(data []byte) error {
1026	type NoMethod CVSSv3
1027	var s1 struct {
1028		BaseScore           gensupport.JSONFloat64 `json:"baseScore"`
1029		ExploitabilityScore gensupport.JSONFloat64 `json:"exploitabilityScore"`
1030		ImpactScore         gensupport.JSONFloat64 `json:"impactScore"`
1031		*NoMethod
1032	}
1033	s1.NoMethod = (*NoMethod)(s)
1034	if err := json.Unmarshal(data, &s1); err != nil {
1035		return err
1036	}
1037	s.BaseScore = float64(s1.BaseScore)
1038	s.ExploitabilityScore = float64(s1.ExploitabilityScore)
1039	s.ImpactScore = float64(s1.ImpactScore)
1040	return nil
1041}
1042
1043// CloudRepoSourceContext: A CloudRepoSourceContext denotes a particular
1044// revision in a Google Cloud
1045// Source Repo.
1046type CloudRepoSourceContext struct {
1047	// AliasContext: An alias, which may be a branch or tag.
1048	AliasContext *AliasContext `json:"aliasContext,omitempty"`
1049
1050	// RepoId: The ID of the repo.
1051	RepoId *RepoId `json:"repoId,omitempty"`
1052
1053	// RevisionId: A revision ID.
1054	RevisionId string `json:"revisionId,omitempty"`
1055
1056	// ForceSendFields is a list of field names (e.g. "AliasContext") to
1057	// unconditionally include in API requests. By default, fields with
1058	// empty values are omitted from API requests. However, any non-pointer,
1059	// non-interface field appearing in ForceSendFields will be sent to the
1060	// server regardless of whether the field is empty or not. This may be
1061	// used to include empty fields in Patch requests.
1062	ForceSendFields []string `json:"-"`
1063
1064	// NullFields is a list of field names (e.g. "AliasContext") to include
1065	// in API requests with the JSON null value. By default, fields with
1066	// empty values are omitted from API requests. However, any field with
1067	// an empty value appearing in NullFields will be sent to the server as
1068	// null. It is an error if a field in this list has a non-empty value.
1069	// This may be used to include null fields in Patch requests.
1070	NullFields []string `json:"-"`
1071}
1072
1073func (s *CloudRepoSourceContext) MarshalJSON() ([]byte, error) {
1074	type NoMethod CloudRepoSourceContext
1075	raw := NoMethod(*s)
1076	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1077}
1078
1079// Command: Command describes a step performed as part of the build
1080// pipeline.
1081type Command struct {
1082	// Args: Command-line arguments used when executing this command.
1083	Args []string `json:"args,omitempty"`
1084
1085	// Dir: Working directory (relative to project source root) used when
1086	// running this
1087	// command.
1088	Dir string `json:"dir,omitempty"`
1089
1090	// Env: Environment variables set before running this command.
1091	Env []string `json:"env,omitempty"`
1092
1093	// Id: Optional unique identifier for this command, used in wait_for to
1094	// reference
1095	// this command as a dependency.
1096	Id string `json:"id,omitempty"`
1097
1098	// Name: Required. Name of the command, as presented on the command
1099	// line, or if the
1100	// command is packaged as a Docker container, as presented to `docker
1101	// pull`.
1102	Name string `json:"name,omitempty"`
1103
1104	// WaitFor: The ID(s) of the command(s) that this command depends on.
1105	WaitFor []string `json:"waitFor,omitempty"`
1106
1107	// ForceSendFields is a list of field names (e.g. "Args") to
1108	// unconditionally include in API requests. By default, fields with
1109	// empty values are omitted from API requests. However, any non-pointer,
1110	// non-interface field appearing in ForceSendFields will be sent to the
1111	// server regardless of whether the field is empty or not. This may be
1112	// used to include empty fields in Patch requests.
1113	ForceSendFields []string `json:"-"`
1114
1115	// NullFields is a list of field names (e.g. "Args") to include in API
1116	// requests with the JSON null value. By default, fields with empty
1117	// values are omitted from API requests. However, any field with an
1118	// empty value appearing in NullFields will be sent to the server as
1119	// null. It is an error if a field in this list has a non-empty value.
1120	// This may be used to include null fields in Patch requests.
1121	NullFields []string `json:"-"`
1122}
1123
1124func (s *Command) MarshalJSON() ([]byte, error) {
1125	type NoMethod Command
1126	raw := NoMethod(*s)
1127	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1128}
1129
1130// Deployable: An artifact that can be deployed in some runtime.
1131type Deployable struct {
1132	// ResourceUri: Required. Resource URI for the artifact being deployed.
1133	ResourceUri []string `json:"resourceUri,omitempty"`
1134
1135	// ForceSendFields is a list of field names (e.g. "ResourceUri") to
1136	// unconditionally include in API requests. By default, fields with
1137	// empty values are omitted from API requests. However, any non-pointer,
1138	// non-interface field appearing in ForceSendFields will be sent to the
1139	// server regardless of whether the field is empty or not. This may be
1140	// used to include empty fields in Patch requests.
1141	ForceSendFields []string `json:"-"`
1142
1143	// NullFields is a list of field names (e.g. "ResourceUri") to include
1144	// in API requests with the JSON null value. By default, fields with
1145	// empty values are omitted from API requests. However, any field with
1146	// an empty value appearing in NullFields will be sent to the server as
1147	// null. It is an error if a field in this list has a non-empty value.
1148	// This may be used to include null fields in Patch requests.
1149	NullFields []string `json:"-"`
1150}
1151
1152func (s *Deployable) MarshalJSON() ([]byte, error) {
1153	type NoMethod Deployable
1154	raw := NoMethod(*s)
1155	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1156}
1157
1158// Deployment: The period during which some deployable was active in a
1159// runtime.
1160type Deployment struct {
1161	// Address: Address of the runtime element hosting this deployment.
1162	Address string `json:"address,omitempty"`
1163
1164	// Config: Configuration used to create this deployment.
1165	Config string `json:"config,omitempty"`
1166
1167	// DeployTime: Required. Beginning of the lifetime of this deployment.
1168	DeployTime string `json:"deployTime,omitempty"`
1169
1170	// Platform: Platform hosting this deployment.
1171	//
1172	// Possible values:
1173	//   "PLATFORM_UNSPECIFIED" - Unknown.
1174	//   "GKE" - Google Container Engine.
1175	//   "FLEX" - Google App Engine: Flexible Environment.
1176	//   "CUSTOM" - Custom user-defined platform.
1177	Platform string `json:"platform,omitempty"`
1178
1179	// ResourceUri: Output only. Resource URI for the artifact being
1180	// deployed taken from
1181	// the deployable field with the same name.
1182	ResourceUri []string `json:"resourceUri,omitempty"`
1183
1184	// UndeployTime: End of the lifetime of this deployment.
1185	UndeployTime string `json:"undeployTime,omitempty"`
1186
1187	// UserEmail: Identity of the user that triggered this deployment.
1188	UserEmail string `json:"userEmail,omitempty"`
1189
1190	// ForceSendFields is a list of field names (e.g. "Address") to
1191	// unconditionally include in API requests. By default, fields with
1192	// empty values are omitted from API requests. However, any non-pointer,
1193	// non-interface field appearing in ForceSendFields will be sent to the
1194	// server regardless of whether the field is empty or not. This may be
1195	// used to include empty fields in Patch requests.
1196	ForceSendFields []string `json:"-"`
1197
1198	// NullFields is a list of field names (e.g. "Address") to include in
1199	// API requests with the JSON null value. By default, fields with empty
1200	// values are omitted from API requests. However, any field with an
1201	// empty value appearing in NullFields will be sent to the server as
1202	// null. It is an error if a field in this list has a non-empty value.
1203	// This may be used to include null fields in Patch requests.
1204	NullFields []string `json:"-"`
1205}
1206
1207func (s *Deployment) MarshalJSON() ([]byte, error) {
1208	type NoMethod Deployment
1209	raw := NoMethod(*s)
1210	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1211}
1212
1213// Derived: Derived describes the derived image portion (Occurrence) of
1214// the DockerImage
1215// relationship. This image would be produced from a Dockerfile with
1216// FROM
1217// <DockerImage.Basis in attached Note>.
1218type Derived struct {
1219	// BaseResourceUrl: Output only. This contains the base image URL for
1220	// the derived image
1221	// occurrence.
1222	BaseResourceUrl string `json:"baseResourceUrl,omitempty"`
1223
1224	// Distance: Output only. The number of layers by which this image
1225	// differs from the
1226	// associated image basis.
1227	Distance int64 `json:"distance,omitempty"`
1228
1229	// Fingerprint: Required. The fingerprint of the derived image.
1230	Fingerprint *Fingerprint `json:"fingerprint,omitempty"`
1231
1232	// LayerInfo: This contains layer-specific metadata, if populated it has
1233	// length
1234	// "distance" and is ordered with [distance] being the layer
1235	// immediately
1236	// following the base image and [1] being the final layer.
1237	LayerInfo []*Layer `json:"layerInfo,omitempty"`
1238
1239	// ForceSendFields is a list of field names (e.g. "BaseResourceUrl") to
1240	// unconditionally include in API requests. By default, fields with
1241	// empty values are omitted from API requests. However, any non-pointer,
1242	// non-interface field appearing in ForceSendFields will be sent to the
1243	// server regardless of whether the field is empty or not. This may be
1244	// used to include empty fields in Patch requests.
1245	ForceSendFields []string `json:"-"`
1246
1247	// NullFields is a list of field names (e.g. "BaseResourceUrl") to
1248	// include in API requests with the JSON null value. By default, fields
1249	// with empty values are omitted from API requests. However, any field
1250	// with an empty value appearing in NullFields will be sent to the
1251	// server as null. It is an error if a field in this list has a
1252	// non-empty value. This may be used to include null fields in Patch
1253	// requests.
1254	NullFields []string `json:"-"`
1255}
1256
1257func (s *Derived) MarshalJSON() ([]byte, error) {
1258	type NoMethod Derived
1259	raw := NoMethod(*s)
1260	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1261}
1262
1263// Detail: Identifies all appearances of this vulnerability in the
1264// package for a
1265// specific distro/location. For example: glibc
1266// in
1267// cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
1268type Detail struct {
1269	// CpeUri: Required. The CPE URI in
1270	// [cpe format](https://cpe.mitre.org/specification/) in which
1271	// the
1272	// vulnerability manifests. Examples include distro or storage location
1273	// for
1274	// vulnerable jar.
1275	CpeUri string `json:"cpeUri,omitempty"`
1276
1277	// Description: A vendor-specific description of this note.
1278	Description string `json:"description,omitempty"`
1279
1280	// FixedLocation: The fix for this specific package version.
1281	FixedLocation *VulnerabilityLocation `json:"fixedLocation,omitempty"`
1282
1283	// IsObsolete: Whether this detail is obsolete. Occurrences are expected
1284	// not to point to
1285	// obsolete details.
1286	IsObsolete bool `json:"isObsolete,omitempty"`
1287
1288	// MaxAffectedVersion: Deprecated, do not use. Use fixed_location
1289	// instead.
1290	//
1291	// The max version of the package in which the vulnerability exists.
1292	MaxAffectedVersion *Version `json:"maxAffectedVersion,omitempty"`
1293
1294	// MinAffectedVersion: The min version of the package in which the
1295	// vulnerability exists.
1296	MinAffectedVersion *Version `json:"minAffectedVersion,omitempty"`
1297
1298	// Package: Required. The name of the package where the vulnerability
1299	// was found.
1300	Package string `json:"package,omitempty"`
1301
1302	// PackageType: The type of package; whether native or non native(ruby
1303	// gems, node.js
1304	// packages etc).
1305	PackageType string `json:"packageType,omitempty"`
1306
1307	// SeverityName: The severity (eg: distro assigned severity) for this
1308	// vulnerability.
1309	SeverityName string `json:"severityName,omitempty"`
1310
1311	// ForceSendFields is a list of field names (e.g. "CpeUri") to
1312	// unconditionally include in API requests. By default, fields with
1313	// empty values are omitted from API requests. However, any non-pointer,
1314	// non-interface field appearing in ForceSendFields will be sent to the
1315	// server regardless of whether the field is empty or not. This may be
1316	// used to include empty fields in Patch requests.
1317	ForceSendFields []string `json:"-"`
1318
1319	// NullFields is a list of field names (e.g. "CpeUri") to include in API
1320	// requests with the JSON null value. By default, fields with empty
1321	// values are omitted from API requests. However, any field with an
1322	// empty value appearing in NullFields will be sent to the server as
1323	// null. It is an error if a field in this list has a non-empty value.
1324	// This may be used to include null fields in Patch requests.
1325	NullFields []string `json:"-"`
1326}
1327
1328func (s *Detail) MarshalJSON() ([]byte, error) {
1329	type NoMethod Detail
1330	raw := NoMethod(*s)
1331	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1332}
1333
1334// Details: Details of an attestation occurrence.
1335type Details struct {
1336	// Attestation: Required. Attestation for the resource.
1337	Attestation *Attestation `json:"attestation,omitempty"`
1338
1339	// ForceSendFields is a list of field names (e.g. "Attestation") to
1340	// unconditionally include in API requests. By default, fields with
1341	// empty values are omitted from API requests. However, any non-pointer,
1342	// non-interface field appearing in ForceSendFields will be sent to the
1343	// server regardless of whether the field is empty or not. This may be
1344	// used to include empty fields in Patch requests.
1345	ForceSendFields []string `json:"-"`
1346
1347	// NullFields is a list of field names (e.g. "Attestation") to include
1348	// in API requests with the JSON null value. By default, fields with
1349	// empty values are omitted from API requests. However, any field with
1350	// an empty value appearing in NullFields will be sent to the server as
1351	// null. It is an error if a field in this list has a non-empty value.
1352	// This may be used to include null fields in Patch requests.
1353	NullFields []string `json:"-"`
1354}
1355
1356func (s *Details) MarshalJSON() ([]byte, error) {
1357	type NoMethod Details
1358	raw := NoMethod(*s)
1359	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1360}
1361
1362// Discovered: Provides information about the analysis status of a
1363// discovered resource.
1364type Discovered struct {
1365	// AnalysisStatus: The status of discovery for the resource.
1366	//
1367	// Possible values:
1368	//   "ANALYSIS_STATUS_UNSPECIFIED" - Unknown.
1369	//   "PENDING" - Resource is known but no action has been taken yet.
1370	//   "SCANNING" - Resource is being analyzed.
1371	//   "FINISHED_SUCCESS" - Analysis has finished successfully.
1372	//   "FINISHED_FAILED" - Analysis has finished unsuccessfully, the
1373	// analysis itself is in a bad
1374	// state.
1375	//   "FINISHED_UNSUPPORTED" - The resource is known not to be supported
1376	AnalysisStatus string `json:"analysisStatus,omitempty"`
1377
1378	// AnalysisStatusError: When an error is encountered this will contain a
1379	// LocalizedMessage under
1380	// details to show to the user. The LocalizedMessage is output only
1381	// and
1382	// populated by the API.
1383	AnalysisStatusError *Status `json:"analysisStatusError,omitempty"`
1384
1385	// ContinuousAnalysis: Whether the resource is continuously analyzed.
1386	//
1387	// Possible values:
1388	//   "CONTINUOUS_ANALYSIS_UNSPECIFIED" - Unknown.
1389	//   "ACTIVE" - The resource is continuously analyzed.
1390	//   "INACTIVE" - The resource is ignored for continuous analysis.
1391	ContinuousAnalysis string `json:"continuousAnalysis,omitempty"`
1392
1393	// LastAnalysisTime: The last time continuous analysis was done for this
1394	// resource.
1395	// Deprecated, do not use.
1396	LastAnalysisTime string `json:"lastAnalysisTime,omitempty"`
1397
1398	// ForceSendFields is a list of field names (e.g. "AnalysisStatus") to
1399	// unconditionally include in API requests. By default, fields with
1400	// empty values are omitted from API requests. However, any non-pointer,
1401	// non-interface field appearing in ForceSendFields will be sent to the
1402	// server regardless of whether the field is empty or not. This may be
1403	// used to include empty fields in Patch requests.
1404	ForceSendFields []string `json:"-"`
1405
1406	// NullFields is a list of field names (e.g. "AnalysisStatus") to
1407	// include in API requests with the JSON null value. By default, fields
1408	// with empty values are omitted from API requests. However, any field
1409	// with an empty value appearing in NullFields will be sent to the
1410	// server as null. It is an error if a field in this list has a
1411	// non-empty value. This may be used to include null fields in Patch
1412	// requests.
1413	NullFields []string `json:"-"`
1414}
1415
1416func (s *Discovered) MarshalJSON() ([]byte, error) {
1417	type NoMethod Discovered
1418	raw := NoMethod(*s)
1419	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1420}
1421
1422// Discovery: A note that indicates a type of analysis a provider would
1423// perform. This note
1424// exists in a provider's project. A `Discovery` occurrence is created
1425// in a
1426// consumer's project at the start of analysis.
1427type Discovery struct {
1428	// AnalysisKind: Required. Immutable. The kind of analysis that is
1429	// handled by this
1430	// discovery.
1431	//
1432	// Possible values:
1433	//   "NOTE_KIND_UNSPECIFIED" - Unknown.
1434	//   "VULNERABILITY" - The note and occurrence represent a package
1435	// vulnerability.
1436	//   "BUILD" - The note and occurrence assert build provenance.
1437	//   "IMAGE" - This represents an image basis relationship.
1438	//   "PACKAGE" - This represents a package installed via a package
1439	// manager.
1440	//   "DEPLOYMENT" - The note and occurrence track deployment events.
1441	//   "DISCOVERY" - The note and occurrence track the initial discovery
1442	// status of a resource.
1443	//   "ATTESTATION" - This represents a logical "role" that can attest to
1444	// artifacts.
1445	AnalysisKind string `json:"analysisKind,omitempty"`
1446
1447	// ForceSendFields is a list of field names (e.g. "AnalysisKind") to
1448	// unconditionally include in API requests. By default, fields with
1449	// empty values are omitted from API requests. However, any non-pointer,
1450	// non-interface field appearing in ForceSendFields will be sent to the
1451	// server regardless of whether the field is empty or not. This may be
1452	// used to include empty fields in Patch requests.
1453	ForceSendFields []string `json:"-"`
1454
1455	// NullFields is a list of field names (e.g. "AnalysisKind") to include
1456	// in API requests with the JSON null value. By default, fields with
1457	// empty values are omitted from API requests. However, any field with
1458	// an empty value appearing in NullFields will be sent to the server as
1459	// null. It is an error if a field in this list has a non-empty value.
1460	// This may be used to include null fields in Patch requests.
1461	NullFields []string `json:"-"`
1462}
1463
1464func (s *Discovery) MarshalJSON() ([]byte, error) {
1465	type NoMethod Discovery
1466	raw := NoMethod(*s)
1467	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1468}
1469
1470// Distribution: This represents a particular channel of distribution
1471// for a given package.
1472// E.g., Debian's jessie-backports dpkg mirror.
1473type Distribution struct {
1474	// Architecture: The CPU architecture for which packages in this
1475	// distribution channel were
1476	// built.
1477	//
1478	// Possible values:
1479	//   "ARCHITECTURE_UNSPECIFIED" - Unknown architecture.
1480	//   "X86" - X86 architecture.
1481	//   "X64" - X64 architecture.
1482	Architecture string `json:"architecture,omitempty"`
1483
1484	// CpeUri: Required. The cpe_uri in [CPE
1485	// format](https://cpe.mitre.org/specification/)
1486	// denoting the package manager version distributing a package.
1487	CpeUri string `json:"cpeUri,omitempty"`
1488
1489	// Description: The distribution channel-specific description of this
1490	// package.
1491	Description string `json:"description,omitempty"`
1492
1493	// LatestVersion: The latest available version of this package in this
1494	// distribution channel.
1495	LatestVersion *Version `json:"latestVersion,omitempty"`
1496
1497	// Maintainer: A freeform string denoting the maintainer of this
1498	// package.
1499	Maintainer string `json:"maintainer,omitempty"`
1500
1501	// Url: The distribution channel-specific homepage for this package.
1502	Url string `json:"url,omitempty"`
1503
1504	// ForceSendFields is a list of field names (e.g. "Architecture") to
1505	// unconditionally include in API requests. By default, fields with
1506	// empty values are omitted from API requests. However, any non-pointer,
1507	// non-interface field appearing in ForceSendFields will be sent to the
1508	// server regardless of whether the field is empty or not. This may be
1509	// used to include empty fields in Patch requests.
1510	ForceSendFields []string `json:"-"`
1511
1512	// NullFields is a list of field names (e.g. "Architecture") to include
1513	// in API requests with the JSON null value. By default, fields with
1514	// empty values are omitted from API requests. However, any field with
1515	// an empty value appearing in NullFields will be sent to the server as
1516	// null. It is an error if a field in this list has a non-empty value.
1517	// This may be used to include null fields in Patch requests.
1518	NullFields []string `json:"-"`
1519}
1520
1521func (s *Distribution) MarshalJSON() ([]byte, error) {
1522	type NoMethod Distribution
1523	raw := NoMethod(*s)
1524	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1525}
1526
1527// Empty: A generic empty message that you can re-use to avoid defining
1528// duplicated
1529// empty messages in your APIs. A typical example is to use it as the
1530// request
1531// or the response type of an API method. For instance:
1532//
1533//     service Foo {
1534//       rpc Bar(google.protobuf.Empty) returns
1535// (google.protobuf.Empty);
1536//     }
1537//
1538// The JSON representation for `Empty` is empty JSON object `{}`.
1539type Empty struct {
1540	// ServerResponse contains the HTTP response code and headers from the
1541	// server.
1542	googleapi.ServerResponse `json:"-"`
1543}
1544
1545// Expr: Represents an expression text. Example:
1546//
1547//     title: "User account presence"
1548//     description: "Determines whether the request has a user account"
1549//     expression: "size(request.user) > 0"
1550type Expr struct {
1551	// Description: An optional description of the expression. This is a
1552	// longer text which
1553	// describes the expression, e.g. when hovered over it in a UI.
1554	Description string `json:"description,omitempty"`
1555
1556	// Expression: Textual representation of an expression in
1557	// Common Expression Language syntax.
1558	//
1559	// The application context of the containing message determines
1560	// which
1561	// well-known feature set of CEL is supported.
1562	Expression string `json:"expression,omitempty"`
1563
1564	// Location: An optional string indicating the location of the
1565	// expression for error
1566	// reporting, e.g. a file name and a position in the file.
1567	Location string `json:"location,omitempty"`
1568
1569	// Title: An optional title for the expression, i.e. a short string
1570	// describing
1571	// its purpose. This can be used e.g. in UIs which allow to enter
1572	// the
1573	// expression.
1574	Title string `json:"title,omitempty"`
1575
1576	// ForceSendFields is a list of field names (e.g. "Description") to
1577	// unconditionally include in API requests. By default, fields with
1578	// empty values are omitted from API requests. However, any non-pointer,
1579	// non-interface field appearing in ForceSendFields will be sent to the
1580	// server regardless of whether the field is empty or not. This may be
1581	// used to include empty fields in Patch requests.
1582	ForceSendFields []string `json:"-"`
1583
1584	// NullFields is a list of field names (e.g. "Description") to include
1585	// in API requests with the JSON null value. By default, fields with
1586	// empty values are omitted from API requests. However, any field with
1587	// an empty value appearing in NullFields will be sent to the server as
1588	// null. It is an error if a field in this list has a non-empty value.
1589	// This may be used to include null fields in Patch requests.
1590	NullFields []string `json:"-"`
1591}
1592
1593func (s *Expr) MarshalJSON() ([]byte, error) {
1594	type NoMethod Expr
1595	raw := NoMethod(*s)
1596	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1597}
1598
1599// FileHashes: Container message for hashes of byte content of files,
1600// used in source
1601// messages to verify integrity of source input to the build.
1602type FileHashes struct {
1603	// FileHash: Required. Collection of file hashes.
1604	FileHash []*Hash `json:"fileHash,omitempty"`
1605
1606	// ForceSendFields is a list of field names (e.g. "FileHash") to
1607	// unconditionally include in API requests. By default, fields with
1608	// empty values are omitted from API requests. However, any non-pointer,
1609	// non-interface field appearing in ForceSendFields will be sent to the
1610	// server regardless of whether the field is empty or not. This may be
1611	// used to include empty fields in Patch requests.
1612	ForceSendFields []string `json:"-"`
1613
1614	// NullFields is a list of field names (e.g. "FileHash") to include in
1615	// API requests with the JSON null value. By default, fields with empty
1616	// values are omitted from API requests. However, any field with an
1617	// empty value appearing in NullFields will be sent to the server as
1618	// null. It is an error if a field in this list has a non-empty value.
1619	// This may be used to include null fields in Patch requests.
1620	NullFields []string `json:"-"`
1621}
1622
1623func (s *FileHashes) MarshalJSON() ([]byte, error) {
1624	type NoMethod FileHashes
1625	raw := NoMethod(*s)
1626	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1627}
1628
1629// Fingerprint: A set of properties that uniquely identify a given
1630// Docker image.
1631type Fingerprint struct {
1632	// V1Name: Required. The layer ID of the final layer in the Docker
1633	// image's v1
1634	// representation.
1635	V1Name string `json:"v1Name,omitempty"`
1636
1637	// V2Blob: Required. The ordered list of v2 blobs that represent a given
1638	// image.
1639	V2Blob []string `json:"v2Blob,omitempty"`
1640
1641	// V2Name: Output only. The name of the image's v2 blobs computed via:
1642	//   [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " +
1643	// v2_name[N+1])
1644	// Only the name of the final blob is kept.
1645	V2Name string `json:"v2Name,omitempty"`
1646
1647	// ForceSendFields is a list of field names (e.g. "V1Name") to
1648	// unconditionally include in API requests. By default, fields with
1649	// empty values are omitted from API requests. However, any non-pointer,
1650	// non-interface field appearing in ForceSendFields will be sent to the
1651	// server regardless of whether the field is empty or not. This may be
1652	// used to include empty fields in Patch requests.
1653	ForceSendFields []string `json:"-"`
1654
1655	// NullFields is a list of field names (e.g. "V1Name") to include in API
1656	// requests with the JSON null value. By default, fields with empty
1657	// values are omitted from API requests. However, any field with an
1658	// empty value appearing in NullFields will be sent to the server as
1659	// null. It is an error if a field in this list has a non-empty value.
1660	// This may be used to include null fields in Patch requests.
1661	NullFields []string `json:"-"`
1662}
1663
1664func (s *Fingerprint) MarshalJSON() ([]byte, error) {
1665	type NoMethod Fingerprint
1666	raw := NoMethod(*s)
1667	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1668}
1669
1670// FixableTotalByDigest: Per resource and severity counts of fixable and
1671// total vulnerabilities.
1672type FixableTotalByDigest struct {
1673	// FixableCount: The number of fixable vulnerabilities associated with
1674	// this resource.
1675	FixableCount int64 `json:"fixableCount,omitempty,string"`
1676
1677	// Resource: The affected resource.
1678	Resource *Resource `json:"resource,omitempty"`
1679
1680	// Severity: The severity for this count. SEVERITY_UNSPECIFIED indicates
1681	// total across
1682	// all severities.
1683	//
1684	// Possible values:
1685	//   "SEVERITY_UNSPECIFIED" - Unknown.
1686	//   "MINIMAL" - Minimal severity.
1687	//   "LOW" - Low severity.
1688	//   "MEDIUM" - Medium severity.
1689	//   "HIGH" - High severity.
1690	//   "CRITICAL" - Critical severity.
1691	Severity string `json:"severity,omitempty"`
1692
1693	// TotalCount: The total number of vulnerabilities associated with this
1694	// resource.
1695	TotalCount int64 `json:"totalCount,omitempty,string"`
1696
1697	// ForceSendFields is a list of field names (e.g. "FixableCount") to
1698	// unconditionally include in API requests. By default, fields with
1699	// empty values are omitted from API requests. However, any non-pointer,
1700	// non-interface field appearing in ForceSendFields will be sent to the
1701	// server regardless of whether the field is empty or not. This may be
1702	// used to include empty fields in Patch requests.
1703	ForceSendFields []string `json:"-"`
1704
1705	// NullFields is a list of field names (e.g. "FixableCount") to include
1706	// in API requests with the JSON null value. By default, fields with
1707	// empty values are omitted from API requests. However, any field with
1708	// an empty value appearing in NullFields will be sent to the server as
1709	// null. It is an error if a field in this list has a non-empty value.
1710	// This may be used to include null fields in Patch requests.
1711	NullFields []string `json:"-"`
1712}
1713
1714func (s *FixableTotalByDigest) MarshalJSON() ([]byte, error) {
1715	type NoMethod FixableTotalByDigest
1716	raw := NoMethod(*s)
1717	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1718}
1719
1720// GenericSignedAttestation: An attestation wrapper that uses the
1721// Grafeas `Signature` message.
1722// This attestation must define the `serialized_payload` that the
1723// `signatures`
1724// verify and any metadata necessary to interpret that plaintext.
1725// The
1726// signatures should always be over the `serialized_payload` bytestring.
1727type GenericSignedAttestation struct {
1728	// ContentType: Type (for example schema) of the attestation payload
1729	// that was signed.
1730	// The verifier must ensure that the provided type is one that the
1731	// verifier
1732	// supports, and that the attestation payload is a valid instantiation
1733	// of that
1734	// type (for example by validating a JSON schema).
1735	//
1736	// Possible values:
1737	//   "CONTENT_TYPE_UNSPECIFIED" - `ContentType` is not set.
1738	//   "SIMPLE_SIGNING_JSON" - Atomic format attestation signature.
1739	// See
1740	// https://github.com/containers/image/blob/8a5d2f82a6e3263290c8e0276
1741	// c3e0f64e77723e7/docs/atomic-signature.md
1742	// The payload extracted in `plaintext` is a JSON blob conforming to
1743	// the
1744	// linked schema.
1745	ContentType string `json:"contentType,omitempty"`
1746
1747	// SerializedPayload: The serialized payload that is verified by one or
1748	// more `signatures`.
1749	// The encoding and semantic meaning of this payload must match what is
1750	// set in
1751	// `content_type`.
1752	SerializedPayload string `json:"serializedPayload,omitempty"`
1753
1754	// Signatures: One or more signatures over `serialized_payload`.
1755	// Verifier implementations
1756	// should consider this attestation message verified if at least
1757	// one
1758	// `signature` verifies `serialized_payload`.  See `Signature` in
1759	// common.proto
1760	// for more details on signature structure and verification.
1761	Signatures []*Signature `json:"signatures,omitempty"`
1762
1763	// ForceSendFields is a list of field names (e.g. "ContentType") to
1764	// unconditionally include in API requests. By default, fields with
1765	// empty values are omitted from API requests. However, any non-pointer,
1766	// non-interface field appearing in ForceSendFields will be sent to the
1767	// server regardless of whether the field is empty or not. This may be
1768	// used to include empty fields in Patch requests.
1769	ForceSendFields []string `json:"-"`
1770
1771	// NullFields is a list of field names (e.g. "ContentType") to include
1772	// in API requests with the JSON null value. By default, fields with
1773	// empty values are omitted from API requests. However, any field with
1774	// an empty value appearing in NullFields will be sent to the server as
1775	// null. It is an error if a field in this list has a non-empty value.
1776	// This may be used to include null fields in Patch requests.
1777	NullFields []string `json:"-"`
1778}
1779
1780func (s *GenericSignedAttestation) MarshalJSON() ([]byte, error) {
1781	type NoMethod GenericSignedAttestation
1782	raw := NoMethod(*s)
1783	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1784}
1785
1786// GerritSourceContext: A SourceContext referring to a Gerrit project.
1787type GerritSourceContext struct {
1788	// AliasContext: An alias, which may be a branch or tag.
1789	AliasContext *AliasContext `json:"aliasContext,omitempty"`
1790
1791	// GerritProject: The full project name within the host. Projects may be
1792	// nested, so
1793	// "project/subproject" is a valid project name. The "repo name" is
1794	// the
1795	// hostURI/project.
1796	GerritProject string `json:"gerritProject,omitempty"`
1797
1798	// HostUri: The URI of a running Gerrit instance.
1799	HostUri string `json:"hostUri,omitempty"`
1800
1801	// RevisionId: A revision (commit) ID.
1802	RevisionId string `json:"revisionId,omitempty"`
1803
1804	// ForceSendFields is a list of field names (e.g. "AliasContext") to
1805	// unconditionally include in API requests. By default, fields with
1806	// empty values are omitted from API requests. However, any non-pointer,
1807	// non-interface field appearing in ForceSendFields will be sent to the
1808	// server regardless of whether the field is empty or not. This may be
1809	// used to include empty fields in Patch requests.
1810	ForceSendFields []string `json:"-"`
1811
1812	// NullFields is a list of field names (e.g. "AliasContext") to include
1813	// in API requests with the JSON null value. By default, fields with
1814	// empty values are omitted from API requests. However, any field with
1815	// an empty value appearing in NullFields will be sent to the server as
1816	// null. It is an error if a field in this list has a non-empty value.
1817	// This may be used to include null fields in Patch requests.
1818	NullFields []string `json:"-"`
1819}
1820
1821func (s *GerritSourceContext) MarshalJSON() ([]byte, error) {
1822	type NoMethod GerritSourceContext
1823	raw := NoMethod(*s)
1824	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1825}
1826
1827// GetIamPolicyRequest: Request message for `GetIamPolicy` method.
1828type GetIamPolicyRequest struct {
1829}
1830
1831// GitSourceContext: A GitSourceContext denotes a particular revision in
1832// a third party Git
1833// repository (e.g., GitHub).
1834type GitSourceContext struct {
1835	// RevisionId: Git commit hash.
1836	RevisionId string `json:"revisionId,omitempty"`
1837
1838	// Url: Git repository URL.
1839	Url string `json:"url,omitempty"`
1840
1841	// ForceSendFields is a list of field names (e.g. "RevisionId") to
1842	// unconditionally include in API requests. By default, fields with
1843	// empty values are omitted from API requests. However, any non-pointer,
1844	// non-interface field appearing in ForceSendFields will be sent to the
1845	// server regardless of whether the field is empty or not. This may be
1846	// used to include empty fields in Patch requests.
1847	ForceSendFields []string `json:"-"`
1848
1849	// NullFields is a list of field names (e.g. "RevisionId") to include in
1850	// API requests with the JSON null value. By default, fields with empty
1851	// values are omitted from API requests. However, any field with an
1852	// empty value appearing in NullFields will be sent to the server as
1853	// null. It is an error if a field in this list has a non-empty value.
1854	// This may be used to include null fields in Patch requests.
1855	NullFields []string `json:"-"`
1856}
1857
1858func (s *GitSourceContext) MarshalJSON() ([]byte, error) {
1859	type NoMethod GitSourceContext
1860	raw := NoMethod(*s)
1861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1862}
1863
1864// GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata: Metadata
1865// for all operations used and required for all operations
1866// that created by Container Analysis Providers
1867type GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata struct {
1868	// CreateTime: Output only. The time this operation was created.
1869	CreateTime string `json:"createTime,omitempty"`
1870
1871	// EndTime: Output only. The time that this operation was marked
1872	// completed or failed.
1873	EndTime string `json:"endTime,omitempty"`
1874
1875	// ForceSendFields is a list of field names (e.g. "CreateTime") to
1876	// unconditionally include in API requests. By default, fields with
1877	// empty values are omitted from API requests. However, any non-pointer,
1878	// non-interface field appearing in ForceSendFields will be sent to the
1879	// server regardless of whether the field is empty or not. This may be
1880	// used to include empty fields in Patch requests.
1881	ForceSendFields []string `json:"-"`
1882
1883	// NullFields is a list of field names (e.g. "CreateTime") to include in
1884	// API requests with the JSON null value. By default, fields with empty
1885	// values are omitted from API requests. However, any field with an
1886	// empty value appearing in NullFields will be sent to the server as
1887	// null. It is an error if a field in this list has a non-empty value.
1888	// This may be used to include null fields in Patch requests.
1889	NullFields []string `json:"-"`
1890}
1891
1892func (s *GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata) MarshalJSON() ([]byte, error) {
1893	type NoMethod GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata
1894	raw := NoMethod(*s)
1895	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1896}
1897
1898// GrafeasV1beta1BuildDetails: Details of a build occurrence.
1899type GrafeasV1beta1BuildDetails struct {
1900	// Provenance: Required. The actual provenance for the build.
1901	Provenance *BuildProvenance `json:"provenance,omitempty"`
1902
1903	// ProvenanceBytes: Serialized JSON representation of the provenance,
1904	// used in generating the
1905	// build signature in the corresponding build note. After verifying
1906	// the
1907	// signature, `provenance_bytes` can be unmarshalled and compared to
1908	// the
1909	// provenance to confirm that it is unchanged. A base64-encoded
1910	// string
1911	// representation of the provenance bytes is used for the signature in
1912	// order
1913	// to interoperate with openssl which expects this format for
1914	// signature
1915	// verification.
1916	//
1917	// The serialized form is captured both to avoid ambiguity in how
1918	// the
1919	// provenance is marshalled to json as well to prevent incompatibilities
1920	// with
1921	// future changes.
1922	ProvenanceBytes string `json:"provenanceBytes,omitempty"`
1923
1924	// ForceSendFields is a list of field names (e.g. "Provenance") to
1925	// unconditionally include in API requests. By default, fields with
1926	// empty values are omitted from API requests. However, any non-pointer,
1927	// non-interface field appearing in ForceSendFields will be sent to the
1928	// server regardless of whether the field is empty or not. This may be
1929	// used to include empty fields in Patch requests.
1930	ForceSendFields []string `json:"-"`
1931
1932	// NullFields is a list of field names (e.g. "Provenance") to include in
1933	// API requests with the JSON null value. By default, fields with empty
1934	// values are omitted from API requests. However, any field with an
1935	// empty value appearing in NullFields will be sent to the server as
1936	// null. It is an error if a field in this list has a non-empty value.
1937	// This may be used to include null fields in Patch requests.
1938	NullFields []string `json:"-"`
1939}
1940
1941func (s *GrafeasV1beta1BuildDetails) MarshalJSON() ([]byte, error) {
1942	type NoMethod GrafeasV1beta1BuildDetails
1943	raw := NoMethod(*s)
1944	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1945}
1946
1947// GrafeasV1beta1DeploymentDetails: Details of a deployment occurrence.
1948type GrafeasV1beta1DeploymentDetails struct {
1949	// Deployment: Required. Deployment history for the resource.
1950	Deployment *Deployment `json:"deployment,omitempty"`
1951
1952	// ForceSendFields is a list of field names (e.g. "Deployment") to
1953	// unconditionally include in API requests. By default, fields with
1954	// empty values are omitted from API requests. However, any non-pointer,
1955	// non-interface field appearing in ForceSendFields will be sent to the
1956	// server regardless of whether the field is empty or not. This may be
1957	// used to include empty fields in Patch requests.
1958	ForceSendFields []string `json:"-"`
1959
1960	// NullFields is a list of field names (e.g. "Deployment") to include in
1961	// API requests with the JSON null value. By default, fields with empty
1962	// values are omitted from API requests. However, any field with an
1963	// empty value appearing in NullFields will be sent to the server as
1964	// null. It is an error if a field in this list has a non-empty value.
1965	// This may be used to include null fields in Patch requests.
1966	NullFields []string `json:"-"`
1967}
1968
1969func (s *GrafeasV1beta1DeploymentDetails) MarshalJSON() ([]byte, error) {
1970	type NoMethod GrafeasV1beta1DeploymentDetails
1971	raw := NoMethod(*s)
1972	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1973}
1974
1975// GrafeasV1beta1DiscoveryDetails: Details of a discovery occurrence.
1976type GrafeasV1beta1DiscoveryDetails struct {
1977	// Discovered: Required. Analysis status for the discovered resource.
1978	Discovered *Discovered `json:"discovered,omitempty"`
1979
1980	// ForceSendFields is a list of field names (e.g. "Discovered") to
1981	// unconditionally include in API requests. By default, fields with
1982	// empty values are omitted from API requests. However, any non-pointer,
1983	// non-interface field appearing in ForceSendFields will be sent to the
1984	// server regardless of whether the field is empty or not. This may be
1985	// used to include empty fields in Patch requests.
1986	ForceSendFields []string `json:"-"`
1987
1988	// NullFields is a list of field names (e.g. "Discovered") to include in
1989	// API requests with the JSON null value. By default, fields with empty
1990	// values are omitted from API requests. However, any field with an
1991	// empty value appearing in NullFields will be sent to the server as
1992	// null. It is an error if a field in this list has a non-empty value.
1993	// This may be used to include null fields in Patch requests.
1994	NullFields []string `json:"-"`
1995}
1996
1997func (s *GrafeasV1beta1DiscoveryDetails) MarshalJSON() ([]byte, error) {
1998	type NoMethod GrafeasV1beta1DiscoveryDetails
1999	raw := NoMethod(*s)
2000	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2001}
2002
2003// GrafeasV1beta1ImageDetails: Details of an image occurrence.
2004type GrafeasV1beta1ImageDetails struct {
2005	// DerivedImage: Required. Immutable. The child image derived from the
2006	// base image.
2007	DerivedImage *Derived `json:"derivedImage,omitempty"`
2008
2009	// ForceSendFields is a list of field names (e.g. "DerivedImage") to
2010	// unconditionally include in API requests. By default, fields with
2011	// empty values are omitted from API requests. However, any non-pointer,
2012	// non-interface field appearing in ForceSendFields will be sent to the
2013	// server regardless of whether the field is empty or not. This may be
2014	// used to include empty fields in Patch requests.
2015	ForceSendFields []string `json:"-"`
2016
2017	// NullFields is a list of field names (e.g. "DerivedImage") to include
2018	// in API requests with the JSON null value. By default, fields with
2019	// empty values are omitted from API requests. However, any field with
2020	// an empty value appearing in NullFields will be sent to the server as
2021	// null. It is an error if a field in this list has a non-empty value.
2022	// This may be used to include null fields in Patch requests.
2023	NullFields []string `json:"-"`
2024}
2025
2026func (s *GrafeasV1beta1ImageDetails) MarshalJSON() ([]byte, error) {
2027	type NoMethod GrafeasV1beta1ImageDetails
2028	raw := NoMethod(*s)
2029	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2030}
2031
2032// GrafeasV1beta1PackageDetails: Details of a package occurrence.
2033type GrafeasV1beta1PackageDetails struct {
2034	// Installation: Required. Where the package was installed.
2035	Installation *Installation `json:"installation,omitempty"`
2036
2037	// ForceSendFields is a list of field names (e.g. "Installation") to
2038	// unconditionally include in API requests. By default, fields with
2039	// empty values are omitted from API requests. However, any non-pointer,
2040	// non-interface field appearing in ForceSendFields will be sent to the
2041	// server regardless of whether the field is empty or not. This may be
2042	// used to include empty fields in Patch requests.
2043	ForceSendFields []string `json:"-"`
2044
2045	// NullFields is a list of field names (e.g. "Installation") to include
2046	// in API requests with the JSON null value. By default, fields with
2047	// empty values are omitted from API requests. However, any field with
2048	// an empty value appearing in NullFields will be sent to the server as
2049	// null. It is an error if a field in this list has a non-empty value.
2050	// This may be used to include null fields in Patch requests.
2051	NullFields []string `json:"-"`
2052}
2053
2054func (s *GrafeasV1beta1PackageDetails) MarshalJSON() ([]byte, error) {
2055	type NoMethod GrafeasV1beta1PackageDetails
2056	raw := NoMethod(*s)
2057	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2058}
2059
2060// GrafeasV1beta1VulnerabilityDetails: Details of a vulnerability
2061// Occurrence.
2062type GrafeasV1beta1VulnerabilityDetails struct {
2063	// CvssScore: Output only. The CVSS score of this vulnerability. CVSS
2064	// score is on a
2065	// scale of 0-10 where 0 indicates low severity and 10 indicates
2066	// high
2067	// severity.
2068	CvssScore float64 `json:"cvssScore,omitempty"`
2069
2070	// EffectiveSeverity: The distro assigned severity for this
2071	// vulnerability when it is
2072	// available, and note provider assigned severity when distro has not
2073	// yet
2074	// assigned a severity for this vulnerability.
2075	//
2076	// Possible values:
2077	//   "SEVERITY_UNSPECIFIED" - Unknown.
2078	//   "MINIMAL" - Minimal severity.
2079	//   "LOW" - Low severity.
2080	//   "MEDIUM" - Medium severity.
2081	//   "HIGH" - High severity.
2082	//   "CRITICAL" - Critical severity.
2083	EffectiveSeverity string `json:"effectiveSeverity,omitempty"`
2084
2085	// LongDescription: Output only. A detailed description of this
2086	// vulnerability.
2087	LongDescription string `json:"longDescription,omitempty"`
2088
2089	// PackageIssue: Required. The set of affected locations and their fixes
2090	// (if available)
2091	// within the associated resource.
2092	PackageIssue []*PackageIssue `json:"packageIssue,omitempty"`
2093
2094	// RelatedUrls: Output only. URLs related to this vulnerability.
2095	RelatedUrls []*RelatedUrl `json:"relatedUrls,omitempty"`
2096
2097	// Severity: Output only. The note provider assigned Severity of the
2098	// vulnerability.
2099	//
2100	// Possible values:
2101	//   "SEVERITY_UNSPECIFIED" - Unknown.
2102	//   "MINIMAL" - Minimal severity.
2103	//   "LOW" - Low severity.
2104	//   "MEDIUM" - Medium severity.
2105	//   "HIGH" - High severity.
2106	//   "CRITICAL" - Critical severity.
2107	Severity string `json:"severity,omitempty"`
2108
2109	// ShortDescription: Output only. A one sentence description of this
2110	// vulnerability.
2111	ShortDescription string `json:"shortDescription,omitempty"`
2112
2113	// Type: The type of package; whether native or non native(ruby gems,
2114	// node.js
2115	// packages etc)
2116	Type string `json:"type,omitempty"`
2117
2118	// ForceSendFields is a list of field names (e.g. "CvssScore") to
2119	// unconditionally include in API requests. By default, fields with
2120	// empty values are omitted from API requests. However, any non-pointer,
2121	// non-interface field appearing in ForceSendFields will be sent to the
2122	// server regardless of whether the field is empty or not. This may be
2123	// used to include empty fields in Patch requests.
2124	ForceSendFields []string `json:"-"`
2125
2126	// NullFields is a list of field names (e.g. "CvssScore") to include in
2127	// API requests with the JSON null value. By default, fields with empty
2128	// values are omitted from API requests. However, any field with an
2129	// empty value appearing in NullFields will be sent to the server as
2130	// null. It is an error if a field in this list has a non-empty value.
2131	// This may be used to include null fields in Patch requests.
2132	NullFields []string `json:"-"`
2133}
2134
2135func (s *GrafeasV1beta1VulnerabilityDetails) MarshalJSON() ([]byte, error) {
2136	type NoMethod GrafeasV1beta1VulnerabilityDetails
2137	raw := NoMethod(*s)
2138	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2139}
2140
2141func (s *GrafeasV1beta1VulnerabilityDetails) UnmarshalJSON(data []byte) error {
2142	type NoMethod GrafeasV1beta1VulnerabilityDetails
2143	var s1 struct {
2144		CvssScore gensupport.JSONFloat64 `json:"cvssScore"`
2145		*NoMethod
2146	}
2147	s1.NoMethod = (*NoMethod)(s)
2148	if err := json.Unmarshal(data, &s1); err != nil {
2149		return err
2150	}
2151	s.CvssScore = float64(s1.CvssScore)
2152	return nil
2153}
2154
2155// Hash: Container message for hash values.
2156type Hash struct {
2157	// Type: Required. The type of hash that was performed.
2158	//
2159	// Possible values:
2160	//   "HASH_TYPE_UNSPECIFIED" - Unknown.
2161	//   "SHA256" - A SHA-256 hash.
2162	Type string `json:"type,omitempty"`
2163
2164	// Value: Required. The hash value.
2165	Value string `json:"value,omitempty"`
2166
2167	// ForceSendFields is a list of field names (e.g. "Type") to
2168	// unconditionally include in API requests. By default, fields with
2169	// empty values are omitted from API requests. However, any non-pointer,
2170	// non-interface field appearing in ForceSendFields will be sent to the
2171	// server regardless of whether the field is empty or not. This may be
2172	// used to include empty fields in Patch requests.
2173	ForceSendFields []string `json:"-"`
2174
2175	// NullFields is a list of field names (e.g. "Type") to include in API
2176	// requests with the JSON null value. By default, fields with empty
2177	// values are omitted from API requests. However, any field with an
2178	// empty value appearing in NullFields will be sent to the server as
2179	// null. It is an error if a field in this list has a non-empty value.
2180	// This may be used to include null fields in Patch requests.
2181	NullFields []string `json:"-"`
2182}
2183
2184func (s *Hash) MarshalJSON() ([]byte, error) {
2185	type NoMethod Hash
2186	raw := NoMethod(*s)
2187	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2188}
2189
2190// Hint: This submessage provides human-readable hints about the purpose
2191// of the
2192// authority. Because the name of a note acts as its resource reference,
2193// it is
2194// important to disambiguate the canonical name of the Note (which might
2195// be a
2196// UUID for security purposes) from "readable" names more suitable for
2197// debug
2198// output. Note that these hints should not be used to look up
2199// authorities in
2200// security sensitive contexts, such as when looking up attestations
2201// to
2202// verify.
2203type Hint struct {
2204	// HumanReadableName: Required. The human readable name of this
2205	// attestation authority, for
2206	// example "qa".
2207	HumanReadableName string `json:"humanReadableName,omitempty"`
2208
2209	// ForceSendFields is a list of field names (e.g. "HumanReadableName")
2210	// to unconditionally include in API requests. By default, fields with
2211	// empty values are omitted from API requests. However, any non-pointer,
2212	// non-interface field appearing in ForceSendFields will be sent to the
2213	// server regardless of whether the field is empty or not. This may be
2214	// used to include empty fields in Patch requests.
2215	ForceSendFields []string `json:"-"`
2216
2217	// NullFields is a list of field names (e.g. "HumanReadableName") to
2218	// include in API requests with the JSON null value. By default, fields
2219	// with empty values are omitted from API requests. However, any field
2220	// with an empty value appearing in NullFields will be sent to the
2221	// server as null. It is an error if a field in this list has a
2222	// non-empty value. This may be used to include null fields in Patch
2223	// requests.
2224	NullFields []string `json:"-"`
2225}
2226
2227func (s *Hint) MarshalJSON() ([]byte, error) {
2228	type NoMethod Hint
2229	raw := NoMethod(*s)
2230	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2231}
2232
2233// Installation: This represents how a particular software package may
2234// be installed on a
2235// system.
2236type Installation struct {
2237	// Location: Required. All of the places within the filesystem versions
2238	// of this package
2239	// have been found.
2240	Location []*Location `json:"location,omitempty"`
2241
2242	// Name: Output only. The name of the installed package.
2243	Name string `json:"name,omitempty"`
2244
2245	// ForceSendFields is a list of field names (e.g. "Location") to
2246	// unconditionally include in API requests. By default, fields with
2247	// empty values are omitted from API requests. However, any non-pointer,
2248	// non-interface field appearing in ForceSendFields will be sent to the
2249	// server regardless of whether the field is empty or not. This may be
2250	// used to include empty fields in Patch requests.
2251	ForceSendFields []string `json:"-"`
2252
2253	// NullFields is a list of field names (e.g. "Location") to include in
2254	// API requests with the JSON null value. By default, fields with empty
2255	// values are omitted from API requests. However, any field with an
2256	// empty value appearing in NullFields will be sent to the server as
2257	// null. It is an error if a field in this list has a non-empty value.
2258	// This may be used to include null fields in Patch requests.
2259	NullFields []string `json:"-"`
2260}
2261
2262func (s *Installation) MarshalJSON() ([]byte, error) {
2263	type NoMethod Installation
2264	raw := NoMethod(*s)
2265	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2266}
2267
2268type KnowledgeBase struct {
2269	// Name: The KB name (generally of the form KB[0-9]+ i.e. KB123456).
2270	Name string `json:"name,omitempty"`
2271
2272	// Url: A link to the KB in the Windows update catalog
2273	// -
2274	// https://www.catalog.update.microsoft.com/
2275	Url string `json:"url,omitempty"`
2276
2277	// ForceSendFields is a list of field names (e.g. "Name") to
2278	// unconditionally include in API requests. By default, fields with
2279	// empty values are omitted from API requests. However, any non-pointer,
2280	// non-interface field appearing in ForceSendFields will be sent to the
2281	// server regardless of whether the field is empty or not. This may be
2282	// used to include empty fields in Patch requests.
2283	ForceSendFields []string `json:"-"`
2284
2285	// NullFields is a list of field names (e.g. "Name") to include in API
2286	// requests with the JSON null value. By default, fields with empty
2287	// values are omitted from API requests. However, any field with an
2288	// empty value appearing in NullFields will be sent to the server as
2289	// null. It is an error if a field in this list has a non-empty value.
2290	// This may be used to include null fields in Patch requests.
2291	NullFields []string `json:"-"`
2292}
2293
2294func (s *KnowledgeBase) MarshalJSON() ([]byte, error) {
2295	type NoMethod KnowledgeBase
2296	raw := NoMethod(*s)
2297	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2298}
2299
2300// Layer: Layer holds metadata specific to a layer of a Docker image.
2301type Layer struct {
2302	// Arguments: The recovered arguments to the Dockerfile directive.
2303	Arguments string `json:"arguments,omitempty"`
2304
2305	// Directive: Required. The recovered Dockerfile directive used to
2306	// construct this layer.
2307	//
2308	// Possible values:
2309	//   "DIRECTIVE_UNSPECIFIED" - Default value for unsupported/missing
2310	// directive.
2311	//   "MAINTAINER" - https://docs.docker.com/engine/reference/builder/
2312	//   "RUN" - https://docs.docker.com/engine/reference/builder/
2313	//   "CMD" - https://docs.docker.com/engine/reference/builder/
2314	//   "LABEL" - https://docs.docker.com/engine/reference/builder/
2315	//   "EXPOSE" - https://docs.docker.com/engine/reference/builder/
2316	//   "ENV" - https://docs.docker.com/engine/reference/builder/
2317	//   "ADD" - https://docs.docker.com/engine/reference/builder/
2318	//   "COPY" - https://docs.docker.com/engine/reference/builder/
2319	//   "ENTRYPOINT" - https://docs.docker.com/engine/reference/builder/
2320	//   "VOLUME" - https://docs.docker.com/engine/reference/builder/
2321	//   "USER" - https://docs.docker.com/engine/reference/builder/
2322	//   "WORKDIR" - https://docs.docker.com/engine/reference/builder/
2323	//   "ARG" - https://docs.docker.com/engine/reference/builder/
2324	//   "ONBUILD" - https://docs.docker.com/engine/reference/builder/
2325	//   "STOPSIGNAL" - https://docs.docker.com/engine/reference/builder/
2326	//   "HEALTHCHECK" - https://docs.docker.com/engine/reference/builder/
2327	//   "SHELL" - https://docs.docker.com/engine/reference/builder/
2328	Directive string `json:"directive,omitempty"`
2329
2330	// ForceSendFields is a list of field names (e.g. "Arguments") to
2331	// unconditionally include in API requests. By default, fields with
2332	// empty values are omitted from API requests. However, any non-pointer,
2333	// non-interface field appearing in ForceSendFields will be sent to the
2334	// server regardless of whether the field is empty or not. This may be
2335	// used to include empty fields in Patch requests.
2336	ForceSendFields []string `json:"-"`
2337
2338	// NullFields is a list of field names (e.g. "Arguments") to include in
2339	// API requests with the JSON null value. By default, fields with empty
2340	// values are omitted from API requests. However, any field with an
2341	// empty value appearing in NullFields will be sent to the server as
2342	// null. It is an error if a field in this list has a non-empty value.
2343	// This may be used to include null fields in Patch requests.
2344	NullFields []string `json:"-"`
2345}
2346
2347func (s *Layer) MarshalJSON() ([]byte, error) {
2348	type NoMethod Layer
2349	raw := NoMethod(*s)
2350	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2351}
2352
2353// ListNoteOccurrencesResponse: Response for listing occurrences for a
2354// note.
2355type ListNoteOccurrencesResponse struct {
2356	// NextPageToken: Token to provide to skip to a particular spot in the
2357	// list.
2358	NextPageToken string `json:"nextPageToken,omitempty"`
2359
2360	// Occurrences: The occurrences attached to the specified note.
2361	Occurrences []*Occurrence `json:"occurrences,omitempty"`
2362
2363	// ServerResponse contains the HTTP response code and headers from the
2364	// server.
2365	googleapi.ServerResponse `json:"-"`
2366
2367	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2368	// unconditionally include in API requests. By default, fields with
2369	// empty values are omitted from API requests. However, any non-pointer,
2370	// non-interface field appearing in ForceSendFields will be sent to the
2371	// server regardless of whether the field is empty or not. This may be
2372	// used to include empty fields in Patch requests.
2373	ForceSendFields []string `json:"-"`
2374
2375	// NullFields is a list of field names (e.g. "NextPageToken") to include
2376	// in API requests with the JSON null value. By default, fields with
2377	// empty values are omitted from API requests. However, any field with
2378	// an empty value appearing in NullFields will be sent to the server as
2379	// null. It is an error if a field in this list has a non-empty value.
2380	// This may be used to include null fields in Patch requests.
2381	NullFields []string `json:"-"`
2382}
2383
2384func (s *ListNoteOccurrencesResponse) MarshalJSON() ([]byte, error) {
2385	type NoMethod ListNoteOccurrencesResponse
2386	raw := NoMethod(*s)
2387	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2388}
2389
2390// ListNotesResponse: Response for listing notes.
2391type ListNotesResponse struct {
2392	// NextPageToken: The next pagination token in the list response. It
2393	// should be used as
2394	// `page_token` for the following request. An empty value means no
2395	// more
2396	// results.
2397	NextPageToken string `json:"nextPageToken,omitempty"`
2398
2399	// Notes: The notes requested.
2400	Notes []*Note `json:"notes,omitempty"`
2401
2402	// ServerResponse contains the HTTP response code and headers from the
2403	// server.
2404	googleapi.ServerResponse `json:"-"`
2405
2406	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2407	// unconditionally include in API requests. By default, fields with
2408	// empty values are omitted from API requests. However, any non-pointer,
2409	// non-interface field appearing in ForceSendFields will be sent to the
2410	// server regardless of whether the field is empty or not. This may be
2411	// used to include empty fields in Patch requests.
2412	ForceSendFields []string `json:"-"`
2413
2414	// NullFields is a list of field names (e.g. "NextPageToken") to include
2415	// in API requests with the JSON null value. By default, fields with
2416	// empty values are omitted from API requests. However, any field with
2417	// an empty value appearing in NullFields will be sent to the server as
2418	// null. It is an error if a field in this list has a non-empty value.
2419	// This may be used to include null fields in Patch requests.
2420	NullFields []string `json:"-"`
2421}
2422
2423func (s *ListNotesResponse) MarshalJSON() ([]byte, error) {
2424	type NoMethod ListNotesResponse
2425	raw := NoMethod(*s)
2426	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2427}
2428
2429// ListOccurrencesResponse: Response for listing occurrences.
2430type ListOccurrencesResponse struct {
2431	// NextPageToken: The next pagination token in the list response. It
2432	// should be used as
2433	// `page_token` for the following request. An empty value means no
2434	// more
2435	// results.
2436	NextPageToken string `json:"nextPageToken,omitempty"`
2437
2438	// Occurrences: The occurrences requested.
2439	Occurrences []*Occurrence `json:"occurrences,omitempty"`
2440
2441	// ServerResponse contains the HTTP response code and headers from the
2442	// server.
2443	googleapi.ServerResponse `json:"-"`
2444
2445	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2446	// unconditionally include in API requests. By default, fields with
2447	// empty values are omitted from API requests. However, any non-pointer,
2448	// non-interface field appearing in ForceSendFields will be sent to the
2449	// server regardless of whether the field is empty or not. This may be
2450	// used to include empty fields in Patch requests.
2451	ForceSendFields []string `json:"-"`
2452
2453	// NullFields is a list of field names (e.g. "NextPageToken") to include
2454	// in API requests with the JSON null value. By default, fields with
2455	// empty values are omitted from API requests. However, any field with
2456	// an empty value appearing in NullFields will be sent to the server as
2457	// null. It is an error if a field in this list has a non-empty value.
2458	// This may be used to include null fields in Patch requests.
2459	NullFields []string `json:"-"`
2460}
2461
2462func (s *ListOccurrencesResponse) MarshalJSON() ([]byte, error) {
2463	type NoMethod ListOccurrencesResponse
2464	raw := NoMethod(*s)
2465	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2466}
2467
2468// ListScanConfigsResponse: Response for listing scan configurations.
2469type ListScanConfigsResponse struct {
2470	// NextPageToken: The next pagination token in the list response. It
2471	// should be used as
2472	// `page_token` for the following request. An empty value means no
2473	// more
2474	// results.
2475	NextPageToken string `json:"nextPageToken,omitempty"`
2476
2477	// ScanConfigs: The scan configurations requested.
2478	ScanConfigs []*ScanConfig `json:"scanConfigs,omitempty"`
2479
2480	// ServerResponse contains the HTTP response code and headers from the
2481	// server.
2482	googleapi.ServerResponse `json:"-"`
2483
2484	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2485	// unconditionally include in API requests. By default, fields with
2486	// empty values are omitted from API requests. However, any non-pointer,
2487	// non-interface field appearing in ForceSendFields will be sent to the
2488	// server regardless of whether the field is empty or not. This may be
2489	// used to include empty fields in Patch requests.
2490	ForceSendFields []string `json:"-"`
2491
2492	// NullFields is a list of field names (e.g. "NextPageToken") to include
2493	// in API requests with the JSON null value. By default, fields with
2494	// empty values are omitted from API requests. However, any field with
2495	// an empty value appearing in NullFields will be sent to the server as
2496	// null. It is an error if a field in this list has a non-empty value.
2497	// This may be used to include null fields in Patch requests.
2498	NullFields []string `json:"-"`
2499}
2500
2501func (s *ListScanConfigsResponse) MarshalJSON() ([]byte, error) {
2502	type NoMethod ListScanConfigsResponse
2503	raw := NoMethod(*s)
2504	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2505}
2506
2507// Location: An occurrence of a particular package installation found
2508// within a system's
2509// filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
2510type Location struct {
2511	// CpeUri: Required. The CPE URI in [CPE
2512	// format](https://cpe.mitre.org/specification/)
2513	// denoting the package manager version distributing a package.
2514	CpeUri string `json:"cpeUri,omitempty"`
2515
2516	// Path: The path from which we gathered that this package/version is
2517	// installed.
2518	Path string `json:"path,omitempty"`
2519
2520	// Version: The version installed at this location.
2521	Version *Version `json:"version,omitempty"`
2522
2523	// ForceSendFields is a list of field names (e.g. "CpeUri") to
2524	// unconditionally include in API requests. By default, fields with
2525	// empty values are omitted from API requests. However, any non-pointer,
2526	// non-interface field appearing in ForceSendFields will be sent to the
2527	// server regardless of whether the field is empty or not. This may be
2528	// used to include empty fields in Patch requests.
2529	ForceSendFields []string `json:"-"`
2530
2531	// NullFields is a list of field names (e.g. "CpeUri") to include in API
2532	// requests with the JSON null value. By default, fields with empty
2533	// values are omitted from API requests. However, any field with an
2534	// empty value appearing in NullFields will be sent to the server as
2535	// null. It is an error if a field in this list has a non-empty value.
2536	// This may be used to include null fields in Patch requests.
2537	NullFields []string `json:"-"`
2538}
2539
2540func (s *Location) MarshalJSON() ([]byte, error) {
2541	type NoMethod Location
2542	raw := NoMethod(*s)
2543	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2544}
2545
2546// Note: A type of analysis that can be done for a resource.
2547type Note struct {
2548	// AttestationAuthority: A note describing an attestation role.
2549	AttestationAuthority *Authority `json:"attestationAuthority,omitempty"`
2550
2551	// BaseImage: A note describing a base image.
2552	BaseImage *Basis `json:"baseImage,omitempty"`
2553
2554	// Build: A note describing build provenance for a verifiable build.
2555	Build *Build `json:"build,omitempty"`
2556
2557	// CreateTime: Output only. The time this note was created. This field
2558	// can be used as a
2559	// filter in list requests.
2560	CreateTime string `json:"createTime,omitempty"`
2561
2562	// Deployable: A note describing something that can be deployed.
2563	Deployable *Deployable `json:"deployable,omitempty"`
2564
2565	// Discovery: A note describing the initial analysis of a resource.
2566	Discovery *Discovery `json:"discovery,omitempty"`
2567
2568	// ExpirationTime: Time of expiration for this note. Empty if note does
2569	// not expire.
2570	ExpirationTime string `json:"expirationTime,omitempty"`
2571
2572	// Kind: Output only. The type of analysis. This field can be used as a
2573	// filter in
2574	// list requests.
2575	//
2576	// Possible values:
2577	//   "NOTE_KIND_UNSPECIFIED" - Unknown.
2578	//   "VULNERABILITY" - The note and occurrence represent a package
2579	// vulnerability.
2580	//   "BUILD" - The note and occurrence assert build provenance.
2581	//   "IMAGE" - This represents an image basis relationship.
2582	//   "PACKAGE" - This represents a package installed via a package
2583	// manager.
2584	//   "DEPLOYMENT" - The note and occurrence track deployment events.
2585	//   "DISCOVERY" - The note and occurrence track the initial discovery
2586	// status of a resource.
2587	//   "ATTESTATION" - This represents a logical "role" that can attest to
2588	// artifacts.
2589	Kind string `json:"kind,omitempty"`
2590
2591	// LongDescription: A detailed description of this note.
2592	LongDescription string `json:"longDescription,omitempty"`
2593
2594	// Name: Output only. The name of the note in the form
2595	// of
2596	// `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
2597	Name string `json:"name,omitempty"`
2598
2599	// Package: A note describing a package hosted by various package
2600	// managers.
2601	Package *Package `json:"package,omitempty"`
2602
2603	// RelatedNoteNames: Other notes related to this note.
2604	RelatedNoteNames []string `json:"relatedNoteNames,omitempty"`
2605
2606	// RelatedUrl: URLs associated with this note.
2607	RelatedUrl []*RelatedUrl `json:"relatedUrl,omitempty"`
2608
2609	// ShortDescription: A one sentence description of this note.
2610	ShortDescription string `json:"shortDescription,omitempty"`
2611
2612	// UpdateTime: Output only. The time this note was last updated. This
2613	// field can be used as
2614	// a filter in list requests.
2615	UpdateTime string `json:"updateTime,omitempty"`
2616
2617	// Vulnerability: A note describing a package vulnerability.
2618	Vulnerability *Vulnerability `json:"vulnerability,omitempty"`
2619
2620	// ServerResponse contains the HTTP response code and headers from the
2621	// server.
2622	googleapi.ServerResponse `json:"-"`
2623
2624	// ForceSendFields is a list of field names (e.g.
2625	// "AttestationAuthority") to unconditionally include in API requests.
2626	// By default, fields with empty values are omitted from API requests.
2627	// However, any non-pointer, non-interface field appearing in
2628	// ForceSendFields will be sent to the server regardless of whether the
2629	// field is empty or not. This may be used to include empty fields in
2630	// Patch requests.
2631	ForceSendFields []string `json:"-"`
2632
2633	// NullFields is a list of field names (e.g. "AttestationAuthority") to
2634	// include in API requests with the JSON null value. By default, fields
2635	// with empty values are omitted from API requests. However, any field
2636	// with an empty value appearing in NullFields will be sent to the
2637	// server as null. It is an error if a field in this list has a
2638	// non-empty value. This may be used to include null fields in Patch
2639	// requests.
2640	NullFields []string `json:"-"`
2641}
2642
2643func (s *Note) MarshalJSON() ([]byte, error) {
2644	type NoMethod Note
2645	raw := NoMethod(*s)
2646	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2647}
2648
2649// Occurrence: An instance of an analysis type that has been found on a
2650// resource.
2651type Occurrence struct {
2652	// Attestation: Describes an attestation of an artifact.
2653	Attestation *Details `json:"attestation,omitempty"`
2654
2655	// Build: Describes a verifiable build.
2656	Build *GrafeasV1beta1BuildDetails `json:"build,omitempty"`
2657
2658	// CreateTime: Output only. The time this occurrence was created.
2659	CreateTime string `json:"createTime,omitempty"`
2660
2661	// Deployment: Describes the deployment of an artifact on a runtime.
2662	Deployment *GrafeasV1beta1DeploymentDetails `json:"deployment,omitempty"`
2663
2664	// DerivedImage: Describes how this resource derives from the basis in
2665	// the associated
2666	// note.
2667	DerivedImage *GrafeasV1beta1ImageDetails `json:"derivedImage,omitempty"`
2668
2669	// Discovered: Describes when a resource was discovered.
2670	Discovered *GrafeasV1beta1DiscoveryDetails `json:"discovered,omitempty"`
2671
2672	// Installation: Describes the installation of a package on the linked
2673	// resource.
2674	Installation *GrafeasV1beta1PackageDetails `json:"installation,omitempty"`
2675
2676	// Kind: Output only. This explicitly denotes which of the occurrence
2677	// details are
2678	// specified. This field can be used as a filter in list requests.
2679	//
2680	// Possible values:
2681	//   "NOTE_KIND_UNSPECIFIED" - Unknown.
2682	//   "VULNERABILITY" - The note and occurrence represent a package
2683	// vulnerability.
2684	//   "BUILD" - The note and occurrence assert build provenance.
2685	//   "IMAGE" - This represents an image basis relationship.
2686	//   "PACKAGE" - This represents a package installed via a package
2687	// manager.
2688	//   "DEPLOYMENT" - The note and occurrence track deployment events.
2689	//   "DISCOVERY" - The note and occurrence track the initial discovery
2690	// status of a resource.
2691	//   "ATTESTATION" - This represents a logical "role" that can attest to
2692	// artifacts.
2693	Kind string `json:"kind,omitempty"`
2694
2695	// Name: Output only. The name of the occurrence in the form
2696	// of
2697	// `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
2698	Name string `json:"name,omitempty"`
2699
2700	// NoteName: Required. Immutable. The analysis note associated with this
2701	// occurrence, in
2702	// the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can
2703	// be
2704	// used as a filter in list requests.
2705	NoteName string `json:"noteName,omitempty"`
2706
2707	// Remediation: A description of actions that can be taken to remedy the
2708	// note.
2709	Remediation string `json:"remediation,omitempty"`
2710
2711	// Resource: Required. Immutable. The resource for which the occurrence
2712	// applies.
2713	Resource *Resource `json:"resource,omitempty"`
2714
2715	// UpdateTime: Output only. The time this occurrence was last updated.
2716	UpdateTime string `json:"updateTime,omitempty"`
2717
2718	// Vulnerability: Describes a security vulnerability.
2719	Vulnerability *GrafeasV1beta1VulnerabilityDetails `json:"vulnerability,omitempty"`
2720
2721	// ServerResponse contains the HTTP response code and headers from the
2722	// server.
2723	googleapi.ServerResponse `json:"-"`
2724
2725	// ForceSendFields is a list of field names (e.g. "Attestation") to
2726	// unconditionally include in API requests. By default, fields with
2727	// empty values are omitted from API requests. However, any non-pointer,
2728	// non-interface field appearing in ForceSendFields will be sent to the
2729	// server regardless of whether the field is empty or not. This may be
2730	// used to include empty fields in Patch requests.
2731	ForceSendFields []string `json:"-"`
2732
2733	// NullFields is a list of field names (e.g. "Attestation") to include
2734	// in API requests with the JSON null value. By default, fields with
2735	// empty values are omitted from API requests. However, any field with
2736	// an empty value appearing in NullFields will be sent to the server as
2737	// null. It is an error if a field in this list has a non-empty value.
2738	// This may be used to include null fields in Patch requests.
2739	NullFields []string `json:"-"`
2740}
2741
2742func (s *Occurrence) MarshalJSON() ([]byte, error) {
2743	type NoMethod Occurrence
2744	raw := NoMethod(*s)
2745	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2746}
2747
2748// Package: This represents a particular package that is distributed
2749// over various
2750// channels. E.g., glibc (aka libc6) is distributed by many, at
2751// various
2752// versions.
2753type Package struct {
2754	// Distribution: The various channels by which a package is distributed.
2755	Distribution []*Distribution `json:"distribution,omitempty"`
2756
2757	// Name: Required. Immutable. The name of the package.
2758	Name string `json:"name,omitempty"`
2759
2760	// ForceSendFields is a list of field names (e.g. "Distribution") to
2761	// unconditionally include in API requests. By default, fields with
2762	// empty values are omitted from API requests. However, any non-pointer,
2763	// non-interface field appearing in ForceSendFields will be sent to the
2764	// server regardless of whether the field is empty or not. This may be
2765	// used to include empty fields in Patch requests.
2766	ForceSendFields []string `json:"-"`
2767
2768	// NullFields is a list of field names (e.g. "Distribution") to include
2769	// in API requests with the JSON null value. By default, fields with
2770	// empty values are omitted from API requests. However, any field with
2771	// an empty value appearing in NullFields will be sent to the server as
2772	// null. It is an error if a field in this list has a non-empty value.
2773	// This may be used to include null fields in Patch requests.
2774	NullFields []string `json:"-"`
2775}
2776
2777func (s *Package) MarshalJSON() ([]byte, error) {
2778	type NoMethod Package
2779	raw := NoMethod(*s)
2780	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2781}
2782
2783// PackageIssue: This message wraps a location affected by a
2784// vulnerability and its
2785// associated fix (if one is available).
2786type PackageIssue struct {
2787	// AffectedLocation: Required. The location of the vulnerability.
2788	AffectedLocation *VulnerabilityLocation `json:"affectedLocation,omitempty"`
2789
2790	// FixedLocation: The location of the available fix for vulnerability.
2791	FixedLocation *VulnerabilityLocation `json:"fixedLocation,omitempty"`
2792
2793	// SeverityName: Deprecated, use Details.effective_severity instead
2794	// The severity (e.g., distro assigned severity) for this vulnerability.
2795	SeverityName string `json:"severityName,omitempty"`
2796
2797	// ForceSendFields is a list of field names (e.g. "AffectedLocation") to
2798	// unconditionally include in API requests. By default, fields with
2799	// empty values are omitted from API requests. However, any non-pointer,
2800	// non-interface field appearing in ForceSendFields will be sent to the
2801	// server regardless of whether the field is empty or not. This may be
2802	// used to include empty fields in Patch requests.
2803	ForceSendFields []string `json:"-"`
2804
2805	// NullFields is a list of field names (e.g. "AffectedLocation") to
2806	// include in API requests with the JSON null value. By default, fields
2807	// with empty values are omitted from API requests. However, any field
2808	// with an empty value appearing in NullFields will be sent to the
2809	// server as null. It is an error if a field in this list has a
2810	// non-empty value. This may be used to include null fields in Patch
2811	// requests.
2812	NullFields []string `json:"-"`
2813}
2814
2815func (s *PackageIssue) MarshalJSON() ([]byte, error) {
2816	type NoMethod PackageIssue
2817	raw := NoMethod(*s)
2818	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2819}
2820
2821// PgpSignedAttestation: An attestation wrapper with a PGP-compatible
2822// signature. This message only
2823// supports `ATTACHED` signatures, where the payload that is signed is
2824// included
2825// alongside the signature itself in the same file.
2826type PgpSignedAttestation struct {
2827	// ContentType: Type (for example schema) of the attestation payload
2828	// that was signed.
2829	// The verifier must ensure that the provided type is one that the
2830	// verifier
2831	// supports, and that the attestation payload is a valid instantiation
2832	// of that
2833	// type (for example by validating a JSON schema).
2834	//
2835	// Possible values:
2836	//   "CONTENT_TYPE_UNSPECIFIED" - `ContentType` is not set.
2837	//   "SIMPLE_SIGNING_JSON" - Atomic format attestation signature.
2838	// See
2839	// https://github.com/containers/image/blob/8a5d2f82a6e3263290c8e0276
2840	// c3e0f64e77723e7/docs/atomic-signature.md
2841	// The payload extracted from `signature` is a JSON blob conforming to
2842	// the
2843	// linked schema.
2844	ContentType string `json:"contentType,omitempty"`
2845
2846	// PgpKeyId: The cryptographic fingerprint of the key used to generate
2847	// the signature,
2848	// as output by, e.g. `gpg --list-keys`. This should be the version 4,
2849	// full
2850	// 160-bit fingerprint, expressed as a 40 character hexidecimal string.
2851	// See
2852	// https://tools.ietf.org/html/rfc4880#section-12.2 for
2853	// details.
2854	// Implementations may choose to acknowledge "LONG", "SHORT", or
2855	// other
2856	// abbreviated key IDs, but only the full fingerprint is guaranteed to
2857	// work.
2858	// In gpg, the full fingerprint can be retrieved from the `fpr`
2859	// field
2860	// returned when calling --list-keys with --with-colons.  For
2861	// example:
2862	// ```
2863	// gpg --with-colons --with-fingerprint --force-v4-certs \
2864	//     --list-keys
2865	// attester@example.com
2866	// tru::1:1513631572:0:3:1:5
2867	// pub:...<SNIP>...
2868	// fpr:::
2869	// ::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
2870	// ```
2871	// Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
2872	PgpKeyId string `json:"pgpKeyId,omitempty"`
2873
2874	// Signature: Required. The raw content of the signature, as output by
2875	// GNU Privacy Guard
2876	// (GPG) or equivalent. Since this message only supports attached
2877	// signatures,
2878	// the payload that was signed must be attached. While the signature
2879	// format
2880	// supported is dependent on the verification implementation, currently
2881	// only
2882	// ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather
2883	// than
2884	// `--clearsign` to gpg) are supported. Concretely, `gpg --sign
2885	// --armor
2886	// --output=signature.gpg payload.json` will create the signature
2887	// content
2888	// expected in this field in `signature.gpg` for the
2889	// `payload.json`
2890	// attestation payload.
2891	Signature string `json:"signature,omitempty"`
2892
2893	// ForceSendFields is a list of field names (e.g. "ContentType") to
2894	// unconditionally include in API requests. By default, fields with
2895	// empty values are omitted from API requests. However, any non-pointer,
2896	// non-interface field appearing in ForceSendFields will be sent to the
2897	// server regardless of whether the field is empty or not. This may be
2898	// used to include empty fields in Patch requests.
2899	ForceSendFields []string `json:"-"`
2900
2901	// NullFields is a list of field names (e.g. "ContentType") to include
2902	// in API requests with the JSON null value. By default, fields with
2903	// empty values are omitted from API requests. However, any field with
2904	// an empty value appearing in NullFields will be sent to the server as
2905	// null. It is an error if a field in this list has a non-empty value.
2906	// This may be used to include null fields in Patch requests.
2907	NullFields []string `json:"-"`
2908}
2909
2910func (s *PgpSignedAttestation) MarshalJSON() ([]byte, error) {
2911	type NoMethod PgpSignedAttestation
2912	raw := NoMethod(*s)
2913	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2914}
2915
2916// Policy: Defines an Identity and Access Management (IAM) policy. It is
2917// used to
2918// specify access control policies for Cloud Platform resources.
2919//
2920//
2921// A `Policy` consists of a list of `bindings`. A `binding` binds a list
2922// of
2923// `members` to a `role`, where the members can be user accounts, Google
2924// groups,
2925// Google domains, and service accounts. A `role` is a named list of
2926// permissions
2927// defined by IAM.
2928//
2929// **JSON Example**
2930//
2931//     {
2932//       "bindings": [
2933//         {
2934//           "role": "roles/owner",
2935//           "members": [
2936//             "user:mike@example.com",
2937//             "group:admins@example.com",
2938//             "domain:google.com",
2939//
2940// "serviceAccount:my-other-app@appspot.gserviceaccount.com"
2941//           ]
2942//         },
2943//         {
2944//           "role": "roles/viewer",
2945//           "members": ["user:sean@example.com"]
2946//         }
2947//       ]
2948//     }
2949//
2950// **YAML Example**
2951//
2952//     bindings:
2953//     - members:
2954//       - user:mike@example.com
2955//       - group:admins@example.com
2956//       - domain:google.com
2957//       - serviceAccount:my-other-app@appspot.gserviceaccount.com
2958//       role: roles/owner
2959//     - members:
2960//       - user:sean@example.com
2961//       role: roles/viewer
2962//
2963//
2964// For a description of IAM and its features, see the
2965// [IAM developer's guide](https://cloud.google.com/iam/docs).
2966type Policy struct {
2967	// AuditConfigs: Specifies cloud audit logging configuration for this
2968	// policy.
2969	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
2970
2971	// Bindings: Associates a list of `members` to a `role`.
2972	// `bindings` with no members will result in an error.
2973	Bindings []*Binding `json:"bindings,omitempty"`
2974
2975	// Etag: `etag` is used for optimistic concurrency control as a way to
2976	// help
2977	// prevent simultaneous updates of a policy from overwriting each
2978	// other.
2979	// It is strongly suggested that systems make use of the `etag` in
2980	// the
2981	// read-modify-write cycle to perform policy updates in order to avoid
2982	// race
2983	// conditions: An `etag` is returned in the response to `getIamPolicy`,
2984	// and
2985	// systems are expected to put that etag in the request to
2986	// `setIamPolicy` to
2987	// ensure that their change will be applied to the same version of the
2988	// policy.
2989	//
2990	// If no `etag` is provided in the call to `setIamPolicy`, then the
2991	// existing
2992	// policy is overwritten blindly.
2993	Etag string `json:"etag,omitempty"`
2994
2995	// Version: Deprecated.
2996	Version int64 `json:"version,omitempty"`
2997
2998	// ServerResponse contains the HTTP response code and headers from the
2999	// server.
3000	googleapi.ServerResponse `json:"-"`
3001
3002	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
3003	// unconditionally include in API requests. By default, fields with
3004	// empty values are omitted from API requests. However, any non-pointer,
3005	// non-interface field appearing in ForceSendFields will be sent to the
3006	// server regardless of whether the field is empty or not. This may be
3007	// used to include empty fields in Patch requests.
3008	ForceSendFields []string `json:"-"`
3009
3010	// NullFields is a list of field names (e.g. "AuditConfigs") to include
3011	// in API requests with the JSON null value. By default, fields with
3012	// empty values are omitted from API requests. However, any field with
3013	// an empty value appearing in NullFields will be sent to the server as
3014	// null. It is an error if a field in this list has a non-empty value.
3015	// This may be used to include null fields in Patch requests.
3016	NullFields []string `json:"-"`
3017}
3018
3019func (s *Policy) MarshalJSON() ([]byte, error) {
3020	type NoMethod Policy
3021	raw := NoMethod(*s)
3022	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3023}
3024
3025// ProjectRepoId: Selects a repo using a Google Cloud Platform project
3026// ID (e.g.,
3027// winged-cargo-31) and a repo name within that project.
3028type ProjectRepoId struct {
3029	// ProjectId: The ID of the project.
3030	ProjectId string `json:"projectId,omitempty"`
3031
3032	// RepoName: The name of the repo. Leave empty for the default repo.
3033	RepoName string `json:"repoName,omitempty"`
3034
3035	// ForceSendFields is a list of field names (e.g. "ProjectId") to
3036	// unconditionally include in API requests. By default, fields with
3037	// empty values are omitted from API requests. However, any non-pointer,
3038	// non-interface field appearing in ForceSendFields will be sent to the
3039	// server regardless of whether the field is empty or not. This may be
3040	// used to include empty fields in Patch requests.
3041	ForceSendFields []string `json:"-"`
3042
3043	// NullFields is a list of field names (e.g. "ProjectId") to include in
3044	// API requests with the JSON null value. By default, fields with empty
3045	// values are omitted from API requests. However, any field with an
3046	// empty value appearing in NullFields will be sent to the server as
3047	// null. It is an error if a field in this list has a non-empty value.
3048	// This may be used to include null fields in Patch requests.
3049	NullFields []string `json:"-"`
3050}
3051
3052func (s *ProjectRepoId) MarshalJSON() ([]byte, error) {
3053	type NoMethod ProjectRepoId
3054	raw := NoMethod(*s)
3055	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3056}
3057
3058// RelatedUrl: Metadata for any related URL information.
3059type RelatedUrl struct {
3060	// Label: Label to describe usage of the URL.
3061	Label string `json:"label,omitempty"`
3062
3063	// Url: Specific URL associated with the resource.
3064	Url string `json:"url,omitempty"`
3065
3066	// ForceSendFields is a list of field names (e.g. "Label") to
3067	// unconditionally include in API requests. By default, fields with
3068	// empty values are omitted from API requests. However, any non-pointer,
3069	// non-interface field appearing in ForceSendFields will be sent to the
3070	// server regardless of whether the field is empty or not. This may be
3071	// used to include empty fields in Patch requests.
3072	ForceSendFields []string `json:"-"`
3073
3074	// NullFields is a list of field names (e.g. "Label") to include in API
3075	// requests with the JSON null value. By default, fields with empty
3076	// values are omitted from API requests. However, any field with an
3077	// empty value appearing in NullFields will be sent to the server as
3078	// null. It is an error if a field in this list has a non-empty value.
3079	// This may be used to include null fields in Patch requests.
3080	NullFields []string `json:"-"`
3081}
3082
3083func (s *RelatedUrl) MarshalJSON() ([]byte, error) {
3084	type NoMethod RelatedUrl
3085	raw := NoMethod(*s)
3086	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3087}
3088
3089// RepoId: A unique identifier for a Cloud Repo.
3090type RepoId struct {
3091	// ProjectRepoId: A combination of a project ID and a repo name.
3092	ProjectRepoId *ProjectRepoId `json:"projectRepoId,omitempty"`
3093
3094	// Uid: A server-assigned, globally unique identifier.
3095	Uid string `json:"uid,omitempty"`
3096
3097	// ForceSendFields is a list of field names (e.g. "ProjectRepoId") to
3098	// unconditionally include in API requests. By default, fields with
3099	// empty values are omitted from API requests. However, any non-pointer,
3100	// non-interface field appearing in ForceSendFields will be sent to the
3101	// server regardless of whether the field is empty or not. This may be
3102	// used to include empty fields in Patch requests.
3103	ForceSendFields []string `json:"-"`
3104
3105	// NullFields is a list of field names (e.g. "ProjectRepoId") to include
3106	// in API requests with the JSON null value. By default, fields with
3107	// empty values are omitted from API requests. However, any field with
3108	// an empty value appearing in NullFields will be sent to the server as
3109	// null. It is an error if a field in this list has a non-empty value.
3110	// This may be used to include null fields in Patch requests.
3111	NullFields []string `json:"-"`
3112}
3113
3114func (s *RepoId) MarshalJSON() ([]byte, error) {
3115	type NoMethod RepoId
3116	raw := NoMethod(*s)
3117	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3118}
3119
3120// Resource: An entity that can have metadata. For example, a Docker
3121// image.
3122type Resource struct {
3123	// ContentHash: Deprecated, do not use. Use uri instead.
3124	//
3125	// The hash of the resource content. For example, the Docker digest.
3126	ContentHash *Hash `json:"contentHash,omitempty"`
3127
3128	// Name: Deprecated, do not use. Use uri instead.
3129	//
3130	// The name of the resource. For example, the name of a Docker image
3131	// -
3132	// "Debian".
3133	Name string `json:"name,omitempty"`
3134
3135	// Uri: Required. The unique URI of the resource. For
3136	// example,
3137	// `https://gcr.io/project/image@sha256:foo` for a Docker image.
3138	Uri string `json:"uri,omitempty"`
3139
3140	// ForceSendFields is a list of field names (e.g. "ContentHash") to
3141	// unconditionally include in API requests. By default, fields with
3142	// empty values are omitted from API requests. However, any non-pointer,
3143	// non-interface field appearing in ForceSendFields will be sent to the
3144	// server regardless of whether the field is empty or not. This may be
3145	// used to include empty fields in Patch requests.
3146	ForceSendFields []string `json:"-"`
3147
3148	// NullFields is a list of field names (e.g. "ContentHash") to include
3149	// in API requests with the JSON null value. By default, fields with
3150	// empty values are omitted from API requests. However, any field with
3151	// an empty value appearing in NullFields will be sent to the server as
3152	// null. It is an error if a field in this list has a non-empty value.
3153	// This may be used to include null fields in Patch requests.
3154	NullFields []string `json:"-"`
3155}
3156
3157func (s *Resource) MarshalJSON() ([]byte, error) {
3158	type NoMethod Resource
3159	raw := NoMethod(*s)
3160	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3161}
3162
3163// ScanConfig: A scan configuration specifies whether Cloud components
3164// in a project have a
3165// particular type of analysis being run. For example, it can configure
3166// whether
3167// vulnerability scanning is being done on Docker images or not.
3168type ScanConfig struct {
3169	// CreateTime: Output only. The time this scan config was created.
3170	CreateTime string `json:"createTime,omitempty"`
3171
3172	// Description: Output only. A human-readable description of what the
3173	// scan configuration
3174	// does.
3175	Description string `json:"description,omitempty"`
3176
3177	// Enabled: Whether the scan is enabled.
3178	Enabled bool `json:"enabled,omitempty"`
3179
3180	// Name: Output only. The name of the scan configuration in the form
3181	// of
3182	// `projects/[PROJECT_ID]/scanConfigs/[SCAN_CONFIG_ID]`.
3183	Name string `json:"name,omitempty"`
3184
3185	// UpdateTime: Output only. The time this scan config was last updated.
3186	UpdateTime string `json:"updateTime,omitempty"`
3187
3188	// ServerResponse contains the HTTP response code and headers from the
3189	// server.
3190	googleapi.ServerResponse `json:"-"`
3191
3192	// ForceSendFields is a list of field names (e.g. "CreateTime") to
3193	// unconditionally include in API requests. By default, fields with
3194	// empty values are omitted from API requests. However, any non-pointer,
3195	// non-interface field appearing in ForceSendFields will be sent to the
3196	// server regardless of whether the field is empty or not. This may be
3197	// used to include empty fields in Patch requests.
3198	ForceSendFields []string `json:"-"`
3199
3200	// NullFields is a list of field names (e.g. "CreateTime") to include in
3201	// API requests with the JSON null value. By default, fields with empty
3202	// values are omitted from API requests. However, any field with an
3203	// empty value appearing in NullFields will be sent to the server as
3204	// null. It is an error if a field in this list has a non-empty value.
3205	// This may be used to include null fields in Patch requests.
3206	NullFields []string `json:"-"`
3207}
3208
3209func (s *ScanConfig) MarshalJSON() ([]byte, error) {
3210	type NoMethod ScanConfig
3211	raw := NoMethod(*s)
3212	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3213}
3214
3215// SetIamPolicyRequest: Request message for `SetIamPolicy` method.
3216type SetIamPolicyRequest struct {
3217	// Policy: REQUIRED: The complete policy to be applied to the
3218	// `resource`. The size of
3219	// the policy is limited to a few 10s of KB. An empty policy is a
3220	// valid policy but certain Cloud Platform services (such as
3221	// Projects)
3222	// might reject them.
3223	Policy *Policy `json:"policy,omitempty"`
3224
3225	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
3226	// policy to modify. Only
3227	// the fields in the mask will be modified. If no mask is provided,
3228	// the
3229	// following default mask is used:
3230	// paths: "bindings, etag"
3231	// This field is only used by Cloud IAM.
3232	UpdateMask string `json:"updateMask,omitempty"`
3233
3234	// ForceSendFields is a list of field names (e.g. "Policy") to
3235	// unconditionally include in API requests. By default, fields with
3236	// empty values are omitted from API requests. However, any non-pointer,
3237	// non-interface field appearing in ForceSendFields will be sent to the
3238	// server regardless of whether the field is empty or not. This may be
3239	// used to include empty fields in Patch requests.
3240	ForceSendFields []string `json:"-"`
3241
3242	// NullFields is a list of field names (e.g. "Policy") to include in API
3243	// requests with the JSON null value. By default, fields with empty
3244	// values are omitted from API requests. However, any field with an
3245	// empty value appearing in NullFields will be sent to the server as
3246	// null. It is an error if a field in this list has a non-empty value.
3247	// This may be used to include null fields in Patch requests.
3248	NullFields []string `json:"-"`
3249}
3250
3251func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
3252	type NoMethod SetIamPolicyRequest
3253	raw := NoMethod(*s)
3254	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3255}
3256
3257// Signature: Verifiers (e.g. Kritis implementations) MUST verify
3258// signatures
3259// with respect to the trust anchors defined in policy (e.g. a Kritis
3260// policy).
3261// Typically this means that the verifier has been configured with a map
3262// from
3263// `public_key_id` to public key material (and any required parameters,
3264// e.g.
3265// signing algorithm).
3266//
3267// In particular, verification implementations MUST NOT treat the
3268// signature
3269// `public_key_id` as anything more than a key lookup hint. The
3270// `public_key_id`
3271// DOES NOT validate or authenticate a public key; it only provides a
3272// mechanism
3273// for quickly selecting a public key ALREADY CONFIGURED on the verifier
3274// through
3275// a trusted channel. Verification implementations MUST reject
3276// signatures in any
3277// of the following circumstances:
3278//   * The `public_key_id` is not recognized by the verifier.
3279//   * The public key that `public_key_id` refers to does not verify
3280// the
3281//     signature with respect to the payload.
3282//
3283// The `signature` contents SHOULD NOT be "attached" (where the payload
3284// is
3285// included with the serialized `signature` bytes). Verifiers MUST
3286// ignore any
3287// "attached" payload and only verify signatures with respect to
3288// explicitly
3289// provided payload (e.g. a `payload` field on the proto message that
3290// holds
3291// this Signature, or the canonical serialization of the proto message
3292// that
3293// holds this signature).
3294type Signature struct {
3295	// PublicKeyId: The identifier for the public key that verifies this
3296	// signature.
3297	//   * The `public_key_id` is required.
3298	//   * The `public_key_id` MUST be an RFC3986 conformant URI.
3299	//   * When possible, the `public_key_id` SHOULD be an immutable
3300	// reference,
3301	//     such as a cryptographic digest.
3302	//
3303	// Examples of valid `public_key_id`s:
3304	//
3305	// OpenPGP V4 public key fingerprint:
3306	//   * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA"
3307	// See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for
3308	// more
3309	// details on this scheme.
3310	//
3311	// RFC6920 digest-named SubjectPublicKeyInfo (digest of the
3312	// DER
3313	// serialization):
3314	//   * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU"
3315	//   *
3316	// "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95
3317	// a1271589a5"
3318	PublicKeyId string `json:"publicKeyId,omitempty"`
3319
3320	// Signature: The content of the signature, an opaque bytestring.
3321	// The payload that this signature verifies MUST be unambiguously
3322	// provided
3323	// with the Signature during verification. A wrapper message might
3324	// provide
3325	// the payload explicitly. Alternatively, a message might have a
3326	// canonical
3327	// serialization that can always be unambiguously computed to derive
3328	// the
3329	// payload.
3330	Signature string `json:"signature,omitempty"`
3331
3332	// ForceSendFields is a list of field names (e.g. "PublicKeyId") to
3333	// unconditionally include in API requests. By default, fields with
3334	// empty values are omitted from API requests. However, any non-pointer,
3335	// non-interface field appearing in ForceSendFields will be sent to the
3336	// server regardless of whether the field is empty or not. This may be
3337	// used to include empty fields in Patch requests.
3338	ForceSendFields []string `json:"-"`
3339
3340	// NullFields is a list of field names (e.g. "PublicKeyId") to include
3341	// in API requests with the JSON null value. By default, fields with
3342	// empty values are omitted from API requests. However, any field with
3343	// an empty value appearing in NullFields will be sent to the server as
3344	// null. It is an error if a field in this list has a non-empty value.
3345	// This may be used to include null fields in Patch requests.
3346	NullFields []string `json:"-"`
3347}
3348
3349func (s *Signature) MarshalJSON() ([]byte, error) {
3350	type NoMethod Signature
3351	raw := NoMethod(*s)
3352	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3353}
3354
3355// Source: Source describes the location of the source used for the
3356// build.
3357type Source struct {
3358	// AdditionalContexts: If provided, some of the source code used for the
3359	// build may be found in
3360	// these locations, in the case where the source repository had
3361	// multiple
3362	// remotes or submodules. This list will not include the context
3363	// specified in
3364	// the context field.
3365	AdditionalContexts []*SourceContext `json:"additionalContexts,omitempty"`
3366
3367	// ArtifactStorageSourceUri: If provided, the input binary artifacts for
3368	// the build came from this
3369	// location.
3370	ArtifactStorageSourceUri string `json:"artifactStorageSourceUri,omitempty"`
3371
3372	// Context: If provided, the source code used for the build came from
3373	// this location.
3374	Context *SourceContext `json:"context,omitempty"`
3375
3376	// FileHashes: Hash(es) of the build source, which can be used to verify
3377	// that the original
3378	// source integrity was maintained in the build.
3379	//
3380	// The keys to this map are file paths used as build source and the
3381	// values
3382	// contain the hash values for those files.
3383	//
3384	// If the build source came in a single package such as a gzipped
3385	// tarfile
3386	// (.tar.gz), the FileHash will be for the single path to that file.
3387	FileHashes map[string]FileHashes `json:"fileHashes,omitempty"`
3388
3389	// ForceSendFields is a list of field names (e.g. "AdditionalContexts")
3390	// to unconditionally include in API requests. By default, fields with
3391	// empty values are omitted from API requests. However, any non-pointer,
3392	// non-interface field appearing in ForceSendFields will be sent to the
3393	// server regardless of whether the field is empty or not. This may be
3394	// used to include empty fields in Patch requests.
3395	ForceSendFields []string `json:"-"`
3396
3397	// NullFields is a list of field names (e.g. "AdditionalContexts") to
3398	// include in API requests with the JSON null value. By default, fields
3399	// with empty values are omitted from API requests. However, any field
3400	// with an empty value appearing in NullFields will be sent to the
3401	// server as null. It is an error if a field in this list has a
3402	// non-empty value. This may be used to include null fields in Patch
3403	// requests.
3404	NullFields []string `json:"-"`
3405}
3406
3407func (s *Source) MarshalJSON() ([]byte, error) {
3408	type NoMethod Source
3409	raw := NoMethod(*s)
3410	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3411}
3412
3413// SourceContext: A SourceContext is a reference to a tree of files. A
3414// SourceContext together
3415// with a path point to a unique revision of a single file or directory.
3416type SourceContext struct {
3417	// CloudRepo: A SourceContext referring to a revision in a Google Cloud
3418	// Source Repo.
3419	CloudRepo *CloudRepoSourceContext `json:"cloudRepo,omitempty"`
3420
3421	// Gerrit: A SourceContext referring to a Gerrit project.
3422	Gerrit *GerritSourceContext `json:"gerrit,omitempty"`
3423
3424	// Git: A SourceContext referring to any third party Git repo (e.g.,
3425	// GitHub).
3426	Git *GitSourceContext `json:"git,omitempty"`
3427
3428	// Labels: Labels with user defined metadata.
3429	Labels map[string]string `json:"labels,omitempty"`
3430
3431	// ForceSendFields is a list of field names (e.g. "CloudRepo") to
3432	// unconditionally include in API requests. By default, fields with
3433	// empty values are omitted from API requests. However, any non-pointer,
3434	// non-interface field appearing in ForceSendFields will be sent to the
3435	// server regardless of whether the field is empty or not. This may be
3436	// used to include empty fields in Patch requests.
3437	ForceSendFields []string `json:"-"`
3438
3439	// NullFields is a list of field names (e.g. "CloudRepo") to include in
3440	// API requests with the JSON null value. By default, fields with empty
3441	// values are omitted from API requests. However, any field with an
3442	// empty value appearing in NullFields will be sent to the server as
3443	// null. It is an error if a field in this list has a non-empty value.
3444	// This may be used to include null fields in Patch requests.
3445	NullFields []string `json:"-"`
3446}
3447
3448func (s *SourceContext) MarshalJSON() ([]byte, error) {
3449	type NoMethod SourceContext
3450	raw := NoMethod(*s)
3451	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3452}
3453
3454// Status: The `Status` type defines a logical error model that is
3455// suitable for
3456// different programming environments, including REST APIs and RPC APIs.
3457// It is
3458// used by [gRPC](https://github.com/grpc). Each `Status` message
3459// contains
3460// three pieces of data: error code, error message, and error
3461// details.
3462//
3463// You can find out more about this error model and how to work with it
3464// in the
3465// [API Design Guide](https://cloud.google.com/apis/design/errors).
3466type Status struct {
3467	// Code: The status code, which should be an enum value of
3468	// google.rpc.Code.
3469	Code int64 `json:"code,omitempty"`
3470
3471	// Details: A list of messages that carry the error details.  There is a
3472	// common set of
3473	// message types for APIs to use.
3474	Details []googleapi.RawMessage `json:"details,omitempty"`
3475
3476	// Message: A developer-facing error message, which should be in
3477	// English. Any
3478	// user-facing error message should be localized and sent in
3479	// the
3480	// google.rpc.Status.details field, or localized by the client.
3481	Message string `json:"message,omitempty"`
3482
3483	// ForceSendFields is a list of field names (e.g. "Code") to
3484	// unconditionally include in API requests. By default, fields with
3485	// empty values are omitted from API requests. However, any non-pointer,
3486	// non-interface field appearing in ForceSendFields will be sent to the
3487	// server regardless of whether the field is empty or not. This may be
3488	// used to include empty fields in Patch requests.
3489	ForceSendFields []string `json:"-"`
3490
3491	// NullFields is a list of field names (e.g. "Code") to include in API
3492	// requests with the JSON null value. By default, fields with empty
3493	// values are omitted from API requests. However, any field with an
3494	// empty value appearing in NullFields will be sent to the server as
3495	// null. It is an error if a field in this list has a non-empty value.
3496	// This may be used to include null fields in Patch requests.
3497	NullFields []string `json:"-"`
3498}
3499
3500func (s *Status) MarshalJSON() ([]byte, error) {
3501	type NoMethod Status
3502	raw := NoMethod(*s)
3503	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3504}
3505
3506// TestIamPermissionsRequest: Request message for `TestIamPermissions`
3507// method.
3508type TestIamPermissionsRequest struct {
3509	// Permissions: The set of permissions to check for the `resource`.
3510	// Permissions with
3511	// wildcards (such as '*' or 'storage.*') are not allowed. For
3512	// more
3513	// information see
3514	// [IAM
3515	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
3516	Permissions []string `json:"permissions,omitempty"`
3517
3518	// ForceSendFields is a list of field names (e.g. "Permissions") to
3519	// unconditionally include in API requests. By default, fields with
3520	// empty values are omitted from API requests. However, any non-pointer,
3521	// non-interface field appearing in ForceSendFields will be sent to the
3522	// server regardless of whether the field is empty or not. This may be
3523	// used to include empty fields in Patch requests.
3524	ForceSendFields []string `json:"-"`
3525
3526	// NullFields is a list of field names (e.g. "Permissions") to include
3527	// in API requests with the JSON null value. By default, fields with
3528	// empty values are omitted from API requests. However, any field with
3529	// an empty value appearing in NullFields will be sent to the server as
3530	// null. It is an error if a field in this list has a non-empty value.
3531	// This may be used to include null fields in Patch requests.
3532	NullFields []string `json:"-"`
3533}
3534
3535func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
3536	type NoMethod TestIamPermissionsRequest
3537	raw := NoMethod(*s)
3538	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3539}
3540
3541// TestIamPermissionsResponse: Response message for `TestIamPermissions`
3542// method.
3543type TestIamPermissionsResponse struct {
3544	// Permissions: A subset of `TestPermissionsRequest.permissions` that
3545	// the caller is
3546	// allowed.
3547	Permissions []string `json:"permissions,omitempty"`
3548
3549	// ServerResponse contains the HTTP response code and headers from the
3550	// server.
3551	googleapi.ServerResponse `json:"-"`
3552
3553	// ForceSendFields is a list of field names (e.g. "Permissions") to
3554	// unconditionally include in API requests. By default, fields with
3555	// empty values are omitted from API requests. However, any non-pointer,
3556	// non-interface field appearing in ForceSendFields will be sent to the
3557	// server regardless of whether the field is empty or not. This may be
3558	// used to include empty fields in Patch requests.
3559	ForceSendFields []string `json:"-"`
3560
3561	// NullFields is a list of field names (e.g. "Permissions") to include
3562	// in API requests with the JSON null value. By default, fields with
3563	// empty values are omitted from API requests. However, any field with
3564	// an empty value appearing in NullFields will be sent to the server as
3565	// null. It is an error if a field in this list has a non-empty value.
3566	// This may be used to include null fields in Patch requests.
3567	NullFields []string `json:"-"`
3568}
3569
3570func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
3571	type NoMethod TestIamPermissionsResponse
3572	raw := NoMethod(*s)
3573	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3574}
3575
3576// Version: Version contains structured information about the version of
3577// a package.
3578type Version struct {
3579	// Epoch: Used to correct mistakes in the version numbering scheme.
3580	Epoch int64 `json:"epoch,omitempty"`
3581
3582	// Kind: Required. Distinguishes between sentinel MIN/MAX versions and
3583	// normal
3584	// versions.
3585	//
3586	// Possible values:
3587	//   "VERSION_KIND_UNSPECIFIED" - Unknown.
3588	//   "NORMAL" - A standard package version.
3589	//   "MINIMUM" - A special version representing negative infinity.
3590	//   "MAXIMUM" - A special version representing positive infinity.
3591	Kind string `json:"kind,omitempty"`
3592
3593	// Name: Required only when version kind is NORMAL. The main part of the
3594	// version
3595	// name.
3596	Name string `json:"name,omitempty"`
3597
3598	// Revision: The iteration of the package build from the above version.
3599	Revision string `json:"revision,omitempty"`
3600
3601	// ForceSendFields is a list of field names (e.g. "Epoch") to
3602	// unconditionally include in API requests. By default, fields with
3603	// empty values are omitted from API requests. However, any non-pointer,
3604	// non-interface field appearing in ForceSendFields will be sent to the
3605	// server regardless of whether the field is empty or not. This may be
3606	// used to include empty fields in Patch requests.
3607	ForceSendFields []string `json:"-"`
3608
3609	// NullFields is a list of field names (e.g. "Epoch") to include in API
3610	// requests with the JSON null value. By default, fields with empty
3611	// values are omitted from API requests. However, any field with an
3612	// empty value appearing in NullFields will be sent to the server as
3613	// null. It is an error if a field in this list has a non-empty value.
3614	// This may be used to include null fields in Patch requests.
3615	NullFields []string `json:"-"`
3616}
3617
3618func (s *Version) MarshalJSON() ([]byte, error) {
3619	type NoMethod Version
3620	raw := NoMethod(*s)
3621	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3622}
3623
3624// Vulnerability: Vulnerability provides metadata about a security
3625// vulnerability in a Note.
3626type Vulnerability struct {
3627	// CvssScore: The CVSS score for this vulnerability.
3628	CvssScore float64 `json:"cvssScore,omitempty"`
3629
3630	// CvssV3: The full description of the CVSSv3.
3631	CvssV3 *CVSSv3 `json:"cvssV3,omitempty"`
3632
3633	// Details: All information about the package to specifically identify
3634	// this
3635	// vulnerability. One entry per (version range and cpe_uri) the
3636	// package
3637	// vulnerability has manifested in.
3638	Details []*Detail `json:"details,omitempty"`
3639
3640	// Severity: Note provider assigned impact of the vulnerability.
3641	//
3642	// Possible values:
3643	//   "SEVERITY_UNSPECIFIED" - Unknown.
3644	//   "MINIMAL" - Minimal severity.
3645	//   "LOW" - Low severity.
3646	//   "MEDIUM" - Medium severity.
3647	//   "HIGH" - High severity.
3648	//   "CRITICAL" - Critical severity.
3649	Severity string `json:"severity,omitempty"`
3650
3651	// WindowsDetails: Windows details get their own format because the
3652	// information format and
3653	// model don't match a normal detail. Specifically Windows updates are
3654	// done as
3655	// patches, thus Windows vulnerabilities really are a missing package,
3656	// rather
3657	// than a package being at an incorrect version.
3658	WindowsDetails []*WindowsDetail `json:"windowsDetails,omitempty"`
3659
3660	// ForceSendFields is a list of field names (e.g. "CvssScore") to
3661	// unconditionally include in API requests. By default, fields with
3662	// empty values are omitted from API requests. However, any non-pointer,
3663	// non-interface field appearing in ForceSendFields will be sent to the
3664	// server regardless of whether the field is empty or not. This may be
3665	// used to include empty fields in Patch requests.
3666	ForceSendFields []string `json:"-"`
3667
3668	// NullFields is a list of field names (e.g. "CvssScore") to include in
3669	// API requests with the JSON null value. By default, fields with empty
3670	// values are omitted from API requests. However, any field with an
3671	// empty value appearing in NullFields will be sent to the server as
3672	// null. It is an error if a field in this list has a non-empty value.
3673	// This may be used to include null fields in Patch requests.
3674	NullFields []string `json:"-"`
3675}
3676
3677func (s *Vulnerability) MarshalJSON() ([]byte, error) {
3678	type NoMethod Vulnerability
3679	raw := NoMethod(*s)
3680	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3681}
3682
3683func (s *Vulnerability) UnmarshalJSON(data []byte) error {
3684	type NoMethod Vulnerability
3685	var s1 struct {
3686		CvssScore gensupport.JSONFloat64 `json:"cvssScore"`
3687		*NoMethod
3688	}
3689	s1.NoMethod = (*NoMethod)(s)
3690	if err := json.Unmarshal(data, &s1); err != nil {
3691		return err
3692	}
3693	s.CvssScore = float64(s1.CvssScore)
3694	return nil
3695}
3696
3697// VulnerabilityLocation: The location of the vulnerability.
3698type VulnerabilityLocation struct {
3699	// CpeUri: Required. The CPE URI in [cpe
3700	// format](https://cpe.mitre.org/specification/)
3701	// format. Examples include distro or storage location for vulnerable
3702	// jar.
3703	CpeUri string `json:"cpeUri,omitempty"`
3704
3705	// Package: Required. The package being described.
3706	Package string `json:"package,omitempty"`
3707
3708	// Version: Required. The version of the package being described.
3709	Version *Version `json:"version,omitempty"`
3710
3711	// ForceSendFields is a list of field names (e.g. "CpeUri") to
3712	// unconditionally include in API requests. By default, fields with
3713	// empty values are omitted from API requests. However, any non-pointer,
3714	// non-interface field appearing in ForceSendFields will be sent to the
3715	// server regardless of whether the field is empty or not. This may be
3716	// used to include empty fields in Patch requests.
3717	ForceSendFields []string `json:"-"`
3718
3719	// NullFields is a list of field names (e.g. "CpeUri") to include in API
3720	// requests with the JSON null value. By default, fields with empty
3721	// values are omitted from API requests. However, any field with an
3722	// empty value appearing in NullFields will be sent to the server as
3723	// null. It is an error if a field in this list has a non-empty value.
3724	// This may be used to include null fields in Patch requests.
3725	NullFields []string `json:"-"`
3726}
3727
3728func (s *VulnerabilityLocation) MarshalJSON() ([]byte, error) {
3729	type NoMethod VulnerabilityLocation
3730	raw := NoMethod(*s)
3731	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3732}
3733
3734// VulnerabilityOccurrencesSummary: A summary of how many vulnerability
3735// occurrences there are per resource and
3736// severity type.
3737type VulnerabilityOccurrencesSummary struct {
3738	// Counts: A listing by resource of the number of fixable and total
3739	// vulnerabilities.
3740	Counts []*FixableTotalByDigest `json:"counts,omitempty"`
3741
3742	// ServerResponse contains the HTTP response code and headers from the
3743	// server.
3744	googleapi.ServerResponse `json:"-"`
3745
3746	// ForceSendFields is a list of field names (e.g. "Counts") to
3747	// unconditionally include in API requests. By default, fields with
3748	// empty values are omitted from API requests. However, any non-pointer,
3749	// non-interface field appearing in ForceSendFields will be sent to the
3750	// server regardless of whether the field is empty or not. This may be
3751	// used to include empty fields in Patch requests.
3752	ForceSendFields []string `json:"-"`
3753
3754	// NullFields is a list of field names (e.g. "Counts") to include in API
3755	// requests with the JSON null value. By default, fields with empty
3756	// values are omitted from API requests. However, any field with an
3757	// empty value appearing in NullFields will be sent to the server as
3758	// null. It is an error if a field in this list has a non-empty value.
3759	// This may be used to include null fields in Patch requests.
3760	NullFields []string `json:"-"`
3761}
3762
3763func (s *VulnerabilityOccurrencesSummary) MarshalJSON() ([]byte, error) {
3764	type NoMethod VulnerabilityOccurrencesSummary
3765	raw := NoMethod(*s)
3766	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3767}
3768
3769type WindowsDetail struct {
3770	// CpeUri: Required. The CPE URI in
3771	// [cpe format](https://cpe.mitre.org/specification/) in which
3772	// the
3773	// vulnerability manifests. Examples include distro or storage location
3774	// for
3775	// vulnerable jar.
3776	CpeUri string `json:"cpeUri,omitempty"`
3777
3778	// Description: The description of the vulnerability.
3779	Description string `json:"description,omitempty"`
3780
3781	// FixingKbs: Required. The names of the KBs which have hotfixes to
3782	// mitigate this
3783	// vulnerability. Note that there may be multiple hotfixes (and
3784	// thus
3785	// multiple KBs) that mitigate a given vulnerability. Currently any
3786	// listed
3787	// kb's presence is considered a fix.
3788	FixingKbs []*KnowledgeBase `json:"fixingKbs,omitempty"`
3789
3790	// Name: Required. The name of the vulnerability.
3791	Name string `json:"name,omitempty"`
3792
3793	// ForceSendFields is a list of field names (e.g. "CpeUri") to
3794	// unconditionally include in API requests. By default, fields with
3795	// empty values are omitted from API requests. However, any non-pointer,
3796	// non-interface field appearing in ForceSendFields will be sent to the
3797	// server regardless of whether the field is empty or not. This may be
3798	// used to include empty fields in Patch requests.
3799	ForceSendFields []string `json:"-"`
3800
3801	// NullFields is a list of field names (e.g. "CpeUri") to include in API
3802	// requests with the JSON null value. By default, fields with empty
3803	// values are omitted from API requests. However, any field with an
3804	// empty value appearing in NullFields will be sent to the server as
3805	// null. It is an error if a field in this list has a non-empty value.
3806	// This may be used to include null fields in Patch requests.
3807	NullFields []string `json:"-"`
3808}
3809
3810func (s *WindowsDetail) MarshalJSON() ([]byte, error) {
3811	type NoMethod WindowsDetail
3812	raw := NoMethod(*s)
3813	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3814}
3815
3816// method id "containeranalysis.projects.notes.batchCreate":
3817
3818type ProjectsNotesBatchCreateCall struct {
3819	s                       *Service
3820	parent                  string
3821	batchcreatenotesrequest *BatchCreateNotesRequest
3822	urlParams_              gensupport.URLParams
3823	ctx_                    context.Context
3824	header_                 http.Header
3825}
3826
3827// BatchCreate: Creates new notes in batch.
3828func (r *ProjectsNotesService) BatchCreate(parent string, batchcreatenotesrequest *BatchCreateNotesRequest) *ProjectsNotesBatchCreateCall {
3829	c := &ProjectsNotesBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3830	c.parent = parent
3831	c.batchcreatenotesrequest = batchcreatenotesrequest
3832	return c
3833}
3834
3835// Fields allows partial responses to be retrieved. See
3836// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3837// for more information.
3838func (c *ProjectsNotesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsNotesBatchCreateCall {
3839	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3840	return c
3841}
3842
3843// Context sets the context to be used in this call's Do method. Any
3844// pending HTTP request will be aborted if the provided context is
3845// canceled.
3846func (c *ProjectsNotesBatchCreateCall) Context(ctx context.Context) *ProjectsNotesBatchCreateCall {
3847	c.ctx_ = ctx
3848	return c
3849}
3850
3851// Header returns an http.Header that can be modified by the caller to
3852// add HTTP headers to the request.
3853func (c *ProjectsNotesBatchCreateCall) Header() http.Header {
3854	if c.header_ == nil {
3855		c.header_ = make(http.Header)
3856	}
3857	return c.header_
3858}
3859
3860func (c *ProjectsNotesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
3861	reqHeaders := make(http.Header)
3862	for k, v := range c.header_ {
3863		reqHeaders[k] = v
3864	}
3865	reqHeaders.Set("User-Agent", c.s.userAgent())
3866	var body io.Reader = nil
3867	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchcreatenotesrequest)
3868	if err != nil {
3869		return nil, err
3870	}
3871	reqHeaders.Set("Content-Type", "application/json")
3872	c.urlParams_.Set("alt", alt)
3873	c.urlParams_.Set("prettyPrint", "false")
3874	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/notes:batchCreate")
3875	urls += "?" + c.urlParams_.Encode()
3876	req, err := http.NewRequest("POST", urls, body)
3877	if err != nil {
3878		return nil, err
3879	}
3880	req.Header = reqHeaders
3881	googleapi.Expand(req.URL, map[string]string{
3882		"parent": c.parent,
3883	})
3884	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3885}
3886
3887// Do executes the "containeranalysis.projects.notes.batchCreate" call.
3888// Exactly one of *BatchCreateNotesResponse or error will be non-nil.
3889// Any non-2xx status code is an error. Response headers are in either
3890// *BatchCreateNotesResponse.ServerResponse.Header or (if a response was
3891// returned at all) in error.(*googleapi.Error).Header. Use
3892// googleapi.IsNotModified to check whether the returned error was
3893// because http.StatusNotModified was returned.
3894func (c *ProjectsNotesBatchCreateCall) Do(opts ...googleapi.CallOption) (*BatchCreateNotesResponse, error) {
3895	gensupport.SetOptions(c.urlParams_, opts...)
3896	res, err := c.doRequest("json")
3897	if res != nil && res.StatusCode == http.StatusNotModified {
3898		if res.Body != nil {
3899			res.Body.Close()
3900		}
3901		return nil, &googleapi.Error{
3902			Code:   res.StatusCode,
3903			Header: res.Header,
3904		}
3905	}
3906	if err != nil {
3907		return nil, err
3908	}
3909	defer googleapi.CloseBody(res)
3910	if err := googleapi.CheckResponse(res); err != nil {
3911		return nil, err
3912	}
3913	ret := &BatchCreateNotesResponse{
3914		ServerResponse: googleapi.ServerResponse{
3915			Header:         res.Header,
3916			HTTPStatusCode: res.StatusCode,
3917		},
3918	}
3919	target := &ret
3920	if err := gensupport.DecodeResponse(target, res); err != nil {
3921		return nil, err
3922	}
3923	return ret, nil
3924	// {
3925	//   "description": "Creates new notes in batch.",
3926	//   "flatPath": "v1beta1/projects/{projectsId}/notes:batchCreate",
3927	//   "httpMethod": "POST",
3928	//   "id": "containeranalysis.projects.notes.batchCreate",
3929	//   "parameterOrder": [
3930	//     "parent"
3931	//   ],
3932	//   "parameters": {
3933	//     "parent": {
3934	//       "description": "The name of the project in the form of `projects/[PROJECT_ID]`, under which\nthe notes are to be created.",
3935	//       "location": "path",
3936	//       "pattern": "^projects/[^/]+$",
3937	//       "required": true,
3938	//       "type": "string"
3939	//     }
3940	//   },
3941	//   "path": "v1beta1/{+parent}/notes:batchCreate",
3942	//   "request": {
3943	//     "$ref": "BatchCreateNotesRequest"
3944	//   },
3945	//   "response": {
3946	//     "$ref": "BatchCreateNotesResponse"
3947	//   },
3948	//   "scopes": [
3949	//     "https://www.googleapis.com/auth/cloud-platform"
3950	//   ]
3951	// }
3952
3953}
3954
3955// method id "containeranalysis.projects.notes.create":
3956
3957type ProjectsNotesCreateCall struct {
3958	s          *Service
3959	parent     string
3960	note       *Note
3961	urlParams_ gensupport.URLParams
3962	ctx_       context.Context
3963	header_    http.Header
3964}
3965
3966// Create: Creates a new note.
3967func (r *ProjectsNotesService) Create(parent string, note *Note) *ProjectsNotesCreateCall {
3968	c := &ProjectsNotesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3969	c.parent = parent
3970	c.note = note
3971	return c
3972}
3973
3974// NoteId sets the optional parameter "noteId": The ID to use for this
3975// note.
3976func (c *ProjectsNotesCreateCall) NoteId(noteId string) *ProjectsNotesCreateCall {
3977	c.urlParams_.Set("noteId", noteId)
3978	return c
3979}
3980
3981// Fields allows partial responses to be retrieved. See
3982// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3983// for more information.
3984func (c *ProjectsNotesCreateCall) Fields(s ...googleapi.Field) *ProjectsNotesCreateCall {
3985	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3986	return c
3987}
3988
3989// Context sets the context to be used in this call's Do method. Any
3990// pending HTTP request will be aborted if the provided context is
3991// canceled.
3992func (c *ProjectsNotesCreateCall) Context(ctx context.Context) *ProjectsNotesCreateCall {
3993	c.ctx_ = ctx
3994	return c
3995}
3996
3997// Header returns an http.Header that can be modified by the caller to
3998// add HTTP headers to the request.
3999func (c *ProjectsNotesCreateCall) Header() http.Header {
4000	if c.header_ == nil {
4001		c.header_ = make(http.Header)
4002	}
4003	return c.header_
4004}
4005
4006func (c *ProjectsNotesCreateCall) doRequest(alt string) (*http.Response, error) {
4007	reqHeaders := make(http.Header)
4008	for k, v := range c.header_ {
4009		reqHeaders[k] = v
4010	}
4011	reqHeaders.Set("User-Agent", c.s.userAgent())
4012	var body io.Reader = nil
4013	body, err := googleapi.WithoutDataWrapper.JSONReader(c.note)
4014	if err != nil {
4015		return nil, err
4016	}
4017	reqHeaders.Set("Content-Type", "application/json")
4018	c.urlParams_.Set("alt", alt)
4019	c.urlParams_.Set("prettyPrint", "false")
4020	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/notes")
4021	urls += "?" + c.urlParams_.Encode()
4022	req, err := http.NewRequest("POST", urls, body)
4023	if err != nil {
4024		return nil, err
4025	}
4026	req.Header = reqHeaders
4027	googleapi.Expand(req.URL, map[string]string{
4028		"parent": c.parent,
4029	})
4030	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4031}
4032
4033// Do executes the "containeranalysis.projects.notes.create" call.
4034// Exactly one of *Note or error will be non-nil. Any non-2xx status
4035// code is an error. Response headers are in either
4036// *Note.ServerResponse.Header or (if a response was returned at all) in
4037// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4038// whether the returned error was because http.StatusNotModified was
4039// returned.
4040func (c *ProjectsNotesCreateCall) Do(opts ...googleapi.CallOption) (*Note, error) {
4041	gensupport.SetOptions(c.urlParams_, opts...)
4042	res, err := c.doRequest("json")
4043	if res != nil && res.StatusCode == http.StatusNotModified {
4044		if res.Body != nil {
4045			res.Body.Close()
4046		}
4047		return nil, &googleapi.Error{
4048			Code:   res.StatusCode,
4049			Header: res.Header,
4050		}
4051	}
4052	if err != nil {
4053		return nil, err
4054	}
4055	defer googleapi.CloseBody(res)
4056	if err := googleapi.CheckResponse(res); err != nil {
4057		return nil, err
4058	}
4059	ret := &Note{
4060		ServerResponse: googleapi.ServerResponse{
4061			Header:         res.Header,
4062			HTTPStatusCode: res.StatusCode,
4063		},
4064	}
4065	target := &ret
4066	if err := gensupport.DecodeResponse(target, res); err != nil {
4067		return nil, err
4068	}
4069	return ret, nil
4070	// {
4071	//   "description": "Creates a new note.",
4072	//   "flatPath": "v1beta1/projects/{projectsId}/notes",
4073	//   "httpMethod": "POST",
4074	//   "id": "containeranalysis.projects.notes.create",
4075	//   "parameterOrder": [
4076	//     "parent"
4077	//   ],
4078	//   "parameters": {
4079	//     "noteId": {
4080	//       "description": "The ID to use for this note.",
4081	//       "location": "query",
4082	//       "type": "string"
4083	//     },
4084	//     "parent": {
4085	//       "description": "The name of the project in the form of `projects/[PROJECT_ID]`, under which\nthe note is to be created.",
4086	//       "location": "path",
4087	//       "pattern": "^projects/[^/]+$",
4088	//       "required": true,
4089	//       "type": "string"
4090	//     }
4091	//   },
4092	//   "path": "v1beta1/{+parent}/notes",
4093	//   "request": {
4094	//     "$ref": "Note"
4095	//   },
4096	//   "response": {
4097	//     "$ref": "Note"
4098	//   },
4099	//   "scopes": [
4100	//     "https://www.googleapis.com/auth/cloud-platform"
4101	//   ]
4102	// }
4103
4104}
4105
4106// method id "containeranalysis.projects.notes.delete":
4107
4108type ProjectsNotesDeleteCall struct {
4109	s          *Service
4110	name       string
4111	urlParams_ gensupport.URLParams
4112	ctx_       context.Context
4113	header_    http.Header
4114}
4115
4116// Delete: Deletes the specified note.
4117func (r *ProjectsNotesService) Delete(name string) *ProjectsNotesDeleteCall {
4118	c := &ProjectsNotesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4119	c.name = name
4120	return c
4121}
4122
4123// Fields allows partial responses to be retrieved. See
4124// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4125// for more information.
4126func (c *ProjectsNotesDeleteCall) Fields(s ...googleapi.Field) *ProjectsNotesDeleteCall {
4127	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4128	return c
4129}
4130
4131// Context sets the context to be used in this call's Do method. Any
4132// pending HTTP request will be aborted if the provided context is
4133// canceled.
4134func (c *ProjectsNotesDeleteCall) Context(ctx context.Context) *ProjectsNotesDeleteCall {
4135	c.ctx_ = ctx
4136	return c
4137}
4138
4139// Header returns an http.Header that can be modified by the caller to
4140// add HTTP headers to the request.
4141func (c *ProjectsNotesDeleteCall) Header() http.Header {
4142	if c.header_ == nil {
4143		c.header_ = make(http.Header)
4144	}
4145	return c.header_
4146}
4147
4148func (c *ProjectsNotesDeleteCall) doRequest(alt string) (*http.Response, error) {
4149	reqHeaders := make(http.Header)
4150	for k, v := range c.header_ {
4151		reqHeaders[k] = v
4152	}
4153	reqHeaders.Set("User-Agent", c.s.userAgent())
4154	var body io.Reader = nil
4155	c.urlParams_.Set("alt", alt)
4156	c.urlParams_.Set("prettyPrint", "false")
4157	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4158	urls += "?" + c.urlParams_.Encode()
4159	req, err := http.NewRequest("DELETE", urls, body)
4160	if err != nil {
4161		return nil, err
4162	}
4163	req.Header = reqHeaders
4164	googleapi.Expand(req.URL, map[string]string{
4165		"name": c.name,
4166	})
4167	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4168}
4169
4170// Do executes the "containeranalysis.projects.notes.delete" call.
4171// Exactly one of *Empty or error will be non-nil. Any non-2xx status
4172// code is an error. Response headers are in either
4173// *Empty.ServerResponse.Header or (if a response was returned at all)
4174// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4175// check whether the returned error was because http.StatusNotModified
4176// was returned.
4177func (c *ProjectsNotesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
4178	gensupport.SetOptions(c.urlParams_, opts...)
4179	res, err := c.doRequest("json")
4180	if res != nil && res.StatusCode == http.StatusNotModified {
4181		if res.Body != nil {
4182			res.Body.Close()
4183		}
4184		return nil, &googleapi.Error{
4185			Code:   res.StatusCode,
4186			Header: res.Header,
4187		}
4188	}
4189	if err != nil {
4190		return nil, err
4191	}
4192	defer googleapi.CloseBody(res)
4193	if err := googleapi.CheckResponse(res); err != nil {
4194		return nil, err
4195	}
4196	ret := &Empty{
4197		ServerResponse: googleapi.ServerResponse{
4198			Header:         res.Header,
4199			HTTPStatusCode: res.StatusCode,
4200		},
4201	}
4202	target := &ret
4203	if err := gensupport.DecodeResponse(target, res); err != nil {
4204		return nil, err
4205	}
4206	return ret, nil
4207	// {
4208	//   "description": "Deletes the specified note.",
4209	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}",
4210	//   "httpMethod": "DELETE",
4211	//   "id": "containeranalysis.projects.notes.delete",
4212	//   "parameterOrder": [
4213	//     "name"
4214	//   ],
4215	//   "parameters": {
4216	//     "name": {
4217	//       "description": "The name of the note in the form of\n`projects/[PROVIDER_ID]/notes/[NOTE_ID]`.",
4218	//       "location": "path",
4219	//       "pattern": "^projects/[^/]+/notes/[^/]+$",
4220	//       "required": true,
4221	//       "type": "string"
4222	//     }
4223	//   },
4224	//   "path": "v1beta1/{+name}",
4225	//   "response": {
4226	//     "$ref": "Empty"
4227	//   },
4228	//   "scopes": [
4229	//     "https://www.googleapis.com/auth/cloud-platform"
4230	//   ]
4231	// }
4232
4233}
4234
4235// method id "containeranalysis.projects.notes.get":
4236
4237type ProjectsNotesGetCall struct {
4238	s            *Service
4239	name         string
4240	urlParams_   gensupport.URLParams
4241	ifNoneMatch_ string
4242	ctx_         context.Context
4243	header_      http.Header
4244}
4245
4246// Get: Gets the specified note.
4247func (r *ProjectsNotesService) Get(name string) *ProjectsNotesGetCall {
4248	c := &ProjectsNotesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4249	c.name = name
4250	return c
4251}
4252
4253// Fields allows partial responses to be retrieved. See
4254// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4255// for more information.
4256func (c *ProjectsNotesGetCall) Fields(s ...googleapi.Field) *ProjectsNotesGetCall {
4257	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4258	return c
4259}
4260
4261// IfNoneMatch sets the optional parameter which makes the operation
4262// fail if the object's ETag matches the given value. This is useful for
4263// getting updates only after the object has changed since the last
4264// request. Use googleapi.IsNotModified to check whether the response
4265// error from Do is the result of In-None-Match.
4266func (c *ProjectsNotesGetCall) IfNoneMatch(entityTag string) *ProjectsNotesGetCall {
4267	c.ifNoneMatch_ = entityTag
4268	return c
4269}
4270
4271// Context sets the context to be used in this call's Do method. Any
4272// pending HTTP request will be aborted if the provided context is
4273// canceled.
4274func (c *ProjectsNotesGetCall) Context(ctx context.Context) *ProjectsNotesGetCall {
4275	c.ctx_ = ctx
4276	return c
4277}
4278
4279// Header returns an http.Header that can be modified by the caller to
4280// add HTTP headers to the request.
4281func (c *ProjectsNotesGetCall) Header() http.Header {
4282	if c.header_ == nil {
4283		c.header_ = make(http.Header)
4284	}
4285	return c.header_
4286}
4287
4288func (c *ProjectsNotesGetCall) doRequest(alt string) (*http.Response, error) {
4289	reqHeaders := make(http.Header)
4290	for k, v := range c.header_ {
4291		reqHeaders[k] = v
4292	}
4293	reqHeaders.Set("User-Agent", c.s.userAgent())
4294	if c.ifNoneMatch_ != "" {
4295		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4296	}
4297	var body io.Reader = nil
4298	c.urlParams_.Set("alt", alt)
4299	c.urlParams_.Set("prettyPrint", "false")
4300	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4301	urls += "?" + c.urlParams_.Encode()
4302	req, err := http.NewRequest("GET", urls, body)
4303	if err != nil {
4304		return nil, err
4305	}
4306	req.Header = reqHeaders
4307	googleapi.Expand(req.URL, map[string]string{
4308		"name": c.name,
4309	})
4310	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4311}
4312
4313// Do executes the "containeranalysis.projects.notes.get" call.
4314// Exactly one of *Note or error will be non-nil. Any non-2xx status
4315// code is an error. Response headers are in either
4316// *Note.ServerResponse.Header or (if a response was returned at all) in
4317// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4318// whether the returned error was because http.StatusNotModified was
4319// returned.
4320func (c *ProjectsNotesGetCall) Do(opts ...googleapi.CallOption) (*Note, error) {
4321	gensupport.SetOptions(c.urlParams_, opts...)
4322	res, err := c.doRequest("json")
4323	if res != nil && res.StatusCode == http.StatusNotModified {
4324		if res.Body != nil {
4325			res.Body.Close()
4326		}
4327		return nil, &googleapi.Error{
4328			Code:   res.StatusCode,
4329			Header: res.Header,
4330		}
4331	}
4332	if err != nil {
4333		return nil, err
4334	}
4335	defer googleapi.CloseBody(res)
4336	if err := googleapi.CheckResponse(res); err != nil {
4337		return nil, err
4338	}
4339	ret := &Note{
4340		ServerResponse: googleapi.ServerResponse{
4341			Header:         res.Header,
4342			HTTPStatusCode: res.StatusCode,
4343		},
4344	}
4345	target := &ret
4346	if err := gensupport.DecodeResponse(target, res); err != nil {
4347		return nil, err
4348	}
4349	return ret, nil
4350	// {
4351	//   "description": "Gets the specified note.",
4352	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}",
4353	//   "httpMethod": "GET",
4354	//   "id": "containeranalysis.projects.notes.get",
4355	//   "parameterOrder": [
4356	//     "name"
4357	//   ],
4358	//   "parameters": {
4359	//     "name": {
4360	//       "description": "The name of the note in the form of\n`projects/[PROVIDER_ID]/notes/[NOTE_ID]`.",
4361	//       "location": "path",
4362	//       "pattern": "^projects/[^/]+/notes/[^/]+$",
4363	//       "required": true,
4364	//       "type": "string"
4365	//     }
4366	//   },
4367	//   "path": "v1beta1/{+name}",
4368	//   "response": {
4369	//     "$ref": "Note"
4370	//   },
4371	//   "scopes": [
4372	//     "https://www.googleapis.com/auth/cloud-platform"
4373	//   ]
4374	// }
4375
4376}
4377
4378// method id "containeranalysis.projects.notes.getIamPolicy":
4379
4380type ProjectsNotesGetIamPolicyCall struct {
4381	s                   *Service
4382	resource            string
4383	getiampolicyrequest *GetIamPolicyRequest
4384	urlParams_          gensupport.URLParams
4385	ctx_                context.Context
4386	header_             http.Header
4387}
4388
4389// GetIamPolicy: Gets the access control policy for a note or an
4390// occurrence resource.
4391// Requires `containeranalysis.notes.setIamPolicy`
4392// or
4393// `containeranalysis.occurrences.setIamPolicy` permission if the
4394// resource is
4395// a note or occurrence, respectively.
4396//
4397// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]`
4398// for
4399// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`
4400// for
4401// occurrences.
4402func (r *ProjectsNotesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsNotesGetIamPolicyCall {
4403	c := &ProjectsNotesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4404	c.resource = resource
4405	c.getiampolicyrequest = getiampolicyrequest
4406	return c
4407}
4408
4409// Fields allows partial responses to be retrieved. See
4410// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4411// for more information.
4412func (c *ProjectsNotesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsNotesGetIamPolicyCall {
4413	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4414	return c
4415}
4416
4417// Context sets the context to be used in this call's Do method. Any
4418// pending HTTP request will be aborted if the provided context is
4419// canceled.
4420func (c *ProjectsNotesGetIamPolicyCall) Context(ctx context.Context) *ProjectsNotesGetIamPolicyCall {
4421	c.ctx_ = ctx
4422	return c
4423}
4424
4425// Header returns an http.Header that can be modified by the caller to
4426// add HTTP headers to the request.
4427func (c *ProjectsNotesGetIamPolicyCall) Header() http.Header {
4428	if c.header_ == nil {
4429		c.header_ = make(http.Header)
4430	}
4431	return c.header_
4432}
4433
4434func (c *ProjectsNotesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
4435	reqHeaders := make(http.Header)
4436	for k, v := range c.header_ {
4437		reqHeaders[k] = v
4438	}
4439	reqHeaders.Set("User-Agent", c.s.userAgent())
4440	var body io.Reader = nil
4441	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
4442	if err != nil {
4443		return nil, err
4444	}
4445	reqHeaders.Set("Content-Type", "application/json")
4446	c.urlParams_.Set("alt", alt)
4447	c.urlParams_.Set("prettyPrint", "false")
4448	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
4449	urls += "?" + c.urlParams_.Encode()
4450	req, err := http.NewRequest("POST", urls, body)
4451	if err != nil {
4452		return nil, err
4453	}
4454	req.Header = reqHeaders
4455	googleapi.Expand(req.URL, map[string]string{
4456		"resource": c.resource,
4457	})
4458	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4459}
4460
4461// Do executes the "containeranalysis.projects.notes.getIamPolicy" call.
4462// Exactly one of *Policy or error will be non-nil. Any non-2xx status
4463// code is an error. Response headers are in either
4464// *Policy.ServerResponse.Header or (if a response was returned at all)
4465// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4466// check whether the returned error was because http.StatusNotModified
4467// was returned.
4468func (c *ProjectsNotesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
4469	gensupport.SetOptions(c.urlParams_, opts...)
4470	res, err := c.doRequest("json")
4471	if res != nil && res.StatusCode == http.StatusNotModified {
4472		if res.Body != nil {
4473			res.Body.Close()
4474		}
4475		return nil, &googleapi.Error{
4476			Code:   res.StatusCode,
4477			Header: res.Header,
4478		}
4479	}
4480	if err != nil {
4481		return nil, err
4482	}
4483	defer googleapi.CloseBody(res)
4484	if err := googleapi.CheckResponse(res); err != nil {
4485		return nil, err
4486	}
4487	ret := &Policy{
4488		ServerResponse: googleapi.ServerResponse{
4489			Header:         res.Header,
4490			HTTPStatusCode: res.StatusCode,
4491		},
4492	}
4493	target := &ret
4494	if err := gensupport.DecodeResponse(target, res); err != nil {
4495		return nil, err
4496	}
4497	return ret, nil
4498	// {
4499	//   "description": "Gets the access control policy for a note or an occurrence resource.\nRequires `containeranalysis.notes.setIamPolicy` or\n`containeranalysis.occurrences.setIamPolicy` permission if the resource is\na note or occurrence, respectively.\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.",
4500	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}:getIamPolicy",
4501	//   "httpMethod": "POST",
4502	//   "id": "containeranalysis.projects.notes.getIamPolicy",
4503	//   "parameterOrder": [
4504	//     "resource"
4505	//   ],
4506	//   "parameters": {
4507	//     "resource": {
4508	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
4509	//       "location": "path",
4510	//       "pattern": "^projects/[^/]+/notes/[^/]+$",
4511	//       "required": true,
4512	//       "type": "string"
4513	//     }
4514	//   },
4515	//   "path": "v1beta1/{+resource}:getIamPolicy",
4516	//   "request": {
4517	//     "$ref": "GetIamPolicyRequest"
4518	//   },
4519	//   "response": {
4520	//     "$ref": "Policy"
4521	//   },
4522	//   "scopes": [
4523	//     "https://www.googleapis.com/auth/cloud-platform"
4524	//   ]
4525	// }
4526
4527}
4528
4529// method id "containeranalysis.projects.notes.list":
4530
4531type ProjectsNotesListCall struct {
4532	s            *Service
4533	parent       string
4534	urlParams_   gensupport.URLParams
4535	ifNoneMatch_ string
4536	ctx_         context.Context
4537	header_      http.Header
4538}
4539
4540// List: Lists notes for the specified project.
4541func (r *ProjectsNotesService) List(parent string) *ProjectsNotesListCall {
4542	c := &ProjectsNotesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4543	c.parent = parent
4544	return c
4545}
4546
4547// Filter sets the optional parameter "filter": The filter expression.
4548func (c *ProjectsNotesListCall) Filter(filter string) *ProjectsNotesListCall {
4549	c.urlParams_.Set("filter", filter)
4550	return c
4551}
4552
4553// PageSize sets the optional parameter "pageSize": Number of notes to
4554// return in the list. Must be positive. Max allowed page
4555// size is 1000. If not specified, page size defaults to 20.
4556func (c *ProjectsNotesListCall) PageSize(pageSize int64) *ProjectsNotesListCall {
4557	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
4558	return c
4559}
4560
4561// PageToken sets the optional parameter "pageToken": Token to provide
4562// to skip to a particular spot in the list.
4563func (c *ProjectsNotesListCall) PageToken(pageToken string) *ProjectsNotesListCall {
4564	c.urlParams_.Set("pageToken", pageToken)
4565	return c
4566}
4567
4568// Fields allows partial responses to be retrieved. See
4569// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4570// for more information.
4571func (c *ProjectsNotesListCall) Fields(s ...googleapi.Field) *ProjectsNotesListCall {
4572	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4573	return c
4574}
4575
4576// IfNoneMatch sets the optional parameter which makes the operation
4577// fail if the object's ETag matches the given value. This is useful for
4578// getting updates only after the object has changed since the last
4579// request. Use googleapi.IsNotModified to check whether the response
4580// error from Do is the result of In-None-Match.
4581func (c *ProjectsNotesListCall) IfNoneMatch(entityTag string) *ProjectsNotesListCall {
4582	c.ifNoneMatch_ = entityTag
4583	return c
4584}
4585
4586// Context sets the context to be used in this call's Do method. Any
4587// pending HTTP request will be aborted if the provided context is
4588// canceled.
4589func (c *ProjectsNotesListCall) Context(ctx context.Context) *ProjectsNotesListCall {
4590	c.ctx_ = ctx
4591	return c
4592}
4593
4594// Header returns an http.Header that can be modified by the caller to
4595// add HTTP headers to the request.
4596func (c *ProjectsNotesListCall) Header() http.Header {
4597	if c.header_ == nil {
4598		c.header_ = make(http.Header)
4599	}
4600	return c.header_
4601}
4602
4603func (c *ProjectsNotesListCall) doRequest(alt string) (*http.Response, error) {
4604	reqHeaders := make(http.Header)
4605	for k, v := range c.header_ {
4606		reqHeaders[k] = v
4607	}
4608	reqHeaders.Set("User-Agent", c.s.userAgent())
4609	if c.ifNoneMatch_ != "" {
4610		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4611	}
4612	var body io.Reader = nil
4613	c.urlParams_.Set("alt", alt)
4614	c.urlParams_.Set("prettyPrint", "false")
4615	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/notes")
4616	urls += "?" + c.urlParams_.Encode()
4617	req, err := http.NewRequest("GET", urls, body)
4618	if err != nil {
4619		return nil, err
4620	}
4621	req.Header = reqHeaders
4622	googleapi.Expand(req.URL, map[string]string{
4623		"parent": c.parent,
4624	})
4625	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4626}
4627
4628// Do executes the "containeranalysis.projects.notes.list" call.
4629// Exactly one of *ListNotesResponse or error will be non-nil. Any
4630// non-2xx status code is an error. Response headers are in either
4631// *ListNotesResponse.ServerResponse.Header or (if a response was
4632// returned at all) in error.(*googleapi.Error).Header. Use
4633// googleapi.IsNotModified to check whether the returned error was
4634// because http.StatusNotModified was returned.
4635func (c *ProjectsNotesListCall) Do(opts ...googleapi.CallOption) (*ListNotesResponse, error) {
4636	gensupport.SetOptions(c.urlParams_, opts...)
4637	res, err := c.doRequest("json")
4638	if res != nil && res.StatusCode == http.StatusNotModified {
4639		if res.Body != nil {
4640			res.Body.Close()
4641		}
4642		return nil, &googleapi.Error{
4643			Code:   res.StatusCode,
4644			Header: res.Header,
4645		}
4646	}
4647	if err != nil {
4648		return nil, err
4649	}
4650	defer googleapi.CloseBody(res)
4651	if err := googleapi.CheckResponse(res); err != nil {
4652		return nil, err
4653	}
4654	ret := &ListNotesResponse{
4655		ServerResponse: googleapi.ServerResponse{
4656			Header:         res.Header,
4657			HTTPStatusCode: res.StatusCode,
4658		},
4659	}
4660	target := &ret
4661	if err := gensupport.DecodeResponse(target, res); err != nil {
4662		return nil, err
4663	}
4664	return ret, nil
4665	// {
4666	//   "description": "Lists notes for the specified project.",
4667	//   "flatPath": "v1beta1/projects/{projectsId}/notes",
4668	//   "httpMethod": "GET",
4669	//   "id": "containeranalysis.projects.notes.list",
4670	//   "parameterOrder": [
4671	//     "parent"
4672	//   ],
4673	//   "parameters": {
4674	//     "filter": {
4675	//       "description": "The filter expression.",
4676	//       "location": "query",
4677	//       "type": "string"
4678	//     },
4679	//     "pageSize": {
4680	//       "description": "Number of notes to return in the list. Must be positive. Max allowed page\nsize is 1000. If not specified, page size defaults to 20.",
4681	//       "format": "int32",
4682	//       "location": "query",
4683	//       "type": "integer"
4684	//     },
4685	//     "pageToken": {
4686	//       "description": "Token to provide to skip to a particular spot in the list.",
4687	//       "location": "query",
4688	//       "type": "string"
4689	//     },
4690	//     "parent": {
4691	//       "description": "The name of the project to list notes for in the form of\n`projects/[PROJECT_ID]`.",
4692	//       "location": "path",
4693	//       "pattern": "^projects/[^/]+$",
4694	//       "required": true,
4695	//       "type": "string"
4696	//     }
4697	//   },
4698	//   "path": "v1beta1/{+parent}/notes",
4699	//   "response": {
4700	//     "$ref": "ListNotesResponse"
4701	//   },
4702	//   "scopes": [
4703	//     "https://www.googleapis.com/auth/cloud-platform"
4704	//   ]
4705	// }
4706
4707}
4708
4709// Pages invokes f for each page of results.
4710// A non-nil error returned from f will halt the iteration.
4711// The provided context supersedes any context provided to the Context method.
4712func (c *ProjectsNotesListCall) Pages(ctx context.Context, f func(*ListNotesResponse) error) error {
4713	c.ctx_ = ctx
4714	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
4715	for {
4716		x, err := c.Do()
4717		if err != nil {
4718			return err
4719		}
4720		if err := f(x); err != nil {
4721			return err
4722		}
4723		if x.NextPageToken == "" {
4724			return nil
4725		}
4726		c.PageToken(x.NextPageToken)
4727	}
4728}
4729
4730// method id "containeranalysis.projects.notes.patch":
4731
4732type ProjectsNotesPatchCall struct {
4733	s          *Service
4734	name       string
4735	note       *Note
4736	urlParams_ gensupport.URLParams
4737	ctx_       context.Context
4738	header_    http.Header
4739}
4740
4741// Patch: Updates the specified note.
4742func (r *ProjectsNotesService) Patch(name string, note *Note) *ProjectsNotesPatchCall {
4743	c := &ProjectsNotesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4744	c.name = name
4745	c.note = note
4746	return c
4747}
4748
4749// UpdateMask sets the optional parameter "updateMask": The fields to
4750// update.
4751func (c *ProjectsNotesPatchCall) UpdateMask(updateMask string) *ProjectsNotesPatchCall {
4752	c.urlParams_.Set("updateMask", updateMask)
4753	return c
4754}
4755
4756// Fields allows partial responses to be retrieved. See
4757// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4758// for more information.
4759func (c *ProjectsNotesPatchCall) Fields(s ...googleapi.Field) *ProjectsNotesPatchCall {
4760	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4761	return c
4762}
4763
4764// Context sets the context to be used in this call's Do method. Any
4765// pending HTTP request will be aborted if the provided context is
4766// canceled.
4767func (c *ProjectsNotesPatchCall) Context(ctx context.Context) *ProjectsNotesPatchCall {
4768	c.ctx_ = ctx
4769	return c
4770}
4771
4772// Header returns an http.Header that can be modified by the caller to
4773// add HTTP headers to the request.
4774func (c *ProjectsNotesPatchCall) Header() http.Header {
4775	if c.header_ == nil {
4776		c.header_ = make(http.Header)
4777	}
4778	return c.header_
4779}
4780
4781func (c *ProjectsNotesPatchCall) doRequest(alt string) (*http.Response, error) {
4782	reqHeaders := make(http.Header)
4783	for k, v := range c.header_ {
4784		reqHeaders[k] = v
4785	}
4786	reqHeaders.Set("User-Agent", c.s.userAgent())
4787	var body io.Reader = nil
4788	body, err := googleapi.WithoutDataWrapper.JSONReader(c.note)
4789	if err != nil {
4790		return nil, err
4791	}
4792	reqHeaders.Set("Content-Type", "application/json")
4793	c.urlParams_.Set("alt", alt)
4794	c.urlParams_.Set("prettyPrint", "false")
4795	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4796	urls += "?" + c.urlParams_.Encode()
4797	req, err := http.NewRequest("PATCH", urls, body)
4798	if err != nil {
4799		return nil, err
4800	}
4801	req.Header = reqHeaders
4802	googleapi.Expand(req.URL, map[string]string{
4803		"name": c.name,
4804	})
4805	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4806}
4807
4808// Do executes the "containeranalysis.projects.notes.patch" call.
4809// Exactly one of *Note or error will be non-nil. Any non-2xx status
4810// code is an error. Response headers are in either
4811// *Note.ServerResponse.Header or (if a response was returned at all) in
4812// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4813// whether the returned error was because http.StatusNotModified was
4814// returned.
4815func (c *ProjectsNotesPatchCall) Do(opts ...googleapi.CallOption) (*Note, error) {
4816	gensupport.SetOptions(c.urlParams_, opts...)
4817	res, err := c.doRequest("json")
4818	if res != nil && res.StatusCode == http.StatusNotModified {
4819		if res.Body != nil {
4820			res.Body.Close()
4821		}
4822		return nil, &googleapi.Error{
4823			Code:   res.StatusCode,
4824			Header: res.Header,
4825		}
4826	}
4827	if err != nil {
4828		return nil, err
4829	}
4830	defer googleapi.CloseBody(res)
4831	if err := googleapi.CheckResponse(res); err != nil {
4832		return nil, err
4833	}
4834	ret := &Note{
4835		ServerResponse: googleapi.ServerResponse{
4836			Header:         res.Header,
4837			HTTPStatusCode: res.StatusCode,
4838		},
4839	}
4840	target := &ret
4841	if err := gensupport.DecodeResponse(target, res); err != nil {
4842		return nil, err
4843	}
4844	return ret, nil
4845	// {
4846	//   "description": "Updates the specified note.",
4847	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}",
4848	//   "httpMethod": "PATCH",
4849	//   "id": "containeranalysis.projects.notes.patch",
4850	//   "parameterOrder": [
4851	//     "name"
4852	//   ],
4853	//   "parameters": {
4854	//     "name": {
4855	//       "description": "The name of the note in the form of\n`projects/[PROVIDER_ID]/notes/[NOTE_ID]`.",
4856	//       "location": "path",
4857	//       "pattern": "^projects/[^/]+/notes/[^/]+$",
4858	//       "required": true,
4859	//       "type": "string"
4860	//     },
4861	//     "updateMask": {
4862	//       "description": "The fields to update.",
4863	//       "format": "google-fieldmask",
4864	//       "location": "query",
4865	//       "type": "string"
4866	//     }
4867	//   },
4868	//   "path": "v1beta1/{+name}",
4869	//   "request": {
4870	//     "$ref": "Note"
4871	//   },
4872	//   "response": {
4873	//     "$ref": "Note"
4874	//   },
4875	//   "scopes": [
4876	//     "https://www.googleapis.com/auth/cloud-platform"
4877	//   ]
4878	// }
4879
4880}
4881
4882// method id "containeranalysis.projects.notes.setIamPolicy":
4883
4884type ProjectsNotesSetIamPolicyCall struct {
4885	s                   *Service
4886	resource            string
4887	setiampolicyrequest *SetIamPolicyRequest
4888	urlParams_          gensupport.URLParams
4889	ctx_                context.Context
4890	header_             http.Header
4891}
4892
4893// SetIamPolicy: Sets the access control policy on the specified note or
4894// occurrence.
4895// Requires `containeranalysis.notes.setIamPolicy`
4896// or
4897// `containeranalysis.occurrences.setIamPolicy` permission if the
4898// resource is
4899// a note or an occurrence, respectively.
4900//
4901// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]`
4902// for
4903// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`
4904// for
4905// occurrences.
4906func (r *ProjectsNotesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsNotesSetIamPolicyCall {
4907	c := &ProjectsNotesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4908	c.resource = resource
4909	c.setiampolicyrequest = setiampolicyrequest
4910	return c
4911}
4912
4913// Fields allows partial responses to be retrieved. See
4914// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4915// for more information.
4916func (c *ProjectsNotesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsNotesSetIamPolicyCall {
4917	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4918	return c
4919}
4920
4921// Context sets the context to be used in this call's Do method. Any
4922// pending HTTP request will be aborted if the provided context is
4923// canceled.
4924func (c *ProjectsNotesSetIamPolicyCall) Context(ctx context.Context) *ProjectsNotesSetIamPolicyCall {
4925	c.ctx_ = ctx
4926	return c
4927}
4928
4929// Header returns an http.Header that can be modified by the caller to
4930// add HTTP headers to the request.
4931func (c *ProjectsNotesSetIamPolicyCall) Header() http.Header {
4932	if c.header_ == nil {
4933		c.header_ = make(http.Header)
4934	}
4935	return c.header_
4936}
4937
4938func (c *ProjectsNotesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
4939	reqHeaders := make(http.Header)
4940	for k, v := range c.header_ {
4941		reqHeaders[k] = v
4942	}
4943	reqHeaders.Set("User-Agent", c.s.userAgent())
4944	var body io.Reader = nil
4945	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
4946	if err != nil {
4947		return nil, err
4948	}
4949	reqHeaders.Set("Content-Type", "application/json")
4950	c.urlParams_.Set("alt", alt)
4951	c.urlParams_.Set("prettyPrint", "false")
4952	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
4953	urls += "?" + c.urlParams_.Encode()
4954	req, err := http.NewRequest("POST", urls, body)
4955	if err != nil {
4956		return nil, err
4957	}
4958	req.Header = reqHeaders
4959	googleapi.Expand(req.URL, map[string]string{
4960		"resource": c.resource,
4961	})
4962	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4963}
4964
4965// Do executes the "containeranalysis.projects.notes.setIamPolicy" call.
4966// Exactly one of *Policy or error will be non-nil. Any non-2xx status
4967// code is an error. Response headers are in either
4968// *Policy.ServerResponse.Header or (if a response was returned at all)
4969// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4970// check whether the returned error was because http.StatusNotModified
4971// was returned.
4972func (c *ProjectsNotesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
4973	gensupport.SetOptions(c.urlParams_, opts...)
4974	res, err := c.doRequest("json")
4975	if res != nil && res.StatusCode == http.StatusNotModified {
4976		if res.Body != nil {
4977			res.Body.Close()
4978		}
4979		return nil, &googleapi.Error{
4980			Code:   res.StatusCode,
4981			Header: res.Header,
4982		}
4983	}
4984	if err != nil {
4985		return nil, err
4986	}
4987	defer googleapi.CloseBody(res)
4988	if err := googleapi.CheckResponse(res); err != nil {
4989		return nil, err
4990	}
4991	ret := &Policy{
4992		ServerResponse: googleapi.ServerResponse{
4993			Header:         res.Header,
4994			HTTPStatusCode: res.StatusCode,
4995		},
4996	}
4997	target := &ret
4998	if err := gensupport.DecodeResponse(target, res); err != nil {
4999		return nil, err
5000	}
5001	return ret, nil
5002	// {
5003	//   "description": "Sets the access control policy on the specified note or occurrence.\nRequires `containeranalysis.notes.setIamPolicy` or\n`containeranalysis.occurrences.setIamPolicy` permission if the resource is\na note or an occurrence, respectively.\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.",
5004	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}:setIamPolicy",
5005	//   "httpMethod": "POST",
5006	//   "id": "containeranalysis.projects.notes.setIamPolicy",
5007	//   "parameterOrder": [
5008	//     "resource"
5009	//   ],
5010	//   "parameters": {
5011	//     "resource": {
5012	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
5013	//       "location": "path",
5014	//       "pattern": "^projects/[^/]+/notes/[^/]+$",
5015	//       "required": true,
5016	//       "type": "string"
5017	//     }
5018	//   },
5019	//   "path": "v1beta1/{+resource}:setIamPolicy",
5020	//   "request": {
5021	//     "$ref": "SetIamPolicyRequest"
5022	//   },
5023	//   "response": {
5024	//     "$ref": "Policy"
5025	//   },
5026	//   "scopes": [
5027	//     "https://www.googleapis.com/auth/cloud-platform"
5028	//   ]
5029	// }
5030
5031}
5032
5033// method id "containeranalysis.projects.notes.testIamPermissions":
5034
5035type ProjectsNotesTestIamPermissionsCall struct {
5036	s                         *Service
5037	resource                  string
5038	testiampermissionsrequest *TestIamPermissionsRequest
5039	urlParams_                gensupport.URLParams
5040	ctx_                      context.Context
5041	header_                   http.Header
5042}
5043
5044// TestIamPermissions: Returns the permissions that a caller has on the
5045// specified note or
5046// occurrence. Requires list permission on the project (for
5047// example,
5048// `containeranalysis.notes.list`).
5049//
5050// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]`
5051// for
5052// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`
5053// for
5054// occurrences.
5055func (r *ProjectsNotesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsNotesTestIamPermissionsCall {
5056	c := &ProjectsNotesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5057	c.resource = resource
5058	c.testiampermissionsrequest = testiampermissionsrequest
5059	return c
5060}
5061
5062// Fields allows partial responses to be retrieved. See
5063// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5064// for more information.
5065func (c *ProjectsNotesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsNotesTestIamPermissionsCall {
5066	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5067	return c
5068}
5069
5070// Context sets the context to be used in this call's Do method. Any
5071// pending HTTP request will be aborted if the provided context is
5072// canceled.
5073func (c *ProjectsNotesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsNotesTestIamPermissionsCall {
5074	c.ctx_ = ctx
5075	return c
5076}
5077
5078// Header returns an http.Header that can be modified by the caller to
5079// add HTTP headers to the request.
5080func (c *ProjectsNotesTestIamPermissionsCall) Header() http.Header {
5081	if c.header_ == nil {
5082		c.header_ = make(http.Header)
5083	}
5084	return c.header_
5085}
5086
5087func (c *ProjectsNotesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
5088	reqHeaders := make(http.Header)
5089	for k, v := range c.header_ {
5090		reqHeaders[k] = v
5091	}
5092	reqHeaders.Set("User-Agent", c.s.userAgent())
5093	var body io.Reader = nil
5094	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
5095	if err != nil {
5096		return nil, err
5097	}
5098	reqHeaders.Set("Content-Type", "application/json")
5099	c.urlParams_.Set("alt", alt)
5100	c.urlParams_.Set("prettyPrint", "false")
5101	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
5102	urls += "?" + c.urlParams_.Encode()
5103	req, err := http.NewRequest("POST", urls, body)
5104	if err != nil {
5105		return nil, err
5106	}
5107	req.Header = reqHeaders
5108	googleapi.Expand(req.URL, map[string]string{
5109		"resource": c.resource,
5110	})
5111	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5112}
5113
5114// Do executes the "containeranalysis.projects.notes.testIamPermissions" call.
5115// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
5116// Any non-2xx status code is an error. Response headers are in either
5117// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
5118// was returned at all) in error.(*googleapi.Error).Header. Use
5119// googleapi.IsNotModified to check whether the returned error was
5120// because http.StatusNotModified was returned.
5121func (c *ProjectsNotesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
5122	gensupport.SetOptions(c.urlParams_, opts...)
5123	res, err := c.doRequest("json")
5124	if res != nil && res.StatusCode == http.StatusNotModified {
5125		if res.Body != nil {
5126			res.Body.Close()
5127		}
5128		return nil, &googleapi.Error{
5129			Code:   res.StatusCode,
5130			Header: res.Header,
5131		}
5132	}
5133	if err != nil {
5134		return nil, err
5135	}
5136	defer googleapi.CloseBody(res)
5137	if err := googleapi.CheckResponse(res); err != nil {
5138		return nil, err
5139	}
5140	ret := &TestIamPermissionsResponse{
5141		ServerResponse: googleapi.ServerResponse{
5142			Header:         res.Header,
5143			HTTPStatusCode: res.StatusCode,
5144		},
5145	}
5146	target := &ret
5147	if err := gensupport.DecodeResponse(target, res); err != nil {
5148		return nil, err
5149	}
5150	return ret, nil
5151	// {
5152	//   "description": "Returns the permissions that a caller has on the specified note or\noccurrence. Requires list permission on the project (for example,\n`containeranalysis.notes.list`).\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.",
5153	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}:testIamPermissions",
5154	//   "httpMethod": "POST",
5155	//   "id": "containeranalysis.projects.notes.testIamPermissions",
5156	//   "parameterOrder": [
5157	//     "resource"
5158	//   ],
5159	//   "parameters": {
5160	//     "resource": {
5161	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
5162	//       "location": "path",
5163	//       "pattern": "^projects/[^/]+/notes/[^/]+$",
5164	//       "required": true,
5165	//       "type": "string"
5166	//     }
5167	//   },
5168	//   "path": "v1beta1/{+resource}:testIamPermissions",
5169	//   "request": {
5170	//     "$ref": "TestIamPermissionsRequest"
5171	//   },
5172	//   "response": {
5173	//     "$ref": "TestIamPermissionsResponse"
5174	//   },
5175	//   "scopes": [
5176	//     "https://www.googleapis.com/auth/cloud-platform"
5177	//   ]
5178	// }
5179
5180}
5181
5182// method id "containeranalysis.projects.notes.occurrences.list":
5183
5184type ProjectsNotesOccurrencesListCall struct {
5185	s            *Service
5186	name         string
5187	urlParams_   gensupport.URLParams
5188	ifNoneMatch_ string
5189	ctx_         context.Context
5190	header_      http.Header
5191}
5192
5193// List: Lists occurrences referencing the specified note. Provider
5194// projects can use
5195// this method to get all occurrences across consumer projects
5196// referencing the
5197// specified note.
5198func (r *ProjectsNotesOccurrencesService) List(name string) *ProjectsNotesOccurrencesListCall {
5199	c := &ProjectsNotesOccurrencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5200	c.name = name
5201	return c
5202}
5203
5204// Filter sets the optional parameter "filter": The filter expression.
5205func (c *ProjectsNotesOccurrencesListCall) Filter(filter string) *ProjectsNotesOccurrencesListCall {
5206	c.urlParams_.Set("filter", filter)
5207	return c
5208}
5209
5210// PageSize sets the optional parameter "pageSize": Number of
5211// occurrences to return in the list.
5212func (c *ProjectsNotesOccurrencesListCall) PageSize(pageSize int64) *ProjectsNotesOccurrencesListCall {
5213	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
5214	return c
5215}
5216
5217// PageToken sets the optional parameter "pageToken": Token to provide
5218// to skip to a particular spot in the list.
5219func (c *ProjectsNotesOccurrencesListCall) PageToken(pageToken string) *ProjectsNotesOccurrencesListCall {
5220	c.urlParams_.Set("pageToken", pageToken)
5221	return c
5222}
5223
5224// Fields allows partial responses to be retrieved. See
5225// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5226// for more information.
5227func (c *ProjectsNotesOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsNotesOccurrencesListCall {
5228	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5229	return c
5230}
5231
5232// IfNoneMatch sets the optional parameter which makes the operation
5233// fail if the object's ETag matches the given value. This is useful for
5234// getting updates only after the object has changed since the last
5235// request. Use googleapi.IsNotModified to check whether the response
5236// error from Do is the result of In-None-Match.
5237func (c *ProjectsNotesOccurrencesListCall) IfNoneMatch(entityTag string) *ProjectsNotesOccurrencesListCall {
5238	c.ifNoneMatch_ = entityTag
5239	return c
5240}
5241
5242// Context sets the context to be used in this call's Do method. Any
5243// pending HTTP request will be aborted if the provided context is
5244// canceled.
5245func (c *ProjectsNotesOccurrencesListCall) Context(ctx context.Context) *ProjectsNotesOccurrencesListCall {
5246	c.ctx_ = ctx
5247	return c
5248}
5249
5250// Header returns an http.Header that can be modified by the caller to
5251// add HTTP headers to the request.
5252func (c *ProjectsNotesOccurrencesListCall) Header() http.Header {
5253	if c.header_ == nil {
5254		c.header_ = make(http.Header)
5255	}
5256	return c.header_
5257}
5258
5259func (c *ProjectsNotesOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
5260	reqHeaders := make(http.Header)
5261	for k, v := range c.header_ {
5262		reqHeaders[k] = v
5263	}
5264	reqHeaders.Set("User-Agent", c.s.userAgent())
5265	if c.ifNoneMatch_ != "" {
5266		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5267	}
5268	var body io.Reader = nil
5269	c.urlParams_.Set("alt", alt)
5270	c.urlParams_.Set("prettyPrint", "false")
5271	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/occurrences")
5272	urls += "?" + c.urlParams_.Encode()
5273	req, err := http.NewRequest("GET", urls, body)
5274	if err != nil {
5275		return nil, err
5276	}
5277	req.Header = reqHeaders
5278	googleapi.Expand(req.URL, map[string]string{
5279		"name": c.name,
5280	})
5281	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5282}
5283
5284// Do executes the "containeranalysis.projects.notes.occurrences.list" call.
5285// Exactly one of *ListNoteOccurrencesResponse or error will be non-nil.
5286// Any non-2xx status code is an error. Response headers are in either
5287// *ListNoteOccurrencesResponse.ServerResponse.Header or (if a response
5288// was returned at all) in error.(*googleapi.Error).Header. Use
5289// googleapi.IsNotModified to check whether the returned error was
5290// because http.StatusNotModified was returned.
5291func (c *ProjectsNotesOccurrencesListCall) Do(opts ...googleapi.CallOption) (*ListNoteOccurrencesResponse, error) {
5292	gensupport.SetOptions(c.urlParams_, opts...)
5293	res, err := c.doRequest("json")
5294	if res != nil && res.StatusCode == http.StatusNotModified {
5295		if res.Body != nil {
5296			res.Body.Close()
5297		}
5298		return nil, &googleapi.Error{
5299			Code:   res.StatusCode,
5300			Header: res.Header,
5301		}
5302	}
5303	if err != nil {
5304		return nil, err
5305	}
5306	defer googleapi.CloseBody(res)
5307	if err := googleapi.CheckResponse(res); err != nil {
5308		return nil, err
5309	}
5310	ret := &ListNoteOccurrencesResponse{
5311		ServerResponse: googleapi.ServerResponse{
5312			Header:         res.Header,
5313			HTTPStatusCode: res.StatusCode,
5314		},
5315	}
5316	target := &ret
5317	if err := gensupport.DecodeResponse(target, res); err != nil {
5318		return nil, err
5319	}
5320	return ret, nil
5321	// {
5322	//   "description": "Lists occurrences referencing the specified note. Provider projects can use\nthis method to get all occurrences across consumer projects referencing the\nspecified note.",
5323	//   "flatPath": "v1beta1/projects/{projectsId}/notes/{notesId}/occurrences",
5324	//   "httpMethod": "GET",
5325	//   "id": "containeranalysis.projects.notes.occurrences.list",
5326	//   "parameterOrder": [
5327	//     "name"
5328	//   ],
5329	//   "parameters": {
5330	//     "filter": {
5331	//       "description": "The filter expression.",
5332	//       "location": "query",
5333	//       "type": "string"
5334	//     },
5335	//     "name": {
5336	//       "description": "The name of the note to list occurrences for in the form of\n`projects/[PROVIDER_ID]/notes/[NOTE_ID]`.",
5337	//       "location": "path",
5338	//       "pattern": "^projects/[^/]+/notes/[^/]+$",
5339	//       "required": true,
5340	//       "type": "string"
5341	//     },
5342	//     "pageSize": {
5343	//       "description": "Number of occurrences to return in the list.",
5344	//       "format": "int32",
5345	//       "location": "query",
5346	//       "type": "integer"
5347	//     },
5348	//     "pageToken": {
5349	//       "description": "Token to provide to skip to a particular spot in the list.",
5350	//       "location": "query",
5351	//       "type": "string"
5352	//     }
5353	//   },
5354	//   "path": "v1beta1/{+name}/occurrences",
5355	//   "response": {
5356	//     "$ref": "ListNoteOccurrencesResponse"
5357	//   },
5358	//   "scopes": [
5359	//     "https://www.googleapis.com/auth/cloud-platform"
5360	//   ]
5361	// }
5362
5363}
5364
5365// Pages invokes f for each page of results.
5366// A non-nil error returned from f will halt the iteration.
5367// The provided context supersedes any context provided to the Context method.
5368func (c *ProjectsNotesOccurrencesListCall) Pages(ctx context.Context, f func(*ListNoteOccurrencesResponse) error) error {
5369	c.ctx_ = ctx
5370	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5371	for {
5372		x, err := c.Do()
5373		if err != nil {
5374			return err
5375		}
5376		if err := f(x); err != nil {
5377			return err
5378		}
5379		if x.NextPageToken == "" {
5380			return nil
5381		}
5382		c.PageToken(x.NextPageToken)
5383	}
5384}
5385
5386// method id "containeranalysis.projects.occurrences.batchCreate":
5387
5388type ProjectsOccurrencesBatchCreateCall struct {
5389	s                             *Service
5390	parent                        string
5391	batchcreateoccurrencesrequest *BatchCreateOccurrencesRequest
5392	urlParams_                    gensupport.URLParams
5393	ctx_                          context.Context
5394	header_                       http.Header
5395}
5396
5397// BatchCreate: Creates new occurrences in batch.
5398func (r *ProjectsOccurrencesService) BatchCreate(parent string, batchcreateoccurrencesrequest *BatchCreateOccurrencesRequest) *ProjectsOccurrencesBatchCreateCall {
5399	c := &ProjectsOccurrencesBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5400	c.parent = parent
5401	c.batchcreateoccurrencesrequest = batchcreateoccurrencesrequest
5402	return c
5403}
5404
5405// Fields allows partial responses to be retrieved. See
5406// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5407// for more information.
5408func (c *ProjectsOccurrencesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesBatchCreateCall {
5409	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5410	return c
5411}
5412
5413// Context sets the context to be used in this call's Do method. Any
5414// pending HTTP request will be aborted if the provided context is
5415// canceled.
5416func (c *ProjectsOccurrencesBatchCreateCall) Context(ctx context.Context) *ProjectsOccurrencesBatchCreateCall {
5417	c.ctx_ = ctx
5418	return c
5419}
5420
5421// Header returns an http.Header that can be modified by the caller to
5422// add HTTP headers to the request.
5423func (c *ProjectsOccurrencesBatchCreateCall) Header() http.Header {
5424	if c.header_ == nil {
5425		c.header_ = make(http.Header)
5426	}
5427	return c.header_
5428}
5429
5430func (c *ProjectsOccurrencesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
5431	reqHeaders := make(http.Header)
5432	for k, v := range c.header_ {
5433		reqHeaders[k] = v
5434	}
5435	reqHeaders.Set("User-Agent", c.s.userAgent())
5436	var body io.Reader = nil
5437	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchcreateoccurrencesrequest)
5438	if err != nil {
5439		return nil, err
5440	}
5441	reqHeaders.Set("Content-Type", "application/json")
5442	c.urlParams_.Set("alt", alt)
5443	c.urlParams_.Set("prettyPrint", "false")
5444	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences:batchCreate")
5445	urls += "?" + c.urlParams_.Encode()
5446	req, err := http.NewRequest("POST", urls, body)
5447	if err != nil {
5448		return nil, err
5449	}
5450	req.Header = reqHeaders
5451	googleapi.Expand(req.URL, map[string]string{
5452		"parent": c.parent,
5453	})
5454	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5455}
5456
5457// Do executes the "containeranalysis.projects.occurrences.batchCreate" call.
5458// Exactly one of *BatchCreateOccurrencesResponse or error will be
5459// non-nil. Any non-2xx status code is an error. Response headers are in
5460// either *BatchCreateOccurrencesResponse.ServerResponse.Header or (if a
5461// response was returned at all) in error.(*googleapi.Error).Header. Use
5462// googleapi.IsNotModified to check whether the returned error was
5463// because http.StatusNotModified was returned.
5464func (c *ProjectsOccurrencesBatchCreateCall) Do(opts ...googleapi.CallOption) (*BatchCreateOccurrencesResponse, error) {
5465	gensupport.SetOptions(c.urlParams_, opts...)
5466	res, err := c.doRequest("json")
5467	if res != nil && res.StatusCode == http.StatusNotModified {
5468		if res.Body != nil {
5469			res.Body.Close()
5470		}
5471		return nil, &googleapi.Error{
5472			Code:   res.StatusCode,
5473			Header: res.Header,
5474		}
5475	}
5476	if err != nil {
5477		return nil, err
5478	}
5479	defer googleapi.CloseBody(res)
5480	if err := googleapi.CheckResponse(res); err != nil {
5481		return nil, err
5482	}
5483	ret := &BatchCreateOccurrencesResponse{
5484		ServerResponse: googleapi.ServerResponse{
5485			Header:         res.Header,
5486			HTTPStatusCode: res.StatusCode,
5487		},
5488	}
5489	target := &ret
5490	if err := gensupport.DecodeResponse(target, res); err != nil {
5491		return nil, err
5492	}
5493	return ret, nil
5494	// {
5495	//   "description": "Creates new occurrences in batch.",
5496	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences:batchCreate",
5497	//   "httpMethod": "POST",
5498	//   "id": "containeranalysis.projects.occurrences.batchCreate",
5499	//   "parameterOrder": [
5500	//     "parent"
5501	//   ],
5502	//   "parameters": {
5503	//     "parent": {
5504	//       "description": "The name of the project in the form of `projects/[PROJECT_ID]`, under which\nthe occurrences are to be created.",
5505	//       "location": "path",
5506	//       "pattern": "^projects/[^/]+$",
5507	//       "required": true,
5508	//       "type": "string"
5509	//     }
5510	//   },
5511	//   "path": "v1beta1/{+parent}/occurrences:batchCreate",
5512	//   "request": {
5513	//     "$ref": "BatchCreateOccurrencesRequest"
5514	//   },
5515	//   "response": {
5516	//     "$ref": "BatchCreateOccurrencesResponse"
5517	//   },
5518	//   "scopes": [
5519	//     "https://www.googleapis.com/auth/cloud-platform"
5520	//   ]
5521	// }
5522
5523}
5524
5525// method id "containeranalysis.projects.occurrences.create":
5526
5527type ProjectsOccurrencesCreateCall struct {
5528	s          *Service
5529	parent     string
5530	occurrence *Occurrence
5531	urlParams_ gensupport.URLParams
5532	ctx_       context.Context
5533	header_    http.Header
5534}
5535
5536// Create: Creates a new occurrence.
5537func (r *ProjectsOccurrencesService) Create(parent string, occurrence *Occurrence) *ProjectsOccurrencesCreateCall {
5538	c := &ProjectsOccurrencesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5539	c.parent = parent
5540	c.occurrence = occurrence
5541	return c
5542}
5543
5544// Fields allows partial responses to be retrieved. See
5545// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5546// for more information.
5547func (c *ProjectsOccurrencesCreateCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesCreateCall {
5548	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5549	return c
5550}
5551
5552// Context sets the context to be used in this call's Do method. Any
5553// pending HTTP request will be aborted if the provided context is
5554// canceled.
5555func (c *ProjectsOccurrencesCreateCall) Context(ctx context.Context) *ProjectsOccurrencesCreateCall {
5556	c.ctx_ = ctx
5557	return c
5558}
5559
5560// Header returns an http.Header that can be modified by the caller to
5561// add HTTP headers to the request.
5562func (c *ProjectsOccurrencesCreateCall) Header() http.Header {
5563	if c.header_ == nil {
5564		c.header_ = make(http.Header)
5565	}
5566	return c.header_
5567}
5568
5569func (c *ProjectsOccurrencesCreateCall) doRequest(alt string) (*http.Response, error) {
5570	reqHeaders := make(http.Header)
5571	for k, v := range c.header_ {
5572		reqHeaders[k] = v
5573	}
5574	reqHeaders.Set("User-Agent", c.s.userAgent())
5575	var body io.Reader = nil
5576	body, err := googleapi.WithoutDataWrapper.JSONReader(c.occurrence)
5577	if err != nil {
5578		return nil, err
5579	}
5580	reqHeaders.Set("Content-Type", "application/json")
5581	c.urlParams_.Set("alt", alt)
5582	c.urlParams_.Set("prettyPrint", "false")
5583	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences")
5584	urls += "?" + c.urlParams_.Encode()
5585	req, err := http.NewRequest("POST", urls, body)
5586	if err != nil {
5587		return nil, err
5588	}
5589	req.Header = reqHeaders
5590	googleapi.Expand(req.URL, map[string]string{
5591		"parent": c.parent,
5592	})
5593	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5594}
5595
5596// Do executes the "containeranalysis.projects.occurrences.create" call.
5597// Exactly one of *Occurrence or error will be non-nil. Any non-2xx
5598// status code is an error. Response headers are in either
5599// *Occurrence.ServerResponse.Header or (if a response was returned at
5600// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5601// to check whether the returned error was because
5602// http.StatusNotModified was returned.
5603func (c *ProjectsOccurrencesCreateCall) Do(opts ...googleapi.CallOption) (*Occurrence, error) {
5604	gensupport.SetOptions(c.urlParams_, opts...)
5605	res, err := c.doRequest("json")
5606	if res != nil && res.StatusCode == http.StatusNotModified {
5607		if res.Body != nil {
5608			res.Body.Close()
5609		}
5610		return nil, &googleapi.Error{
5611			Code:   res.StatusCode,
5612			Header: res.Header,
5613		}
5614	}
5615	if err != nil {
5616		return nil, err
5617	}
5618	defer googleapi.CloseBody(res)
5619	if err := googleapi.CheckResponse(res); err != nil {
5620		return nil, err
5621	}
5622	ret := &Occurrence{
5623		ServerResponse: googleapi.ServerResponse{
5624			Header:         res.Header,
5625			HTTPStatusCode: res.StatusCode,
5626		},
5627	}
5628	target := &ret
5629	if err := gensupport.DecodeResponse(target, res); err != nil {
5630		return nil, err
5631	}
5632	return ret, nil
5633	// {
5634	//   "description": "Creates a new occurrence.",
5635	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences",
5636	//   "httpMethod": "POST",
5637	//   "id": "containeranalysis.projects.occurrences.create",
5638	//   "parameterOrder": [
5639	//     "parent"
5640	//   ],
5641	//   "parameters": {
5642	//     "parent": {
5643	//       "description": "The name of the project in the form of `projects/[PROJECT_ID]`, under which\nthe occurrence is to be created.",
5644	//       "location": "path",
5645	//       "pattern": "^projects/[^/]+$",
5646	//       "required": true,
5647	//       "type": "string"
5648	//     }
5649	//   },
5650	//   "path": "v1beta1/{+parent}/occurrences",
5651	//   "request": {
5652	//     "$ref": "Occurrence"
5653	//   },
5654	//   "response": {
5655	//     "$ref": "Occurrence"
5656	//   },
5657	//   "scopes": [
5658	//     "https://www.googleapis.com/auth/cloud-platform"
5659	//   ]
5660	// }
5661
5662}
5663
5664// method id "containeranalysis.projects.occurrences.delete":
5665
5666type ProjectsOccurrencesDeleteCall struct {
5667	s          *Service
5668	name       string
5669	urlParams_ gensupport.URLParams
5670	ctx_       context.Context
5671	header_    http.Header
5672}
5673
5674// Delete: Deletes the specified occurrence. For example, use this
5675// method to delete an
5676// occurrence when the occurrence is no longer applicable for the
5677// given
5678// resource.
5679func (r *ProjectsOccurrencesService) Delete(name string) *ProjectsOccurrencesDeleteCall {
5680	c := &ProjectsOccurrencesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5681	c.name = name
5682	return c
5683}
5684
5685// Fields allows partial responses to be retrieved. See
5686// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5687// for more information.
5688func (c *ProjectsOccurrencesDeleteCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesDeleteCall {
5689	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5690	return c
5691}
5692
5693// Context sets the context to be used in this call's Do method. Any
5694// pending HTTP request will be aborted if the provided context is
5695// canceled.
5696func (c *ProjectsOccurrencesDeleteCall) Context(ctx context.Context) *ProjectsOccurrencesDeleteCall {
5697	c.ctx_ = ctx
5698	return c
5699}
5700
5701// Header returns an http.Header that can be modified by the caller to
5702// add HTTP headers to the request.
5703func (c *ProjectsOccurrencesDeleteCall) Header() http.Header {
5704	if c.header_ == nil {
5705		c.header_ = make(http.Header)
5706	}
5707	return c.header_
5708}
5709
5710func (c *ProjectsOccurrencesDeleteCall) doRequest(alt string) (*http.Response, error) {
5711	reqHeaders := make(http.Header)
5712	for k, v := range c.header_ {
5713		reqHeaders[k] = v
5714	}
5715	reqHeaders.Set("User-Agent", c.s.userAgent())
5716	var body io.Reader = nil
5717	c.urlParams_.Set("alt", alt)
5718	c.urlParams_.Set("prettyPrint", "false")
5719	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
5720	urls += "?" + c.urlParams_.Encode()
5721	req, err := http.NewRequest("DELETE", urls, body)
5722	if err != nil {
5723		return nil, err
5724	}
5725	req.Header = reqHeaders
5726	googleapi.Expand(req.URL, map[string]string{
5727		"name": c.name,
5728	})
5729	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5730}
5731
5732// Do executes the "containeranalysis.projects.occurrences.delete" call.
5733// Exactly one of *Empty or error will be non-nil. Any non-2xx status
5734// code is an error. Response headers are in either
5735// *Empty.ServerResponse.Header or (if a response was returned at all)
5736// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5737// check whether the returned error was because http.StatusNotModified
5738// was returned.
5739func (c *ProjectsOccurrencesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
5740	gensupport.SetOptions(c.urlParams_, opts...)
5741	res, err := c.doRequest("json")
5742	if res != nil && res.StatusCode == http.StatusNotModified {
5743		if res.Body != nil {
5744			res.Body.Close()
5745		}
5746		return nil, &googleapi.Error{
5747			Code:   res.StatusCode,
5748			Header: res.Header,
5749		}
5750	}
5751	if err != nil {
5752		return nil, err
5753	}
5754	defer googleapi.CloseBody(res)
5755	if err := googleapi.CheckResponse(res); err != nil {
5756		return nil, err
5757	}
5758	ret := &Empty{
5759		ServerResponse: googleapi.ServerResponse{
5760			Header:         res.Header,
5761			HTTPStatusCode: res.StatusCode,
5762		},
5763	}
5764	target := &ret
5765	if err := gensupport.DecodeResponse(target, res); err != nil {
5766		return nil, err
5767	}
5768	return ret, nil
5769	// {
5770	//   "description": "Deletes the specified occurrence. For example, use this method to delete an\noccurrence when the occurrence is no longer applicable for the given\nresource.",
5771	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}",
5772	//   "httpMethod": "DELETE",
5773	//   "id": "containeranalysis.projects.occurrences.delete",
5774	//   "parameterOrder": [
5775	//     "name"
5776	//   ],
5777	//   "parameters": {
5778	//     "name": {
5779	//       "description": "The name of the occurrence in the form of\n`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.",
5780	//       "location": "path",
5781	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$",
5782	//       "required": true,
5783	//       "type": "string"
5784	//     }
5785	//   },
5786	//   "path": "v1beta1/{+name}",
5787	//   "response": {
5788	//     "$ref": "Empty"
5789	//   },
5790	//   "scopes": [
5791	//     "https://www.googleapis.com/auth/cloud-platform"
5792	//   ]
5793	// }
5794
5795}
5796
5797// method id "containeranalysis.projects.occurrences.get":
5798
5799type ProjectsOccurrencesGetCall struct {
5800	s            *Service
5801	name         string
5802	urlParams_   gensupport.URLParams
5803	ifNoneMatch_ string
5804	ctx_         context.Context
5805	header_      http.Header
5806}
5807
5808// Get: Gets the specified occurrence.
5809func (r *ProjectsOccurrencesService) Get(name string) *ProjectsOccurrencesGetCall {
5810	c := &ProjectsOccurrencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5811	c.name = name
5812	return c
5813}
5814
5815// Fields allows partial responses to be retrieved. See
5816// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5817// for more information.
5818func (c *ProjectsOccurrencesGetCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetCall {
5819	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5820	return c
5821}
5822
5823// IfNoneMatch sets the optional parameter which makes the operation
5824// fail if the object's ETag matches the given value. This is useful for
5825// getting updates only after the object has changed since the last
5826// request. Use googleapi.IsNotModified to check whether the response
5827// error from Do is the result of In-None-Match.
5828func (c *ProjectsOccurrencesGetCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesGetCall {
5829	c.ifNoneMatch_ = entityTag
5830	return c
5831}
5832
5833// Context sets the context to be used in this call's Do method. Any
5834// pending HTTP request will be aborted if the provided context is
5835// canceled.
5836func (c *ProjectsOccurrencesGetCall) Context(ctx context.Context) *ProjectsOccurrencesGetCall {
5837	c.ctx_ = ctx
5838	return c
5839}
5840
5841// Header returns an http.Header that can be modified by the caller to
5842// add HTTP headers to the request.
5843func (c *ProjectsOccurrencesGetCall) Header() http.Header {
5844	if c.header_ == nil {
5845		c.header_ = make(http.Header)
5846	}
5847	return c.header_
5848}
5849
5850func (c *ProjectsOccurrencesGetCall) doRequest(alt string) (*http.Response, error) {
5851	reqHeaders := make(http.Header)
5852	for k, v := range c.header_ {
5853		reqHeaders[k] = v
5854	}
5855	reqHeaders.Set("User-Agent", c.s.userAgent())
5856	if c.ifNoneMatch_ != "" {
5857		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5858	}
5859	var body io.Reader = nil
5860	c.urlParams_.Set("alt", alt)
5861	c.urlParams_.Set("prettyPrint", "false")
5862	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
5863	urls += "?" + c.urlParams_.Encode()
5864	req, err := http.NewRequest("GET", urls, body)
5865	if err != nil {
5866		return nil, err
5867	}
5868	req.Header = reqHeaders
5869	googleapi.Expand(req.URL, map[string]string{
5870		"name": c.name,
5871	})
5872	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5873}
5874
5875// Do executes the "containeranalysis.projects.occurrences.get" call.
5876// Exactly one of *Occurrence or error will be non-nil. Any non-2xx
5877// status code is an error. Response headers are in either
5878// *Occurrence.ServerResponse.Header or (if a response was returned at
5879// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5880// to check whether the returned error was because
5881// http.StatusNotModified was returned.
5882func (c *ProjectsOccurrencesGetCall) Do(opts ...googleapi.CallOption) (*Occurrence, error) {
5883	gensupport.SetOptions(c.urlParams_, opts...)
5884	res, err := c.doRequest("json")
5885	if res != nil && res.StatusCode == http.StatusNotModified {
5886		if res.Body != nil {
5887			res.Body.Close()
5888		}
5889		return nil, &googleapi.Error{
5890			Code:   res.StatusCode,
5891			Header: res.Header,
5892		}
5893	}
5894	if err != nil {
5895		return nil, err
5896	}
5897	defer googleapi.CloseBody(res)
5898	if err := googleapi.CheckResponse(res); err != nil {
5899		return nil, err
5900	}
5901	ret := &Occurrence{
5902		ServerResponse: googleapi.ServerResponse{
5903			Header:         res.Header,
5904			HTTPStatusCode: res.StatusCode,
5905		},
5906	}
5907	target := &ret
5908	if err := gensupport.DecodeResponse(target, res); err != nil {
5909		return nil, err
5910	}
5911	return ret, nil
5912	// {
5913	//   "description": "Gets the specified occurrence.",
5914	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}",
5915	//   "httpMethod": "GET",
5916	//   "id": "containeranalysis.projects.occurrences.get",
5917	//   "parameterOrder": [
5918	//     "name"
5919	//   ],
5920	//   "parameters": {
5921	//     "name": {
5922	//       "description": "The name of the occurrence in the form of\n`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.",
5923	//       "location": "path",
5924	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$",
5925	//       "required": true,
5926	//       "type": "string"
5927	//     }
5928	//   },
5929	//   "path": "v1beta1/{+name}",
5930	//   "response": {
5931	//     "$ref": "Occurrence"
5932	//   },
5933	//   "scopes": [
5934	//     "https://www.googleapis.com/auth/cloud-platform"
5935	//   ]
5936	// }
5937
5938}
5939
5940// method id "containeranalysis.projects.occurrences.getIamPolicy":
5941
5942type ProjectsOccurrencesGetIamPolicyCall struct {
5943	s                   *Service
5944	resource            string
5945	getiampolicyrequest *GetIamPolicyRequest
5946	urlParams_          gensupport.URLParams
5947	ctx_                context.Context
5948	header_             http.Header
5949}
5950
5951// GetIamPolicy: Gets the access control policy for a note or an
5952// occurrence resource.
5953// Requires `containeranalysis.notes.setIamPolicy`
5954// or
5955// `containeranalysis.occurrences.setIamPolicy` permission if the
5956// resource is
5957// a note or occurrence, respectively.
5958//
5959// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]`
5960// for
5961// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`
5962// for
5963// occurrences.
5964func (r *ProjectsOccurrencesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsOccurrencesGetIamPolicyCall {
5965	c := &ProjectsOccurrencesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5966	c.resource = resource
5967	c.getiampolicyrequest = getiampolicyrequest
5968	return c
5969}
5970
5971// Fields allows partial responses to be retrieved. See
5972// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5973// for more information.
5974func (c *ProjectsOccurrencesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetIamPolicyCall {
5975	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5976	return c
5977}
5978
5979// Context sets the context to be used in this call's Do method. Any
5980// pending HTTP request will be aborted if the provided context is
5981// canceled.
5982func (c *ProjectsOccurrencesGetIamPolicyCall) Context(ctx context.Context) *ProjectsOccurrencesGetIamPolicyCall {
5983	c.ctx_ = ctx
5984	return c
5985}
5986
5987// Header returns an http.Header that can be modified by the caller to
5988// add HTTP headers to the request.
5989func (c *ProjectsOccurrencesGetIamPolicyCall) Header() http.Header {
5990	if c.header_ == nil {
5991		c.header_ = make(http.Header)
5992	}
5993	return c.header_
5994}
5995
5996func (c *ProjectsOccurrencesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
5997	reqHeaders := make(http.Header)
5998	for k, v := range c.header_ {
5999		reqHeaders[k] = v
6000	}
6001	reqHeaders.Set("User-Agent", c.s.userAgent())
6002	var body io.Reader = nil
6003	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
6004	if err != nil {
6005		return nil, err
6006	}
6007	reqHeaders.Set("Content-Type", "application/json")
6008	c.urlParams_.Set("alt", alt)
6009	c.urlParams_.Set("prettyPrint", "false")
6010	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
6011	urls += "?" + c.urlParams_.Encode()
6012	req, err := http.NewRequest("POST", urls, body)
6013	if err != nil {
6014		return nil, err
6015	}
6016	req.Header = reqHeaders
6017	googleapi.Expand(req.URL, map[string]string{
6018		"resource": c.resource,
6019	})
6020	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6021}
6022
6023// Do executes the "containeranalysis.projects.occurrences.getIamPolicy" call.
6024// Exactly one of *Policy or error will be non-nil. Any non-2xx status
6025// code is an error. Response headers are in either
6026// *Policy.ServerResponse.Header or (if a response was returned at all)
6027// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6028// check whether the returned error was because http.StatusNotModified
6029// was returned.
6030func (c *ProjectsOccurrencesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
6031	gensupport.SetOptions(c.urlParams_, opts...)
6032	res, err := c.doRequest("json")
6033	if res != nil && res.StatusCode == http.StatusNotModified {
6034		if res.Body != nil {
6035			res.Body.Close()
6036		}
6037		return nil, &googleapi.Error{
6038			Code:   res.StatusCode,
6039			Header: res.Header,
6040		}
6041	}
6042	if err != nil {
6043		return nil, err
6044	}
6045	defer googleapi.CloseBody(res)
6046	if err := googleapi.CheckResponse(res); err != nil {
6047		return nil, err
6048	}
6049	ret := &Policy{
6050		ServerResponse: googleapi.ServerResponse{
6051			Header:         res.Header,
6052			HTTPStatusCode: res.StatusCode,
6053		},
6054	}
6055	target := &ret
6056	if err := gensupport.DecodeResponse(target, res); err != nil {
6057		return nil, err
6058	}
6059	return ret, nil
6060	// {
6061	//   "description": "Gets the access control policy for a note or an occurrence resource.\nRequires `containeranalysis.notes.setIamPolicy` or\n`containeranalysis.occurrences.setIamPolicy` permission if the resource is\na note or occurrence, respectively.\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.",
6062	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}:getIamPolicy",
6063	//   "httpMethod": "POST",
6064	//   "id": "containeranalysis.projects.occurrences.getIamPolicy",
6065	//   "parameterOrder": [
6066	//     "resource"
6067	//   ],
6068	//   "parameters": {
6069	//     "resource": {
6070	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
6071	//       "location": "path",
6072	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$",
6073	//       "required": true,
6074	//       "type": "string"
6075	//     }
6076	//   },
6077	//   "path": "v1beta1/{+resource}:getIamPolicy",
6078	//   "request": {
6079	//     "$ref": "GetIamPolicyRequest"
6080	//   },
6081	//   "response": {
6082	//     "$ref": "Policy"
6083	//   },
6084	//   "scopes": [
6085	//     "https://www.googleapis.com/auth/cloud-platform"
6086	//   ]
6087	// }
6088
6089}
6090
6091// method id "containeranalysis.projects.occurrences.getNotes":
6092
6093type ProjectsOccurrencesGetNotesCall struct {
6094	s            *Service
6095	name         string
6096	urlParams_   gensupport.URLParams
6097	ifNoneMatch_ string
6098	ctx_         context.Context
6099	header_      http.Header
6100}
6101
6102// GetNotes: Gets the note attached to the specified occurrence.
6103// Consumer projects can
6104// use this method to get a note that belongs to a provider project.
6105func (r *ProjectsOccurrencesService) GetNotes(name string) *ProjectsOccurrencesGetNotesCall {
6106	c := &ProjectsOccurrencesGetNotesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6107	c.name = name
6108	return c
6109}
6110
6111// Fields allows partial responses to be retrieved. See
6112// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6113// for more information.
6114func (c *ProjectsOccurrencesGetNotesCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetNotesCall {
6115	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6116	return c
6117}
6118
6119// IfNoneMatch sets the optional parameter which makes the operation
6120// fail if the object's ETag matches the given value. This is useful for
6121// getting updates only after the object has changed since the last
6122// request. Use googleapi.IsNotModified to check whether the response
6123// error from Do is the result of In-None-Match.
6124func (c *ProjectsOccurrencesGetNotesCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesGetNotesCall {
6125	c.ifNoneMatch_ = entityTag
6126	return c
6127}
6128
6129// Context sets the context to be used in this call's Do method. Any
6130// pending HTTP request will be aborted if the provided context is
6131// canceled.
6132func (c *ProjectsOccurrencesGetNotesCall) Context(ctx context.Context) *ProjectsOccurrencesGetNotesCall {
6133	c.ctx_ = ctx
6134	return c
6135}
6136
6137// Header returns an http.Header that can be modified by the caller to
6138// add HTTP headers to the request.
6139func (c *ProjectsOccurrencesGetNotesCall) Header() http.Header {
6140	if c.header_ == nil {
6141		c.header_ = make(http.Header)
6142	}
6143	return c.header_
6144}
6145
6146func (c *ProjectsOccurrencesGetNotesCall) doRequest(alt string) (*http.Response, error) {
6147	reqHeaders := make(http.Header)
6148	for k, v := range c.header_ {
6149		reqHeaders[k] = v
6150	}
6151	reqHeaders.Set("User-Agent", c.s.userAgent())
6152	if c.ifNoneMatch_ != "" {
6153		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6154	}
6155	var body io.Reader = nil
6156	c.urlParams_.Set("alt", alt)
6157	c.urlParams_.Set("prettyPrint", "false")
6158	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/notes")
6159	urls += "?" + c.urlParams_.Encode()
6160	req, err := http.NewRequest("GET", urls, body)
6161	if err != nil {
6162		return nil, err
6163	}
6164	req.Header = reqHeaders
6165	googleapi.Expand(req.URL, map[string]string{
6166		"name": c.name,
6167	})
6168	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6169}
6170
6171// Do executes the "containeranalysis.projects.occurrences.getNotes" call.
6172// Exactly one of *Note or error will be non-nil. Any non-2xx status
6173// code is an error. Response headers are in either
6174// *Note.ServerResponse.Header or (if a response was returned at all) in
6175// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
6176// whether the returned error was because http.StatusNotModified was
6177// returned.
6178func (c *ProjectsOccurrencesGetNotesCall) Do(opts ...googleapi.CallOption) (*Note, error) {
6179	gensupport.SetOptions(c.urlParams_, opts...)
6180	res, err := c.doRequest("json")
6181	if res != nil && res.StatusCode == http.StatusNotModified {
6182		if res.Body != nil {
6183			res.Body.Close()
6184		}
6185		return nil, &googleapi.Error{
6186			Code:   res.StatusCode,
6187			Header: res.Header,
6188		}
6189	}
6190	if err != nil {
6191		return nil, err
6192	}
6193	defer googleapi.CloseBody(res)
6194	if err := googleapi.CheckResponse(res); err != nil {
6195		return nil, err
6196	}
6197	ret := &Note{
6198		ServerResponse: googleapi.ServerResponse{
6199			Header:         res.Header,
6200			HTTPStatusCode: res.StatusCode,
6201		},
6202	}
6203	target := &ret
6204	if err := gensupport.DecodeResponse(target, res); err != nil {
6205		return nil, err
6206	}
6207	return ret, nil
6208	// {
6209	//   "description": "Gets the note attached to the specified occurrence. Consumer projects can\nuse this method to get a note that belongs to a provider project.",
6210	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}/notes",
6211	//   "httpMethod": "GET",
6212	//   "id": "containeranalysis.projects.occurrences.getNotes",
6213	//   "parameterOrder": [
6214	//     "name"
6215	//   ],
6216	//   "parameters": {
6217	//     "name": {
6218	//       "description": "The name of the occurrence in the form of\n`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.",
6219	//       "location": "path",
6220	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$",
6221	//       "required": true,
6222	//       "type": "string"
6223	//     }
6224	//   },
6225	//   "path": "v1beta1/{+name}/notes",
6226	//   "response": {
6227	//     "$ref": "Note"
6228	//   },
6229	//   "scopes": [
6230	//     "https://www.googleapis.com/auth/cloud-platform"
6231	//   ]
6232	// }
6233
6234}
6235
6236// method id "containeranalysis.projects.occurrences.getVulnerabilitySummary":
6237
6238type ProjectsOccurrencesGetVulnerabilitySummaryCall struct {
6239	s            *Service
6240	parent       string
6241	urlParams_   gensupport.URLParams
6242	ifNoneMatch_ string
6243	ctx_         context.Context
6244	header_      http.Header
6245}
6246
6247// GetVulnerabilitySummary: Gets a summary of the number and severity of
6248// occurrences.
6249func (r *ProjectsOccurrencesService) GetVulnerabilitySummary(parent string) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
6250	c := &ProjectsOccurrencesGetVulnerabilitySummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6251	c.parent = parent
6252	return c
6253}
6254
6255// Filter sets the optional parameter "filter": The filter expression.
6256func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Filter(filter string) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
6257	c.urlParams_.Set("filter", filter)
6258	return c
6259}
6260
6261// Fields allows partial responses to be retrieved. See
6262// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6263// for more information.
6264func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
6265	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6266	return c
6267}
6268
6269// IfNoneMatch sets the optional parameter which makes the operation
6270// fail if the object's ETag matches the given value. This is useful for
6271// getting updates only after the object has changed since the last
6272// request. Use googleapi.IsNotModified to check whether the response
6273// error from Do is the result of In-None-Match.
6274func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
6275	c.ifNoneMatch_ = entityTag
6276	return c
6277}
6278
6279// Context sets the context to be used in this call's Do method. Any
6280// pending HTTP request will be aborted if the provided context is
6281// canceled.
6282func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Context(ctx context.Context) *ProjectsOccurrencesGetVulnerabilitySummaryCall {
6283	c.ctx_ = ctx
6284	return c
6285}
6286
6287// Header returns an http.Header that can be modified by the caller to
6288// add HTTP headers to the request.
6289func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Header() http.Header {
6290	if c.header_ == nil {
6291		c.header_ = make(http.Header)
6292	}
6293	return c.header_
6294}
6295
6296func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) doRequest(alt string) (*http.Response, error) {
6297	reqHeaders := make(http.Header)
6298	for k, v := range c.header_ {
6299		reqHeaders[k] = v
6300	}
6301	reqHeaders.Set("User-Agent", c.s.userAgent())
6302	if c.ifNoneMatch_ != "" {
6303		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6304	}
6305	var body io.Reader = nil
6306	c.urlParams_.Set("alt", alt)
6307	c.urlParams_.Set("prettyPrint", "false")
6308	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences:vulnerabilitySummary")
6309	urls += "?" + c.urlParams_.Encode()
6310	req, err := http.NewRequest("GET", urls, body)
6311	if err != nil {
6312		return nil, err
6313	}
6314	req.Header = reqHeaders
6315	googleapi.Expand(req.URL, map[string]string{
6316		"parent": c.parent,
6317	})
6318	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6319}
6320
6321// Do executes the "containeranalysis.projects.occurrences.getVulnerabilitySummary" call.
6322// Exactly one of *VulnerabilityOccurrencesSummary or error will be
6323// non-nil. Any non-2xx status code is an error. Response headers are in
6324// either *VulnerabilityOccurrencesSummary.ServerResponse.Header or (if
6325// a response was returned at all) in error.(*googleapi.Error).Header.
6326// Use googleapi.IsNotModified to check whether the returned error was
6327// because http.StatusNotModified was returned.
6328func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) Do(opts ...googleapi.CallOption) (*VulnerabilityOccurrencesSummary, error) {
6329	gensupport.SetOptions(c.urlParams_, opts...)
6330	res, err := c.doRequest("json")
6331	if res != nil && res.StatusCode == http.StatusNotModified {
6332		if res.Body != nil {
6333			res.Body.Close()
6334		}
6335		return nil, &googleapi.Error{
6336			Code:   res.StatusCode,
6337			Header: res.Header,
6338		}
6339	}
6340	if err != nil {
6341		return nil, err
6342	}
6343	defer googleapi.CloseBody(res)
6344	if err := googleapi.CheckResponse(res); err != nil {
6345		return nil, err
6346	}
6347	ret := &VulnerabilityOccurrencesSummary{
6348		ServerResponse: googleapi.ServerResponse{
6349			Header:         res.Header,
6350			HTTPStatusCode: res.StatusCode,
6351		},
6352	}
6353	target := &ret
6354	if err := gensupport.DecodeResponse(target, res); err != nil {
6355		return nil, err
6356	}
6357	return ret, nil
6358	// {
6359	//   "description": "Gets a summary of the number and severity of occurrences.",
6360	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences:vulnerabilitySummary",
6361	//   "httpMethod": "GET",
6362	//   "id": "containeranalysis.projects.occurrences.getVulnerabilitySummary",
6363	//   "parameterOrder": [
6364	//     "parent"
6365	//   ],
6366	//   "parameters": {
6367	//     "filter": {
6368	//       "description": "The filter expression.",
6369	//       "location": "query",
6370	//       "type": "string"
6371	//     },
6372	//     "parent": {
6373	//       "description": "The name of the project to get a vulnerability summary for in the form of\n`projects/[PROJECT_ID]`.",
6374	//       "location": "path",
6375	//       "pattern": "^projects/[^/]+$",
6376	//       "required": true,
6377	//       "type": "string"
6378	//     }
6379	//   },
6380	//   "path": "v1beta1/{+parent}/occurrences:vulnerabilitySummary",
6381	//   "response": {
6382	//     "$ref": "VulnerabilityOccurrencesSummary"
6383	//   },
6384	//   "scopes": [
6385	//     "https://www.googleapis.com/auth/cloud-platform"
6386	//   ]
6387	// }
6388
6389}
6390
6391// method id "containeranalysis.projects.occurrences.list":
6392
6393type ProjectsOccurrencesListCall struct {
6394	s            *Service
6395	parent       string
6396	urlParams_   gensupport.URLParams
6397	ifNoneMatch_ string
6398	ctx_         context.Context
6399	header_      http.Header
6400}
6401
6402// List: Lists occurrences for the specified project.
6403func (r *ProjectsOccurrencesService) List(parent string) *ProjectsOccurrencesListCall {
6404	c := &ProjectsOccurrencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6405	c.parent = parent
6406	return c
6407}
6408
6409// Filter sets the optional parameter "filter": The filter expression.
6410func (c *ProjectsOccurrencesListCall) Filter(filter string) *ProjectsOccurrencesListCall {
6411	c.urlParams_.Set("filter", filter)
6412	return c
6413}
6414
6415// PageSize sets the optional parameter "pageSize": Number of
6416// occurrences to return in the list. Must be positive. Max allowed
6417// page size is 1000. If not specified, page size defaults to 20.
6418func (c *ProjectsOccurrencesListCall) PageSize(pageSize int64) *ProjectsOccurrencesListCall {
6419	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
6420	return c
6421}
6422
6423// PageToken sets the optional parameter "pageToken": Token to provide
6424// to skip to a particular spot in the list.
6425func (c *ProjectsOccurrencesListCall) PageToken(pageToken string) *ProjectsOccurrencesListCall {
6426	c.urlParams_.Set("pageToken", pageToken)
6427	return c
6428}
6429
6430// Fields allows partial responses to be retrieved. See
6431// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6432// for more information.
6433func (c *ProjectsOccurrencesListCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesListCall {
6434	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6435	return c
6436}
6437
6438// IfNoneMatch sets the optional parameter which makes the operation
6439// fail if the object's ETag matches the given value. This is useful for
6440// getting updates only after the object has changed since the last
6441// request. Use googleapi.IsNotModified to check whether the response
6442// error from Do is the result of In-None-Match.
6443func (c *ProjectsOccurrencesListCall) IfNoneMatch(entityTag string) *ProjectsOccurrencesListCall {
6444	c.ifNoneMatch_ = entityTag
6445	return c
6446}
6447
6448// Context sets the context to be used in this call's Do method. Any
6449// pending HTTP request will be aborted if the provided context is
6450// canceled.
6451func (c *ProjectsOccurrencesListCall) Context(ctx context.Context) *ProjectsOccurrencesListCall {
6452	c.ctx_ = ctx
6453	return c
6454}
6455
6456// Header returns an http.Header that can be modified by the caller to
6457// add HTTP headers to the request.
6458func (c *ProjectsOccurrencesListCall) Header() http.Header {
6459	if c.header_ == nil {
6460		c.header_ = make(http.Header)
6461	}
6462	return c.header_
6463}
6464
6465func (c *ProjectsOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
6466	reqHeaders := make(http.Header)
6467	for k, v := range c.header_ {
6468		reqHeaders[k] = v
6469	}
6470	reqHeaders.Set("User-Agent", c.s.userAgent())
6471	if c.ifNoneMatch_ != "" {
6472		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6473	}
6474	var body io.Reader = nil
6475	c.urlParams_.Set("alt", alt)
6476	c.urlParams_.Set("prettyPrint", "false")
6477	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/occurrences")
6478	urls += "?" + c.urlParams_.Encode()
6479	req, err := http.NewRequest("GET", urls, body)
6480	if err != nil {
6481		return nil, err
6482	}
6483	req.Header = reqHeaders
6484	googleapi.Expand(req.URL, map[string]string{
6485		"parent": c.parent,
6486	})
6487	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6488}
6489
6490// Do executes the "containeranalysis.projects.occurrences.list" call.
6491// Exactly one of *ListOccurrencesResponse or error will be non-nil. Any
6492// non-2xx status code is an error. Response headers are in either
6493// *ListOccurrencesResponse.ServerResponse.Header or (if a response was
6494// returned at all) in error.(*googleapi.Error).Header. Use
6495// googleapi.IsNotModified to check whether the returned error was
6496// because http.StatusNotModified was returned.
6497func (c *ProjectsOccurrencesListCall) Do(opts ...googleapi.CallOption) (*ListOccurrencesResponse, error) {
6498	gensupport.SetOptions(c.urlParams_, opts...)
6499	res, err := c.doRequest("json")
6500	if res != nil && res.StatusCode == http.StatusNotModified {
6501		if res.Body != nil {
6502			res.Body.Close()
6503		}
6504		return nil, &googleapi.Error{
6505			Code:   res.StatusCode,
6506			Header: res.Header,
6507		}
6508	}
6509	if err != nil {
6510		return nil, err
6511	}
6512	defer googleapi.CloseBody(res)
6513	if err := googleapi.CheckResponse(res); err != nil {
6514		return nil, err
6515	}
6516	ret := &ListOccurrencesResponse{
6517		ServerResponse: googleapi.ServerResponse{
6518			Header:         res.Header,
6519			HTTPStatusCode: res.StatusCode,
6520		},
6521	}
6522	target := &ret
6523	if err := gensupport.DecodeResponse(target, res); err != nil {
6524		return nil, err
6525	}
6526	return ret, nil
6527	// {
6528	//   "description": "Lists occurrences for the specified project.",
6529	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences",
6530	//   "httpMethod": "GET",
6531	//   "id": "containeranalysis.projects.occurrences.list",
6532	//   "parameterOrder": [
6533	//     "parent"
6534	//   ],
6535	//   "parameters": {
6536	//     "filter": {
6537	//       "description": "The filter expression.",
6538	//       "location": "query",
6539	//       "type": "string"
6540	//     },
6541	//     "pageSize": {
6542	//       "description": "Number of occurrences to return in the list. Must be positive. Max allowed\npage size is 1000. If not specified, page size defaults to 20.",
6543	//       "format": "int32",
6544	//       "location": "query",
6545	//       "type": "integer"
6546	//     },
6547	//     "pageToken": {
6548	//       "description": "Token to provide to skip to a particular spot in the list.",
6549	//       "location": "query",
6550	//       "type": "string"
6551	//     },
6552	//     "parent": {
6553	//       "description": "The name of the project to list occurrences for in the form of\n`projects/[PROJECT_ID]`.",
6554	//       "location": "path",
6555	//       "pattern": "^projects/[^/]+$",
6556	//       "required": true,
6557	//       "type": "string"
6558	//     }
6559	//   },
6560	//   "path": "v1beta1/{+parent}/occurrences",
6561	//   "response": {
6562	//     "$ref": "ListOccurrencesResponse"
6563	//   },
6564	//   "scopes": [
6565	//     "https://www.googleapis.com/auth/cloud-platform"
6566	//   ]
6567	// }
6568
6569}
6570
6571// Pages invokes f for each page of results.
6572// A non-nil error returned from f will halt the iteration.
6573// The provided context supersedes any context provided to the Context method.
6574func (c *ProjectsOccurrencesListCall) Pages(ctx context.Context, f func(*ListOccurrencesResponse) error) error {
6575	c.ctx_ = ctx
6576	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6577	for {
6578		x, err := c.Do()
6579		if err != nil {
6580			return err
6581		}
6582		if err := f(x); err != nil {
6583			return err
6584		}
6585		if x.NextPageToken == "" {
6586			return nil
6587		}
6588		c.PageToken(x.NextPageToken)
6589	}
6590}
6591
6592// method id "containeranalysis.projects.occurrences.patch":
6593
6594type ProjectsOccurrencesPatchCall struct {
6595	s          *Service
6596	name       string
6597	occurrence *Occurrence
6598	urlParams_ gensupport.URLParams
6599	ctx_       context.Context
6600	header_    http.Header
6601}
6602
6603// Patch: Updates the specified occurrence.
6604func (r *ProjectsOccurrencesService) Patch(name string, occurrence *Occurrence) *ProjectsOccurrencesPatchCall {
6605	c := &ProjectsOccurrencesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6606	c.name = name
6607	c.occurrence = occurrence
6608	return c
6609}
6610
6611// UpdateMask sets the optional parameter "updateMask": The fields to
6612// update.
6613func (c *ProjectsOccurrencesPatchCall) UpdateMask(updateMask string) *ProjectsOccurrencesPatchCall {
6614	c.urlParams_.Set("updateMask", updateMask)
6615	return c
6616}
6617
6618// Fields allows partial responses to be retrieved. See
6619// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6620// for more information.
6621func (c *ProjectsOccurrencesPatchCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesPatchCall {
6622	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6623	return c
6624}
6625
6626// Context sets the context to be used in this call's Do method. Any
6627// pending HTTP request will be aborted if the provided context is
6628// canceled.
6629func (c *ProjectsOccurrencesPatchCall) Context(ctx context.Context) *ProjectsOccurrencesPatchCall {
6630	c.ctx_ = ctx
6631	return c
6632}
6633
6634// Header returns an http.Header that can be modified by the caller to
6635// add HTTP headers to the request.
6636func (c *ProjectsOccurrencesPatchCall) Header() http.Header {
6637	if c.header_ == nil {
6638		c.header_ = make(http.Header)
6639	}
6640	return c.header_
6641}
6642
6643func (c *ProjectsOccurrencesPatchCall) doRequest(alt string) (*http.Response, error) {
6644	reqHeaders := make(http.Header)
6645	for k, v := range c.header_ {
6646		reqHeaders[k] = v
6647	}
6648	reqHeaders.Set("User-Agent", c.s.userAgent())
6649	var body io.Reader = nil
6650	body, err := googleapi.WithoutDataWrapper.JSONReader(c.occurrence)
6651	if err != nil {
6652		return nil, err
6653	}
6654	reqHeaders.Set("Content-Type", "application/json")
6655	c.urlParams_.Set("alt", alt)
6656	c.urlParams_.Set("prettyPrint", "false")
6657	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6658	urls += "?" + c.urlParams_.Encode()
6659	req, err := http.NewRequest("PATCH", urls, body)
6660	if err != nil {
6661		return nil, err
6662	}
6663	req.Header = reqHeaders
6664	googleapi.Expand(req.URL, map[string]string{
6665		"name": c.name,
6666	})
6667	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6668}
6669
6670// Do executes the "containeranalysis.projects.occurrences.patch" call.
6671// Exactly one of *Occurrence or error will be non-nil. Any non-2xx
6672// status code is an error. Response headers are in either
6673// *Occurrence.ServerResponse.Header or (if a response was returned at
6674// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6675// to check whether the returned error was because
6676// http.StatusNotModified was returned.
6677func (c *ProjectsOccurrencesPatchCall) Do(opts ...googleapi.CallOption) (*Occurrence, error) {
6678	gensupport.SetOptions(c.urlParams_, opts...)
6679	res, err := c.doRequest("json")
6680	if res != nil && res.StatusCode == http.StatusNotModified {
6681		if res.Body != nil {
6682			res.Body.Close()
6683		}
6684		return nil, &googleapi.Error{
6685			Code:   res.StatusCode,
6686			Header: res.Header,
6687		}
6688	}
6689	if err != nil {
6690		return nil, err
6691	}
6692	defer googleapi.CloseBody(res)
6693	if err := googleapi.CheckResponse(res); err != nil {
6694		return nil, err
6695	}
6696	ret := &Occurrence{
6697		ServerResponse: googleapi.ServerResponse{
6698			Header:         res.Header,
6699			HTTPStatusCode: res.StatusCode,
6700		},
6701	}
6702	target := &ret
6703	if err := gensupport.DecodeResponse(target, res); err != nil {
6704		return nil, err
6705	}
6706	return ret, nil
6707	// {
6708	//   "description": "Updates the specified occurrence.",
6709	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}",
6710	//   "httpMethod": "PATCH",
6711	//   "id": "containeranalysis.projects.occurrences.patch",
6712	//   "parameterOrder": [
6713	//     "name"
6714	//   ],
6715	//   "parameters": {
6716	//     "name": {
6717	//       "description": "The name of the occurrence in the form of\n`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.",
6718	//       "location": "path",
6719	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$",
6720	//       "required": true,
6721	//       "type": "string"
6722	//     },
6723	//     "updateMask": {
6724	//       "description": "The fields to update.",
6725	//       "format": "google-fieldmask",
6726	//       "location": "query",
6727	//       "type": "string"
6728	//     }
6729	//   },
6730	//   "path": "v1beta1/{+name}",
6731	//   "request": {
6732	//     "$ref": "Occurrence"
6733	//   },
6734	//   "response": {
6735	//     "$ref": "Occurrence"
6736	//   },
6737	//   "scopes": [
6738	//     "https://www.googleapis.com/auth/cloud-platform"
6739	//   ]
6740	// }
6741
6742}
6743
6744// method id "containeranalysis.projects.occurrences.setIamPolicy":
6745
6746type ProjectsOccurrencesSetIamPolicyCall struct {
6747	s                   *Service
6748	resource            string
6749	setiampolicyrequest *SetIamPolicyRequest
6750	urlParams_          gensupport.URLParams
6751	ctx_                context.Context
6752	header_             http.Header
6753}
6754
6755// SetIamPolicy: Sets the access control policy on the specified note or
6756// occurrence.
6757// Requires `containeranalysis.notes.setIamPolicy`
6758// or
6759// `containeranalysis.occurrences.setIamPolicy` permission if the
6760// resource is
6761// a note or an occurrence, respectively.
6762//
6763// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]`
6764// for
6765// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`
6766// for
6767// occurrences.
6768func (r *ProjectsOccurrencesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsOccurrencesSetIamPolicyCall {
6769	c := &ProjectsOccurrencesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6770	c.resource = resource
6771	c.setiampolicyrequest = setiampolicyrequest
6772	return c
6773}
6774
6775// Fields allows partial responses to be retrieved. See
6776// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6777// for more information.
6778func (c *ProjectsOccurrencesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesSetIamPolicyCall {
6779	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6780	return c
6781}
6782
6783// Context sets the context to be used in this call's Do method. Any
6784// pending HTTP request will be aborted if the provided context is
6785// canceled.
6786func (c *ProjectsOccurrencesSetIamPolicyCall) Context(ctx context.Context) *ProjectsOccurrencesSetIamPolicyCall {
6787	c.ctx_ = ctx
6788	return c
6789}
6790
6791// Header returns an http.Header that can be modified by the caller to
6792// add HTTP headers to the request.
6793func (c *ProjectsOccurrencesSetIamPolicyCall) Header() http.Header {
6794	if c.header_ == nil {
6795		c.header_ = make(http.Header)
6796	}
6797	return c.header_
6798}
6799
6800func (c *ProjectsOccurrencesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
6801	reqHeaders := make(http.Header)
6802	for k, v := range c.header_ {
6803		reqHeaders[k] = v
6804	}
6805	reqHeaders.Set("User-Agent", c.s.userAgent())
6806	var body io.Reader = nil
6807	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
6808	if err != nil {
6809		return nil, err
6810	}
6811	reqHeaders.Set("Content-Type", "application/json")
6812	c.urlParams_.Set("alt", alt)
6813	c.urlParams_.Set("prettyPrint", "false")
6814	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
6815	urls += "?" + c.urlParams_.Encode()
6816	req, err := http.NewRequest("POST", urls, body)
6817	if err != nil {
6818		return nil, err
6819	}
6820	req.Header = reqHeaders
6821	googleapi.Expand(req.URL, map[string]string{
6822		"resource": c.resource,
6823	})
6824	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6825}
6826
6827// Do executes the "containeranalysis.projects.occurrences.setIamPolicy" call.
6828// Exactly one of *Policy or error will be non-nil. Any non-2xx status
6829// code is an error. Response headers are in either
6830// *Policy.ServerResponse.Header or (if a response was returned at all)
6831// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6832// check whether the returned error was because http.StatusNotModified
6833// was returned.
6834func (c *ProjectsOccurrencesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
6835	gensupport.SetOptions(c.urlParams_, opts...)
6836	res, err := c.doRequest("json")
6837	if res != nil && res.StatusCode == http.StatusNotModified {
6838		if res.Body != nil {
6839			res.Body.Close()
6840		}
6841		return nil, &googleapi.Error{
6842			Code:   res.StatusCode,
6843			Header: res.Header,
6844		}
6845	}
6846	if err != nil {
6847		return nil, err
6848	}
6849	defer googleapi.CloseBody(res)
6850	if err := googleapi.CheckResponse(res); err != nil {
6851		return nil, err
6852	}
6853	ret := &Policy{
6854		ServerResponse: googleapi.ServerResponse{
6855			Header:         res.Header,
6856			HTTPStatusCode: res.StatusCode,
6857		},
6858	}
6859	target := &ret
6860	if err := gensupport.DecodeResponse(target, res); err != nil {
6861		return nil, err
6862	}
6863	return ret, nil
6864	// {
6865	//   "description": "Sets the access control policy on the specified note or occurrence.\nRequires `containeranalysis.notes.setIamPolicy` or\n`containeranalysis.occurrences.setIamPolicy` permission if the resource is\na note or an occurrence, respectively.\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.",
6866	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}:setIamPolicy",
6867	//   "httpMethod": "POST",
6868	//   "id": "containeranalysis.projects.occurrences.setIamPolicy",
6869	//   "parameterOrder": [
6870	//     "resource"
6871	//   ],
6872	//   "parameters": {
6873	//     "resource": {
6874	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
6875	//       "location": "path",
6876	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$",
6877	//       "required": true,
6878	//       "type": "string"
6879	//     }
6880	//   },
6881	//   "path": "v1beta1/{+resource}:setIamPolicy",
6882	//   "request": {
6883	//     "$ref": "SetIamPolicyRequest"
6884	//   },
6885	//   "response": {
6886	//     "$ref": "Policy"
6887	//   },
6888	//   "scopes": [
6889	//     "https://www.googleapis.com/auth/cloud-platform"
6890	//   ]
6891	// }
6892
6893}
6894
6895// method id "containeranalysis.projects.occurrences.testIamPermissions":
6896
6897type ProjectsOccurrencesTestIamPermissionsCall struct {
6898	s                         *Service
6899	resource                  string
6900	testiampermissionsrequest *TestIamPermissionsRequest
6901	urlParams_                gensupport.URLParams
6902	ctx_                      context.Context
6903	header_                   http.Header
6904}
6905
6906// TestIamPermissions: Returns the permissions that a caller has on the
6907// specified note or
6908// occurrence. Requires list permission on the project (for
6909// example,
6910// `containeranalysis.notes.list`).
6911//
6912// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]`
6913// for
6914// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`
6915// for
6916// occurrences.
6917func (r *ProjectsOccurrencesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsOccurrencesTestIamPermissionsCall {
6918	c := &ProjectsOccurrencesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6919	c.resource = resource
6920	c.testiampermissionsrequest = testiampermissionsrequest
6921	return c
6922}
6923
6924// Fields allows partial responses to be retrieved. See
6925// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6926// for more information.
6927func (c *ProjectsOccurrencesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsOccurrencesTestIamPermissionsCall {
6928	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6929	return c
6930}
6931
6932// Context sets the context to be used in this call's Do method. Any
6933// pending HTTP request will be aborted if the provided context is
6934// canceled.
6935func (c *ProjectsOccurrencesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsOccurrencesTestIamPermissionsCall {
6936	c.ctx_ = ctx
6937	return c
6938}
6939
6940// Header returns an http.Header that can be modified by the caller to
6941// add HTTP headers to the request.
6942func (c *ProjectsOccurrencesTestIamPermissionsCall) Header() http.Header {
6943	if c.header_ == nil {
6944		c.header_ = make(http.Header)
6945	}
6946	return c.header_
6947}
6948
6949func (c *ProjectsOccurrencesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
6950	reqHeaders := make(http.Header)
6951	for k, v := range c.header_ {
6952		reqHeaders[k] = v
6953	}
6954	reqHeaders.Set("User-Agent", c.s.userAgent())
6955	var body io.Reader = nil
6956	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
6957	if err != nil {
6958		return nil, err
6959	}
6960	reqHeaders.Set("Content-Type", "application/json")
6961	c.urlParams_.Set("alt", alt)
6962	c.urlParams_.Set("prettyPrint", "false")
6963	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
6964	urls += "?" + c.urlParams_.Encode()
6965	req, err := http.NewRequest("POST", urls, body)
6966	if err != nil {
6967		return nil, err
6968	}
6969	req.Header = reqHeaders
6970	googleapi.Expand(req.URL, map[string]string{
6971		"resource": c.resource,
6972	})
6973	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6974}
6975
6976// Do executes the "containeranalysis.projects.occurrences.testIamPermissions" call.
6977// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
6978// Any non-2xx status code is an error. Response headers are in either
6979// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
6980// was returned at all) in error.(*googleapi.Error).Header. Use
6981// googleapi.IsNotModified to check whether the returned error was
6982// because http.StatusNotModified was returned.
6983func (c *ProjectsOccurrencesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
6984	gensupport.SetOptions(c.urlParams_, opts...)
6985	res, err := c.doRequest("json")
6986	if res != nil && res.StatusCode == http.StatusNotModified {
6987		if res.Body != nil {
6988			res.Body.Close()
6989		}
6990		return nil, &googleapi.Error{
6991			Code:   res.StatusCode,
6992			Header: res.Header,
6993		}
6994	}
6995	if err != nil {
6996		return nil, err
6997	}
6998	defer googleapi.CloseBody(res)
6999	if err := googleapi.CheckResponse(res); err != nil {
7000		return nil, err
7001	}
7002	ret := &TestIamPermissionsResponse{
7003		ServerResponse: googleapi.ServerResponse{
7004			Header:         res.Header,
7005			HTTPStatusCode: res.StatusCode,
7006		},
7007	}
7008	target := &ret
7009	if err := gensupport.DecodeResponse(target, res); err != nil {
7010		return nil, err
7011	}
7012	return ret, nil
7013	// {
7014	//   "description": "Returns the permissions that a caller has on the specified note or\noccurrence. Requires list permission on the project (for example,\n`containeranalysis.notes.list`).\n\nThe resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for\nnotes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for\noccurrences.",
7015	//   "flatPath": "v1beta1/projects/{projectsId}/occurrences/{occurrencesId}:testIamPermissions",
7016	//   "httpMethod": "POST",
7017	//   "id": "containeranalysis.projects.occurrences.testIamPermissions",
7018	//   "parameterOrder": [
7019	//     "resource"
7020	//   ],
7021	//   "parameters": {
7022	//     "resource": {
7023	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
7024	//       "location": "path",
7025	//       "pattern": "^projects/[^/]+/occurrences/[^/]+$",
7026	//       "required": true,
7027	//       "type": "string"
7028	//     }
7029	//   },
7030	//   "path": "v1beta1/{+resource}:testIamPermissions",
7031	//   "request": {
7032	//     "$ref": "TestIamPermissionsRequest"
7033	//   },
7034	//   "response": {
7035	//     "$ref": "TestIamPermissionsResponse"
7036	//   },
7037	//   "scopes": [
7038	//     "https://www.googleapis.com/auth/cloud-platform"
7039	//   ]
7040	// }
7041
7042}
7043
7044// method id "containeranalysis.projects.scanConfigs.get":
7045
7046type ProjectsScanConfigsGetCall struct {
7047	s            *Service
7048	name         string
7049	urlParams_   gensupport.URLParams
7050	ifNoneMatch_ string
7051	ctx_         context.Context
7052	header_      http.Header
7053}
7054
7055// Get: Gets the specified scan configuration.
7056func (r *ProjectsScanConfigsService) Get(name string) *ProjectsScanConfigsGetCall {
7057	c := &ProjectsScanConfigsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7058	c.name = name
7059	return c
7060}
7061
7062// Fields allows partial responses to be retrieved. See
7063// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7064// for more information.
7065func (c *ProjectsScanConfigsGetCall) Fields(s ...googleapi.Field) *ProjectsScanConfigsGetCall {
7066	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7067	return c
7068}
7069
7070// IfNoneMatch sets the optional parameter which makes the operation
7071// fail if the object's ETag matches the given value. This is useful for
7072// getting updates only after the object has changed since the last
7073// request. Use googleapi.IsNotModified to check whether the response
7074// error from Do is the result of In-None-Match.
7075func (c *ProjectsScanConfigsGetCall) IfNoneMatch(entityTag string) *ProjectsScanConfigsGetCall {
7076	c.ifNoneMatch_ = entityTag
7077	return c
7078}
7079
7080// Context sets the context to be used in this call's Do method. Any
7081// pending HTTP request will be aborted if the provided context is
7082// canceled.
7083func (c *ProjectsScanConfigsGetCall) Context(ctx context.Context) *ProjectsScanConfigsGetCall {
7084	c.ctx_ = ctx
7085	return c
7086}
7087
7088// Header returns an http.Header that can be modified by the caller to
7089// add HTTP headers to the request.
7090func (c *ProjectsScanConfigsGetCall) Header() http.Header {
7091	if c.header_ == nil {
7092		c.header_ = make(http.Header)
7093	}
7094	return c.header_
7095}
7096
7097func (c *ProjectsScanConfigsGetCall) doRequest(alt string) (*http.Response, error) {
7098	reqHeaders := make(http.Header)
7099	for k, v := range c.header_ {
7100		reqHeaders[k] = v
7101	}
7102	reqHeaders.Set("User-Agent", c.s.userAgent())
7103	if c.ifNoneMatch_ != "" {
7104		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7105	}
7106	var body io.Reader = nil
7107	c.urlParams_.Set("alt", alt)
7108	c.urlParams_.Set("prettyPrint", "false")
7109	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7110	urls += "?" + c.urlParams_.Encode()
7111	req, err := http.NewRequest("GET", urls, body)
7112	if err != nil {
7113		return nil, err
7114	}
7115	req.Header = reqHeaders
7116	googleapi.Expand(req.URL, map[string]string{
7117		"name": c.name,
7118	})
7119	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7120}
7121
7122// Do executes the "containeranalysis.projects.scanConfigs.get" call.
7123// Exactly one of *ScanConfig or error will be non-nil. Any non-2xx
7124// status code is an error. Response headers are in either
7125// *ScanConfig.ServerResponse.Header or (if a response was returned at
7126// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7127// to check whether the returned error was because
7128// http.StatusNotModified was returned.
7129func (c *ProjectsScanConfigsGetCall) Do(opts ...googleapi.CallOption) (*ScanConfig, error) {
7130	gensupport.SetOptions(c.urlParams_, opts...)
7131	res, err := c.doRequest("json")
7132	if res != nil && res.StatusCode == http.StatusNotModified {
7133		if res.Body != nil {
7134			res.Body.Close()
7135		}
7136		return nil, &googleapi.Error{
7137			Code:   res.StatusCode,
7138			Header: res.Header,
7139		}
7140	}
7141	if err != nil {
7142		return nil, err
7143	}
7144	defer googleapi.CloseBody(res)
7145	if err := googleapi.CheckResponse(res); err != nil {
7146		return nil, err
7147	}
7148	ret := &ScanConfig{
7149		ServerResponse: googleapi.ServerResponse{
7150			Header:         res.Header,
7151			HTTPStatusCode: res.StatusCode,
7152		},
7153	}
7154	target := &ret
7155	if err := gensupport.DecodeResponse(target, res); err != nil {
7156		return nil, err
7157	}
7158	return ret, nil
7159	// {
7160	//   "description": "Gets the specified scan configuration.",
7161	//   "flatPath": "v1beta1/projects/{projectsId}/scanConfigs/{scanConfigsId}",
7162	//   "httpMethod": "GET",
7163	//   "id": "containeranalysis.projects.scanConfigs.get",
7164	//   "parameterOrder": [
7165	//     "name"
7166	//   ],
7167	//   "parameters": {
7168	//     "name": {
7169	//       "description": "The name of the scan configuration in the form of\n`projects/[PROJECT_ID]/scanConfigs/[SCAN_CONFIG_ID]`.",
7170	//       "location": "path",
7171	//       "pattern": "^projects/[^/]+/scanConfigs/[^/]+$",
7172	//       "required": true,
7173	//       "type": "string"
7174	//     }
7175	//   },
7176	//   "path": "v1beta1/{+name}",
7177	//   "response": {
7178	//     "$ref": "ScanConfig"
7179	//   },
7180	//   "scopes": [
7181	//     "https://www.googleapis.com/auth/cloud-platform"
7182	//   ]
7183	// }
7184
7185}
7186
7187// method id "containeranalysis.projects.scanConfigs.list":
7188
7189type ProjectsScanConfigsListCall struct {
7190	s            *Service
7191	parent       string
7192	urlParams_   gensupport.URLParams
7193	ifNoneMatch_ string
7194	ctx_         context.Context
7195	header_      http.Header
7196}
7197
7198// List: Lists scan configurations for the specified project.
7199func (r *ProjectsScanConfigsService) List(parent string) *ProjectsScanConfigsListCall {
7200	c := &ProjectsScanConfigsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7201	c.parent = parent
7202	return c
7203}
7204
7205// Filter sets the optional parameter "filter": The filter expression.
7206func (c *ProjectsScanConfigsListCall) Filter(filter string) *ProjectsScanConfigsListCall {
7207	c.urlParams_.Set("filter", filter)
7208	return c
7209}
7210
7211// PageSize sets the optional parameter "pageSize": The number of scan
7212// configs to return in the list.
7213func (c *ProjectsScanConfigsListCall) PageSize(pageSize int64) *ProjectsScanConfigsListCall {
7214	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
7215	return c
7216}
7217
7218// PageToken sets the optional parameter "pageToken": Token to provide
7219// to skip to a particular spot in the list.
7220func (c *ProjectsScanConfigsListCall) PageToken(pageToken string) *ProjectsScanConfigsListCall {
7221	c.urlParams_.Set("pageToken", pageToken)
7222	return c
7223}
7224
7225// Fields allows partial responses to be retrieved. See
7226// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7227// for more information.
7228func (c *ProjectsScanConfigsListCall) Fields(s ...googleapi.Field) *ProjectsScanConfigsListCall {
7229	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7230	return c
7231}
7232
7233// IfNoneMatch sets the optional parameter which makes the operation
7234// fail if the object's ETag matches the given value. This is useful for
7235// getting updates only after the object has changed since the last
7236// request. Use googleapi.IsNotModified to check whether the response
7237// error from Do is the result of In-None-Match.
7238func (c *ProjectsScanConfigsListCall) IfNoneMatch(entityTag string) *ProjectsScanConfigsListCall {
7239	c.ifNoneMatch_ = entityTag
7240	return c
7241}
7242
7243// Context sets the context to be used in this call's Do method. Any
7244// pending HTTP request will be aborted if the provided context is
7245// canceled.
7246func (c *ProjectsScanConfigsListCall) Context(ctx context.Context) *ProjectsScanConfigsListCall {
7247	c.ctx_ = ctx
7248	return c
7249}
7250
7251// Header returns an http.Header that can be modified by the caller to
7252// add HTTP headers to the request.
7253func (c *ProjectsScanConfigsListCall) Header() http.Header {
7254	if c.header_ == nil {
7255		c.header_ = make(http.Header)
7256	}
7257	return c.header_
7258}
7259
7260func (c *ProjectsScanConfigsListCall) doRequest(alt string) (*http.Response, error) {
7261	reqHeaders := make(http.Header)
7262	for k, v := range c.header_ {
7263		reqHeaders[k] = v
7264	}
7265	reqHeaders.Set("User-Agent", c.s.userAgent())
7266	if c.ifNoneMatch_ != "" {
7267		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7268	}
7269	var body io.Reader = nil
7270	c.urlParams_.Set("alt", alt)
7271	c.urlParams_.Set("prettyPrint", "false")
7272	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/scanConfigs")
7273	urls += "?" + c.urlParams_.Encode()
7274	req, err := http.NewRequest("GET", urls, body)
7275	if err != nil {
7276		return nil, err
7277	}
7278	req.Header = reqHeaders
7279	googleapi.Expand(req.URL, map[string]string{
7280		"parent": c.parent,
7281	})
7282	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7283}
7284
7285// Do executes the "containeranalysis.projects.scanConfigs.list" call.
7286// Exactly one of *ListScanConfigsResponse or error will be non-nil. Any
7287// non-2xx status code is an error. Response headers are in either
7288// *ListScanConfigsResponse.ServerResponse.Header or (if a response was
7289// returned at all) in error.(*googleapi.Error).Header. Use
7290// googleapi.IsNotModified to check whether the returned error was
7291// because http.StatusNotModified was returned.
7292func (c *ProjectsScanConfigsListCall) Do(opts ...googleapi.CallOption) (*ListScanConfigsResponse, error) {
7293	gensupport.SetOptions(c.urlParams_, opts...)
7294	res, err := c.doRequest("json")
7295	if res != nil && res.StatusCode == http.StatusNotModified {
7296		if res.Body != nil {
7297			res.Body.Close()
7298		}
7299		return nil, &googleapi.Error{
7300			Code:   res.StatusCode,
7301			Header: res.Header,
7302		}
7303	}
7304	if err != nil {
7305		return nil, err
7306	}
7307	defer googleapi.CloseBody(res)
7308	if err := googleapi.CheckResponse(res); err != nil {
7309		return nil, err
7310	}
7311	ret := &ListScanConfigsResponse{
7312		ServerResponse: googleapi.ServerResponse{
7313			Header:         res.Header,
7314			HTTPStatusCode: res.StatusCode,
7315		},
7316	}
7317	target := &ret
7318	if err := gensupport.DecodeResponse(target, res); err != nil {
7319		return nil, err
7320	}
7321	return ret, nil
7322	// {
7323	//   "description": "Lists scan configurations for the specified project.",
7324	//   "flatPath": "v1beta1/projects/{projectsId}/scanConfigs",
7325	//   "httpMethod": "GET",
7326	//   "id": "containeranalysis.projects.scanConfigs.list",
7327	//   "parameterOrder": [
7328	//     "parent"
7329	//   ],
7330	//   "parameters": {
7331	//     "filter": {
7332	//       "description": "The filter expression.",
7333	//       "location": "query",
7334	//       "type": "string"
7335	//     },
7336	//     "pageSize": {
7337	//       "description": "The number of scan configs to return in the list.",
7338	//       "format": "int32",
7339	//       "location": "query",
7340	//       "type": "integer"
7341	//     },
7342	//     "pageToken": {
7343	//       "description": "Token to provide to skip to a particular spot in the list.",
7344	//       "location": "query",
7345	//       "type": "string"
7346	//     },
7347	//     "parent": {
7348	//       "description": "The name of the project to list scan configurations for in the form of\n`projects/[PROJECT_ID]`.",
7349	//       "location": "path",
7350	//       "pattern": "^projects/[^/]+$",
7351	//       "required": true,
7352	//       "type": "string"
7353	//     }
7354	//   },
7355	//   "path": "v1beta1/{+parent}/scanConfigs",
7356	//   "response": {
7357	//     "$ref": "ListScanConfigsResponse"
7358	//   },
7359	//   "scopes": [
7360	//     "https://www.googleapis.com/auth/cloud-platform"
7361	//   ]
7362	// }
7363
7364}
7365
7366// Pages invokes f for each page of results.
7367// A non-nil error returned from f will halt the iteration.
7368// The provided context supersedes any context provided to the Context method.
7369func (c *ProjectsScanConfigsListCall) Pages(ctx context.Context, f func(*ListScanConfigsResponse) error) error {
7370	c.ctx_ = ctx
7371	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7372	for {
7373		x, err := c.Do()
7374		if err != nil {
7375			return err
7376		}
7377		if err := f(x); err != nil {
7378			return err
7379		}
7380		if x.NextPageToken == "" {
7381			return nil
7382		}
7383		c.PageToken(x.NextPageToken)
7384	}
7385}
7386
7387// method id "containeranalysis.projects.scanConfigs.update":
7388
7389type ProjectsScanConfigsUpdateCall struct {
7390	s          *Service
7391	name       string
7392	scanconfig *ScanConfig
7393	urlParams_ gensupport.URLParams
7394	ctx_       context.Context
7395	header_    http.Header
7396}
7397
7398// Update: Updates the specified scan configuration.
7399func (r *ProjectsScanConfigsService) Update(name string, scanconfig *ScanConfig) *ProjectsScanConfigsUpdateCall {
7400	c := &ProjectsScanConfigsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7401	c.name = name
7402	c.scanconfig = scanconfig
7403	return c
7404}
7405
7406// Fields allows partial responses to be retrieved. See
7407// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7408// for more information.
7409func (c *ProjectsScanConfigsUpdateCall) Fields(s ...googleapi.Field) *ProjectsScanConfigsUpdateCall {
7410	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7411	return c
7412}
7413
7414// Context sets the context to be used in this call's Do method. Any
7415// pending HTTP request will be aborted if the provided context is
7416// canceled.
7417func (c *ProjectsScanConfigsUpdateCall) Context(ctx context.Context) *ProjectsScanConfigsUpdateCall {
7418	c.ctx_ = ctx
7419	return c
7420}
7421
7422// Header returns an http.Header that can be modified by the caller to
7423// add HTTP headers to the request.
7424func (c *ProjectsScanConfigsUpdateCall) Header() http.Header {
7425	if c.header_ == nil {
7426		c.header_ = make(http.Header)
7427	}
7428	return c.header_
7429}
7430
7431func (c *ProjectsScanConfigsUpdateCall) doRequest(alt string) (*http.Response, error) {
7432	reqHeaders := make(http.Header)
7433	for k, v := range c.header_ {
7434		reqHeaders[k] = v
7435	}
7436	reqHeaders.Set("User-Agent", c.s.userAgent())
7437	var body io.Reader = nil
7438	body, err := googleapi.WithoutDataWrapper.JSONReader(c.scanconfig)
7439	if err != nil {
7440		return nil, err
7441	}
7442	reqHeaders.Set("Content-Type", "application/json")
7443	c.urlParams_.Set("alt", alt)
7444	c.urlParams_.Set("prettyPrint", "false")
7445	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7446	urls += "?" + c.urlParams_.Encode()
7447	req, err := http.NewRequest("PUT", urls, body)
7448	if err != nil {
7449		return nil, err
7450	}
7451	req.Header = reqHeaders
7452	googleapi.Expand(req.URL, map[string]string{
7453		"name": c.name,
7454	})
7455	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7456}
7457
7458// Do executes the "containeranalysis.projects.scanConfigs.update" call.
7459// Exactly one of *ScanConfig or error will be non-nil. Any non-2xx
7460// status code is an error. Response headers are in either
7461// *ScanConfig.ServerResponse.Header or (if a response was returned at
7462// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7463// to check whether the returned error was because
7464// http.StatusNotModified was returned.
7465func (c *ProjectsScanConfigsUpdateCall) Do(opts ...googleapi.CallOption) (*ScanConfig, error) {
7466	gensupport.SetOptions(c.urlParams_, opts...)
7467	res, err := c.doRequest("json")
7468	if res != nil && res.StatusCode == http.StatusNotModified {
7469		if res.Body != nil {
7470			res.Body.Close()
7471		}
7472		return nil, &googleapi.Error{
7473			Code:   res.StatusCode,
7474			Header: res.Header,
7475		}
7476	}
7477	if err != nil {
7478		return nil, err
7479	}
7480	defer googleapi.CloseBody(res)
7481	if err := googleapi.CheckResponse(res); err != nil {
7482		return nil, err
7483	}
7484	ret := &ScanConfig{
7485		ServerResponse: googleapi.ServerResponse{
7486			Header:         res.Header,
7487			HTTPStatusCode: res.StatusCode,
7488		},
7489	}
7490	target := &ret
7491	if err := gensupport.DecodeResponse(target, res); err != nil {
7492		return nil, err
7493	}
7494	return ret, nil
7495	// {
7496	//   "description": "Updates the specified scan configuration.",
7497	//   "flatPath": "v1beta1/projects/{projectsId}/scanConfigs/{scanConfigsId}",
7498	//   "httpMethod": "PUT",
7499	//   "id": "containeranalysis.projects.scanConfigs.update",
7500	//   "parameterOrder": [
7501	//     "name"
7502	//   ],
7503	//   "parameters": {
7504	//     "name": {
7505	//       "description": "The name of the scan configuration in the form of\n`projects/[PROJECT_ID]/scanConfigs/[SCAN_CONFIG_ID]`.",
7506	//       "location": "path",
7507	//       "pattern": "^projects/[^/]+/scanConfigs/[^/]+$",
7508	//       "required": true,
7509	//       "type": "string"
7510	//     }
7511	//   },
7512	//   "path": "v1beta1/{+name}",
7513	//   "request": {
7514	//     "$ref": "ScanConfig"
7515	//   },
7516	//   "response": {
7517	//     "$ref": "ScanConfig"
7518	//   },
7519	//   "scopes": [
7520	//     "https://www.googleapis.com/auth/cloud-platform"
7521	//   ]
7522	// }
7523
7524}
7525