blob: 79badc206541e236a5e955d545c7458e3ac63cab [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="containeranalysis_v1alpha1.html">Container Analysis API</a> . <a href="containeranalysis_v1alpha1.projects.html">projects</a> . <a href="containeranalysis_v1alpha1.projects.notes.html">notes</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="containeranalysis_v1alpha1.projects.notes.occurrences.html">occurrences()</a></code>
79</p>
80<p class="firstline">Returns the occurrences Resource.</p>
81
82<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070083 <code><a href="#create">create(parent, body=None, name=None, noteId=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070084<p class="firstline">Creates a new `Note`.</p>
85<p class="toc_element">
86 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
87<p class="firstline">Deletes the given `Note` from the system.</p>
88<p class="toc_element">
89 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
90<p class="firstline">Returns the requested `Note`.</p>
91<p class="toc_element">
92 <code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
93<p class="firstline">Gets the access control policy for a note or an `Occurrence` resource.</p>
94<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070095 <code><a href="#list">list(parent, name=None, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070096<p class="firstline">Lists all `Notes` for a given project.</p>
97<p class="toc_element">
98 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
99<p class="firstline">Retrieves the next page of results.</p>
100<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700101 <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700102<p class="firstline">Updates an existing `Note`.</p>
103<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700104 <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700105<p class="firstline">Sets the access control policy on the specified `Note` or `Occurrence`.</p>
106<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700107 <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700108<p class="firstline">Returns the permissions that a caller has on the specified note or</p>
109<h3>Method Details</h3>
110<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700111 <code class="details" id="create">create(parent, body=None, name=None, noteId=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700112 <pre>Creates a new `Note`.
113
114Args:
115 parent: string, This field contains the project Id for example:
116"projects/{project_id} (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700117 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700118 The object takes the form of:
119
120{ # Provides a detailed description of a `Note`.
121 "buildType": { # Note holding the version of the provider's builder and the signature of # Build provenance type for a verifiable build.
122 # the provenance message in linked BuildDetails.
123 "builderVersion": "A String", # Version of the builder which produced this Note.
124 "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in Occurrences pointing to the Note containing this
125 # `BuilderDetails`.
126 "publicKey": "A String", # Public key of the builder which can be used to verify that the related
127 # findings are valid and unchanged. If `key_type` is empty, this defaults
128 # to PEM encoded public keys.
129 #
130 # This field may be empty if `key_id` references an external key.
131 #
132 # For Cloud Build based signatures, this is a PEM encoded public
133 # key. To verify the Cloud Build signature, place the contents of
134 # this field into a file (public.pem). The signature field is base64-decoded
135 # into its binary representation in signature.bin, and the provenance bytes
136 # from `BuildDetails` are base64-decoded into a binary representation in
137 # signed.bin. OpenSSL can then verify the signature:
138 # `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
139 "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in
140 # `key_id`
141 "keyId": "A String", # An Id for the key used to sign. This could be either an Id for the key
142 # stored in `public_key` (such as the Id or fingerprint for a PGP key, or the
143 # CN for a cert), or a reference to an external key (such as a reference to a
144 # key in Cloud Key Management Service).
145 "signature": "A String", # Signature of the related `BuildProvenance`, encoded in a base64 string.
146 },
147 },
148 "kind": "A String", # Output only. This explicitly denotes which kind of note is specified. This
149 # field can be used as a filter in list requests.
Dan O'Mearadd494642020-05-01 07:42:23 -0700150 "upgrade": { # An Upgrade Note represents a potential upgrade of a package to a given # A note describing an upgrade.
151 # version. For each package version combination (i.e. bash 4.0, bash 4.1,
152 # bash 4.1.2), there will be a Upgrade Note.
153 "version": { # Version contains structured information about the version of the package. # Required - The version of the package in machine + human readable form.
154 # For a discussion of this in Debian/Ubuntu:
155 # http://serverfault.com/questions/604541/debian-packages-version-convention
156 # For a discussion of this in Redhat/Fedora/Centos:
157 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
158 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
159 "name": "A String", # The main part of the version name.
160 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
161 # If kind is not NORMAL, then the other fields are ignored.
162 "revision": "A String", # The iteration of the package build from the above version.
163 },
164 "distributions": [ # Metadata about the upgrade for each specific operating system.
165 { # The Upgrade Distribution represents metadata about the Upgrade for each
166 # operating system (CPE). Some distributions have additional metadata around
167 # updates, classifying them into various categories and severities.
168 "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
169 # https://cpe.mitre.org/specification/.
170 "cve": [ # The cve that would be resolved by this upgrade.
171 "A String",
172 ],
173 "severity": "A String", # The severity as specified by the upstream operating system.
174 "classification": "A String", # The operating system classification of this Upgrade, as specified by the
175 # upstream operating system upgrade feed.
176 },
177 ],
178 "package": "A String", # Required - The package this Upgrade is for.
179 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700180 "name": "A String", # The name of the note in the form
Dan O'Mearadd494642020-05-01 07:42:23 -0700181 # "projects/{provider_project_id}/notes/{NOTE_ID}"
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700182 "vulnerabilityType": { # VulnerabilityType provides metadata about a security vulnerability. # A package vulnerability type of note.
183 "cvssScore": 3.14, # The CVSS score for this Vulnerability.
184 "severity": "A String", # Note provider assigned impact of the vulnerability
185 "details": [ # All information about the package to specifically identify this
186 # vulnerability. One entry per (version range and cpe_uri) the
187 # package vulnerability has manifested in.
188 { # Identifies all occurrences of this vulnerability in the package for a
189 # specific distro/location
190 # For example: glibc in cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
191 "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability.
192 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in
193 # which the vulnerability manifests. Examples include distro or storage
194 # location for vulnerable jar.
195 # This field can be used as a filter in list requests.
196 "description": "A String", # A vendor-specific description of this note.
197 "minAffectedVersion": { # Version contains structured information about the version of the package. # The min version of the package in which the vulnerability exists.
198 # For a discussion of this in Debian/Ubuntu:
199 # http://serverfault.com/questions/604541/debian-packages-version-convention
200 # For a discussion of this in Redhat/Fedora/Centos:
201 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700202 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
203 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700204 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
205 # If kind is not NORMAL, then the other fields are ignored.
206 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700207 },
208 "package": "A String", # The name of the package where the vulnerability was found.
209 # This field can be used as a filter in list requests.
210 "packageType": "A String", # The type of package; whether native or non native(ruby gems,
211 # node.js packages etc)
212 "isObsolete": True or False, # Whether this Detail is obsolete. Occurrences are expected not to point to
213 # obsolete details.
Dan O'Mearadd494642020-05-01 07:42:23 -0700214 "maxAffectedVersion": { # Version contains structured information about the version of the package. # The max version of the package in which the vulnerability exists.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700215 # For a discussion of this in Debian/Ubuntu:
216 # http://serverfault.com/questions/604541/debian-packages-version-convention
217 # For a discussion of this in Redhat/Fedora/Centos:
218 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700219 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
220 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700221 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
222 # If kind is not NORMAL, then the other fields are ignored.
223 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700224 },
225 "fixedLocation": { # The location of the vulnerability # The fix for this specific package version.
226 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
227 # format. Examples include distro or storage location for vulnerable jar.
228 # This field can be used as a filter in list requests.
229 "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
230 # filter in list requests.
231 # For a discussion of this in Debian/Ubuntu:
232 # http://serverfault.com/questions/604541/debian-packages-version-convention
233 # For a discussion of this in Redhat/Fedora/Centos:
234 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700235 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
236 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700237 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
238 # If kind is not NORMAL, then the other fields are ignored.
239 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700240 },
241 "package": "A String", # The package being described.
242 },
243 },
244 ],
245 },
246 "package": { # This represents a particular package that is distributed over # A note describing a package hosted by various package managers.
247 # various channels.
248 # e.g. glibc (aka libc6) is distributed by many, at various versions.
249 "distribution": [ # The various channels by which a package is distributed.
250 { # This represents a particular channel of distribution for a given package.
251 # e.g. Debian's jessie-backports dpkg mirror
252 "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
253 # denoting the package manager version distributing a package.
254 "maintainer": "A String", # A freeform string denoting the maintainer of this package.
255 "description": "A String", # The distribution channel-specific description of this package.
256 "url": "A String", # The distribution channel-specific homepage for this package.
257 "architecture": "A String", # The CPU architecture for which packages in this distribution
258 # channel were built
259 "latestVersion": { # Version contains structured information about the version of the package. # The latest available version of this package in
260 # this distribution channel.
261 # For a discussion of this in Debian/Ubuntu:
262 # http://serverfault.com/questions/604541/debian-packages-version-convention
263 # For a discussion of this in Redhat/Fedora/Centos:
264 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700265 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
266 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700267 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
268 # If kind is not NORMAL, then the other fields are ignored.
269 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700270 },
271 },
272 ],
273 "name": "A String", # The name of the package.
274 },
275 "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
276 # a filter in list requests.
277 "relatedUrl": [ # URLs associated with this note
278 { # Metadata for any related URL information
279 "url": "A String", # Specific URL to associate with the note
280 "label": "A String", # Label to describe usage of the URL
281 },
282 ],
283 "longDescription": "A String", # A detailed description of this `Note`.
284 "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role.
285 # example, an organization might have one `AttestationAuthority` for "QA" and
286 # one for "build". This Note is intended to act strictly as a grouping
287 # mechanism for the attached Occurrences (Attestations). This grouping
288 # mechanism also provides a security boundary, since IAM ACLs gate the ability
289 # for a principle to attach an Occurrence to a given Note. It also provides a
290 # single point of lookup to find all attached Attestation Occurrences, even if
291 # they don't all live in the same project.
292 "hint": { # This submessage provides human-readable hints about the purpose of the
293 # AttestationAuthority. Because the name of a Note acts as its resource
294 # reference, it is important to disambiguate the canonical name of the Note
295 # (which might be a UUID for security purposes) from "readable" names more
296 # suitable for debug output. Note that these hints should NOT be used to
297 # look up AttestationAuthorities in security sensitive contexts, such as when
298 # looking up Attestations to verify.
299 "humanReadableName": "A String", # The human readable name of this Attestation Authority, for example "qa".
300 },
301 },
302 "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image.
303 # relationship. Linked occurrences are derived from this or an
304 # equivalent image via:
Dan O'Mearadd494642020-05-01 07:42:23 -0700305 # FROM &lt;Basis.resource_url&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700306 # Or an equivalent reference, e.g. a tag of the resource_url.
307 "resourceUrl": "A String", # The resource_url for the resource representing the basis of
308 # associated occurrence images.
309 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the base image.
310 "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
311 # representation.
312 # This field can be used as a filter in list requests.
313 "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
314 "A String",
315 ],
316 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
317 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
318 # Only the name of the final blob is kept.
319 # This field can be used as a filter in list requests.
320 },
321 },
322 "expirationTime": "A String", # Time of expiration for this note, null if note does not expire.
323 "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
324 "resourceUri": [ # Resource URI for the artifact being deployed.
325 "A String",
326 ],
327 },
328 "shortDescription": "A String", # A one sentence description of this `Note`.
329 "createTime": "A String", # Output only. The time this note was created. This field can be used as a
330 # filter in list requests.
331 "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing a provider/analysis type.
332 # exists in a provider's project. A `Discovery` occurrence is created in a
333 # consumer's project at the start of analysis. The occurrence's operation will
334 # indicate the status of the analysis. Absence of an occurrence linked to this
335 # note for a resource indicates that analysis hasn't started.
336 "analysisKind": "A String", # The kind of analysis that is handled by this discovery.
337 },
338}
339
340 name: string, The name of the project.
341Should be of the form "providers/{provider_id}".
342@Deprecated
343 noteId: string, The ID to use for this note.
344 x__xgafv: string, V1 error format.
345 Allowed values
346 1 - v1 error format
347 2 - v2 error format
348
349Returns:
350 An object of the form:
351
352 { # Provides a detailed description of a `Note`.
353 "buildType": { # Note holding the version of the provider's builder and the signature of # Build provenance type for a verifiable build.
354 # the provenance message in linked BuildDetails.
355 "builderVersion": "A String", # Version of the builder which produced this Note.
356 "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in Occurrences pointing to the Note containing this
357 # `BuilderDetails`.
358 "publicKey": "A String", # Public key of the builder which can be used to verify that the related
359 # findings are valid and unchanged. If `key_type` is empty, this defaults
360 # to PEM encoded public keys.
361 #
362 # This field may be empty if `key_id` references an external key.
363 #
364 # For Cloud Build based signatures, this is a PEM encoded public
365 # key. To verify the Cloud Build signature, place the contents of
366 # this field into a file (public.pem). The signature field is base64-decoded
367 # into its binary representation in signature.bin, and the provenance bytes
368 # from `BuildDetails` are base64-decoded into a binary representation in
369 # signed.bin. OpenSSL can then verify the signature:
370 # `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
371 "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in
372 # `key_id`
373 "keyId": "A String", # An Id for the key used to sign. This could be either an Id for the key
374 # stored in `public_key` (such as the Id or fingerprint for a PGP key, or the
375 # CN for a cert), or a reference to an external key (such as a reference to a
376 # key in Cloud Key Management Service).
377 "signature": "A String", # Signature of the related `BuildProvenance`, encoded in a base64 string.
378 },
379 },
380 "kind": "A String", # Output only. This explicitly denotes which kind of note is specified. This
381 # field can be used as a filter in list requests.
Dan O'Mearadd494642020-05-01 07:42:23 -0700382 "upgrade": { # An Upgrade Note represents a potential upgrade of a package to a given # A note describing an upgrade.
383 # version. For each package version combination (i.e. bash 4.0, bash 4.1,
384 # bash 4.1.2), there will be a Upgrade Note.
385 "version": { # Version contains structured information about the version of the package. # Required - The version of the package in machine + human readable form.
386 # For a discussion of this in Debian/Ubuntu:
387 # http://serverfault.com/questions/604541/debian-packages-version-convention
388 # For a discussion of this in Redhat/Fedora/Centos:
389 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
390 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
391 "name": "A String", # The main part of the version name.
392 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
393 # If kind is not NORMAL, then the other fields are ignored.
394 "revision": "A String", # The iteration of the package build from the above version.
395 },
396 "distributions": [ # Metadata about the upgrade for each specific operating system.
397 { # The Upgrade Distribution represents metadata about the Upgrade for each
398 # operating system (CPE). Some distributions have additional metadata around
399 # updates, classifying them into various categories and severities.
400 "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
401 # https://cpe.mitre.org/specification/.
402 "cve": [ # The cve that would be resolved by this upgrade.
403 "A String",
404 ],
405 "severity": "A String", # The severity as specified by the upstream operating system.
406 "classification": "A String", # The operating system classification of this Upgrade, as specified by the
407 # upstream operating system upgrade feed.
408 },
409 ],
410 "package": "A String", # Required - The package this Upgrade is for.
411 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700412 "name": "A String", # The name of the note in the form
Dan O'Mearadd494642020-05-01 07:42:23 -0700413 # "projects/{provider_project_id}/notes/{NOTE_ID}"
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700414 "vulnerabilityType": { # VulnerabilityType provides metadata about a security vulnerability. # A package vulnerability type of note.
415 "cvssScore": 3.14, # The CVSS score for this Vulnerability.
416 "severity": "A String", # Note provider assigned impact of the vulnerability
417 "details": [ # All information about the package to specifically identify this
418 # vulnerability. One entry per (version range and cpe_uri) the
419 # package vulnerability has manifested in.
420 { # Identifies all occurrences of this vulnerability in the package for a
421 # specific distro/location
422 # For example: glibc in cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
423 "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability.
424 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in
425 # which the vulnerability manifests. Examples include distro or storage
426 # location for vulnerable jar.
427 # This field can be used as a filter in list requests.
428 "description": "A String", # A vendor-specific description of this note.
429 "minAffectedVersion": { # Version contains structured information about the version of the package. # The min version of the package in which the vulnerability exists.
430 # For a discussion of this in Debian/Ubuntu:
431 # http://serverfault.com/questions/604541/debian-packages-version-convention
432 # For a discussion of this in Redhat/Fedora/Centos:
433 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700434 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
435 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700436 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
437 # If kind is not NORMAL, then the other fields are ignored.
438 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700439 },
440 "package": "A String", # The name of the package where the vulnerability was found.
441 # This field can be used as a filter in list requests.
442 "packageType": "A String", # The type of package; whether native or non native(ruby gems,
443 # node.js packages etc)
444 "isObsolete": True or False, # Whether this Detail is obsolete. Occurrences are expected not to point to
445 # obsolete details.
Dan O'Mearadd494642020-05-01 07:42:23 -0700446 "maxAffectedVersion": { # Version contains structured information about the version of the package. # The max version of the package in which the vulnerability exists.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700447 # For a discussion of this in Debian/Ubuntu:
448 # http://serverfault.com/questions/604541/debian-packages-version-convention
449 # For a discussion of this in Redhat/Fedora/Centos:
450 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700451 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
452 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700453 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
454 # If kind is not NORMAL, then the other fields are ignored.
455 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700456 },
457 "fixedLocation": { # The location of the vulnerability # The fix for this specific package version.
458 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
459 # format. Examples include distro or storage location for vulnerable jar.
460 # This field can be used as a filter in list requests.
461 "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
462 # filter in list requests.
463 # For a discussion of this in Debian/Ubuntu:
464 # http://serverfault.com/questions/604541/debian-packages-version-convention
465 # For a discussion of this in Redhat/Fedora/Centos:
466 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700467 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
468 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700469 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
470 # If kind is not NORMAL, then the other fields are ignored.
471 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700472 },
473 "package": "A String", # The package being described.
474 },
475 },
476 ],
477 },
478 "package": { # This represents a particular package that is distributed over # A note describing a package hosted by various package managers.
479 # various channels.
480 # e.g. glibc (aka libc6) is distributed by many, at various versions.
481 "distribution": [ # The various channels by which a package is distributed.
482 { # This represents a particular channel of distribution for a given package.
483 # e.g. Debian's jessie-backports dpkg mirror
484 "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
485 # denoting the package manager version distributing a package.
486 "maintainer": "A String", # A freeform string denoting the maintainer of this package.
487 "description": "A String", # The distribution channel-specific description of this package.
488 "url": "A String", # The distribution channel-specific homepage for this package.
489 "architecture": "A String", # The CPU architecture for which packages in this distribution
490 # channel were built
491 "latestVersion": { # Version contains structured information about the version of the package. # The latest available version of this package in
492 # this distribution channel.
493 # For a discussion of this in Debian/Ubuntu:
494 # http://serverfault.com/questions/604541/debian-packages-version-convention
495 # For a discussion of this in Redhat/Fedora/Centos:
496 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700497 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
498 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700499 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
500 # If kind is not NORMAL, then the other fields are ignored.
501 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700502 },
503 },
504 ],
505 "name": "A String", # The name of the package.
506 },
507 "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
508 # a filter in list requests.
509 "relatedUrl": [ # URLs associated with this note
510 { # Metadata for any related URL information
511 "url": "A String", # Specific URL to associate with the note
512 "label": "A String", # Label to describe usage of the URL
513 },
514 ],
515 "longDescription": "A String", # A detailed description of this `Note`.
516 "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role.
517 # example, an organization might have one `AttestationAuthority` for "QA" and
518 # one for "build". This Note is intended to act strictly as a grouping
519 # mechanism for the attached Occurrences (Attestations). This grouping
520 # mechanism also provides a security boundary, since IAM ACLs gate the ability
521 # for a principle to attach an Occurrence to a given Note. It also provides a
522 # single point of lookup to find all attached Attestation Occurrences, even if
523 # they don't all live in the same project.
524 "hint": { # This submessage provides human-readable hints about the purpose of the
525 # AttestationAuthority. Because the name of a Note acts as its resource
526 # reference, it is important to disambiguate the canonical name of the Note
527 # (which might be a UUID for security purposes) from "readable" names more
528 # suitable for debug output. Note that these hints should NOT be used to
529 # look up AttestationAuthorities in security sensitive contexts, such as when
530 # looking up Attestations to verify.
531 "humanReadableName": "A String", # The human readable name of this Attestation Authority, for example "qa".
532 },
533 },
534 "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image.
535 # relationship. Linked occurrences are derived from this or an
536 # equivalent image via:
Dan O'Mearadd494642020-05-01 07:42:23 -0700537 # FROM &lt;Basis.resource_url&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700538 # Or an equivalent reference, e.g. a tag of the resource_url.
539 "resourceUrl": "A String", # The resource_url for the resource representing the basis of
540 # associated occurrence images.
541 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the base image.
542 "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
543 # representation.
544 # This field can be used as a filter in list requests.
545 "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
546 "A String",
547 ],
548 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
549 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
550 # Only the name of the final blob is kept.
551 # This field can be used as a filter in list requests.
552 },
553 },
554 "expirationTime": "A String", # Time of expiration for this note, null if note does not expire.
555 "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
556 "resourceUri": [ # Resource URI for the artifact being deployed.
557 "A String",
558 ],
559 },
560 "shortDescription": "A String", # A one sentence description of this `Note`.
561 "createTime": "A String", # Output only. The time this note was created. This field can be used as a
562 # filter in list requests.
563 "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing a provider/analysis type.
564 # exists in a provider's project. A `Discovery` occurrence is created in a
565 # consumer's project at the start of analysis. The occurrence's operation will
566 # indicate the status of the analysis. Absence of an occurrence linked to this
567 # note for a resource indicates that analysis hasn't started.
568 "analysisKind": "A String", # The kind of analysis that is handled by this discovery.
569 },
570 }</pre>
571</div>
572
573<div class="method">
574 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
575 <pre>Deletes the given `Note` from the system.
576
577Args:
578 name: string, The name of the note in the form of
579"providers/{provider_id}/notes/{NOTE_ID}" (required)
580 x__xgafv: string, V1 error format.
581 Allowed values
582 1 - v1 error format
583 2 - v2 error format
584
585Returns:
586 An object of the form:
587
588 { # A generic empty message that you can re-use to avoid defining duplicated
589 # empty messages in your APIs. A typical example is to use it as the request
590 # or the response type of an API method. For instance:
591 #
592 # service Foo {
593 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
594 # }
595 #
596 # The JSON representation for `Empty` is empty JSON object `{}`.
597 }</pre>
598</div>
599
600<div class="method">
601 <code class="details" id="get">get(name, x__xgafv=None)</code>
602 <pre>Returns the requested `Note`.
603
604Args:
605 name: string, The name of the note in the form of
606"providers/{provider_id}/notes/{NOTE_ID}" (required)
607 x__xgafv: string, V1 error format.
608 Allowed values
609 1 - v1 error format
610 2 - v2 error format
611
612Returns:
613 An object of the form:
614
615 { # Provides a detailed description of a `Note`.
616 "buildType": { # Note holding the version of the provider's builder and the signature of # Build provenance type for a verifiable build.
617 # the provenance message in linked BuildDetails.
618 "builderVersion": "A String", # Version of the builder which produced this Note.
619 "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in Occurrences pointing to the Note containing this
620 # `BuilderDetails`.
621 "publicKey": "A String", # Public key of the builder which can be used to verify that the related
622 # findings are valid and unchanged. If `key_type` is empty, this defaults
623 # to PEM encoded public keys.
624 #
625 # This field may be empty if `key_id` references an external key.
626 #
627 # For Cloud Build based signatures, this is a PEM encoded public
628 # key. To verify the Cloud Build signature, place the contents of
629 # this field into a file (public.pem). The signature field is base64-decoded
630 # into its binary representation in signature.bin, and the provenance bytes
631 # from `BuildDetails` are base64-decoded into a binary representation in
632 # signed.bin. OpenSSL can then verify the signature:
633 # `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
634 "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in
635 # `key_id`
636 "keyId": "A String", # An Id for the key used to sign. This could be either an Id for the key
637 # stored in `public_key` (such as the Id or fingerprint for a PGP key, or the
638 # CN for a cert), or a reference to an external key (such as a reference to a
639 # key in Cloud Key Management Service).
640 "signature": "A String", # Signature of the related `BuildProvenance`, encoded in a base64 string.
641 },
642 },
643 "kind": "A String", # Output only. This explicitly denotes which kind of note is specified. This
644 # field can be used as a filter in list requests.
Dan O'Mearadd494642020-05-01 07:42:23 -0700645 "upgrade": { # An Upgrade Note represents a potential upgrade of a package to a given # A note describing an upgrade.
646 # version. For each package version combination (i.e. bash 4.0, bash 4.1,
647 # bash 4.1.2), there will be a Upgrade Note.
648 "version": { # Version contains structured information about the version of the package. # Required - The version of the package in machine + human readable form.
649 # For a discussion of this in Debian/Ubuntu:
650 # http://serverfault.com/questions/604541/debian-packages-version-convention
651 # For a discussion of this in Redhat/Fedora/Centos:
652 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
653 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
654 "name": "A String", # The main part of the version name.
655 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
656 # If kind is not NORMAL, then the other fields are ignored.
657 "revision": "A String", # The iteration of the package build from the above version.
658 },
659 "distributions": [ # Metadata about the upgrade for each specific operating system.
660 { # The Upgrade Distribution represents metadata about the Upgrade for each
661 # operating system (CPE). Some distributions have additional metadata around
662 # updates, classifying them into various categories and severities.
663 "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
664 # https://cpe.mitre.org/specification/.
665 "cve": [ # The cve that would be resolved by this upgrade.
666 "A String",
667 ],
668 "severity": "A String", # The severity as specified by the upstream operating system.
669 "classification": "A String", # The operating system classification of this Upgrade, as specified by the
670 # upstream operating system upgrade feed.
671 },
672 ],
673 "package": "A String", # Required - The package this Upgrade is for.
674 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700675 "name": "A String", # The name of the note in the form
Dan O'Mearadd494642020-05-01 07:42:23 -0700676 # "projects/{provider_project_id}/notes/{NOTE_ID}"
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700677 "vulnerabilityType": { # VulnerabilityType provides metadata about a security vulnerability. # A package vulnerability type of note.
678 "cvssScore": 3.14, # The CVSS score for this Vulnerability.
679 "severity": "A String", # Note provider assigned impact of the vulnerability
680 "details": [ # All information about the package to specifically identify this
681 # vulnerability. One entry per (version range and cpe_uri) the
682 # package vulnerability has manifested in.
683 { # Identifies all occurrences of this vulnerability in the package for a
684 # specific distro/location
685 # For example: glibc in cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
686 "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability.
687 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in
688 # which the vulnerability manifests. Examples include distro or storage
689 # location for vulnerable jar.
690 # This field can be used as a filter in list requests.
691 "description": "A String", # A vendor-specific description of this note.
692 "minAffectedVersion": { # Version contains structured information about the version of the package. # The min version of the package in which the vulnerability exists.
693 # For a discussion of this in Debian/Ubuntu:
694 # http://serverfault.com/questions/604541/debian-packages-version-convention
695 # For a discussion of this in Redhat/Fedora/Centos:
696 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700697 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
698 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700699 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
700 # If kind is not NORMAL, then the other fields are ignored.
701 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700702 },
703 "package": "A String", # The name of the package where the vulnerability was found.
704 # This field can be used as a filter in list requests.
705 "packageType": "A String", # The type of package; whether native or non native(ruby gems,
706 # node.js packages etc)
707 "isObsolete": True or False, # Whether this Detail is obsolete. Occurrences are expected not to point to
708 # obsolete details.
Dan O'Mearadd494642020-05-01 07:42:23 -0700709 "maxAffectedVersion": { # Version contains structured information about the version of the package. # The max version of the package in which the vulnerability exists.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700710 # For a discussion of this in Debian/Ubuntu:
711 # http://serverfault.com/questions/604541/debian-packages-version-convention
712 # For a discussion of this in Redhat/Fedora/Centos:
713 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700714 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
715 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700716 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
717 # If kind is not NORMAL, then the other fields are ignored.
718 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700719 },
720 "fixedLocation": { # The location of the vulnerability # The fix for this specific package version.
721 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
722 # format. Examples include distro or storage location for vulnerable jar.
723 # This field can be used as a filter in list requests.
724 "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
725 # filter in list requests.
726 # For a discussion of this in Debian/Ubuntu:
727 # http://serverfault.com/questions/604541/debian-packages-version-convention
728 # For a discussion of this in Redhat/Fedora/Centos:
729 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700730 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
731 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700732 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
733 # If kind is not NORMAL, then the other fields are ignored.
734 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700735 },
736 "package": "A String", # The package being described.
737 },
738 },
739 ],
740 },
741 "package": { # This represents a particular package that is distributed over # A note describing a package hosted by various package managers.
742 # various channels.
743 # e.g. glibc (aka libc6) is distributed by many, at various versions.
744 "distribution": [ # The various channels by which a package is distributed.
745 { # This represents a particular channel of distribution for a given package.
746 # e.g. Debian's jessie-backports dpkg mirror
747 "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
748 # denoting the package manager version distributing a package.
749 "maintainer": "A String", # A freeform string denoting the maintainer of this package.
750 "description": "A String", # The distribution channel-specific description of this package.
751 "url": "A String", # The distribution channel-specific homepage for this package.
752 "architecture": "A String", # The CPU architecture for which packages in this distribution
753 # channel were built
754 "latestVersion": { # Version contains structured information about the version of the package. # The latest available version of this package in
755 # this distribution channel.
756 # For a discussion of this in Debian/Ubuntu:
757 # http://serverfault.com/questions/604541/debian-packages-version-convention
758 # For a discussion of this in Redhat/Fedora/Centos:
759 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -0700760 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
761 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700762 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
763 # If kind is not NORMAL, then the other fields are ignored.
764 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700765 },
766 },
767 ],
768 "name": "A String", # The name of the package.
769 },
770 "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
771 # a filter in list requests.
772 "relatedUrl": [ # URLs associated with this note
773 { # Metadata for any related URL information
774 "url": "A String", # Specific URL to associate with the note
775 "label": "A String", # Label to describe usage of the URL
776 },
777 ],
778 "longDescription": "A String", # A detailed description of this `Note`.
779 "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role.
780 # example, an organization might have one `AttestationAuthority` for "QA" and
781 # one for "build". This Note is intended to act strictly as a grouping
782 # mechanism for the attached Occurrences (Attestations). This grouping
783 # mechanism also provides a security boundary, since IAM ACLs gate the ability
784 # for a principle to attach an Occurrence to a given Note. It also provides a
785 # single point of lookup to find all attached Attestation Occurrences, even if
786 # they don't all live in the same project.
787 "hint": { # This submessage provides human-readable hints about the purpose of the
788 # AttestationAuthority. Because the name of a Note acts as its resource
789 # reference, it is important to disambiguate the canonical name of the Note
790 # (which might be a UUID for security purposes) from "readable" names more
791 # suitable for debug output. Note that these hints should NOT be used to
792 # look up AttestationAuthorities in security sensitive contexts, such as when
793 # looking up Attestations to verify.
794 "humanReadableName": "A String", # The human readable name of this Attestation Authority, for example "qa".
795 },
796 },
797 "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image.
798 # relationship. Linked occurrences are derived from this or an
799 # equivalent image via:
Dan O'Mearadd494642020-05-01 07:42:23 -0700800 # FROM &lt;Basis.resource_url&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700801 # Or an equivalent reference, e.g. a tag of the resource_url.
802 "resourceUrl": "A String", # The resource_url for the resource representing the basis of
803 # associated occurrence images.
804 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the base image.
805 "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
806 # representation.
807 # This field can be used as a filter in list requests.
808 "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
809 "A String",
810 ],
811 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
812 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
813 # Only the name of the final blob is kept.
814 # This field can be used as a filter in list requests.
815 },
816 },
817 "expirationTime": "A String", # Time of expiration for this note, null if note does not expire.
818 "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
819 "resourceUri": [ # Resource URI for the artifact being deployed.
820 "A String",
821 ],
822 },
823 "shortDescription": "A String", # A one sentence description of this `Note`.
824 "createTime": "A String", # Output only. The time this note was created. This field can be used as a
825 # filter in list requests.
826 "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing a provider/analysis type.
827 # exists in a provider's project. A `Discovery` occurrence is created in a
828 # consumer's project at the start of analysis. The occurrence's operation will
829 # indicate the status of the analysis. Absence of an occurrence linked to this
830 # note for a resource indicates that analysis hasn't started.
831 "analysisKind": "A String", # The kind of analysis that is handled by this discovery.
832 },
833 }</pre>
834</div>
835
836<div class="method">
837 <code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code>
838 <pre>Gets the access control policy for a note or an `Occurrence` resource.
839Requires `containeranalysis.notes.setIamPolicy` or
840`containeranalysis.occurrences.setIamPolicy` permission if the resource is
841a note or occurrence, respectively.
842Attempting to call this method on a resource without the required
843permission will result in a `PERMISSION_DENIED` error. Attempting to call
844this method on a non-existent resource will result in a `NOT_FOUND` error
845if the user has list permission on the project, or a `PERMISSION_DENIED`
846error otherwise. The resource takes the following formats:
847`projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for occurrences and
848projects/{PROJECT_ID}/notes/{NOTE_ID} for notes
849
850Args:
851 resource: string, REQUIRED: The resource for which the policy is being requested.
852See the operation documentation for the appropriate value for this field. (required)
853 body: object, The request body.
854 The object takes the form of:
855
856{ # Request message for `GetIamPolicy` method.
Dan O'Mearadd494642020-05-01 07:42:23 -0700857 "options": { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to
858 # `GetIamPolicy`.
859 "requestedPolicyVersion": 42, # Optional. The policy format version to be returned.
860 #
861 # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
862 # rejected.
863 #
864 # Requests for policies with any conditional bindings must specify version 3.
865 # Policies without any conditional bindings may specify any valid value or
866 # leave the field unset.
867 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700868 }
869
870 x__xgafv: string, V1 error format.
871 Allowed values
872 1 - v1 error format
873 2 - v2 error format
874
875Returns:
876 An object of the form:
877
Dan O'Mearadd494642020-05-01 07:42:23 -0700878 { # An Identity and Access Management (IAM) policy, which specifies access
879 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700880 #
881 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700882 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
883 # `members` to a single `role`. Members can be user accounts, service accounts,
884 # Google groups, and domains (such as G Suite). A `role` is a named list of
885 # permissions; each `role` can be an IAM predefined role or a user-created
886 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700887 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700888 # Optionally, a `binding` can specify a `condition`, which is a logical
889 # expression that allows access to a resource only if the expression evaluates
890 # to `true`. A condition can add constraints based on attributes of the
891 # request, the resource, or both.
892 #
893 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700894 #
895 # {
896 # "bindings": [
897 # {
Dan O'Mearadd494642020-05-01 07:42:23 -0700898 # "role": "roles/resourcemanager.organizationAdmin",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700899 # "members": [
900 # "user:mike@example.com",
901 # "group:admins@example.com",
902 # "domain:google.com",
Dan O'Mearadd494642020-05-01 07:42:23 -0700903 # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700904 # ]
905 # },
906 # {
Dan O'Mearadd494642020-05-01 07:42:23 -0700907 # "role": "roles/resourcemanager.organizationViewer",
908 # "members": ["user:eve@example.com"],
909 # "condition": {
910 # "title": "expirable access",
911 # "description": "Does not grant access after Sep 2020",
912 # "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
913 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700914 # }
Dan O'Mearadd494642020-05-01 07:42:23 -0700915 # ],
916 # "etag": "BwWWja0YfJA=",
917 # "version": 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700918 # }
919 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700920 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700921 #
922 # bindings:
923 # - members:
924 # - user:mike@example.com
925 # - group:admins@example.com
926 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -0700927 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
928 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700929 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -0700930 # - user:eve@example.com
931 # role: roles/resourcemanager.organizationViewer
932 # condition:
933 # title: expirable access
934 # description: Does not grant access after Sep 2020
935 # expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
936 # - etag: BwWWja0YfJA=
937 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700938 #
939 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -0700940 # [IAM documentation](https://cloud.google.com/iam/docs/).
941 "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
942 # `condition` that determines how and when the `bindings` are applied. Each
943 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700944 { # Associates `members` with a `role`.
945 "role": "A String", # Role that is assigned to `members`.
946 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
947 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
948 # `members` can have the following values:
949 #
950 # * `allUsers`: A special identifier that represents anyone who is
951 # on the internet; with or without a Google account.
952 #
953 # * `allAuthenticatedUsers`: A special identifier that represents anyone
954 # who is authenticated with a Google account or a service account.
955 #
956 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -0700957 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700958 #
959 #
960 # * `serviceAccount:{emailid}`: An email address that represents a service
961 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
962 #
963 # * `group:{emailid}`: An email address that represents a Google group.
964 # For example, `admins@example.com`.
965 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700966 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
967 # identifier) representing a user that has been recently deleted. For
968 # example, `alice@example.com?uid=123456789012345678901`. If the user is
969 # recovered, this value reverts to `user:{emailid}` and the recovered user
970 # retains the role in the binding.
971 #
972 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
973 # unique identifier) representing a service account that has been recently
974 # deleted. For example,
975 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
976 # If the service account is undeleted, this value reverts to
977 # `serviceAccount:{emailid}` and the undeleted service account retains the
978 # role in the binding.
979 #
980 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
981 # identifier) representing a Google group that has been recently
982 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
983 # the group is recovered, this value reverts to `group:{emailid}` and the
984 # recovered group retains the role in the binding.
985 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700986 #
987 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
988 # users of that domain. For example, `google.com` or `example.com`.
989 #
990 "A String",
991 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700992 "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700993 # NOTE: An unsatisfied condition will not allow user access via current
994 # binding. Different bindings, including their conditions, are examined
995 # independently.
Dan O'Mearadd494642020-05-01 07:42:23 -0700996 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
997 # are documented at https://github.com/google/cel-spec.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700998 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700999 # Example (Comparison):
1000 #
1001 # title: "Summary size limit"
1002 # description: "Determines if a summary is less than 100 chars"
1003 # expression: "document.summary.size() &lt; 100"
1004 #
1005 # Example (Equality):
1006 #
1007 # title: "Requestor is owner"
1008 # description: "Determines if requestor is the document owner"
1009 # expression: "document.owner == request.auth.claims.email"
1010 #
1011 # Example (Logic):
1012 #
1013 # title: "Public documents"
1014 # description: "Determine whether the document should be publicly visible"
1015 # expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
1016 #
1017 # Example (Data Manipulation):
1018 #
1019 # title: "Notification string"
1020 # description: "Create a notification string with a timestamp."
1021 # expression: "'New message received at ' + string(document.create_time)"
1022 #
1023 # The exact variables and functions that may be referenced within an expression
1024 # are determined by the service that evaluates it. See the service
1025 # documentation for additional information.
1026 "description": "A String", # Optional. Description of the expression. This is a longer text which
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001027 # describes the expression, e.g. when hovered over it in a UI.
Dan O'Mearadd494642020-05-01 07:42:23 -07001028 "expression": "A String", # Textual representation of an expression in Common Expression Language
1029 # syntax.
1030 "location": "A String", # Optional. String indicating the location of the expression for error
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001031 # reporting, e.g. a file name and a position in the file.
Dan O'Mearadd494642020-05-01 07:42:23 -07001032 "title": "A String", # Optional. Title for the expression, i.e. a short string describing
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001033 # its purpose. This can be used e.g. in UIs which allow to enter the
1034 # expression.
1035 },
1036 },
1037 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001038 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
1039 # prevent simultaneous updates of a policy from overwriting each other.
1040 # It is strongly suggested that systems make use of the `etag` in the
1041 # read-modify-write cycle to perform policy updates in order to avoid race
1042 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1043 # systems are expected to put that etag in the request to `setIamPolicy` to
1044 # ensure that their change will be applied to the same version of the policy.
1045 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001046 # **Important:** If you use IAM Conditions, you must include the `etag` field
1047 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1048 # you to overwrite a version `3` policy with a version `1` policy, and all of
1049 # the conditions in the version `3` policy are lost.
1050 "version": 42, # Specifies the format of the policy.
1051 #
1052 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1053 # are rejected.
1054 #
1055 # Any operation that affects conditional role bindings must specify version
1056 # `3`. This requirement applies to the following operations:
1057 #
1058 # * Getting a policy that includes a conditional role binding
1059 # * Adding a conditional role binding to a policy
1060 # * Changing a conditional role binding in a policy
1061 # * Removing any role binding, with or without a condition, from a policy
1062 # that includes conditions
1063 #
1064 # **Important:** If you use IAM Conditions, you must include the `etag` field
1065 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1066 # you to overwrite a version `3` policy with a version `1` policy, and all of
1067 # the conditions in the version `3` policy are lost.
1068 #
1069 # If a policy does not include any conditions, operations on that policy may
1070 # specify any valid version or leave the field unset.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001071 }</pre>
1072</div>
1073
1074<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07001075 <code class="details" id="list">list(parent, name=None, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001076 <pre>Lists all `Notes` for a given project.
1077
1078Args:
1079 parent: string, This field contains the project Id for example: "projects/{PROJECT_ID}". (required)
1080 name: string, The name field will contain the project Id for example:
1081"providers/{provider_id}
1082@Deprecated
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001083 pageToken: string, Token to provide to skip to a particular spot in the list.
1084 x__xgafv: string, V1 error format.
1085 Allowed values
1086 1 - v1 error format
1087 2 - v2 error format
Dan O'Mearadd494642020-05-01 07:42:23 -07001088 pageSize: integer, Number of notes to return in the list.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001089 filter: string, The filter expression.
1090
1091Returns:
1092 An object of the form:
1093
1094 { # Response including listed notes.
1095 "nextPageToken": "A String", # The next pagination token in the list response. It should be used as
1096 # page_token for the following request. An empty value means no more result.
1097 "notes": [ # The occurrences requested
1098 { # Provides a detailed description of a `Note`.
1099 "buildType": { # Note holding the version of the provider's builder and the signature of # Build provenance type for a verifiable build.
1100 # the provenance message in linked BuildDetails.
1101 "builderVersion": "A String", # Version of the builder which produced this Note.
1102 "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in Occurrences pointing to the Note containing this
1103 # `BuilderDetails`.
1104 "publicKey": "A String", # Public key of the builder which can be used to verify that the related
1105 # findings are valid and unchanged. If `key_type` is empty, this defaults
1106 # to PEM encoded public keys.
1107 #
1108 # This field may be empty if `key_id` references an external key.
1109 #
1110 # For Cloud Build based signatures, this is a PEM encoded public
1111 # key. To verify the Cloud Build signature, place the contents of
1112 # this field into a file (public.pem). The signature field is base64-decoded
1113 # into its binary representation in signature.bin, and the provenance bytes
1114 # from `BuildDetails` are base64-decoded into a binary representation in
1115 # signed.bin. OpenSSL can then verify the signature:
1116 # `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
1117 "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in
1118 # `key_id`
1119 "keyId": "A String", # An Id for the key used to sign. This could be either an Id for the key
1120 # stored in `public_key` (such as the Id or fingerprint for a PGP key, or the
1121 # CN for a cert), or a reference to an external key (such as a reference to a
1122 # key in Cloud Key Management Service).
1123 "signature": "A String", # Signature of the related `BuildProvenance`, encoded in a base64 string.
1124 },
1125 },
1126 "kind": "A String", # Output only. This explicitly denotes which kind of note is specified. This
1127 # field can be used as a filter in list requests.
Dan O'Mearadd494642020-05-01 07:42:23 -07001128 "upgrade": { # An Upgrade Note represents a potential upgrade of a package to a given # A note describing an upgrade.
1129 # version. For each package version combination (i.e. bash 4.0, bash 4.1,
1130 # bash 4.1.2), there will be a Upgrade Note.
1131 "version": { # Version contains structured information about the version of the package. # Required - The version of the package in machine + human readable form.
1132 # For a discussion of this in Debian/Ubuntu:
1133 # http://serverfault.com/questions/604541/debian-packages-version-convention
1134 # For a discussion of this in Redhat/Fedora/Centos:
1135 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
1136 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1137 "name": "A String", # The main part of the version name.
1138 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1139 # If kind is not NORMAL, then the other fields are ignored.
1140 "revision": "A String", # The iteration of the package build from the above version.
1141 },
1142 "distributions": [ # Metadata about the upgrade for each specific operating system.
1143 { # The Upgrade Distribution represents metadata about the Upgrade for each
1144 # operating system (CPE). Some distributions have additional metadata around
1145 # updates, classifying them into various categories and severities.
1146 "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
1147 # https://cpe.mitre.org/specification/.
1148 "cve": [ # The cve that would be resolved by this upgrade.
1149 "A String",
1150 ],
1151 "severity": "A String", # The severity as specified by the upstream operating system.
1152 "classification": "A String", # The operating system classification of this Upgrade, as specified by the
1153 # upstream operating system upgrade feed.
1154 },
1155 ],
1156 "package": "A String", # Required - The package this Upgrade is for.
1157 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001158 "name": "A String", # The name of the note in the form
Dan O'Mearadd494642020-05-01 07:42:23 -07001159 # "projects/{provider_project_id}/notes/{NOTE_ID}"
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001160 "vulnerabilityType": { # VulnerabilityType provides metadata about a security vulnerability. # A package vulnerability type of note.
1161 "cvssScore": 3.14, # The CVSS score for this Vulnerability.
1162 "severity": "A String", # Note provider assigned impact of the vulnerability
1163 "details": [ # All information about the package to specifically identify this
1164 # vulnerability. One entry per (version range and cpe_uri) the
1165 # package vulnerability has manifested in.
1166 { # Identifies all occurrences of this vulnerability in the package for a
1167 # specific distro/location
1168 # For example: glibc in cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
1169 "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability.
1170 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in
1171 # which the vulnerability manifests. Examples include distro or storage
1172 # location for vulnerable jar.
1173 # This field can be used as a filter in list requests.
1174 "description": "A String", # A vendor-specific description of this note.
1175 "minAffectedVersion": { # Version contains structured information about the version of the package. # The min version of the package in which the vulnerability exists.
1176 # For a discussion of this in Debian/Ubuntu:
1177 # http://serverfault.com/questions/604541/debian-packages-version-convention
1178 # For a discussion of this in Redhat/Fedora/Centos:
1179 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001180 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1181 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001182 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1183 # If kind is not NORMAL, then the other fields are ignored.
1184 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001185 },
1186 "package": "A String", # The name of the package where the vulnerability was found.
1187 # This field can be used as a filter in list requests.
1188 "packageType": "A String", # The type of package; whether native or non native(ruby gems,
1189 # node.js packages etc)
1190 "isObsolete": True or False, # Whether this Detail is obsolete. Occurrences are expected not to point to
1191 # obsolete details.
Dan O'Mearadd494642020-05-01 07:42:23 -07001192 "maxAffectedVersion": { # Version contains structured information about the version of the package. # The max version of the package in which the vulnerability exists.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001193 # For a discussion of this in Debian/Ubuntu:
1194 # http://serverfault.com/questions/604541/debian-packages-version-convention
1195 # For a discussion of this in Redhat/Fedora/Centos:
1196 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001197 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1198 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001199 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1200 # If kind is not NORMAL, then the other fields are ignored.
1201 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001202 },
1203 "fixedLocation": { # The location of the vulnerability # The fix for this specific package version.
1204 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
1205 # format. Examples include distro or storage location for vulnerable jar.
1206 # This field can be used as a filter in list requests.
1207 "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
1208 # filter in list requests.
1209 # For a discussion of this in Debian/Ubuntu:
1210 # http://serverfault.com/questions/604541/debian-packages-version-convention
1211 # For a discussion of this in Redhat/Fedora/Centos:
1212 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001213 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1214 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001215 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1216 # If kind is not NORMAL, then the other fields are ignored.
1217 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001218 },
1219 "package": "A String", # The package being described.
1220 },
1221 },
1222 ],
1223 },
1224 "package": { # This represents a particular package that is distributed over # A note describing a package hosted by various package managers.
1225 # various channels.
1226 # e.g. glibc (aka libc6) is distributed by many, at various versions.
1227 "distribution": [ # The various channels by which a package is distributed.
1228 { # This represents a particular channel of distribution for a given package.
1229 # e.g. Debian's jessie-backports dpkg mirror
1230 "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
1231 # denoting the package manager version distributing a package.
1232 "maintainer": "A String", # A freeform string denoting the maintainer of this package.
1233 "description": "A String", # The distribution channel-specific description of this package.
1234 "url": "A String", # The distribution channel-specific homepage for this package.
1235 "architecture": "A String", # The CPU architecture for which packages in this distribution
1236 # channel were built
1237 "latestVersion": { # Version contains structured information about the version of the package. # The latest available version of this package in
1238 # this distribution channel.
1239 # For a discussion of this in Debian/Ubuntu:
1240 # http://serverfault.com/questions/604541/debian-packages-version-convention
1241 # For a discussion of this in Redhat/Fedora/Centos:
1242 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001243 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1244 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001245 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1246 # If kind is not NORMAL, then the other fields are ignored.
1247 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001248 },
1249 },
1250 ],
1251 "name": "A String", # The name of the package.
1252 },
1253 "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
1254 # a filter in list requests.
1255 "relatedUrl": [ # URLs associated with this note
1256 { # Metadata for any related URL information
1257 "url": "A String", # Specific URL to associate with the note
1258 "label": "A String", # Label to describe usage of the URL
1259 },
1260 ],
1261 "longDescription": "A String", # A detailed description of this `Note`.
1262 "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role.
1263 # example, an organization might have one `AttestationAuthority` for "QA" and
1264 # one for "build". This Note is intended to act strictly as a grouping
1265 # mechanism for the attached Occurrences (Attestations). This grouping
1266 # mechanism also provides a security boundary, since IAM ACLs gate the ability
1267 # for a principle to attach an Occurrence to a given Note. It also provides a
1268 # single point of lookup to find all attached Attestation Occurrences, even if
1269 # they don't all live in the same project.
1270 "hint": { # This submessage provides human-readable hints about the purpose of the
1271 # AttestationAuthority. Because the name of a Note acts as its resource
1272 # reference, it is important to disambiguate the canonical name of the Note
1273 # (which might be a UUID for security purposes) from "readable" names more
1274 # suitable for debug output. Note that these hints should NOT be used to
1275 # look up AttestationAuthorities in security sensitive contexts, such as when
1276 # looking up Attestations to verify.
1277 "humanReadableName": "A String", # The human readable name of this Attestation Authority, for example "qa".
1278 },
1279 },
1280 "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image.
1281 # relationship. Linked occurrences are derived from this or an
1282 # equivalent image via:
Dan O'Mearadd494642020-05-01 07:42:23 -07001283 # FROM &lt;Basis.resource_url&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001284 # Or an equivalent reference, e.g. a tag of the resource_url.
1285 "resourceUrl": "A String", # The resource_url for the resource representing the basis of
1286 # associated occurrence images.
1287 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the base image.
1288 "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
1289 # representation.
1290 # This field can be used as a filter in list requests.
1291 "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
1292 "A String",
1293 ],
1294 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
1295 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
1296 # Only the name of the final blob is kept.
1297 # This field can be used as a filter in list requests.
1298 },
1299 },
1300 "expirationTime": "A String", # Time of expiration for this note, null if note does not expire.
1301 "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
1302 "resourceUri": [ # Resource URI for the artifact being deployed.
1303 "A String",
1304 ],
1305 },
1306 "shortDescription": "A String", # A one sentence description of this `Note`.
1307 "createTime": "A String", # Output only. The time this note was created. This field can be used as a
1308 # filter in list requests.
1309 "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing a provider/analysis type.
1310 # exists in a provider's project. A `Discovery` occurrence is created in a
1311 # consumer's project at the start of analysis. The occurrence's operation will
1312 # indicate the status of the analysis. Absence of an occurrence linked to this
1313 # note for a resource indicates that analysis hasn't started.
1314 "analysisKind": "A String", # The kind of analysis that is handled by this discovery.
1315 },
1316 },
1317 ],
1318 }</pre>
1319</div>
1320
1321<div class="method">
1322 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
1323 <pre>Retrieves the next page of results.
1324
1325Args:
1326 previous_request: The request for the previous page. (required)
1327 previous_response: The response from the request for the previous page. (required)
1328
1329Returns:
1330 A request object that you can call 'execute()' on to request the next
1331 page. Returns None if there are no more items in the collection.
1332 </pre>
1333</div>
1334
1335<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07001336 <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001337 <pre>Updates an existing `Note`.
1338
1339Args:
1340 name: string, The name of the note.
1341Should be of the form "projects/{provider_id}/notes/{note_id}". (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07001342 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001343 The object takes the form of:
1344
1345{ # Provides a detailed description of a `Note`.
1346 "buildType": { # Note holding the version of the provider's builder and the signature of # Build provenance type for a verifiable build.
1347 # the provenance message in linked BuildDetails.
1348 "builderVersion": "A String", # Version of the builder which produced this Note.
1349 "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in Occurrences pointing to the Note containing this
1350 # `BuilderDetails`.
1351 "publicKey": "A String", # Public key of the builder which can be used to verify that the related
1352 # findings are valid and unchanged. If `key_type` is empty, this defaults
1353 # to PEM encoded public keys.
1354 #
1355 # This field may be empty if `key_id` references an external key.
1356 #
1357 # For Cloud Build based signatures, this is a PEM encoded public
1358 # key. To verify the Cloud Build signature, place the contents of
1359 # this field into a file (public.pem). The signature field is base64-decoded
1360 # into its binary representation in signature.bin, and the provenance bytes
1361 # from `BuildDetails` are base64-decoded into a binary representation in
1362 # signed.bin. OpenSSL can then verify the signature:
1363 # `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
1364 "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in
1365 # `key_id`
1366 "keyId": "A String", # An Id for the key used to sign. This could be either an Id for the key
1367 # stored in `public_key` (such as the Id or fingerprint for a PGP key, or the
1368 # CN for a cert), or a reference to an external key (such as a reference to a
1369 # key in Cloud Key Management Service).
1370 "signature": "A String", # Signature of the related `BuildProvenance`, encoded in a base64 string.
1371 },
1372 },
1373 "kind": "A String", # Output only. This explicitly denotes which kind of note is specified. This
1374 # field can be used as a filter in list requests.
Dan O'Mearadd494642020-05-01 07:42:23 -07001375 "upgrade": { # An Upgrade Note represents a potential upgrade of a package to a given # A note describing an upgrade.
1376 # version. For each package version combination (i.e. bash 4.0, bash 4.1,
1377 # bash 4.1.2), there will be a Upgrade Note.
1378 "version": { # Version contains structured information about the version of the package. # Required - The version of the package in machine + human readable form.
1379 # For a discussion of this in Debian/Ubuntu:
1380 # http://serverfault.com/questions/604541/debian-packages-version-convention
1381 # For a discussion of this in Redhat/Fedora/Centos:
1382 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
1383 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1384 "name": "A String", # The main part of the version name.
1385 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1386 # If kind is not NORMAL, then the other fields are ignored.
1387 "revision": "A String", # The iteration of the package build from the above version.
1388 },
1389 "distributions": [ # Metadata about the upgrade for each specific operating system.
1390 { # The Upgrade Distribution represents metadata about the Upgrade for each
1391 # operating system (CPE). Some distributions have additional metadata around
1392 # updates, classifying them into various categories and severities.
1393 "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
1394 # https://cpe.mitre.org/specification/.
1395 "cve": [ # The cve that would be resolved by this upgrade.
1396 "A String",
1397 ],
1398 "severity": "A String", # The severity as specified by the upstream operating system.
1399 "classification": "A String", # The operating system classification of this Upgrade, as specified by the
1400 # upstream operating system upgrade feed.
1401 },
1402 ],
1403 "package": "A String", # Required - The package this Upgrade is for.
1404 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001405 "name": "A String", # The name of the note in the form
Dan O'Mearadd494642020-05-01 07:42:23 -07001406 # "projects/{provider_project_id}/notes/{NOTE_ID}"
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001407 "vulnerabilityType": { # VulnerabilityType provides metadata about a security vulnerability. # A package vulnerability type of note.
1408 "cvssScore": 3.14, # The CVSS score for this Vulnerability.
1409 "severity": "A String", # Note provider assigned impact of the vulnerability
1410 "details": [ # All information about the package to specifically identify this
1411 # vulnerability. One entry per (version range and cpe_uri) the
1412 # package vulnerability has manifested in.
1413 { # Identifies all occurrences of this vulnerability in the package for a
1414 # specific distro/location
1415 # For example: glibc in cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
1416 "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability.
1417 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in
1418 # which the vulnerability manifests. Examples include distro or storage
1419 # location for vulnerable jar.
1420 # This field can be used as a filter in list requests.
1421 "description": "A String", # A vendor-specific description of this note.
1422 "minAffectedVersion": { # Version contains structured information about the version of the package. # The min version of the package in which the vulnerability exists.
1423 # For a discussion of this in Debian/Ubuntu:
1424 # http://serverfault.com/questions/604541/debian-packages-version-convention
1425 # For a discussion of this in Redhat/Fedora/Centos:
1426 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001427 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1428 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001429 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1430 # If kind is not NORMAL, then the other fields are ignored.
1431 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001432 },
1433 "package": "A String", # The name of the package where the vulnerability was found.
1434 # This field can be used as a filter in list requests.
1435 "packageType": "A String", # The type of package; whether native or non native(ruby gems,
1436 # node.js packages etc)
1437 "isObsolete": True or False, # Whether this Detail is obsolete. Occurrences are expected not to point to
1438 # obsolete details.
Dan O'Mearadd494642020-05-01 07:42:23 -07001439 "maxAffectedVersion": { # Version contains structured information about the version of the package. # The max version of the package in which the vulnerability exists.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001440 # For a discussion of this in Debian/Ubuntu:
1441 # http://serverfault.com/questions/604541/debian-packages-version-convention
1442 # For a discussion of this in Redhat/Fedora/Centos:
1443 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001444 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1445 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001446 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1447 # If kind is not NORMAL, then the other fields are ignored.
1448 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001449 },
1450 "fixedLocation": { # The location of the vulnerability # The fix for this specific package version.
1451 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
1452 # format. Examples include distro or storage location for vulnerable jar.
1453 # This field can be used as a filter in list requests.
1454 "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
1455 # filter in list requests.
1456 # For a discussion of this in Debian/Ubuntu:
1457 # http://serverfault.com/questions/604541/debian-packages-version-convention
1458 # For a discussion of this in Redhat/Fedora/Centos:
1459 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001460 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1461 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001462 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1463 # If kind is not NORMAL, then the other fields are ignored.
1464 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001465 },
1466 "package": "A String", # The package being described.
1467 },
1468 },
1469 ],
1470 },
1471 "package": { # This represents a particular package that is distributed over # A note describing a package hosted by various package managers.
1472 # various channels.
1473 # e.g. glibc (aka libc6) is distributed by many, at various versions.
1474 "distribution": [ # The various channels by which a package is distributed.
1475 { # This represents a particular channel of distribution for a given package.
1476 # e.g. Debian's jessie-backports dpkg mirror
1477 "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
1478 # denoting the package manager version distributing a package.
1479 "maintainer": "A String", # A freeform string denoting the maintainer of this package.
1480 "description": "A String", # The distribution channel-specific description of this package.
1481 "url": "A String", # The distribution channel-specific homepage for this package.
1482 "architecture": "A String", # The CPU architecture for which packages in this distribution
1483 # channel were built
1484 "latestVersion": { # Version contains structured information about the version of the package. # The latest available version of this package in
1485 # this distribution channel.
1486 # For a discussion of this in Debian/Ubuntu:
1487 # http://serverfault.com/questions/604541/debian-packages-version-convention
1488 # For a discussion of this in Redhat/Fedora/Centos:
1489 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001490 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1491 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001492 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1493 # If kind is not NORMAL, then the other fields are ignored.
1494 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001495 },
1496 },
1497 ],
1498 "name": "A String", # The name of the package.
1499 },
1500 "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
1501 # a filter in list requests.
1502 "relatedUrl": [ # URLs associated with this note
1503 { # Metadata for any related URL information
1504 "url": "A String", # Specific URL to associate with the note
1505 "label": "A String", # Label to describe usage of the URL
1506 },
1507 ],
1508 "longDescription": "A String", # A detailed description of this `Note`.
1509 "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role.
1510 # example, an organization might have one `AttestationAuthority` for "QA" and
1511 # one for "build". This Note is intended to act strictly as a grouping
1512 # mechanism for the attached Occurrences (Attestations). This grouping
1513 # mechanism also provides a security boundary, since IAM ACLs gate the ability
1514 # for a principle to attach an Occurrence to a given Note. It also provides a
1515 # single point of lookup to find all attached Attestation Occurrences, even if
1516 # they don't all live in the same project.
1517 "hint": { # This submessage provides human-readable hints about the purpose of the
1518 # AttestationAuthority. Because the name of a Note acts as its resource
1519 # reference, it is important to disambiguate the canonical name of the Note
1520 # (which might be a UUID for security purposes) from "readable" names more
1521 # suitable for debug output. Note that these hints should NOT be used to
1522 # look up AttestationAuthorities in security sensitive contexts, such as when
1523 # looking up Attestations to verify.
1524 "humanReadableName": "A String", # The human readable name of this Attestation Authority, for example "qa".
1525 },
1526 },
1527 "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image.
1528 # relationship. Linked occurrences are derived from this or an
1529 # equivalent image via:
Dan O'Mearadd494642020-05-01 07:42:23 -07001530 # FROM &lt;Basis.resource_url&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001531 # Or an equivalent reference, e.g. a tag of the resource_url.
1532 "resourceUrl": "A String", # The resource_url for the resource representing the basis of
1533 # associated occurrence images.
1534 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the base image.
1535 "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
1536 # representation.
1537 # This field can be used as a filter in list requests.
1538 "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
1539 "A String",
1540 ],
1541 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
1542 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
1543 # Only the name of the final blob is kept.
1544 # This field can be used as a filter in list requests.
1545 },
1546 },
1547 "expirationTime": "A String", # Time of expiration for this note, null if note does not expire.
1548 "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
1549 "resourceUri": [ # Resource URI for the artifact being deployed.
1550 "A String",
1551 ],
1552 },
1553 "shortDescription": "A String", # A one sentence description of this `Note`.
1554 "createTime": "A String", # Output only. The time this note was created. This field can be used as a
1555 # filter in list requests.
1556 "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing a provider/analysis type.
1557 # exists in a provider's project. A `Discovery` occurrence is created in a
1558 # consumer's project at the start of analysis. The occurrence's operation will
1559 # indicate the status of the analysis. Absence of an occurrence linked to this
1560 # note for a resource indicates that analysis hasn't started.
1561 "analysisKind": "A String", # The kind of analysis that is handled by this discovery.
1562 },
1563}
1564
1565 updateMask: string, The fields to update.
1566 x__xgafv: string, V1 error format.
1567 Allowed values
1568 1 - v1 error format
1569 2 - v2 error format
1570
1571Returns:
1572 An object of the form:
1573
1574 { # Provides a detailed description of a `Note`.
1575 "buildType": { # Note holding the version of the provider's builder and the signature of # Build provenance type for a verifiable build.
1576 # the provenance message in linked BuildDetails.
1577 "builderVersion": "A String", # Version of the builder which produced this Note.
1578 "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in Occurrences pointing to the Note containing this
1579 # `BuilderDetails`.
1580 "publicKey": "A String", # Public key of the builder which can be used to verify that the related
1581 # findings are valid and unchanged. If `key_type` is empty, this defaults
1582 # to PEM encoded public keys.
1583 #
1584 # This field may be empty if `key_id` references an external key.
1585 #
1586 # For Cloud Build based signatures, this is a PEM encoded public
1587 # key. To verify the Cloud Build signature, place the contents of
1588 # this field into a file (public.pem). The signature field is base64-decoded
1589 # into its binary representation in signature.bin, and the provenance bytes
1590 # from `BuildDetails` are base64-decoded into a binary representation in
1591 # signed.bin. OpenSSL can then verify the signature:
1592 # `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
1593 "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in
1594 # `key_id`
1595 "keyId": "A String", # An Id for the key used to sign. This could be either an Id for the key
1596 # stored in `public_key` (such as the Id or fingerprint for a PGP key, or the
1597 # CN for a cert), or a reference to an external key (such as a reference to a
1598 # key in Cloud Key Management Service).
1599 "signature": "A String", # Signature of the related `BuildProvenance`, encoded in a base64 string.
1600 },
1601 },
1602 "kind": "A String", # Output only. This explicitly denotes which kind of note is specified. This
1603 # field can be used as a filter in list requests.
Dan O'Mearadd494642020-05-01 07:42:23 -07001604 "upgrade": { # An Upgrade Note represents a potential upgrade of a package to a given # A note describing an upgrade.
1605 # version. For each package version combination (i.e. bash 4.0, bash 4.1,
1606 # bash 4.1.2), there will be a Upgrade Note.
1607 "version": { # Version contains structured information about the version of the package. # Required - The version of the package in machine + human readable form.
1608 # For a discussion of this in Debian/Ubuntu:
1609 # http://serverfault.com/questions/604541/debian-packages-version-convention
1610 # For a discussion of this in Redhat/Fedora/Centos:
1611 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
1612 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1613 "name": "A String", # The main part of the version name.
1614 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1615 # If kind is not NORMAL, then the other fields are ignored.
1616 "revision": "A String", # The iteration of the package build from the above version.
1617 },
1618 "distributions": [ # Metadata about the upgrade for each specific operating system.
1619 { # The Upgrade Distribution represents metadata about the Upgrade for each
1620 # operating system (CPE). Some distributions have additional metadata around
1621 # updates, classifying them into various categories and severities.
1622 "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
1623 # https://cpe.mitre.org/specification/.
1624 "cve": [ # The cve that would be resolved by this upgrade.
1625 "A String",
1626 ],
1627 "severity": "A String", # The severity as specified by the upstream operating system.
1628 "classification": "A String", # The operating system classification of this Upgrade, as specified by the
1629 # upstream operating system upgrade feed.
1630 },
1631 ],
1632 "package": "A String", # Required - The package this Upgrade is for.
1633 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001634 "name": "A String", # The name of the note in the form
Dan O'Mearadd494642020-05-01 07:42:23 -07001635 # "projects/{provider_project_id}/notes/{NOTE_ID}"
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001636 "vulnerabilityType": { # VulnerabilityType provides metadata about a security vulnerability. # A package vulnerability type of note.
1637 "cvssScore": 3.14, # The CVSS score for this Vulnerability.
1638 "severity": "A String", # Note provider assigned impact of the vulnerability
1639 "details": [ # All information about the package to specifically identify this
1640 # vulnerability. One entry per (version range and cpe_uri) the
1641 # package vulnerability has manifested in.
1642 { # Identifies all occurrences of this vulnerability in the package for a
1643 # specific distro/location
1644 # For example: glibc in cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
1645 "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability.
1646 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in
1647 # which the vulnerability manifests. Examples include distro or storage
1648 # location for vulnerable jar.
1649 # This field can be used as a filter in list requests.
1650 "description": "A String", # A vendor-specific description of this note.
1651 "minAffectedVersion": { # Version contains structured information about the version of the package. # The min version of the package in which the vulnerability exists.
1652 # For a discussion of this in Debian/Ubuntu:
1653 # http://serverfault.com/questions/604541/debian-packages-version-convention
1654 # For a discussion of this in Redhat/Fedora/Centos:
1655 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001656 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1657 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001658 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1659 # If kind is not NORMAL, then the other fields are ignored.
1660 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001661 },
1662 "package": "A String", # The name of the package where the vulnerability was found.
1663 # This field can be used as a filter in list requests.
1664 "packageType": "A String", # The type of package; whether native or non native(ruby gems,
1665 # node.js packages etc)
1666 "isObsolete": True or False, # Whether this Detail is obsolete. Occurrences are expected not to point to
1667 # obsolete details.
Dan O'Mearadd494642020-05-01 07:42:23 -07001668 "maxAffectedVersion": { # Version contains structured information about the version of the package. # The max version of the package in which the vulnerability exists.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001669 # For a discussion of this in Debian/Ubuntu:
1670 # http://serverfault.com/questions/604541/debian-packages-version-convention
1671 # For a discussion of this in Redhat/Fedora/Centos:
1672 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001673 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1674 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001675 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1676 # If kind is not NORMAL, then the other fields are ignored.
1677 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001678 },
1679 "fixedLocation": { # The location of the vulnerability # The fix for this specific package version.
1680 "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
1681 # format. Examples include distro or storage location for vulnerable jar.
1682 # This field can be used as a filter in list requests.
1683 "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
1684 # filter in list requests.
1685 # For a discussion of this in Debian/Ubuntu:
1686 # http://serverfault.com/questions/604541/debian-packages-version-convention
1687 # For a discussion of this in Redhat/Fedora/Centos:
1688 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001689 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1690 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001691 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1692 # If kind is not NORMAL, then the other fields are ignored.
1693 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001694 },
1695 "package": "A String", # The package being described.
1696 },
1697 },
1698 ],
1699 },
1700 "package": { # This represents a particular package that is distributed over # A note describing a package hosted by various package managers.
1701 # various channels.
1702 # e.g. glibc (aka libc6) is distributed by many, at various versions.
1703 "distribution": [ # The various channels by which a package is distributed.
1704 { # This represents a particular channel of distribution for a given package.
1705 # e.g. Debian's jessie-backports dpkg mirror
1706 "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
1707 # denoting the package manager version distributing a package.
1708 "maintainer": "A String", # A freeform string denoting the maintainer of this package.
1709 "description": "A String", # The distribution channel-specific description of this package.
1710 "url": "A String", # The distribution channel-specific homepage for this package.
1711 "architecture": "A String", # The CPU architecture for which packages in this distribution
1712 # channel were built
1713 "latestVersion": { # Version contains structured information about the version of the package. # The latest available version of this package in
1714 # this distribution channel.
1715 # For a discussion of this in Debian/Ubuntu:
1716 # http://serverfault.com/questions/604541/debian-packages-version-convention
1717 # For a discussion of this in Redhat/Fedora/Centos:
1718 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
Dan O'Mearadd494642020-05-01 07:42:23 -07001719 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1720 "name": "A String", # The main part of the version name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001721 "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
1722 # If kind is not NORMAL, then the other fields are ignored.
1723 "revision": "A String", # The iteration of the package build from the above version.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001724 },
1725 },
1726 ],
1727 "name": "A String", # The name of the package.
1728 },
1729 "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
1730 # a filter in list requests.
1731 "relatedUrl": [ # URLs associated with this note
1732 { # Metadata for any related URL information
1733 "url": "A String", # Specific URL to associate with the note
1734 "label": "A String", # Label to describe usage of the URL
1735 },
1736 ],
1737 "longDescription": "A String", # A detailed description of this `Note`.
1738 "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role.
1739 # example, an organization might have one `AttestationAuthority` for "QA" and
1740 # one for "build". This Note is intended to act strictly as a grouping
1741 # mechanism for the attached Occurrences (Attestations). This grouping
1742 # mechanism also provides a security boundary, since IAM ACLs gate the ability
1743 # for a principle to attach an Occurrence to a given Note. It also provides a
1744 # single point of lookup to find all attached Attestation Occurrences, even if
1745 # they don't all live in the same project.
1746 "hint": { # This submessage provides human-readable hints about the purpose of the
1747 # AttestationAuthority. Because the name of a Note acts as its resource
1748 # reference, it is important to disambiguate the canonical name of the Note
1749 # (which might be a UUID for security purposes) from "readable" names more
1750 # suitable for debug output. Note that these hints should NOT be used to
1751 # look up AttestationAuthorities in security sensitive contexts, such as when
1752 # looking up Attestations to verify.
1753 "humanReadableName": "A String", # The human readable name of this Attestation Authority, for example "qa".
1754 },
1755 },
1756 "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image.
1757 # relationship. Linked occurrences are derived from this or an
1758 # equivalent image via:
Dan O'Mearadd494642020-05-01 07:42:23 -07001759 # FROM &lt;Basis.resource_url&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001760 # Or an equivalent reference, e.g. a tag of the resource_url.
1761 "resourceUrl": "A String", # The resource_url for the resource representing the basis of
1762 # associated occurrence images.
1763 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the base image.
1764 "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
1765 # representation.
1766 # This field can be used as a filter in list requests.
1767 "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
1768 "A String",
1769 ],
1770 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
1771 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
1772 # Only the name of the final blob is kept.
1773 # This field can be used as a filter in list requests.
1774 },
1775 },
1776 "expirationTime": "A String", # Time of expiration for this note, null if note does not expire.
1777 "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
1778 "resourceUri": [ # Resource URI for the artifact being deployed.
1779 "A String",
1780 ],
1781 },
1782 "shortDescription": "A String", # A one sentence description of this `Note`.
1783 "createTime": "A String", # Output only. The time this note was created. This field can be used as a
1784 # filter in list requests.
1785 "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing a provider/analysis type.
1786 # exists in a provider's project. A `Discovery` occurrence is created in a
1787 # consumer's project at the start of analysis. The occurrence's operation will
1788 # indicate the status of the analysis. Absence of an occurrence linked to this
1789 # note for a resource indicates that analysis hasn't started.
1790 "analysisKind": "A String", # The kind of analysis that is handled by this discovery.
1791 },
1792 }</pre>
1793</div>
1794
1795<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07001796 <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001797 <pre>Sets the access control policy on the specified `Note` or `Occurrence`.
1798Requires `containeranalysis.notes.setIamPolicy` or
1799`containeranalysis.occurrences.setIamPolicy` permission if the resource is
1800a `Note` or an `Occurrence`, respectively.
1801Attempting to call this method without these permissions will result in a `
1802`PERMISSION_DENIED` error.
1803Attempting to call this method on a non-existent resource will result in a
1804`NOT_FOUND` error if the user has `containeranalysis.notes.list` permission
1805on a `Note` or `containeranalysis.occurrences.list` on an `Occurrence`, or
1806a `PERMISSION_DENIED` error otherwise. The resource takes the following
1807formats: `projects/{projectid}/occurrences/{occurrenceid}` for occurrences
1808and projects/{projectid}/notes/{noteid} for notes
1809
1810Args:
1811 resource: string, REQUIRED: The resource for which the policy is being specified.
1812See the operation documentation for the appropriate value for this field. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07001813 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001814 The object takes the form of:
1815
1816{ # Request message for `SetIamPolicy` method.
Dan O'Mearadd494642020-05-01 07:42:23 -07001817 "policy": { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001818 # the policy is limited to a few 10s of KB. An empty policy is a
1819 # valid policy but certain Cloud Platform services (such as Projects)
1820 # might reject them.
Dan O'Mearadd494642020-05-01 07:42:23 -07001821 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001822 #
1823 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001824 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1825 # `members` to a single `role`. Members can be user accounts, service accounts,
1826 # Google groups, and domains (such as G Suite). A `role` is a named list of
1827 # permissions; each `role` can be an IAM predefined role or a user-created
1828 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001829 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001830 # Optionally, a `binding` can specify a `condition`, which is a logical
1831 # expression that allows access to a resource only if the expression evaluates
1832 # to `true`. A condition can add constraints based on attributes of the
1833 # request, the resource, or both.
1834 #
1835 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001836 #
1837 # {
1838 # "bindings": [
1839 # {
Dan O'Mearadd494642020-05-01 07:42:23 -07001840 # "role": "roles/resourcemanager.organizationAdmin",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001841 # "members": [
1842 # "user:mike@example.com",
1843 # "group:admins@example.com",
1844 # "domain:google.com",
Dan O'Mearadd494642020-05-01 07:42:23 -07001845 # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001846 # ]
1847 # },
1848 # {
Dan O'Mearadd494642020-05-01 07:42:23 -07001849 # "role": "roles/resourcemanager.organizationViewer",
1850 # "members": ["user:eve@example.com"],
1851 # "condition": {
1852 # "title": "expirable access",
1853 # "description": "Does not grant access after Sep 2020",
1854 # "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
1855 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001856 # }
Dan O'Mearadd494642020-05-01 07:42:23 -07001857 # ],
1858 # "etag": "BwWWja0YfJA=",
1859 # "version": 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001860 # }
1861 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001862 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001863 #
1864 # bindings:
1865 # - members:
1866 # - user:mike@example.com
1867 # - group:admins@example.com
1868 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -07001869 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1870 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001871 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -07001872 # - user:eve@example.com
1873 # role: roles/resourcemanager.organizationViewer
1874 # condition:
1875 # title: expirable access
1876 # description: Does not grant access after Sep 2020
1877 # expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
1878 # - etag: BwWWja0YfJA=
1879 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001880 #
1881 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -07001882 # [IAM documentation](https://cloud.google.com/iam/docs/).
1883 "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
1884 # `condition` that determines how and when the `bindings` are applied. Each
1885 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001886 { # Associates `members` with a `role`.
1887 "role": "A String", # Role that is assigned to `members`.
1888 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1889 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
1890 # `members` can have the following values:
1891 #
1892 # * `allUsers`: A special identifier that represents anyone who is
1893 # on the internet; with or without a Google account.
1894 #
1895 # * `allAuthenticatedUsers`: A special identifier that represents anyone
1896 # who is authenticated with a Google account or a service account.
1897 #
1898 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -07001899 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001900 #
1901 #
1902 # * `serviceAccount:{emailid}`: An email address that represents a service
1903 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1904 #
1905 # * `group:{emailid}`: An email address that represents a Google group.
1906 # For example, `admins@example.com`.
1907 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001908 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
1909 # identifier) representing a user that has been recently deleted. For
1910 # example, `alice@example.com?uid=123456789012345678901`. If the user is
1911 # recovered, this value reverts to `user:{emailid}` and the recovered user
1912 # retains the role in the binding.
1913 #
1914 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
1915 # unique identifier) representing a service account that has been recently
1916 # deleted. For example,
1917 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
1918 # If the service account is undeleted, this value reverts to
1919 # `serviceAccount:{emailid}` and the undeleted service account retains the
1920 # role in the binding.
1921 #
1922 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
1923 # identifier) representing a Google group that has been recently
1924 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
1925 # the group is recovered, this value reverts to `group:{emailid}` and the
1926 # recovered group retains the role in the binding.
1927 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001928 #
1929 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
1930 # users of that domain. For example, `google.com` or `example.com`.
1931 #
1932 "A String",
1933 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07001934 "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001935 # NOTE: An unsatisfied condition will not allow user access via current
1936 # binding. Different bindings, including their conditions, are examined
1937 # independently.
Dan O'Mearadd494642020-05-01 07:42:23 -07001938 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1939 # are documented at https://github.com/google/cel-spec.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001940 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001941 # Example (Comparison):
1942 #
1943 # title: "Summary size limit"
1944 # description: "Determines if a summary is less than 100 chars"
1945 # expression: "document.summary.size() &lt; 100"
1946 #
1947 # Example (Equality):
1948 #
1949 # title: "Requestor is owner"
1950 # description: "Determines if requestor is the document owner"
1951 # expression: "document.owner == request.auth.claims.email"
1952 #
1953 # Example (Logic):
1954 #
1955 # title: "Public documents"
1956 # description: "Determine whether the document should be publicly visible"
1957 # expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
1958 #
1959 # Example (Data Manipulation):
1960 #
1961 # title: "Notification string"
1962 # description: "Create a notification string with a timestamp."
1963 # expression: "'New message received at ' + string(document.create_time)"
1964 #
1965 # The exact variables and functions that may be referenced within an expression
1966 # are determined by the service that evaluates it. See the service
1967 # documentation for additional information.
1968 "description": "A String", # Optional. Description of the expression. This is a longer text which
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001969 # describes the expression, e.g. when hovered over it in a UI.
Dan O'Mearadd494642020-05-01 07:42:23 -07001970 "expression": "A String", # Textual representation of an expression in Common Expression Language
1971 # syntax.
1972 "location": "A String", # Optional. String indicating the location of the expression for error
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001973 # reporting, e.g. a file name and a position in the file.
Dan O'Mearadd494642020-05-01 07:42:23 -07001974 "title": "A String", # Optional. Title for the expression, i.e. a short string describing
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001975 # its purpose. This can be used e.g. in UIs which allow to enter the
1976 # expression.
1977 },
1978 },
1979 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001980 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
1981 # prevent simultaneous updates of a policy from overwriting each other.
1982 # It is strongly suggested that systems make use of the `etag` in the
1983 # read-modify-write cycle to perform policy updates in order to avoid race
1984 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1985 # systems are expected to put that etag in the request to `setIamPolicy` to
1986 # ensure that their change will be applied to the same version of the policy.
1987 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001988 # **Important:** If you use IAM Conditions, you must include the `etag` field
1989 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1990 # you to overwrite a version `3` policy with a version `1` policy, and all of
1991 # the conditions in the version `3` policy are lost.
1992 "version": 42, # Specifies the format of the policy.
1993 #
1994 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1995 # are rejected.
1996 #
1997 # Any operation that affects conditional role bindings must specify version
1998 # `3`. This requirement applies to the following operations:
1999 #
2000 # * Getting a policy that includes a conditional role binding
2001 # * Adding a conditional role binding to a policy
2002 # * Changing a conditional role binding in a policy
2003 # * Removing any role binding, with or without a condition, from a policy
2004 # that includes conditions
2005 #
2006 # **Important:** If you use IAM Conditions, you must include the `etag` field
2007 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
2008 # you to overwrite a version `3` policy with a version `1` policy, and all of
2009 # the conditions in the version `3` policy are lost.
2010 #
2011 # If a policy does not include any conditions, operations on that policy may
2012 # specify any valid version or leave the field unset.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002013 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002014 }
2015
2016 x__xgafv: string, V1 error format.
2017 Allowed values
2018 1 - v1 error format
2019 2 - v2 error format
2020
2021Returns:
2022 An object of the form:
2023
Dan O'Mearadd494642020-05-01 07:42:23 -07002024 { # An Identity and Access Management (IAM) policy, which specifies access
2025 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002026 #
2027 #
Dan O'Mearadd494642020-05-01 07:42:23 -07002028 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
2029 # `members` to a single `role`. Members can be user accounts, service accounts,
2030 # Google groups, and domains (such as G Suite). A `role` is a named list of
2031 # permissions; each `role` can be an IAM predefined role or a user-created
2032 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002033 #
Dan O'Mearadd494642020-05-01 07:42:23 -07002034 # Optionally, a `binding` can specify a `condition`, which is a logical
2035 # expression that allows access to a resource only if the expression evaluates
2036 # to `true`. A condition can add constraints based on attributes of the
2037 # request, the resource, or both.
2038 #
2039 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002040 #
2041 # {
2042 # "bindings": [
2043 # {
Dan O'Mearadd494642020-05-01 07:42:23 -07002044 # "role": "roles/resourcemanager.organizationAdmin",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002045 # "members": [
2046 # "user:mike@example.com",
2047 # "group:admins@example.com",
2048 # "domain:google.com",
Dan O'Mearadd494642020-05-01 07:42:23 -07002049 # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002050 # ]
2051 # },
2052 # {
Dan O'Mearadd494642020-05-01 07:42:23 -07002053 # "role": "roles/resourcemanager.organizationViewer",
2054 # "members": ["user:eve@example.com"],
2055 # "condition": {
2056 # "title": "expirable access",
2057 # "description": "Does not grant access after Sep 2020",
2058 # "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
2059 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002060 # }
Dan O'Mearadd494642020-05-01 07:42:23 -07002061 # ],
2062 # "etag": "BwWWja0YfJA=",
2063 # "version": 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002064 # }
2065 #
Dan O'Mearadd494642020-05-01 07:42:23 -07002066 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002067 #
2068 # bindings:
2069 # - members:
2070 # - user:mike@example.com
2071 # - group:admins@example.com
2072 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -07002073 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
2074 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002075 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -07002076 # - user:eve@example.com
2077 # role: roles/resourcemanager.organizationViewer
2078 # condition:
2079 # title: expirable access
2080 # description: Does not grant access after Sep 2020
2081 # expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
2082 # - etag: BwWWja0YfJA=
2083 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002084 #
2085 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -07002086 # [IAM documentation](https://cloud.google.com/iam/docs/).
2087 "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
2088 # `condition` that determines how and when the `bindings` are applied. Each
2089 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002090 { # Associates `members` with a `role`.
2091 "role": "A String", # Role that is assigned to `members`.
2092 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
2093 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
2094 # `members` can have the following values:
2095 #
2096 # * `allUsers`: A special identifier that represents anyone who is
2097 # on the internet; with or without a Google account.
2098 #
2099 # * `allAuthenticatedUsers`: A special identifier that represents anyone
2100 # who is authenticated with a Google account or a service account.
2101 #
2102 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -07002103 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002104 #
2105 #
2106 # * `serviceAccount:{emailid}`: An email address that represents a service
2107 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
2108 #
2109 # * `group:{emailid}`: An email address that represents a Google group.
2110 # For example, `admins@example.com`.
2111 #
Dan O'Mearadd494642020-05-01 07:42:23 -07002112 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
2113 # identifier) representing a user that has been recently deleted. For
2114 # example, `alice@example.com?uid=123456789012345678901`. If the user is
2115 # recovered, this value reverts to `user:{emailid}` and the recovered user
2116 # retains the role in the binding.
2117 #
2118 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
2119 # unique identifier) representing a service account that has been recently
2120 # deleted. For example,
2121 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
2122 # If the service account is undeleted, this value reverts to
2123 # `serviceAccount:{emailid}` and the undeleted service account retains the
2124 # role in the binding.
2125 #
2126 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
2127 # identifier) representing a Google group that has been recently
2128 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
2129 # the group is recovered, this value reverts to `group:{emailid}` and the
2130 # recovered group retains the role in the binding.
2131 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002132 #
2133 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
2134 # users of that domain. For example, `google.com` or `example.com`.
2135 #
2136 "A String",
2137 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07002138 "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002139 # NOTE: An unsatisfied condition will not allow user access via current
2140 # binding. Different bindings, including their conditions, are examined
2141 # independently.
Dan O'Mearadd494642020-05-01 07:42:23 -07002142 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
2143 # are documented at https://github.com/google/cel-spec.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002144 #
Dan O'Mearadd494642020-05-01 07:42:23 -07002145 # Example (Comparison):
2146 #
2147 # title: "Summary size limit"
2148 # description: "Determines if a summary is less than 100 chars"
2149 # expression: "document.summary.size() &lt; 100"
2150 #
2151 # Example (Equality):
2152 #
2153 # title: "Requestor is owner"
2154 # description: "Determines if requestor is the document owner"
2155 # expression: "document.owner == request.auth.claims.email"
2156 #
2157 # Example (Logic):
2158 #
2159 # title: "Public documents"
2160 # description: "Determine whether the document should be publicly visible"
2161 # expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
2162 #
2163 # Example (Data Manipulation):
2164 #
2165 # title: "Notification string"
2166 # description: "Create a notification string with a timestamp."
2167 # expression: "'New message received at ' + string(document.create_time)"
2168 #
2169 # The exact variables and functions that may be referenced within an expression
2170 # are determined by the service that evaluates it. See the service
2171 # documentation for additional information.
2172 "description": "A String", # Optional. Description of the expression. This is a longer text which
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002173 # describes the expression, e.g. when hovered over it in a UI.
Dan O'Mearadd494642020-05-01 07:42:23 -07002174 "expression": "A String", # Textual representation of an expression in Common Expression Language
2175 # syntax.
2176 "location": "A String", # Optional. String indicating the location of the expression for error
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002177 # reporting, e.g. a file name and a position in the file.
Dan O'Mearadd494642020-05-01 07:42:23 -07002178 "title": "A String", # Optional. Title for the expression, i.e. a short string describing
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002179 # its purpose. This can be used e.g. in UIs which allow to enter the
2180 # expression.
2181 },
2182 },
2183 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002184 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
2185 # prevent simultaneous updates of a policy from overwriting each other.
2186 # It is strongly suggested that systems make use of the `etag` in the
2187 # read-modify-write cycle to perform policy updates in order to avoid race
2188 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
2189 # systems are expected to put that etag in the request to `setIamPolicy` to
2190 # ensure that their change will be applied to the same version of the policy.
2191 #
Dan O'Mearadd494642020-05-01 07:42:23 -07002192 # **Important:** If you use IAM Conditions, you must include the `etag` field
2193 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
2194 # you to overwrite a version `3` policy with a version `1` policy, and all of
2195 # the conditions in the version `3` policy are lost.
2196 "version": 42, # Specifies the format of the policy.
2197 #
2198 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
2199 # are rejected.
2200 #
2201 # Any operation that affects conditional role bindings must specify version
2202 # `3`. This requirement applies to the following operations:
2203 #
2204 # * Getting a policy that includes a conditional role binding
2205 # * Adding a conditional role binding to a policy
2206 # * Changing a conditional role binding in a policy
2207 # * Removing any role binding, with or without a condition, from a policy
2208 # that includes conditions
2209 #
2210 # **Important:** If you use IAM Conditions, you must include the `etag` field
2211 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
2212 # you to overwrite a version `3` policy with a version `1` policy, and all of
2213 # the conditions in the version `3` policy are lost.
2214 #
2215 # If a policy does not include any conditions, operations on that policy may
2216 # specify any valid version or leave the field unset.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002217 }</pre>
2218</div>
2219
2220<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07002221 <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002222 <pre>Returns the permissions that a caller has on the specified note or
2223occurrence resource. Requires list permission on the project (for example,
2224"storage.objects.list" on the containing bucket for testing permission of
2225an object). Attempting to call this method on a non-existent resource will
2226result in a `NOT_FOUND` error if the user has list permission on the
2227project, or a `PERMISSION_DENIED` error otherwise. The resource takes the
2228following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for
2229`Occurrences` and `projects/{PROJECT_ID}/notes/{NOTE_ID}` for `Notes`
2230
2231Args:
2232 resource: string, REQUIRED: The resource for which the policy detail is being requested.
2233See the operation documentation for the appropriate value for this field. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07002234 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002235 The object takes the form of:
2236
2237{ # Request message for `TestIamPermissions` method.
2238 "permissions": [ # The set of permissions to check for the `resource`. Permissions with
2239 # wildcards (such as '*' or 'storage.*') are not allowed. For more
2240 # information see
2241 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
2242 "A String",
2243 ],
2244 }
2245
2246 x__xgafv: string, V1 error format.
2247 Allowed values
2248 1 - v1 error format
2249 2 - v2 error format
2250
2251Returns:
2252 An object of the form:
2253
2254 { # Response message for `TestIamPermissions` method.
2255 "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
2256 # allowed.
2257 "A String",
2258 ],
2259 }</pre>
2260</div>
2261
2262</body></html>