blob: 5c29a7ee7ff020bf4f953d8e6edef239604f274a [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_v1beta1.html">Container Analysis API</a> . <a href="containeranalysis_v1beta1.projects.html">projects</a> . <a href="containeranalysis_v1beta1.projects.occurrences.html">occurrences</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070078 <code><a href="#batchCreate">batchCreate(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070079<p class="firstline">Creates new occurrences in batch.</p>
80<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070081 <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070082<p class="firstline">Creates a new occurrence.</p>
83<p class="toc_element">
84 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
85<p class="firstline">Deletes the specified occurrence. For example, use this method to delete an</p>
86<p class="toc_element">
87 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
88<p class="firstline">Gets the specified occurrence.</p>
89<p class="toc_element">
90 <code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
91<p class="firstline">Gets the access control policy for a note or an occurrence resource.</p>
92<p class="toc_element">
93 <code><a href="#getNotes">getNotes(name, x__xgafv=None)</a></code></p>
94<p class="firstline">Gets the note attached to the specified occurrence. Consumer projects can</p>
95<p class="toc_element">
Bu Sun Kim65020912020-05-20 12:08:20 -070096 <code><a href="#getVulnerabilitySummary">getVulnerabilitySummary(parent, filter=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070097<p class="firstline">Gets a summary of the number and severity of occurrences.</p>
98<p class="toc_element">
Bu Sun Kim65020912020-05-20 12:08:20 -070099 <code><a href="#list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700100<p class="firstline">Lists occurrences for the specified project.</p>
101<p class="toc_element">
102 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
103<p class="firstline">Retrieves the next page of results.</p>
104<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700105 <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700106<p class="firstline">Updates the specified occurrence.</p>
107<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700108 <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700109<p class="firstline">Sets the access control policy on the specified note or occurrence.</p>
110<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700111 <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700112<p class="firstline">Returns the permissions that a caller has on the specified note or</p>
113<h3>Method Details</h3>
114<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700115 <code class="details" id="batchCreate">batchCreate(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700116 <pre>Creates new occurrences in batch.
117
118Args:
Dan O'Mearadd494642020-05-01 07:42:23 -0700119 parent: string, Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700120the occurrences are to be created. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700121 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700122 The object takes the form of:
123
124{ # Request to create occurrences in batch.
Bu Sun Kim65020912020-05-20 12:08:20 -0700125 &quot;occurrences&quot;: [ # Required. The occurrences to create. Max allowed length is 1000.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700126 { # An instance of an analysis type that has been found on a resource.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700127 &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the occurrence details are
128 # specified. This field can be used as a filter in list requests.
129 &quot;resource&quot;: { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
130 &quot;name&quot;: &quot;A String&quot;, # Deprecated, do not use. Use uri instead.
131 #
132 # The name of the resource. For example, the name of a Docker image -
133 # &quot;Debian&quot;.
134 &quot;contentHash&quot;: { # Container message for hash values. # Deprecated, do not use. Use uri instead.
135 #
136 # The hash of the resource content. For example, the Docker digest.
137 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
138 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
139 },
140 &quot;uri&quot;: &quot;A String&quot;, # Required. The unique URI of the resource. For example,
141 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
142 },
143 &quot;attestation&quot;: { # Details of an attestation occurrence. # Describes an attestation of an artifact.
144 &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;. The authenticity of an # Required. Attestation for the resource.
145 # attestation can be verified using the attached signature. If the verifier
146 # trusts the public key of the signer, then verifying the signature is
147 # sufficient to establish trust. In this circumstance, the authority to which
148 # this attestation is attached is primarily useful for look-up (how to find
149 # this attestation if you already know the authority and artifact to be
150 # verified) and intent (which authority was this attestation intended to sign
151 # for).
152 &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
153 # supports `ATTACHED` signatures, where the payload that is signed is included
154 # alongside the signature itself in the same file.
155 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
156 # The verifier must ensure that the provided type is one that the verifier
157 # supports, and that the attestation payload is a valid instantiation of that
158 # type (for example by validating a JSON schema).
159 &quot;signature&quot;: &quot;A String&quot;, # Required. The raw content of the signature, as output by GNU Privacy Guard
160 # (GPG) or equivalent. Since this message only supports attached signatures,
161 # the payload that was signed must be attached. While the signature format
162 # supported is dependent on the verification implementation, currently only
163 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
164 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
165 # --output=signature.gpg payload.json` will create the signature content
166 # expected in this field in `signature.gpg` for the `payload.json`
167 # attestation payload.
168 &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
169 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
170 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
171 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
172 # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
173 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
174 # In gpg, the full fingerprint can be retrieved from the `fpr` field
175 # returned when calling --list-keys with --with-colons. For example:
176 # ```
177 # gpg --with-colons --with-fingerprint --force-v4-certs \
178 # --list-keys attester@example.com
179 # tru::1:1513631572:0:3:1:5
180 # pub:...&lt;SNIP&gt;...
181 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
182 # ```
183 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
184 },
185 &quot;genericSignedAttestation&quot;: { # An attestation wrapper that uses the Grafeas `Signature` message.
186 # This attestation must define the `serialized_payload` that the `signatures`
187 # verify and any metadata necessary to interpret that plaintext. The
188 # signatures should always be over the `serialized_payload` bytestring.
189 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
190 # The verifier must ensure that the provided type is one that the verifier
191 # supports, and that the attestation payload is a valid instantiation of that
192 # type (for example by validating a JSON schema).
193 &quot;signatures&quot;: [ # One or more signatures over `serialized_payload`. Verifier implementations
194 # should consider this attestation message verified if at least one
195 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
196 # for more details on signature structure and verification.
197 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
198 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
199 # Typically this means that the verifier has been configured with a map from
200 # `public_key_id` to public key material (and any required parameters, e.g.
201 # signing algorithm).
202 #
203 # In particular, verification implementations MUST NOT treat the signature
204 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
205 # DOES NOT validate or authenticate a public key; it only provides a mechanism
206 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
207 # a trusted channel. Verification implementations MUST reject signatures in any
208 # of the following circumstances:
209 # * The `public_key_id` is not recognized by the verifier.
210 # * The public key that `public_key_id` refers to does not verify the
211 # signature with respect to the payload.
212 #
213 # The `signature` contents SHOULD NOT be &quot;attached&quot; (where the payload is
214 # included with the serialized `signature` bytes). Verifiers MUST ignore any
215 # &quot;attached&quot; payload and only verify signatures with respect to explicitly
216 # provided payload (e.g. a `payload` field on the proto message that holds
217 # this Signature, or the canonical serialization of the proto message that
218 # holds this signature).
219 &quot;publicKeyId&quot;: &quot;A String&quot;, # The identifier for the public key that verifies this signature.
220 # * The `public_key_id` is required.
221 # * The `public_key_id` MUST be an RFC3986 conformant URI.
222 # * When possible, the `public_key_id` SHOULD be an immutable reference,
223 # such as a cryptographic digest.
224 #
225 # Examples of valid `public_key_id`s:
226 #
227 # OpenPGP V4 public key fingerprint:
228 # * &quot;openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA&quot;
229 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
230 # details on this scheme.
231 #
232 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
233 # serialization):
234 # * &quot;ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU&quot;
235 # * &quot;nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5&quot;
236 &quot;signature&quot;: &quot;A String&quot;, # The content of the signature, an opaque bytestring.
237 # The payload that this signature verifies MUST be unambiguously provided
238 # with the Signature during verification. A wrapper message might provide
239 # the payload explicitly. Alternatively, a message might have a canonical
240 # serialization that can always be unambiguously computed to derive the
241 # payload.
242 },
243 ],
244 &quot;serializedPayload&quot;: &quot;A String&quot;, # The serialized payload that is verified by one or more `signatures`.
245 # The encoding and semantic meaning of this payload must match what is set in
246 # `content_type`.
247 },
248 },
249 },
250 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the occurrence in the form of
251 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
252 &quot;vulnerability&quot;: { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
253 &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
254 &quot;shortDescription&quot;: &quot;A String&quot;, # Output only. A one sentence description of this vulnerability.
255 &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is
256 # available, and note provider assigned severity when distro has not yet
257 # assigned a severity for this vulnerability.
258 &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
259 &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
260 # scale of 0-10 where 0 indicates low severity and 10 indicates high
261 # severity.
262 &quot;relatedUrls&quot;: [ # Output only. URLs related to this vulnerability.
263 { # Metadata for any related URL information.
264 &quot;url&quot;: &quot;A String&quot;, # Specific URL associated with the resource.
265 &quot;label&quot;: &quot;A String&quot;, # Label to describe usage of the URL.
266 },
267 ],
268 &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems, node.js
269 # packages etc)
270 &quot;packageIssue&quot;: [ # Required. The set of affected locations and their fixes (if available)
271 # within the associated resource.
272 { # This message wraps a location affected by a vulnerability and its
273 # associated fix (if one is available).
274 &quot;severityName&quot;: &quot;A String&quot;, # Deprecated, use Details.effective_severity instead
275 # The severity (e.g., distro assigned severity) for this vulnerability.
276 &quot;affectedLocation&quot;: { # The location of the vulnerability. # Required. The location of the vulnerability.
277 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
278 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
279 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
280 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
281 # name.
282 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
283 # versions.
284 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
285 },
286 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
287 # format. Examples include distro or storage location for vulnerable jar.
288 },
289 &quot;fixedLocation&quot;: { # The location of the vulnerability. # The location of the available fix for vulnerability.
290 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
291 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
292 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
293 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
294 # name.
295 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
296 # versions.
297 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
298 },
299 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
300 # format. Examples include distro or storage location for vulnerable jar.
301 },
302 },
303 ],
304 },
305 &quot;installation&quot;: { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
306 &quot;installation&quot;: { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
307 # system.
308 &quot;location&quot;: [ # Required. All of the places within the filesystem versions of this package
309 # have been found.
310 { # An occurrence of a particular package installation found within a system&#x27;s
311 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
312 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
313 # denoting the package manager version distributing a package.
314 &quot;version&quot;: { # Version contains structured information about the version of a package. # The version installed at this location.
315 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
316 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
317 # name.
318 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
319 # versions.
320 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
321 },
322 &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
323 },
324 ],
325 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
326 },
327 },
328 &quot;build&quot;: { # Details of a build occurrence. # Describes a verifiable build.
329 &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
330 # build signature in the corresponding build note. After verifying the
331 # signature, `provenance_bytes` can be unmarshalled and compared to the
332 # provenance to confirm that it is unchanged. A base64-encoded string
333 # representation of the provenance bytes is used for the signature in order
334 # to interoperate with openssl which expects this format for signature
335 # verification.
336 #
337 # The serialized form is captured both to avoid ambiguity in how the
338 # provenance is marshalled to json as well to prevent incompatibilities with
339 # future changes.
340 &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
341 # details about the build from source to completion.
342 &quot;endTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
343 &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
344 &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
345 &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
346 &quot;artifactStorageSourceUri&quot;: &quot;A String&quot;, # If provided, the input binary artifacts for the build came from this
347 # location.
348 &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
349 # these locations, in the case where the source repository had multiple
350 # remotes or submodules. This list will not include the context specified in
351 # the context field.
352 { # A SourceContext is a reference to a tree of files. A SourceContext together
353 # with a path point to a unique revision of a single file or directory.
354 &quot;labels&quot;: { # Labels with user defined metadata.
355 &quot;a_key&quot;: &quot;A String&quot;,
356 },
357 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
358 # repository (e.g., GitHub).
359 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
360 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
361 },
362 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
363 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
364 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
365 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
366 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
367 # hostURI/project.
368 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
369 &quot;name&quot;: &quot;A String&quot;, # The alias name.
370 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
371 },
372 },
373 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
374 # Source Repo.
375 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
376 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
377 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
378 # winged-cargo-31) and a repo name within that project.
379 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
380 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
381 },
382 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
383 },
384 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
385 &quot;name&quot;: &quot;A String&quot;, # The alias name.
386 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
387 },
388 },
389 },
390 ],
391 &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
392 # source integrity was maintained in the build.
393 #
394 # The keys to this map are file paths used as build source and the values
395 # contain the hash values for those files.
396 #
397 # If the build source came in a single package such as a gzipped tarfile
398 # (.tar.gz), the FileHash will be for the single path to that file.
399 &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in source
400 # messages to verify integrity of source input to the build.
401 &quot;fileHash&quot;: [ # Required. Collection of file hashes.
402 { # Container message for hash values.
403 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
404 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
405 },
406 ],
407 },
408 },
409 &quot;context&quot;: { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
410 # with a path point to a unique revision of a single file or directory.
411 &quot;labels&quot;: { # Labels with user defined metadata.
412 &quot;a_key&quot;: &quot;A String&quot;,
413 },
414 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
415 # repository (e.g., GitHub).
416 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
417 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
418 },
419 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
420 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
421 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
422 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
423 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
424 # hostURI/project.
425 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
426 &quot;name&quot;: &quot;A String&quot;, # The alias name.
427 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
428 },
429 },
430 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
431 # Source Repo.
432 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
433 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
434 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
435 # winged-cargo-31) and a repo name within that project.
436 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
437 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
438 },
439 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
440 },
441 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
442 &quot;name&quot;: &quot;A String&quot;, # The alias name.
443 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
444 },
445 },
446 },
447 },
448 &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
449 &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
450 &quot;logsUri&quot;: &quot;A String&quot;, # URI where any logs for this provenance were written.
451 &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
452 # user&#x27;s e-mail address at the time the build was initiated; this address may
453 # not represent the same end-user for all time.
454 &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
455 &quot;commands&quot;: [ # Commands requested by the build.
456 { # Command describes a step performed as part of the build pipeline.
457 &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running this
458 # command.
459 &quot;waitFor&quot;: [ # The ID(s) of the command(s) that this command depends on.
460 &quot;A String&quot;,
461 ],
462 &quot;env&quot;: [ # Environment variables set before running this command.
463 &quot;A String&quot;,
464 ],
465 &quot;args&quot;: [ # Command-line arguments used when executing this command.
466 &quot;A String&quot;,
467 ],
468 &quot;name&quot;: &quot;A String&quot;, # Required. Name of the command, as presented on the command line, or if the
469 # command is packaged as a Docker container, as presented to `docker pull`.
470 &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this command, used in wait_for to reference
471 # this command as a dependency.
472 },
473 ],
474 &quot;builtArtifacts&quot;: [ # Output of the build.
475 { # Artifact describes a build product.
476 &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
477 # container.
478 &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
479 # like `gcr.io/projectID/imagename@sha256:123456`.
480 &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
481 # the case of a container build, the name used to push the container image to
482 # Google Container Registry, as presented to `docker push`. Note that a
483 # single Artifact ID can have multiple names, for example if two tags are
484 # applied to one image.
485 &quot;A String&quot;,
486 ],
487 },
488 ],
489 &quot;id&quot;: &quot;A String&quot;, # Required. Unique identifier of the build.
490 &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
491 # build providers can enter any desired additional details.
492 &quot;a_key&quot;: &quot;A String&quot;,
493 },
494 },
495 },
496 &quot;discovered&quot;: { # Details of a discovery occurrence. # Describes when a resource was discovered.
497 &quot;discovered&quot;: { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
498 &quot;analysisStatusError&quot;: { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
499 # details to show to the user. The LocalizedMessage is output only and
500 # populated by the API.
501 # different programming environments, including REST APIs and RPC APIs. It is
502 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
503 # three pieces of data: error code, error message, and error details.
504 #
505 # You can find out more about this error model and how to work with it in the
506 # [API Design Guide](https://cloud.google.com/apis/design/errors).
507 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
508 # message types for APIs to use.
509 {
510 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
511 },
512 ],
513 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
514 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
515 # user-facing error message should be localized and sent in the
516 # google.rpc.Status.details field, or localized by the client.
517 },
518 &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
519 &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
520 &quot;lastAnalysisTime&quot;: &quot;A String&quot;, # The last time continuous analysis was done for this resource.
521 # Deprecated, do not use.
522 },
523 },
524 &quot;noteName&quot;: &quot;A String&quot;, # Required. Immutable. The analysis note associated with this occurrence, in
525 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
526 # used as a filter in list requests.
527 &quot;deployment&quot;: { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
528 &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
529 &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
530 &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
531 &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
532 &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
533 &quot;deployTime&quot;: &quot;A String&quot;, # Required. Beginning of the lifetime of this deployment.
534 &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
535 &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from
536 # the deployable field with the same name.
537 &quot;A String&quot;,
538 ],
539 },
540 },
541 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was created.
Bu Sun Kim65020912020-05-20 12:08:20 -0700542 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was last updated.
543 &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the note.
544 &quot;intoto&quot;: { # This corresponds to a signed in-toto link - it is made up of one or more # Describes a specific in-toto link.
545 # signatures and the in-toto link itself. This is used for occurrences of a
546 # Grafeas in-toto note.
547 &quot;signed&quot;: { # This corresponds to an in-toto link.
548 &quot;command&quot;: [ # This field contains the full command executed for the step. This can also
549 # be empty if links are generated for operations that aren&#x27;t directly mapped
550 # to a specific command. Each term in the command is an independent string
551 # in the list. An example of a command in the in-toto metadata field is:
552 # &quot;command&quot;: [&quot;git&quot;, &quot;clone&quot;, &quot;https://github.com/in-toto/demo-project.git&quot;]
553 &quot;A String&quot;,
554 ],
555 &quot;byproducts&quot;: { # Defines an object for the byproducts field in in-toto links. The suggested # ByProducts are data generated as part of a software supply chain step, but
556 # are not the actual result of the step.
557 # fields are &quot;stderr&quot;, &quot;stdout&quot;, and &quot;return-value&quot;.
558 &quot;customValues&quot;: {
559 &quot;a_key&quot;: &quot;A String&quot;,
560 },
561 },
562 &quot;environment&quot;: { # Defines an object for the environment field in in-toto links. The suggested # This is a field that can be used to capture information about the
563 # environment. It is suggested for this field to contain information that
564 # details environment variables, filesystem information, and the present
565 # working directory. The recommended structure of this field is:
566 # &quot;environment&quot;: {
567 # &quot;custom_values&quot;: {
568 # &quot;variables&quot;: &quot;&lt;ENV&gt;&quot;,
569 # &quot;filesystem&quot;: &quot;&lt;FS&gt;&quot;,
570 # &quot;workdir&quot;: &quot;&lt;CWD&gt;&quot;,
571 # &quot;&lt;ANY OTHER RELEVANT FIELDS&gt;&quot;: &quot;...&quot;
572 # }
573 # }
574 # fields are &quot;variables&quot;, &quot;filesystem&quot;, and &quot;workdir&quot;.
575 &quot;customValues&quot;: {
576 &quot;a_key&quot;: &quot;A String&quot;,
577 },
578 },
579 &quot;materials&quot;: [ # Materials are the supply chain artifacts that go into the step and are used
580 # for the operation performed. The key of the map is the path of the artifact
581 # and the structure contains the recorded hash information. An example is:
582 # &quot;materials&quot;: [
583 # {
584 # &quot;resource_uri&quot;: &quot;foo/bar&quot;,
585 # &quot;hashes&quot;: {
586 # &quot;sha256&quot;: &quot;ebebf...&quot;,
587 # &lt;OTHER HASH ALGORITHMS&gt;: &lt;HASH VALUE&gt;
588 # }
589 # }
590 # ]
591 {
592 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
593 &quot;sha256&quot;: &quot;A String&quot;,
594 },
595 &quot;resourceUri&quot;: &quot;A String&quot;,
596 },
597 ],
598 &quot;products&quot;: [ # Products are the supply chain artifacts generated as a result of the step.
599 # The structure is identical to that of materials.
600 {
601 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
602 &quot;sha256&quot;: &quot;A String&quot;,
603 },
604 &quot;resourceUri&quot;: &quot;A String&quot;,
605 },
606 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700607 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700608 &quot;signatures&quot;: [
609 { # A signature object consists of the KeyID used and the signature itself.
610 &quot;sig&quot;: &quot;A String&quot;,
611 &quot;keyid&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700612 },
613 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700614 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700615 &quot;derivedImage&quot;: { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
616 # note.
617 &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
618 # relationship. This image would be produced from a Dockerfile with FROM
619 # &lt;DockerImage.Basis in attached Note&gt;.
620 &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700621 &quot;v2Blob&quot;: [ # Required. The ordered list of v2 blobs that represent a given image.
622 &quot;A String&quot;,
623 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700624 &quot;v1Name&quot;: &quot;A String&quot;, # Required. The layer ID of the final layer in the Docker image&#x27;s v1
625 # representation.
626 &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
627 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
628 # Only the name of the final blob is kept.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700629 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700630 &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
631 # &quot;distance&quot; and is ordered with [distance] being the layer immediately
632 # following the base image and [1] being the final layer.
633 { # Layer holds metadata specific to a layer of a Docker image.
634 &quot;directive&quot;: &quot;A String&quot;, # Required. The recovered Dockerfile directive used to construct this layer.
635 &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
636 },
637 ],
638 &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
639 # associated image basis.
640 &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
641 # occurrence.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700642 },
643 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700644 },
645 ],
646 }
647
648 x__xgafv: string, V1 error format.
649 Allowed values
650 1 - v1 error format
651 2 - v2 error format
652
653Returns:
654 An object of the form:
655
656 { # Response for creating occurrences in batch.
Bu Sun Kim65020912020-05-20 12:08:20 -0700657 &quot;occurrences&quot;: [ # The occurrences that were created.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700658 { # An instance of an analysis type that has been found on a resource.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700659 &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the occurrence details are
660 # specified. This field can be used as a filter in list requests.
661 &quot;resource&quot;: { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
662 &quot;name&quot;: &quot;A String&quot;, # Deprecated, do not use. Use uri instead.
663 #
664 # The name of the resource. For example, the name of a Docker image -
665 # &quot;Debian&quot;.
666 &quot;contentHash&quot;: { # Container message for hash values. # Deprecated, do not use. Use uri instead.
667 #
668 # The hash of the resource content. For example, the Docker digest.
669 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
670 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
671 },
672 &quot;uri&quot;: &quot;A String&quot;, # Required. The unique URI of the resource. For example,
673 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
674 },
675 &quot;attestation&quot;: { # Details of an attestation occurrence. # Describes an attestation of an artifact.
676 &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;. The authenticity of an # Required. Attestation for the resource.
677 # attestation can be verified using the attached signature. If the verifier
678 # trusts the public key of the signer, then verifying the signature is
679 # sufficient to establish trust. In this circumstance, the authority to which
680 # this attestation is attached is primarily useful for look-up (how to find
681 # this attestation if you already know the authority and artifact to be
682 # verified) and intent (which authority was this attestation intended to sign
683 # for).
684 &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
685 # supports `ATTACHED` signatures, where the payload that is signed is included
686 # alongside the signature itself in the same file.
687 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
688 # The verifier must ensure that the provided type is one that the verifier
689 # supports, and that the attestation payload is a valid instantiation of that
690 # type (for example by validating a JSON schema).
691 &quot;signature&quot;: &quot;A String&quot;, # Required. The raw content of the signature, as output by GNU Privacy Guard
692 # (GPG) or equivalent. Since this message only supports attached signatures,
693 # the payload that was signed must be attached. While the signature format
694 # supported is dependent on the verification implementation, currently only
695 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
696 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
697 # --output=signature.gpg payload.json` will create the signature content
698 # expected in this field in `signature.gpg` for the `payload.json`
699 # attestation payload.
700 &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
701 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
702 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
703 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
704 # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
705 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
706 # In gpg, the full fingerprint can be retrieved from the `fpr` field
707 # returned when calling --list-keys with --with-colons. For example:
708 # ```
709 # gpg --with-colons --with-fingerprint --force-v4-certs \
710 # --list-keys attester@example.com
711 # tru::1:1513631572:0:3:1:5
712 # pub:...&lt;SNIP&gt;...
713 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
714 # ```
715 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
716 },
717 &quot;genericSignedAttestation&quot;: { # An attestation wrapper that uses the Grafeas `Signature` message.
718 # This attestation must define the `serialized_payload` that the `signatures`
719 # verify and any metadata necessary to interpret that plaintext. The
720 # signatures should always be over the `serialized_payload` bytestring.
721 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
722 # The verifier must ensure that the provided type is one that the verifier
723 # supports, and that the attestation payload is a valid instantiation of that
724 # type (for example by validating a JSON schema).
725 &quot;signatures&quot;: [ # One or more signatures over `serialized_payload`. Verifier implementations
726 # should consider this attestation message verified if at least one
727 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
728 # for more details on signature structure and verification.
729 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
730 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
731 # Typically this means that the verifier has been configured with a map from
732 # `public_key_id` to public key material (and any required parameters, e.g.
733 # signing algorithm).
734 #
735 # In particular, verification implementations MUST NOT treat the signature
736 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
737 # DOES NOT validate or authenticate a public key; it only provides a mechanism
738 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
739 # a trusted channel. Verification implementations MUST reject signatures in any
740 # of the following circumstances:
741 # * The `public_key_id` is not recognized by the verifier.
742 # * The public key that `public_key_id` refers to does not verify the
743 # signature with respect to the payload.
744 #
745 # The `signature` contents SHOULD NOT be &quot;attached&quot; (where the payload is
746 # included with the serialized `signature` bytes). Verifiers MUST ignore any
747 # &quot;attached&quot; payload and only verify signatures with respect to explicitly
748 # provided payload (e.g. a `payload` field on the proto message that holds
749 # this Signature, or the canonical serialization of the proto message that
750 # holds this signature).
751 &quot;publicKeyId&quot;: &quot;A String&quot;, # The identifier for the public key that verifies this signature.
752 # * The `public_key_id` is required.
753 # * The `public_key_id` MUST be an RFC3986 conformant URI.
754 # * When possible, the `public_key_id` SHOULD be an immutable reference,
755 # such as a cryptographic digest.
756 #
757 # Examples of valid `public_key_id`s:
758 #
759 # OpenPGP V4 public key fingerprint:
760 # * &quot;openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA&quot;
761 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
762 # details on this scheme.
763 #
764 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
765 # serialization):
766 # * &quot;ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU&quot;
767 # * &quot;nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5&quot;
768 &quot;signature&quot;: &quot;A String&quot;, # The content of the signature, an opaque bytestring.
769 # The payload that this signature verifies MUST be unambiguously provided
770 # with the Signature during verification. A wrapper message might provide
771 # the payload explicitly. Alternatively, a message might have a canonical
772 # serialization that can always be unambiguously computed to derive the
773 # payload.
774 },
775 ],
776 &quot;serializedPayload&quot;: &quot;A String&quot;, # The serialized payload that is verified by one or more `signatures`.
777 # The encoding and semantic meaning of this payload must match what is set in
778 # `content_type`.
779 },
780 },
781 },
782 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the occurrence in the form of
783 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
784 &quot;vulnerability&quot;: { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
785 &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
786 &quot;shortDescription&quot;: &quot;A String&quot;, # Output only. A one sentence description of this vulnerability.
787 &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is
788 # available, and note provider assigned severity when distro has not yet
789 # assigned a severity for this vulnerability.
790 &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
791 &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
792 # scale of 0-10 where 0 indicates low severity and 10 indicates high
793 # severity.
794 &quot;relatedUrls&quot;: [ # Output only. URLs related to this vulnerability.
795 { # Metadata for any related URL information.
796 &quot;url&quot;: &quot;A String&quot;, # Specific URL associated with the resource.
797 &quot;label&quot;: &quot;A String&quot;, # Label to describe usage of the URL.
798 },
799 ],
800 &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems, node.js
801 # packages etc)
802 &quot;packageIssue&quot;: [ # Required. The set of affected locations and their fixes (if available)
803 # within the associated resource.
804 { # This message wraps a location affected by a vulnerability and its
805 # associated fix (if one is available).
806 &quot;severityName&quot;: &quot;A String&quot;, # Deprecated, use Details.effective_severity instead
807 # The severity (e.g., distro assigned severity) for this vulnerability.
808 &quot;affectedLocation&quot;: { # The location of the vulnerability. # Required. The location of the vulnerability.
809 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
810 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
811 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
812 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
813 # name.
814 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
815 # versions.
816 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
817 },
818 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
819 # format. Examples include distro or storage location for vulnerable jar.
820 },
821 &quot;fixedLocation&quot;: { # The location of the vulnerability. # The location of the available fix for vulnerability.
822 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
823 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
824 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
825 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
826 # name.
827 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
828 # versions.
829 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
830 },
831 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
832 # format. Examples include distro or storage location for vulnerable jar.
833 },
834 },
835 ],
836 },
837 &quot;installation&quot;: { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
838 &quot;installation&quot;: { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
839 # system.
840 &quot;location&quot;: [ # Required. All of the places within the filesystem versions of this package
841 # have been found.
842 { # An occurrence of a particular package installation found within a system&#x27;s
843 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
844 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
845 # denoting the package manager version distributing a package.
846 &quot;version&quot;: { # Version contains structured information about the version of a package. # The version installed at this location.
847 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
848 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
849 # name.
850 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
851 # versions.
852 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
853 },
854 &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
855 },
856 ],
857 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
858 },
859 },
860 &quot;build&quot;: { # Details of a build occurrence. # Describes a verifiable build.
861 &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
862 # build signature in the corresponding build note. After verifying the
863 # signature, `provenance_bytes` can be unmarshalled and compared to the
864 # provenance to confirm that it is unchanged. A base64-encoded string
865 # representation of the provenance bytes is used for the signature in order
866 # to interoperate with openssl which expects this format for signature
867 # verification.
868 #
869 # The serialized form is captured both to avoid ambiguity in how the
870 # provenance is marshalled to json as well to prevent incompatibilities with
871 # future changes.
872 &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
873 # details about the build from source to completion.
874 &quot;endTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
875 &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
876 &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
877 &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
878 &quot;artifactStorageSourceUri&quot;: &quot;A String&quot;, # If provided, the input binary artifacts for the build came from this
879 # location.
880 &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
881 # these locations, in the case where the source repository had multiple
882 # remotes or submodules. This list will not include the context specified in
883 # the context field.
884 { # A SourceContext is a reference to a tree of files. A SourceContext together
885 # with a path point to a unique revision of a single file or directory.
886 &quot;labels&quot;: { # Labels with user defined metadata.
887 &quot;a_key&quot;: &quot;A String&quot;,
888 },
889 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
890 # repository (e.g., GitHub).
891 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
892 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
893 },
894 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
895 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
896 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
897 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
898 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
899 # hostURI/project.
900 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
901 &quot;name&quot;: &quot;A String&quot;, # The alias name.
902 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
903 },
904 },
905 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
906 # Source Repo.
907 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
908 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
909 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
910 # winged-cargo-31) and a repo name within that project.
911 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
912 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
913 },
914 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
915 },
916 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
917 &quot;name&quot;: &quot;A String&quot;, # The alias name.
918 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
919 },
920 },
921 },
922 ],
923 &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
924 # source integrity was maintained in the build.
925 #
926 # The keys to this map are file paths used as build source and the values
927 # contain the hash values for those files.
928 #
929 # If the build source came in a single package such as a gzipped tarfile
930 # (.tar.gz), the FileHash will be for the single path to that file.
931 &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in source
932 # messages to verify integrity of source input to the build.
933 &quot;fileHash&quot;: [ # Required. Collection of file hashes.
934 { # Container message for hash values.
935 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
936 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
937 },
938 ],
939 },
940 },
941 &quot;context&quot;: { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
942 # with a path point to a unique revision of a single file or directory.
943 &quot;labels&quot;: { # Labels with user defined metadata.
944 &quot;a_key&quot;: &quot;A String&quot;,
945 },
946 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
947 # repository (e.g., GitHub).
948 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
949 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
950 },
951 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
952 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
953 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
954 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
955 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
956 # hostURI/project.
957 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
958 &quot;name&quot;: &quot;A String&quot;, # The alias name.
959 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
960 },
961 },
962 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
963 # Source Repo.
964 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
965 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
966 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
967 # winged-cargo-31) and a repo name within that project.
968 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
969 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
970 },
971 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
972 },
973 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
974 &quot;name&quot;: &quot;A String&quot;, # The alias name.
975 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
976 },
977 },
978 },
979 },
980 &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
981 &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
982 &quot;logsUri&quot;: &quot;A String&quot;, # URI where any logs for this provenance were written.
983 &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
984 # user&#x27;s e-mail address at the time the build was initiated; this address may
985 # not represent the same end-user for all time.
986 &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
987 &quot;commands&quot;: [ # Commands requested by the build.
988 { # Command describes a step performed as part of the build pipeline.
989 &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running this
990 # command.
991 &quot;waitFor&quot;: [ # The ID(s) of the command(s) that this command depends on.
992 &quot;A String&quot;,
993 ],
994 &quot;env&quot;: [ # Environment variables set before running this command.
995 &quot;A String&quot;,
996 ],
997 &quot;args&quot;: [ # Command-line arguments used when executing this command.
998 &quot;A String&quot;,
999 ],
1000 &quot;name&quot;: &quot;A String&quot;, # Required. Name of the command, as presented on the command line, or if the
1001 # command is packaged as a Docker container, as presented to `docker pull`.
1002 &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this command, used in wait_for to reference
1003 # this command as a dependency.
1004 },
1005 ],
1006 &quot;builtArtifacts&quot;: [ # Output of the build.
1007 { # Artifact describes a build product.
1008 &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
1009 # container.
1010 &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
1011 # like `gcr.io/projectID/imagename@sha256:123456`.
1012 &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
1013 # the case of a container build, the name used to push the container image to
1014 # Google Container Registry, as presented to `docker push`. Note that a
1015 # single Artifact ID can have multiple names, for example if two tags are
1016 # applied to one image.
1017 &quot;A String&quot;,
1018 ],
1019 },
1020 ],
1021 &quot;id&quot;: &quot;A String&quot;, # Required. Unique identifier of the build.
1022 &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
1023 # build providers can enter any desired additional details.
1024 &quot;a_key&quot;: &quot;A String&quot;,
1025 },
1026 },
1027 },
1028 &quot;discovered&quot;: { # Details of a discovery occurrence. # Describes when a resource was discovered.
1029 &quot;discovered&quot;: { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
1030 &quot;analysisStatusError&quot;: { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
1031 # details to show to the user. The LocalizedMessage is output only and
1032 # populated by the API.
1033 # different programming environments, including REST APIs and RPC APIs. It is
1034 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1035 # three pieces of data: error code, error message, and error details.
1036 #
1037 # You can find out more about this error model and how to work with it in the
1038 # [API Design Guide](https://cloud.google.com/apis/design/errors).
1039 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
1040 # message types for APIs to use.
1041 {
1042 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1043 },
1044 ],
1045 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
1046 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
1047 # user-facing error message should be localized and sent in the
1048 # google.rpc.Status.details field, or localized by the client.
1049 },
1050 &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
1051 &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
1052 &quot;lastAnalysisTime&quot;: &quot;A String&quot;, # The last time continuous analysis was done for this resource.
1053 # Deprecated, do not use.
1054 },
1055 },
1056 &quot;noteName&quot;: &quot;A String&quot;, # Required. Immutable. The analysis note associated with this occurrence, in
1057 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
1058 # used as a filter in list requests.
1059 &quot;deployment&quot;: { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
1060 &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
1061 &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
1062 &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
1063 &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
1064 &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
1065 &quot;deployTime&quot;: &quot;A String&quot;, # Required. Beginning of the lifetime of this deployment.
1066 &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
1067 &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from
1068 # the deployable field with the same name.
1069 &quot;A String&quot;,
1070 ],
1071 },
1072 },
1073 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was created.
Bu Sun Kim65020912020-05-20 12:08:20 -07001074 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was last updated.
1075 &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the note.
1076 &quot;intoto&quot;: { # This corresponds to a signed in-toto link - it is made up of one or more # Describes a specific in-toto link.
1077 # signatures and the in-toto link itself. This is used for occurrences of a
1078 # Grafeas in-toto note.
1079 &quot;signed&quot;: { # This corresponds to an in-toto link.
1080 &quot;command&quot;: [ # This field contains the full command executed for the step. This can also
1081 # be empty if links are generated for operations that aren&#x27;t directly mapped
1082 # to a specific command. Each term in the command is an independent string
1083 # in the list. An example of a command in the in-toto metadata field is:
1084 # &quot;command&quot;: [&quot;git&quot;, &quot;clone&quot;, &quot;https://github.com/in-toto/demo-project.git&quot;]
1085 &quot;A String&quot;,
1086 ],
1087 &quot;byproducts&quot;: { # Defines an object for the byproducts field in in-toto links. The suggested # ByProducts are data generated as part of a software supply chain step, but
1088 # are not the actual result of the step.
1089 # fields are &quot;stderr&quot;, &quot;stdout&quot;, and &quot;return-value&quot;.
1090 &quot;customValues&quot;: {
1091 &quot;a_key&quot;: &quot;A String&quot;,
1092 },
1093 },
1094 &quot;environment&quot;: { # Defines an object for the environment field in in-toto links. The suggested # This is a field that can be used to capture information about the
1095 # environment. It is suggested for this field to contain information that
1096 # details environment variables, filesystem information, and the present
1097 # working directory. The recommended structure of this field is:
1098 # &quot;environment&quot;: {
1099 # &quot;custom_values&quot;: {
1100 # &quot;variables&quot;: &quot;&lt;ENV&gt;&quot;,
1101 # &quot;filesystem&quot;: &quot;&lt;FS&gt;&quot;,
1102 # &quot;workdir&quot;: &quot;&lt;CWD&gt;&quot;,
1103 # &quot;&lt;ANY OTHER RELEVANT FIELDS&gt;&quot;: &quot;...&quot;
1104 # }
1105 # }
1106 # fields are &quot;variables&quot;, &quot;filesystem&quot;, and &quot;workdir&quot;.
1107 &quot;customValues&quot;: {
1108 &quot;a_key&quot;: &quot;A String&quot;,
1109 },
1110 },
1111 &quot;materials&quot;: [ # Materials are the supply chain artifacts that go into the step and are used
1112 # for the operation performed. The key of the map is the path of the artifact
1113 # and the structure contains the recorded hash information. An example is:
1114 # &quot;materials&quot;: [
1115 # {
1116 # &quot;resource_uri&quot;: &quot;foo/bar&quot;,
1117 # &quot;hashes&quot;: {
1118 # &quot;sha256&quot;: &quot;ebebf...&quot;,
1119 # &lt;OTHER HASH ALGORITHMS&gt;: &lt;HASH VALUE&gt;
1120 # }
1121 # }
1122 # ]
1123 {
1124 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
1125 &quot;sha256&quot;: &quot;A String&quot;,
1126 },
1127 &quot;resourceUri&quot;: &quot;A String&quot;,
1128 },
1129 ],
1130 &quot;products&quot;: [ # Products are the supply chain artifacts generated as a result of the step.
1131 # The structure is identical to that of materials.
1132 {
1133 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
1134 &quot;sha256&quot;: &quot;A String&quot;,
1135 },
1136 &quot;resourceUri&quot;: &quot;A String&quot;,
1137 },
1138 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001139 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001140 &quot;signatures&quot;: [
1141 { # A signature object consists of the KeyID used and the signature itself.
1142 &quot;sig&quot;: &quot;A String&quot;,
1143 &quot;keyid&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001144 },
1145 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001146 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001147 &quot;derivedImage&quot;: { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
1148 # note.
1149 &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
1150 # relationship. This image would be produced from a Dockerfile with FROM
1151 # &lt;DockerImage.Basis in attached Note&gt;.
1152 &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001153 &quot;v2Blob&quot;: [ # Required. The ordered list of v2 blobs that represent a given image.
1154 &quot;A String&quot;,
1155 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001156 &quot;v1Name&quot;: &quot;A String&quot;, # Required. The layer ID of the final layer in the Docker image&#x27;s v1
1157 # representation.
1158 &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
1159 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
1160 # Only the name of the final blob is kept.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001161 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001162 &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
1163 # &quot;distance&quot; and is ordered with [distance] being the layer immediately
1164 # following the base image and [1] being the final layer.
1165 { # Layer holds metadata specific to a layer of a Docker image.
1166 &quot;directive&quot;: &quot;A String&quot;, # Required. The recovered Dockerfile directive used to construct this layer.
1167 &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
1168 },
1169 ],
1170 &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
1171 # associated image basis.
1172 &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
1173 # occurrence.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001174 },
1175 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001176 },
1177 ],
1178 }</pre>
1179</div>
1180
1181<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07001182 <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001183 <pre>Creates a new occurrence.
1184
1185Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07001186 parent: string, Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001187the occurrence is to be created. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07001188 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001189 The object takes the form of:
1190
1191{ # An instance of an analysis type that has been found on a resource.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001192 &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the occurrence details are
1193 # specified. This field can be used as a filter in list requests.
1194 &quot;resource&quot;: { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
1195 &quot;name&quot;: &quot;A String&quot;, # Deprecated, do not use. Use uri instead.
1196 #
1197 # The name of the resource. For example, the name of a Docker image -
1198 # &quot;Debian&quot;.
1199 &quot;contentHash&quot;: { # Container message for hash values. # Deprecated, do not use. Use uri instead.
1200 #
1201 # The hash of the resource content. For example, the Docker digest.
1202 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
1203 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
1204 },
1205 &quot;uri&quot;: &quot;A String&quot;, # Required. The unique URI of the resource. For example,
1206 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
1207 },
1208 &quot;attestation&quot;: { # Details of an attestation occurrence. # Describes an attestation of an artifact.
1209 &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;. The authenticity of an # Required. Attestation for the resource.
1210 # attestation can be verified using the attached signature. If the verifier
1211 # trusts the public key of the signer, then verifying the signature is
1212 # sufficient to establish trust. In this circumstance, the authority to which
1213 # this attestation is attached is primarily useful for look-up (how to find
1214 # this attestation if you already know the authority and artifact to be
1215 # verified) and intent (which authority was this attestation intended to sign
1216 # for).
1217 &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
1218 # supports `ATTACHED` signatures, where the payload that is signed is included
1219 # alongside the signature itself in the same file.
1220 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
1221 # The verifier must ensure that the provided type is one that the verifier
1222 # supports, and that the attestation payload is a valid instantiation of that
1223 # type (for example by validating a JSON schema).
1224 &quot;signature&quot;: &quot;A String&quot;, # Required. The raw content of the signature, as output by GNU Privacy Guard
1225 # (GPG) or equivalent. Since this message only supports attached signatures,
1226 # the payload that was signed must be attached. While the signature format
1227 # supported is dependent on the verification implementation, currently only
1228 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
1229 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
1230 # --output=signature.gpg payload.json` will create the signature content
1231 # expected in this field in `signature.gpg` for the `payload.json`
1232 # attestation payload.
1233 &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
1234 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
1235 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
1236 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
1237 # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
1238 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
1239 # In gpg, the full fingerprint can be retrieved from the `fpr` field
1240 # returned when calling --list-keys with --with-colons. For example:
1241 # ```
1242 # gpg --with-colons --with-fingerprint --force-v4-certs \
1243 # --list-keys attester@example.com
1244 # tru::1:1513631572:0:3:1:5
1245 # pub:...&lt;SNIP&gt;...
1246 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
1247 # ```
1248 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
1249 },
1250 &quot;genericSignedAttestation&quot;: { # An attestation wrapper that uses the Grafeas `Signature` message.
1251 # This attestation must define the `serialized_payload` that the `signatures`
1252 # verify and any metadata necessary to interpret that plaintext. The
1253 # signatures should always be over the `serialized_payload` bytestring.
1254 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
1255 # The verifier must ensure that the provided type is one that the verifier
1256 # supports, and that the attestation payload is a valid instantiation of that
1257 # type (for example by validating a JSON schema).
1258 &quot;signatures&quot;: [ # One or more signatures over `serialized_payload`. Verifier implementations
1259 # should consider this attestation message verified if at least one
1260 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
1261 # for more details on signature structure and verification.
1262 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
1263 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
1264 # Typically this means that the verifier has been configured with a map from
1265 # `public_key_id` to public key material (and any required parameters, e.g.
1266 # signing algorithm).
1267 #
1268 # In particular, verification implementations MUST NOT treat the signature
1269 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
1270 # DOES NOT validate or authenticate a public key; it only provides a mechanism
1271 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
1272 # a trusted channel. Verification implementations MUST reject signatures in any
1273 # of the following circumstances:
1274 # * The `public_key_id` is not recognized by the verifier.
1275 # * The public key that `public_key_id` refers to does not verify the
1276 # signature with respect to the payload.
1277 #
1278 # The `signature` contents SHOULD NOT be &quot;attached&quot; (where the payload is
1279 # included with the serialized `signature` bytes). Verifiers MUST ignore any
1280 # &quot;attached&quot; payload and only verify signatures with respect to explicitly
1281 # provided payload (e.g. a `payload` field on the proto message that holds
1282 # this Signature, or the canonical serialization of the proto message that
1283 # holds this signature).
1284 &quot;publicKeyId&quot;: &quot;A String&quot;, # The identifier for the public key that verifies this signature.
1285 # * The `public_key_id` is required.
1286 # * The `public_key_id` MUST be an RFC3986 conformant URI.
1287 # * When possible, the `public_key_id` SHOULD be an immutable reference,
1288 # such as a cryptographic digest.
1289 #
1290 # Examples of valid `public_key_id`s:
1291 #
1292 # OpenPGP V4 public key fingerprint:
1293 # * &quot;openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA&quot;
1294 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
1295 # details on this scheme.
1296 #
1297 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
1298 # serialization):
1299 # * &quot;ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU&quot;
1300 # * &quot;nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5&quot;
1301 &quot;signature&quot;: &quot;A String&quot;, # The content of the signature, an opaque bytestring.
1302 # The payload that this signature verifies MUST be unambiguously provided
1303 # with the Signature during verification. A wrapper message might provide
1304 # the payload explicitly. Alternatively, a message might have a canonical
1305 # serialization that can always be unambiguously computed to derive the
1306 # payload.
1307 },
1308 ],
1309 &quot;serializedPayload&quot;: &quot;A String&quot;, # The serialized payload that is verified by one or more `signatures`.
1310 # The encoding and semantic meaning of this payload must match what is set in
1311 # `content_type`.
1312 },
1313 },
1314 },
1315 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the occurrence in the form of
1316 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
1317 &quot;vulnerability&quot;: { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
1318 &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
1319 &quot;shortDescription&quot;: &quot;A String&quot;, # Output only. A one sentence description of this vulnerability.
1320 &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is
1321 # available, and note provider assigned severity when distro has not yet
1322 # assigned a severity for this vulnerability.
1323 &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
1324 &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
1325 # scale of 0-10 where 0 indicates low severity and 10 indicates high
1326 # severity.
1327 &quot;relatedUrls&quot;: [ # Output only. URLs related to this vulnerability.
1328 { # Metadata for any related URL information.
1329 &quot;url&quot;: &quot;A String&quot;, # Specific URL associated with the resource.
1330 &quot;label&quot;: &quot;A String&quot;, # Label to describe usage of the URL.
1331 },
1332 ],
1333 &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems, node.js
1334 # packages etc)
1335 &quot;packageIssue&quot;: [ # Required. The set of affected locations and their fixes (if available)
1336 # within the associated resource.
1337 { # This message wraps a location affected by a vulnerability and its
1338 # associated fix (if one is available).
1339 &quot;severityName&quot;: &quot;A String&quot;, # Deprecated, use Details.effective_severity instead
1340 # The severity (e.g., distro assigned severity) for this vulnerability.
1341 &quot;affectedLocation&quot;: { # The location of the vulnerability. # Required. The location of the vulnerability.
1342 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
1343 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
1344 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
1345 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
1346 # name.
1347 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
1348 # versions.
1349 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
1350 },
1351 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
1352 # format. Examples include distro or storage location for vulnerable jar.
1353 },
1354 &quot;fixedLocation&quot;: { # The location of the vulnerability. # The location of the available fix for vulnerability.
1355 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
1356 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
1357 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
1358 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
1359 # name.
1360 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
1361 # versions.
1362 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
1363 },
1364 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
1365 # format. Examples include distro or storage location for vulnerable jar.
1366 },
1367 },
1368 ],
1369 },
1370 &quot;installation&quot;: { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
1371 &quot;installation&quot;: { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
1372 # system.
1373 &quot;location&quot;: [ # Required. All of the places within the filesystem versions of this package
1374 # have been found.
1375 { # An occurrence of a particular package installation found within a system&#x27;s
1376 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
1377 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
1378 # denoting the package manager version distributing a package.
1379 &quot;version&quot;: { # Version contains structured information about the version of a package. # The version installed at this location.
1380 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
1381 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
1382 # name.
1383 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
1384 # versions.
1385 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
1386 },
1387 &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
1388 },
1389 ],
1390 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
1391 },
1392 },
1393 &quot;build&quot;: { # Details of a build occurrence. # Describes a verifiable build.
1394 &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
1395 # build signature in the corresponding build note. After verifying the
1396 # signature, `provenance_bytes` can be unmarshalled and compared to the
1397 # provenance to confirm that it is unchanged. A base64-encoded string
1398 # representation of the provenance bytes is used for the signature in order
1399 # to interoperate with openssl which expects this format for signature
1400 # verification.
1401 #
1402 # The serialized form is captured both to avoid ambiguity in how the
1403 # provenance is marshalled to json as well to prevent incompatibilities with
1404 # future changes.
1405 &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
1406 # details about the build from source to completion.
1407 &quot;endTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
1408 &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
1409 &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
1410 &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
1411 &quot;artifactStorageSourceUri&quot;: &quot;A String&quot;, # If provided, the input binary artifacts for the build came from this
1412 # location.
1413 &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
1414 # these locations, in the case where the source repository had multiple
1415 # remotes or submodules. This list will not include the context specified in
1416 # the context field.
1417 { # A SourceContext is a reference to a tree of files. A SourceContext together
1418 # with a path point to a unique revision of a single file or directory.
1419 &quot;labels&quot;: { # Labels with user defined metadata.
1420 &quot;a_key&quot;: &quot;A String&quot;,
1421 },
1422 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
1423 # repository (e.g., GitHub).
1424 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
1425 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
1426 },
1427 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
1428 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
1429 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
1430 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
1431 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
1432 # hostURI/project.
1433 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
1434 &quot;name&quot;: &quot;A String&quot;, # The alias name.
1435 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
1436 },
1437 },
1438 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
1439 # Source Repo.
1440 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
1441 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
1442 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
1443 # winged-cargo-31) and a repo name within that project.
1444 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
1445 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
1446 },
1447 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
1448 },
1449 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
1450 &quot;name&quot;: &quot;A String&quot;, # The alias name.
1451 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
1452 },
1453 },
1454 },
1455 ],
1456 &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
1457 # source integrity was maintained in the build.
1458 #
1459 # The keys to this map are file paths used as build source and the values
1460 # contain the hash values for those files.
1461 #
1462 # If the build source came in a single package such as a gzipped tarfile
1463 # (.tar.gz), the FileHash will be for the single path to that file.
1464 &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in source
1465 # messages to verify integrity of source input to the build.
1466 &quot;fileHash&quot;: [ # Required. Collection of file hashes.
1467 { # Container message for hash values.
1468 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
1469 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
1470 },
1471 ],
1472 },
1473 },
1474 &quot;context&quot;: { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
1475 # with a path point to a unique revision of a single file or directory.
1476 &quot;labels&quot;: { # Labels with user defined metadata.
1477 &quot;a_key&quot;: &quot;A String&quot;,
1478 },
1479 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
1480 # repository (e.g., GitHub).
1481 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
1482 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
1483 },
1484 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
1485 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
1486 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
1487 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
1488 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
1489 # hostURI/project.
1490 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
1491 &quot;name&quot;: &quot;A String&quot;, # The alias name.
1492 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
1493 },
1494 },
1495 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
1496 # Source Repo.
1497 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
1498 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
1499 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
1500 # winged-cargo-31) and a repo name within that project.
1501 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
1502 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
1503 },
1504 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
1505 },
1506 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
1507 &quot;name&quot;: &quot;A String&quot;, # The alias name.
1508 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
1509 },
1510 },
1511 },
1512 },
1513 &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
1514 &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
1515 &quot;logsUri&quot;: &quot;A String&quot;, # URI where any logs for this provenance were written.
1516 &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
1517 # user&#x27;s e-mail address at the time the build was initiated; this address may
1518 # not represent the same end-user for all time.
1519 &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
1520 &quot;commands&quot;: [ # Commands requested by the build.
1521 { # Command describes a step performed as part of the build pipeline.
1522 &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running this
1523 # command.
1524 &quot;waitFor&quot;: [ # The ID(s) of the command(s) that this command depends on.
1525 &quot;A String&quot;,
1526 ],
1527 &quot;env&quot;: [ # Environment variables set before running this command.
1528 &quot;A String&quot;,
1529 ],
1530 &quot;args&quot;: [ # Command-line arguments used when executing this command.
1531 &quot;A String&quot;,
1532 ],
1533 &quot;name&quot;: &quot;A String&quot;, # Required. Name of the command, as presented on the command line, or if the
1534 # command is packaged as a Docker container, as presented to `docker pull`.
1535 &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this command, used in wait_for to reference
1536 # this command as a dependency.
1537 },
1538 ],
1539 &quot;builtArtifacts&quot;: [ # Output of the build.
1540 { # Artifact describes a build product.
1541 &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
1542 # container.
1543 &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
1544 # like `gcr.io/projectID/imagename@sha256:123456`.
1545 &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
1546 # the case of a container build, the name used to push the container image to
1547 # Google Container Registry, as presented to `docker push`. Note that a
1548 # single Artifact ID can have multiple names, for example if two tags are
1549 # applied to one image.
1550 &quot;A String&quot;,
1551 ],
1552 },
1553 ],
1554 &quot;id&quot;: &quot;A String&quot;, # Required. Unique identifier of the build.
1555 &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
1556 # build providers can enter any desired additional details.
1557 &quot;a_key&quot;: &quot;A String&quot;,
1558 },
1559 },
1560 },
1561 &quot;discovered&quot;: { # Details of a discovery occurrence. # Describes when a resource was discovered.
1562 &quot;discovered&quot;: { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
1563 &quot;analysisStatusError&quot;: { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
1564 # details to show to the user. The LocalizedMessage is output only and
1565 # populated by the API.
1566 # different programming environments, including REST APIs and RPC APIs. It is
1567 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1568 # three pieces of data: error code, error message, and error details.
1569 #
1570 # You can find out more about this error model and how to work with it in the
1571 # [API Design Guide](https://cloud.google.com/apis/design/errors).
1572 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
1573 # message types for APIs to use.
1574 {
1575 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1576 },
1577 ],
1578 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
1579 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
1580 # user-facing error message should be localized and sent in the
1581 # google.rpc.Status.details field, or localized by the client.
1582 },
1583 &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
1584 &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
1585 &quot;lastAnalysisTime&quot;: &quot;A String&quot;, # The last time continuous analysis was done for this resource.
1586 # Deprecated, do not use.
1587 },
1588 },
1589 &quot;noteName&quot;: &quot;A String&quot;, # Required. Immutable. The analysis note associated with this occurrence, in
1590 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
1591 # used as a filter in list requests.
1592 &quot;deployment&quot;: { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
1593 &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
1594 &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
1595 &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
1596 &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
1597 &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
1598 &quot;deployTime&quot;: &quot;A String&quot;, # Required. Beginning of the lifetime of this deployment.
1599 &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
1600 &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from
1601 # the deployable field with the same name.
1602 &quot;A String&quot;,
1603 ],
1604 },
1605 },
1606 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was created.
Bu Sun Kim65020912020-05-20 12:08:20 -07001607 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was last updated.
1608 &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the note.
1609 &quot;intoto&quot;: { # This corresponds to a signed in-toto link - it is made up of one or more # Describes a specific in-toto link.
1610 # signatures and the in-toto link itself. This is used for occurrences of a
1611 # Grafeas in-toto note.
1612 &quot;signed&quot;: { # This corresponds to an in-toto link.
1613 &quot;command&quot;: [ # This field contains the full command executed for the step. This can also
1614 # be empty if links are generated for operations that aren&#x27;t directly mapped
1615 # to a specific command. Each term in the command is an independent string
1616 # in the list. An example of a command in the in-toto metadata field is:
1617 # &quot;command&quot;: [&quot;git&quot;, &quot;clone&quot;, &quot;https://github.com/in-toto/demo-project.git&quot;]
1618 &quot;A String&quot;,
1619 ],
1620 &quot;byproducts&quot;: { # Defines an object for the byproducts field in in-toto links. The suggested # ByProducts are data generated as part of a software supply chain step, but
1621 # are not the actual result of the step.
1622 # fields are &quot;stderr&quot;, &quot;stdout&quot;, and &quot;return-value&quot;.
1623 &quot;customValues&quot;: {
1624 &quot;a_key&quot;: &quot;A String&quot;,
1625 },
1626 },
1627 &quot;environment&quot;: { # Defines an object for the environment field in in-toto links. The suggested # This is a field that can be used to capture information about the
1628 # environment. It is suggested for this field to contain information that
1629 # details environment variables, filesystem information, and the present
1630 # working directory. The recommended structure of this field is:
1631 # &quot;environment&quot;: {
1632 # &quot;custom_values&quot;: {
1633 # &quot;variables&quot;: &quot;&lt;ENV&gt;&quot;,
1634 # &quot;filesystem&quot;: &quot;&lt;FS&gt;&quot;,
1635 # &quot;workdir&quot;: &quot;&lt;CWD&gt;&quot;,
1636 # &quot;&lt;ANY OTHER RELEVANT FIELDS&gt;&quot;: &quot;...&quot;
1637 # }
1638 # }
1639 # fields are &quot;variables&quot;, &quot;filesystem&quot;, and &quot;workdir&quot;.
1640 &quot;customValues&quot;: {
1641 &quot;a_key&quot;: &quot;A String&quot;,
1642 },
1643 },
1644 &quot;materials&quot;: [ # Materials are the supply chain artifacts that go into the step and are used
1645 # for the operation performed. The key of the map is the path of the artifact
1646 # and the structure contains the recorded hash information. An example is:
1647 # &quot;materials&quot;: [
1648 # {
1649 # &quot;resource_uri&quot;: &quot;foo/bar&quot;,
1650 # &quot;hashes&quot;: {
1651 # &quot;sha256&quot;: &quot;ebebf...&quot;,
1652 # &lt;OTHER HASH ALGORITHMS&gt;: &lt;HASH VALUE&gt;
1653 # }
1654 # }
1655 # ]
1656 {
1657 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
1658 &quot;sha256&quot;: &quot;A String&quot;,
1659 },
1660 &quot;resourceUri&quot;: &quot;A String&quot;,
1661 },
1662 ],
1663 &quot;products&quot;: [ # Products are the supply chain artifacts generated as a result of the step.
1664 # The structure is identical to that of materials.
1665 {
1666 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
1667 &quot;sha256&quot;: &quot;A String&quot;,
1668 },
1669 &quot;resourceUri&quot;: &quot;A String&quot;,
1670 },
1671 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001672 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001673 &quot;signatures&quot;: [
1674 { # A signature object consists of the KeyID used and the signature itself.
1675 &quot;sig&quot;: &quot;A String&quot;,
1676 &quot;keyid&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001677 },
1678 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001679 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001680 &quot;derivedImage&quot;: { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
1681 # note.
1682 &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
1683 # relationship. This image would be produced from a Dockerfile with FROM
1684 # &lt;DockerImage.Basis in attached Note&gt;.
1685 &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001686 &quot;v2Blob&quot;: [ # Required. The ordered list of v2 blobs that represent a given image.
1687 &quot;A String&quot;,
1688 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001689 &quot;v1Name&quot;: &quot;A String&quot;, # Required. The layer ID of the final layer in the Docker image&#x27;s v1
1690 # representation.
1691 &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
1692 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
1693 # Only the name of the final blob is kept.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001694 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001695 &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
1696 # &quot;distance&quot; and is ordered with [distance] being the layer immediately
1697 # following the base image and [1] being the final layer.
1698 { # Layer holds metadata specific to a layer of a Docker image.
1699 &quot;directive&quot;: &quot;A String&quot;, # Required. The recovered Dockerfile directive used to construct this layer.
1700 &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
1701 },
1702 ],
1703 &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
1704 # associated image basis.
1705 &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
1706 # occurrence.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001707 },
1708 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001709}
1710
1711 x__xgafv: string, V1 error format.
1712 Allowed values
1713 1 - v1 error format
1714 2 - v2 error format
1715
1716Returns:
1717 An object of the form:
1718
1719 { # An instance of an analysis type that has been found on a resource.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001720 &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the occurrence details are
1721 # specified. This field can be used as a filter in list requests.
1722 &quot;resource&quot;: { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
1723 &quot;name&quot;: &quot;A String&quot;, # Deprecated, do not use. Use uri instead.
1724 #
1725 # The name of the resource. For example, the name of a Docker image -
1726 # &quot;Debian&quot;.
1727 &quot;contentHash&quot;: { # Container message for hash values. # Deprecated, do not use. Use uri instead.
1728 #
1729 # The hash of the resource content. For example, the Docker digest.
1730 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
1731 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
1732 },
1733 &quot;uri&quot;: &quot;A String&quot;, # Required. The unique URI of the resource. For example,
1734 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
1735 },
1736 &quot;attestation&quot;: { # Details of an attestation occurrence. # Describes an attestation of an artifact.
1737 &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;. The authenticity of an # Required. Attestation for the resource.
1738 # attestation can be verified using the attached signature. If the verifier
1739 # trusts the public key of the signer, then verifying the signature is
1740 # sufficient to establish trust. In this circumstance, the authority to which
1741 # this attestation is attached is primarily useful for look-up (how to find
1742 # this attestation if you already know the authority and artifact to be
1743 # verified) and intent (which authority was this attestation intended to sign
1744 # for).
1745 &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
1746 # supports `ATTACHED` signatures, where the payload that is signed is included
1747 # alongside the signature itself in the same file.
1748 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
1749 # The verifier must ensure that the provided type is one that the verifier
1750 # supports, and that the attestation payload is a valid instantiation of that
1751 # type (for example by validating a JSON schema).
1752 &quot;signature&quot;: &quot;A String&quot;, # Required. The raw content of the signature, as output by GNU Privacy Guard
1753 # (GPG) or equivalent. Since this message only supports attached signatures,
1754 # the payload that was signed must be attached. While the signature format
1755 # supported is dependent on the verification implementation, currently only
1756 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
1757 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
1758 # --output=signature.gpg payload.json` will create the signature content
1759 # expected in this field in `signature.gpg` for the `payload.json`
1760 # attestation payload.
1761 &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
1762 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
1763 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
1764 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
1765 # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
1766 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
1767 # In gpg, the full fingerprint can be retrieved from the `fpr` field
1768 # returned when calling --list-keys with --with-colons. For example:
1769 # ```
1770 # gpg --with-colons --with-fingerprint --force-v4-certs \
1771 # --list-keys attester@example.com
1772 # tru::1:1513631572:0:3:1:5
1773 # pub:...&lt;SNIP&gt;...
1774 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
1775 # ```
1776 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
1777 },
1778 &quot;genericSignedAttestation&quot;: { # An attestation wrapper that uses the Grafeas `Signature` message.
1779 # This attestation must define the `serialized_payload` that the `signatures`
1780 # verify and any metadata necessary to interpret that plaintext. The
1781 # signatures should always be over the `serialized_payload` bytestring.
1782 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
1783 # The verifier must ensure that the provided type is one that the verifier
1784 # supports, and that the attestation payload is a valid instantiation of that
1785 # type (for example by validating a JSON schema).
1786 &quot;signatures&quot;: [ # One or more signatures over `serialized_payload`. Verifier implementations
1787 # should consider this attestation message verified if at least one
1788 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
1789 # for more details on signature structure and verification.
1790 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
1791 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
1792 # Typically this means that the verifier has been configured with a map from
1793 # `public_key_id` to public key material (and any required parameters, e.g.
1794 # signing algorithm).
1795 #
1796 # In particular, verification implementations MUST NOT treat the signature
1797 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
1798 # DOES NOT validate or authenticate a public key; it only provides a mechanism
1799 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
1800 # a trusted channel. Verification implementations MUST reject signatures in any
1801 # of the following circumstances:
1802 # * The `public_key_id` is not recognized by the verifier.
1803 # * The public key that `public_key_id` refers to does not verify the
1804 # signature with respect to the payload.
1805 #
1806 # The `signature` contents SHOULD NOT be &quot;attached&quot; (where the payload is
1807 # included with the serialized `signature` bytes). Verifiers MUST ignore any
1808 # &quot;attached&quot; payload and only verify signatures with respect to explicitly
1809 # provided payload (e.g. a `payload` field on the proto message that holds
1810 # this Signature, or the canonical serialization of the proto message that
1811 # holds this signature).
1812 &quot;publicKeyId&quot;: &quot;A String&quot;, # The identifier for the public key that verifies this signature.
1813 # * The `public_key_id` is required.
1814 # * The `public_key_id` MUST be an RFC3986 conformant URI.
1815 # * When possible, the `public_key_id` SHOULD be an immutable reference,
1816 # such as a cryptographic digest.
1817 #
1818 # Examples of valid `public_key_id`s:
1819 #
1820 # OpenPGP V4 public key fingerprint:
1821 # * &quot;openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA&quot;
1822 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
1823 # details on this scheme.
1824 #
1825 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
1826 # serialization):
1827 # * &quot;ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU&quot;
1828 # * &quot;nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5&quot;
1829 &quot;signature&quot;: &quot;A String&quot;, # The content of the signature, an opaque bytestring.
1830 # The payload that this signature verifies MUST be unambiguously provided
1831 # with the Signature during verification. A wrapper message might provide
1832 # the payload explicitly. Alternatively, a message might have a canonical
1833 # serialization that can always be unambiguously computed to derive the
1834 # payload.
1835 },
1836 ],
1837 &quot;serializedPayload&quot;: &quot;A String&quot;, # The serialized payload that is verified by one or more `signatures`.
1838 # The encoding and semantic meaning of this payload must match what is set in
1839 # `content_type`.
1840 },
1841 },
1842 },
1843 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the occurrence in the form of
1844 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
1845 &quot;vulnerability&quot;: { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
1846 &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
1847 &quot;shortDescription&quot;: &quot;A String&quot;, # Output only. A one sentence description of this vulnerability.
1848 &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is
1849 # available, and note provider assigned severity when distro has not yet
1850 # assigned a severity for this vulnerability.
1851 &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
1852 &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
1853 # scale of 0-10 where 0 indicates low severity and 10 indicates high
1854 # severity.
1855 &quot;relatedUrls&quot;: [ # Output only. URLs related to this vulnerability.
1856 { # Metadata for any related URL information.
1857 &quot;url&quot;: &quot;A String&quot;, # Specific URL associated with the resource.
1858 &quot;label&quot;: &quot;A String&quot;, # Label to describe usage of the URL.
1859 },
1860 ],
1861 &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems, node.js
1862 # packages etc)
1863 &quot;packageIssue&quot;: [ # Required. The set of affected locations and their fixes (if available)
1864 # within the associated resource.
1865 { # This message wraps a location affected by a vulnerability and its
1866 # associated fix (if one is available).
1867 &quot;severityName&quot;: &quot;A String&quot;, # Deprecated, use Details.effective_severity instead
1868 # The severity (e.g., distro assigned severity) for this vulnerability.
1869 &quot;affectedLocation&quot;: { # The location of the vulnerability. # Required. The location of the vulnerability.
1870 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
1871 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
1872 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
1873 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
1874 # name.
1875 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
1876 # versions.
1877 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
1878 },
1879 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
1880 # format. Examples include distro or storage location for vulnerable jar.
1881 },
1882 &quot;fixedLocation&quot;: { # The location of the vulnerability. # The location of the available fix for vulnerability.
1883 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
1884 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
1885 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
1886 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
1887 # name.
1888 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
1889 # versions.
1890 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
1891 },
1892 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
1893 # format. Examples include distro or storage location for vulnerable jar.
1894 },
1895 },
1896 ],
1897 },
1898 &quot;installation&quot;: { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
1899 &quot;installation&quot;: { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
1900 # system.
1901 &quot;location&quot;: [ # Required. All of the places within the filesystem versions of this package
1902 # have been found.
1903 { # An occurrence of a particular package installation found within a system&#x27;s
1904 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
1905 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
1906 # denoting the package manager version distributing a package.
1907 &quot;version&quot;: { # Version contains structured information about the version of a package. # The version installed at this location.
1908 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
1909 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
1910 # name.
1911 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
1912 # versions.
1913 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
1914 },
1915 &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
1916 },
1917 ],
1918 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
1919 },
1920 },
1921 &quot;build&quot;: { # Details of a build occurrence. # Describes a verifiable build.
1922 &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
1923 # build signature in the corresponding build note. After verifying the
1924 # signature, `provenance_bytes` can be unmarshalled and compared to the
1925 # provenance to confirm that it is unchanged. A base64-encoded string
1926 # representation of the provenance bytes is used for the signature in order
1927 # to interoperate with openssl which expects this format for signature
1928 # verification.
1929 #
1930 # The serialized form is captured both to avoid ambiguity in how the
1931 # provenance is marshalled to json as well to prevent incompatibilities with
1932 # future changes.
1933 &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
1934 # details about the build from source to completion.
1935 &quot;endTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
1936 &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
1937 &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
1938 &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
1939 &quot;artifactStorageSourceUri&quot;: &quot;A String&quot;, # If provided, the input binary artifacts for the build came from this
1940 # location.
1941 &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
1942 # these locations, in the case where the source repository had multiple
1943 # remotes or submodules. This list will not include the context specified in
1944 # the context field.
1945 { # A SourceContext is a reference to a tree of files. A SourceContext together
1946 # with a path point to a unique revision of a single file or directory.
1947 &quot;labels&quot;: { # Labels with user defined metadata.
1948 &quot;a_key&quot;: &quot;A String&quot;,
1949 },
1950 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
1951 # repository (e.g., GitHub).
1952 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
1953 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
1954 },
1955 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
1956 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
1957 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
1958 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
1959 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
1960 # hostURI/project.
1961 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
1962 &quot;name&quot;: &quot;A String&quot;, # The alias name.
1963 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
1964 },
1965 },
1966 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
1967 # Source Repo.
1968 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
1969 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
1970 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
1971 # winged-cargo-31) and a repo name within that project.
1972 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
1973 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
1974 },
1975 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
1976 },
1977 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
1978 &quot;name&quot;: &quot;A String&quot;, # The alias name.
1979 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
1980 },
1981 },
1982 },
1983 ],
1984 &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
1985 # source integrity was maintained in the build.
1986 #
1987 # The keys to this map are file paths used as build source and the values
1988 # contain the hash values for those files.
1989 #
1990 # If the build source came in a single package such as a gzipped tarfile
1991 # (.tar.gz), the FileHash will be for the single path to that file.
1992 &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in source
1993 # messages to verify integrity of source input to the build.
1994 &quot;fileHash&quot;: [ # Required. Collection of file hashes.
1995 { # Container message for hash values.
1996 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
1997 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
1998 },
1999 ],
2000 },
2001 },
2002 &quot;context&quot;: { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
2003 # with a path point to a unique revision of a single file or directory.
2004 &quot;labels&quot;: { # Labels with user defined metadata.
2005 &quot;a_key&quot;: &quot;A String&quot;,
2006 },
2007 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
2008 # repository (e.g., GitHub).
2009 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
2010 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
2011 },
2012 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
2013 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
2014 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
2015 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
2016 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
2017 # hostURI/project.
2018 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
2019 &quot;name&quot;: &quot;A String&quot;, # The alias name.
2020 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
2021 },
2022 },
2023 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
2024 # Source Repo.
2025 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
2026 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
2027 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
2028 # winged-cargo-31) and a repo name within that project.
2029 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
2030 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
2031 },
2032 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
2033 },
2034 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
2035 &quot;name&quot;: &quot;A String&quot;, # The alias name.
2036 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
2037 },
2038 },
2039 },
2040 },
2041 &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
2042 &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
2043 &quot;logsUri&quot;: &quot;A String&quot;, # URI where any logs for this provenance were written.
2044 &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
2045 # user&#x27;s e-mail address at the time the build was initiated; this address may
2046 # not represent the same end-user for all time.
2047 &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
2048 &quot;commands&quot;: [ # Commands requested by the build.
2049 { # Command describes a step performed as part of the build pipeline.
2050 &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running this
2051 # command.
2052 &quot;waitFor&quot;: [ # The ID(s) of the command(s) that this command depends on.
2053 &quot;A String&quot;,
2054 ],
2055 &quot;env&quot;: [ # Environment variables set before running this command.
2056 &quot;A String&quot;,
2057 ],
2058 &quot;args&quot;: [ # Command-line arguments used when executing this command.
2059 &quot;A String&quot;,
2060 ],
2061 &quot;name&quot;: &quot;A String&quot;, # Required. Name of the command, as presented on the command line, or if the
2062 # command is packaged as a Docker container, as presented to `docker pull`.
2063 &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this command, used in wait_for to reference
2064 # this command as a dependency.
2065 },
2066 ],
2067 &quot;builtArtifacts&quot;: [ # Output of the build.
2068 { # Artifact describes a build product.
2069 &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
2070 # container.
2071 &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
2072 # like `gcr.io/projectID/imagename@sha256:123456`.
2073 &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
2074 # the case of a container build, the name used to push the container image to
2075 # Google Container Registry, as presented to `docker push`. Note that a
2076 # single Artifact ID can have multiple names, for example if two tags are
2077 # applied to one image.
2078 &quot;A String&quot;,
2079 ],
2080 },
2081 ],
2082 &quot;id&quot;: &quot;A String&quot;, # Required. Unique identifier of the build.
2083 &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
2084 # build providers can enter any desired additional details.
2085 &quot;a_key&quot;: &quot;A String&quot;,
2086 },
2087 },
2088 },
2089 &quot;discovered&quot;: { # Details of a discovery occurrence. # Describes when a resource was discovered.
2090 &quot;discovered&quot;: { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
2091 &quot;analysisStatusError&quot;: { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
2092 # details to show to the user. The LocalizedMessage is output only and
2093 # populated by the API.
2094 # different programming environments, including REST APIs and RPC APIs. It is
2095 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
2096 # three pieces of data: error code, error message, and error details.
2097 #
2098 # You can find out more about this error model and how to work with it in the
2099 # [API Design Guide](https://cloud.google.com/apis/design/errors).
2100 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
2101 # message types for APIs to use.
2102 {
2103 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
2104 },
2105 ],
2106 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
2107 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
2108 # user-facing error message should be localized and sent in the
2109 # google.rpc.Status.details field, or localized by the client.
2110 },
2111 &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
2112 &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
2113 &quot;lastAnalysisTime&quot;: &quot;A String&quot;, # The last time continuous analysis was done for this resource.
2114 # Deprecated, do not use.
2115 },
2116 },
2117 &quot;noteName&quot;: &quot;A String&quot;, # Required. Immutable. The analysis note associated with this occurrence, in
2118 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
2119 # used as a filter in list requests.
2120 &quot;deployment&quot;: { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
2121 &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
2122 &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
2123 &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
2124 &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
2125 &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
2126 &quot;deployTime&quot;: &quot;A String&quot;, # Required. Beginning of the lifetime of this deployment.
2127 &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
2128 &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from
2129 # the deployable field with the same name.
2130 &quot;A String&quot;,
2131 ],
2132 },
2133 },
2134 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was created.
Bu Sun Kim65020912020-05-20 12:08:20 -07002135 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was last updated.
2136 &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the note.
2137 &quot;intoto&quot;: { # This corresponds to a signed in-toto link - it is made up of one or more # Describes a specific in-toto link.
2138 # signatures and the in-toto link itself. This is used for occurrences of a
2139 # Grafeas in-toto note.
2140 &quot;signed&quot;: { # This corresponds to an in-toto link.
2141 &quot;command&quot;: [ # This field contains the full command executed for the step. This can also
2142 # be empty if links are generated for operations that aren&#x27;t directly mapped
2143 # to a specific command. Each term in the command is an independent string
2144 # in the list. An example of a command in the in-toto metadata field is:
2145 # &quot;command&quot;: [&quot;git&quot;, &quot;clone&quot;, &quot;https://github.com/in-toto/demo-project.git&quot;]
2146 &quot;A String&quot;,
2147 ],
2148 &quot;byproducts&quot;: { # Defines an object for the byproducts field in in-toto links. The suggested # ByProducts are data generated as part of a software supply chain step, but
2149 # are not the actual result of the step.
2150 # fields are &quot;stderr&quot;, &quot;stdout&quot;, and &quot;return-value&quot;.
2151 &quot;customValues&quot;: {
2152 &quot;a_key&quot;: &quot;A String&quot;,
2153 },
2154 },
2155 &quot;environment&quot;: { # Defines an object for the environment field in in-toto links. The suggested # This is a field that can be used to capture information about the
2156 # environment. It is suggested for this field to contain information that
2157 # details environment variables, filesystem information, and the present
2158 # working directory. The recommended structure of this field is:
2159 # &quot;environment&quot;: {
2160 # &quot;custom_values&quot;: {
2161 # &quot;variables&quot;: &quot;&lt;ENV&gt;&quot;,
2162 # &quot;filesystem&quot;: &quot;&lt;FS&gt;&quot;,
2163 # &quot;workdir&quot;: &quot;&lt;CWD&gt;&quot;,
2164 # &quot;&lt;ANY OTHER RELEVANT FIELDS&gt;&quot;: &quot;...&quot;
2165 # }
2166 # }
2167 # fields are &quot;variables&quot;, &quot;filesystem&quot;, and &quot;workdir&quot;.
2168 &quot;customValues&quot;: {
2169 &quot;a_key&quot;: &quot;A String&quot;,
2170 },
2171 },
2172 &quot;materials&quot;: [ # Materials are the supply chain artifacts that go into the step and are used
2173 # for the operation performed. The key of the map is the path of the artifact
2174 # and the structure contains the recorded hash information. An example is:
2175 # &quot;materials&quot;: [
2176 # {
2177 # &quot;resource_uri&quot;: &quot;foo/bar&quot;,
2178 # &quot;hashes&quot;: {
2179 # &quot;sha256&quot;: &quot;ebebf...&quot;,
2180 # &lt;OTHER HASH ALGORITHMS&gt;: &lt;HASH VALUE&gt;
2181 # }
2182 # }
2183 # ]
2184 {
2185 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
2186 &quot;sha256&quot;: &quot;A String&quot;,
2187 },
2188 &quot;resourceUri&quot;: &quot;A String&quot;,
2189 },
2190 ],
2191 &quot;products&quot;: [ # Products are the supply chain artifacts generated as a result of the step.
2192 # The structure is identical to that of materials.
2193 {
2194 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
2195 &quot;sha256&quot;: &quot;A String&quot;,
2196 },
2197 &quot;resourceUri&quot;: &quot;A String&quot;,
2198 },
2199 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002200 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002201 &quot;signatures&quot;: [
2202 { # A signature object consists of the KeyID used and the signature itself.
2203 &quot;sig&quot;: &quot;A String&quot;,
2204 &quot;keyid&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002205 },
2206 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002207 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002208 &quot;derivedImage&quot;: { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
2209 # note.
2210 &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
2211 # relationship. This image would be produced from a Dockerfile with FROM
2212 # &lt;DockerImage.Basis in attached Note&gt;.
2213 &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002214 &quot;v2Blob&quot;: [ # Required. The ordered list of v2 blobs that represent a given image.
2215 &quot;A String&quot;,
2216 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002217 &quot;v1Name&quot;: &quot;A String&quot;, # Required. The layer ID of the final layer in the Docker image&#x27;s v1
2218 # representation.
2219 &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
2220 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
2221 # Only the name of the final blob is kept.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002222 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002223 &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
2224 # &quot;distance&quot; and is ordered with [distance] being the layer immediately
2225 # following the base image and [1] being the final layer.
2226 { # Layer holds metadata specific to a layer of a Docker image.
2227 &quot;directive&quot;: &quot;A String&quot;, # Required. The recovered Dockerfile directive used to construct this layer.
2228 &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
2229 },
2230 ],
2231 &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
2232 # associated image basis.
2233 &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
2234 # occurrence.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002235 },
2236 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002237 }</pre>
2238</div>
2239
2240<div class="method">
2241 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
2242 <pre>Deletes the specified occurrence. For example, use this method to delete an
2243occurrence when the occurrence is no longer applicable for the given
2244resource.
2245
2246Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07002247 name: string, Required. The name of the occurrence in the form of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002248`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. (required)
2249 x__xgafv: string, V1 error format.
2250 Allowed values
2251 1 - v1 error format
2252 2 - v2 error format
2253
2254Returns:
2255 An object of the form:
2256
2257 { # A generic empty message that you can re-use to avoid defining duplicated
2258 # empty messages in your APIs. A typical example is to use it as the request
2259 # or the response type of an API method. For instance:
2260 #
2261 # service Foo {
2262 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
2263 # }
2264 #
2265 # The JSON representation for `Empty` is empty JSON object `{}`.
2266 }</pre>
2267</div>
2268
2269<div class="method">
2270 <code class="details" id="get">get(name, x__xgafv=None)</code>
2271 <pre>Gets the specified occurrence.
2272
2273Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07002274 name: string, Required. The name of the occurrence in the form of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002275`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. (required)
2276 x__xgafv: string, V1 error format.
2277 Allowed values
2278 1 - v1 error format
2279 2 - v2 error format
2280
2281Returns:
2282 An object of the form:
2283
2284 { # An instance of an analysis type that has been found on a resource.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002285 &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the occurrence details are
2286 # specified. This field can be used as a filter in list requests.
2287 &quot;resource&quot;: { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
2288 &quot;name&quot;: &quot;A String&quot;, # Deprecated, do not use. Use uri instead.
2289 #
2290 # The name of the resource. For example, the name of a Docker image -
2291 # &quot;Debian&quot;.
2292 &quot;contentHash&quot;: { # Container message for hash values. # Deprecated, do not use. Use uri instead.
2293 #
2294 # The hash of the resource content. For example, the Docker digest.
2295 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
2296 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
2297 },
2298 &quot;uri&quot;: &quot;A String&quot;, # Required. The unique URI of the resource. For example,
2299 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
2300 },
2301 &quot;attestation&quot;: { # Details of an attestation occurrence. # Describes an attestation of an artifact.
2302 &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;. The authenticity of an # Required. Attestation for the resource.
2303 # attestation can be verified using the attached signature. If the verifier
2304 # trusts the public key of the signer, then verifying the signature is
2305 # sufficient to establish trust. In this circumstance, the authority to which
2306 # this attestation is attached is primarily useful for look-up (how to find
2307 # this attestation if you already know the authority and artifact to be
2308 # verified) and intent (which authority was this attestation intended to sign
2309 # for).
2310 &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
2311 # supports `ATTACHED` signatures, where the payload that is signed is included
2312 # alongside the signature itself in the same file.
2313 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
2314 # The verifier must ensure that the provided type is one that the verifier
2315 # supports, and that the attestation payload is a valid instantiation of that
2316 # type (for example by validating a JSON schema).
2317 &quot;signature&quot;: &quot;A String&quot;, # Required. The raw content of the signature, as output by GNU Privacy Guard
2318 # (GPG) or equivalent. Since this message only supports attached signatures,
2319 # the payload that was signed must be attached. While the signature format
2320 # supported is dependent on the verification implementation, currently only
2321 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
2322 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
2323 # --output=signature.gpg payload.json` will create the signature content
2324 # expected in this field in `signature.gpg` for the `payload.json`
2325 # attestation payload.
2326 &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
2327 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
2328 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
2329 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
2330 # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
2331 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
2332 # In gpg, the full fingerprint can be retrieved from the `fpr` field
2333 # returned when calling --list-keys with --with-colons. For example:
2334 # ```
2335 # gpg --with-colons --with-fingerprint --force-v4-certs \
2336 # --list-keys attester@example.com
2337 # tru::1:1513631572:0:3:1:5
2338 # pub:...&lt;SNIP&gt;...
2339 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
2340 # ```
2341 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
2342 },
2343 &quot;genericSignedAttestation&quot;: { # An attestation wrapper that uses the Grafeas `Signature` message.
2344 # This attestation must define the `serialized_payload` that the `signatures`
2345 # verify and any metadata necessary to interpret that plaintext. The
2346 # signatures should always be over the `serialized_payload` bytestring.
2347 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
2348 # The verifier must ensure that the provided type is one that the verifier
2349 # supports, and that the attestation payload is a valid instantiation of that
2350 # type (for example by validating a JSON schema).
2351 &quot;signatures&quot;: [ # One or more signatures over `serialized_payload`. Verifier implementations
2352 # should consider this attestation message verified if at least one
2353 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
2354 # for more details on signature structure and verification.
2355 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
2356 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
2357 # Typically this means that the verifier has been configured with a map from
2358 # `public_key_id` to public key material (and any required parameters, e.g.
2359 # signing algorithm).
2360 #
2361 # In particular, verification implementations MUST NOT treat the signature
2362 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
2363 # DOES NOT validate or authenticate a public key; it only provides a mechanism
2364 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
2365 # a trusted channel. Verification implementations MUST reject signatures in any
2366 # of the following circumstances:
2367 # * The `public_key_id` is not recognized by the verifier.
2368 # * The public key that `public_key_id` refers to does not verify the
2369 # signature with respect to the payload.
2370 #
2371 # The `signature` contents SHOULD NOT be &quot;attached&quot; (where the payload is
2372 # included with the serialized `signature` bytes). Verifiers MUST ignore any
2373 # &quot;attached&quot; payload and only verify signatures with respect to explicitly
2374 # provided payload (e.g. a `payload` field on the proto message that holds
2375 # this Signature, or the canonical serialization of the proto message that
2376 # holds this signature).
2377 &quot;publicKeyId&quot;: &quot;A String&quot;, # The identifier for the public key that verifies this signature.
2378 # * The `public_key_id` is required.
2379 # * The `public_key_id` MUST be an RFC3986 conformant URI.
2380 # * When possible, the `public_key_id` SHOULD be an immutable reference,
2381 # such as a cryptographic digest.
2382 #
2383 # Examples of valid `public_key_id`s:
2384 #
2385 # OpenPGP V4 public key fingerprint:
2386 # * &quot;openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA&quot;
2387 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
2388 # details on this scheme.
2389 #
2390 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
2391 # serialization):
2392 # * &quot;ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU&quot;
2393 # * &quot;nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5&quot;
2394 &quot;signature&quot;: &quot;A String&quot;, # The content of the signature, an opaque bytestring.
2395 # The payload that this signature verifies MUST be unambiguously provided
2396 # with the Signature during verification. A wrapper message might provide
2397 # the payload explicitly. Alternatively, a message might have a canonical
2398 # serialization that can always be unambiguously computed to derive the
2399 # payload.
2400 },
2401 ],
2402 &quot;serializedPayload&quot;: &quot;A String&quot;, # The serialized payload that is verified by one or more `signatures`.
2403 # The encoding and semantic meaning of this payload must match what is set in
2404 # `content_type`.
2405 },
2406 },
2407 },
2408 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the occurrence in the form of
2409 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
2410 &quot;vulnerability&quot;: { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
2411 &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
2412 &quot;shortDescription&quot;: &quot;A String&quot;, # Output only. A one sentence description of this vulnerability.
2413 &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is
2414 # available, and note provider assigned severity when distro has not yet
2415 # assigned a severity for this vulnerability.
2416 &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
2417 &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
2418 # scale of 0-10 where 0 indicates low severity and 10 indicates high
2419 # severity.
2420 &quot;relatedUrls&quot;: [ # Output only. URLs related to this vulnerability.
2421 { # Metadata for any related URL information.
2422 &quot;url&quot;: &quot;A String&quot;, # Specific URL associated with the resource.
2423 &quot;label&quot;: &quot;A String&quot;, # Label to describe usage of the URL.
2424 },
2425 ],
2426 &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems, node.js
2427 # packages etc)
2428 &quot;packageIssue&quot;: [ # Required. The set of affected locations and their fixes (if available)
2429 # within the associated resource.
2430 { # This message wraps a location affected by a vulnerability and its
2431 # associated fix (if one is available).
2432 &quot;severityName&quot;: &quot;A String&quot;, # Deprecated, use Details.effective_severity instead
2433 # The severity (e.g., distro assigned severity) for this vulnerability.
2434 &quot;affectedLocation&quot;: { # The location of the vulnerability. # Required. The location of the vulnerability.
2435 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
2436 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
2437 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
2438 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
2439 # name.
2440 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
2441 # versions.
2442 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
2443 },
2444 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
2445 # format. Examples include distro or storage location for vulnerable jar.
2446 },
2447 &quot;fixedLocation&quot;: { # The location of the vulnerability. # The location of the available fix for vulnerability.
2448 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
2449 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
2450 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
2451 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
2452 # name.
2453 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
2454 # versions.
2455 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
2456 },
2457 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
2458 # format. Examples include distro or storage location for vulnerable jar.
2459 },
2460 },
2461 ],
2462 },
2463 &quot;installation&quot;: { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
2464 &quot;installation&quot;: { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
2465 # system.
2466 &quot;location&quot;: [ # Required. All of the places within the filesystem versions of this package
2467 # have been found.
2468 { # An occurrence of a particular package installation found within a system&#x27;s
2469 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
2470 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
2471 # denoting the package manager version distributing a package.
2472 &quot;version&quot;: { # Version contains structured information about the version of a package. # The version installed at this location.
2473 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
2474 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
2475 # name.
2476 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
2477 # versions.
2478 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
2479 },
2480 &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
2481 },
2482 ],
2483 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
2484 },
2485 },
2486 &quot;build&quot;: { # Details of a build occurrence. # Describes a verifiable build.
2487 &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
2488 # build signature in the corresponding build note. After verifying the
2489 # signature, `provenance_bytes` can be unmarshalled and compared to the
2490 # provenance to confirm that it is unchanged. A base64-encoded string
2491 # representation of the provenance bytes is used for the signature in order
2492 # to interoperate with openssl which expects this format for signature
2493 # verification.
2494 #
2495 # The serialized form is captured both to avoid ambiguity in how the
2496 # provenance is marshalled to json as well to prevent incompatibilities with
2497 # future changes.
2498 &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
2499 # details about the build from source to completion.
2500 &quot;endTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
2501 &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
2502 &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
2503 &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
2504 &quot;artifactStorageSourceUri&quot;: &quot;A String&quot;, # If provided, the input binary artifacts for the build came from this
2505 # location.
2506 &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
2507 # these locations, in the case where the source repository had multiple
2508 # remotes or submodules. This list will not include the context specified in
2509 # the context field.
2510 { # A SourceContext is a reference to a tree of files. A SourceContext together
2511 # with a path point to a unique revision of a single file or directory.
2512 &quot;labels&quot;: { # Labels with user defined metadata.
2513 &quot;a_key&quot;: &quot;A String&quot;,
2514 },
2515 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
2516 # repository (e.g., GitHub).
2517 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
2518 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
2519 },
2520 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
2521 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
2522 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
2523 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
2524 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
2525 # hostURI/project.
2526 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
2527 &quot;name&quot;: &quot;A String&quot;, # The alias name.
2528 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
2529 },
2530 },
2531 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
2532 # Source Repo.
2533 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
2534 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
2535 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
2536 # winged-cargo-31) and a repo name within that project.
2537 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
2538 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
2539 },
2540 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
2541 },
2542 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
2543 &quot;name&quot;: &quot;A String&quot;, # The alias name.
2544 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
2545 },
2546 },
2547 },
2548 ],
2549 &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
2550 # source integrity was maintained in the build.
2551 #
2552 # The keys to this map are file paths used as build source and the values
2553 # contain the hash values for those files.
2554 #
2555 # If the build source came in a single package such as a gzipped tarfile
2556 # (.tar.gz), the FileHash will be for the single path to that file.
2557 &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in source
2558 # messages to verify integrity of source input to the build.
2559 &quot;fileHash&quot;: [ # Required. Collection of file hashes.
2560 { # Container message for hash values.
2561 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
2562 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
2563 },
2564 ],
2565 },
2566 },
2567 &quot;context&quot;: { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
2568 # with a path point to a unique revision of a single file or directory.
2569 &quot;labels&quot;: { # Labels with user defined metadata.
2570 &quot;a_key&quot;: &quot;A String&quot;,
2571 },
2572 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
2573 # repository (e.g., GitHub).
2574 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
2575 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
2576 },
2577 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
2578 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
2579 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
2580 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
2581 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
2582 # hostURI/project.
2583 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
2584 &quot;name&quot;: &quot;A String&quot;, # The alias name.
2585 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
2586 },
2587 },
2588 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
2589 # Source Repo.
2590 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
2591 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
2592 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
2593 # winged-cargo-31) and a repo name within that project.
2594 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
2595 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
2596 },
2597 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
2598 },
2599 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
2600 &quot;name&quot;: &quot;A String&quot;, # The alias name.
2601 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
2602 },
2603 },
2604 },
2605 },
2606 &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
2607 &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
2608 &quot;logsUri&quot;: &quot;A String&quot;, # URI where any logs for this provenance were written.
2609 &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
2610 # user&#x27;s e-mail address at the time the build was initiated; this address may
2611 # not represent the same end-user for all time.
2612 &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
2613 &quot;commands&quot;: [ # Commands requested by the build.
2614 { # Command describes a step performed as part of the build pipeline.
2615 &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running this
2616 # command.
2617 &quot;waitFor&quot;: [ # The ID(s) of the command(s) that this command depends on.
2618 &quot;A String&quot;,
2619 ],
2620 &quot;env&quot;: [ # Environment variables set before running this command.
2621 &quot;A String&quot;,
2622 ],
2623 &quot;args&quot;: [ # Command-line arguments used when executing this command.
2624 &quot;A String&quot;,
2625 ],
2626 &quot;name&quot;: &quot;A String&quot;, # Required. Name of the command, as presented on the command line, or if the
2627 # command is packaged as a Docker container, as presented to `docker pull`.
2628 &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this command, used in wait_for to reference
2629 # this command as a dependency.
2630 },
2631 ],
2632 &quot;builtArtifacts&quot;: [ # Output of the build.
2633 { # Artifact describes a build product.
2634 &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
2635 # container.
2636 &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
2637 # like `gcr.io/projectID/imagename@sha256:123456`.
2638 &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
2639 # the case of a container build, the name used to push the container image to
2640 # Google Container Registry, as presented to `docker push`. Note that a
2641 # single Artifact ID can have multiple names, for example if two tags are
2642 # applied to one image.
2643 &quot;A String&quot;,
2644 ],
2645 },
2646 ],
2647 &quot;id&quot;: &quot;A String&quot;, # Required. Unique identifier of the build.
2648 &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
2649 # build providers can enter any desired additional details.
2650 &quot;a_key&quot;: &quot;A String&quot;,
2651 },
2652 },
2653 },
2654 &quot;discovered&quot;: { # Details of a discovery occurrence. # Describes when a resource was discovered.
2655 &quot;discovered&quot;: { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
2656 &quot;analysisStatusError&quot;: { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
2657 # details to show to the user. The LocalizedMessage is output only and
2658 # populated by the API.
2659 # different programming environments, including REST APIs and RPC APIs. It is
2660 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
2661 # three pieces of data: error code, error message, and error details.
2662 #
2663 # You can find out more about this error model and how to work with it in the
2664 # [API Design Guide](https://cloud.google.com/apis/design/errors).
2665 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
2666 # message types for APIs to use.
2667 {
2668 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
2669 },
2670 ],
2671 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
2672 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
2673 # user-facing error message should be localized and sent in the
2674 # google.rpc.Status.details field, or localized by the client.
2675 },
2676 &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
2677 &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
2678 &quot;lastAnalysisTime&quot;: &quot;A String&quot;, # The last time continuous analysis was done for this resource.
2679 # Deprecated, do not use.
2680 },
2681 },
2682 &quot;noteName&quot;: &quot;A String&quot;, # Required. Immutable. The analysis note associated with this occurrence, in
2683 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
2684 # used as a filter in list requests.
2685 &quot;deployment&quot;: { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
2686 &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
2687 &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
2688 &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
2689 &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
2690 &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
2691 &quot;deployTime&quot;: &quot;A String&quot;, # Required. Beginning of the lifetime of this deployment.
2692 &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
2693 &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from
2694 # the deployable field with the same name.
2695 &quot;A String&quot;,
2696 ],
2697 },
2698 },
2699 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was created.
Bu Sun Kim65020912020-05-20 12:08:20 -07002700 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was last updated.
2701 &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the note.
2702 &quot;intoto&quot;: { # This corresponds to a signed in-toto link - it is made up of one or more # Describes a specific in-toto link.
2703 # signatures and the in-toto link itself. This is used for occurrences of a
2704 # Grafeas in-toto note.
2705 &quot;signed&quot;: { # This corresponds to an in-toto link.
2706 &quot;command&quot;: [ # This field contains the full command executed for the step. This can also
2707 # be empty if links are generated for operations that aren&#x27;t directly mapped
2708 # to a specific command. Each term in the command is an independent string
2709 # in the list. An example of a command in the in-toto metadata field is:
2710 # &quot;command&quot;: [&quot;git&quot;, &quot;clone&quot;, &quot;https://github.com/in-toto/demo-project.git&quot;]
2711 &quot;A String&quot;,
2712 ],
2713 &quot;byproducts&quot;: { # Defines an object for the byproducts field in in-toto links. The suggested # ByProducts are data generated as part of a software supply chain step, but
2714 # are not the actual result of the step.
2715 # fields are &quot;stderr&quot;, &quot;stdout&quot;, and &quot;return-value&quot;.
2716 &quot;customValues&quot;: {
2717 &quot;a_key&quot;: &quot;A String&quot;,
2718 },
2719 },
2720 &quot;environment&quot;: { # Defines an object for the environment field in in-toto links. The suggested # This is a field that can be used to capture information about the
2721 # environment. It is suggested for this field to contain information that
2722 # details environment variables, filesystem information, and the present
2723 # working directory. The recommended structure of this field is:
2724 # &quot;environment&quot;: {
2725 # &quot;custom_values&quot;: {
2726 # &quot;variables&quot;: &quot;&lt;ENV&gt;&quot;,
2727 # &quot;filesystem&quot;: &quot;&lt;FS&gt;&quot;,
2728 # &quot;workdir&quot;: &quot;&lt;CWD&gt;&quot;,
2729 # &quot;&lt;ANY OTHER RELEVANT FIELDS&gt;&quot;: &quot;...&quot;
2730 # }
2731 # }
2732 # fields are &quot;variables&quot;, &quot;filesystem&quot;, and &quot;workdir&quot;.
2733 &quot;customValues&quot;: {
2734 &quot;a_key&quot;: &quot;A String&quot;,
2735 },
2736 },
2737 &quot;materials&quot;: [ # Materials are the supply chain artifacts that go into the step and are used
2738 # for the operation performed. The key of the map is the path of the artifact
2739 # and the structure contains the recorded hash information. An example is:
2740 # &quot;materials&quot;: [
2741 # {
2742 # &quot;resource_uri&quot;: &quot;foo/bar&quot;,
2743 # &quot;hashes&quot;: {
2744 # &quot;sha256&quot;: &quot;ebebf...&quot;,
2745 # &lt;OTHER HASH ALGORITHMS&gt;: &lt;HASH VALUE&gt;
2746 # }
2747 # }
2748 # ]
2749 {
2750 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
2751 &quot;sha256&quot;: &quot;A String&quot;,
2752 },
2753 &quot;resourceUri&quot;: &quot;A String&quot;,
2754 },
2755 ],
2756 &quot;products&quot;: [ # Products are the supply chain artifacts generated as a result of the step.
2757 # The structure is identical to that of materials.
2758 {
2759 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
2760 &quot;sha256&quot;: &quot;A String&quot;,
2761 },
2762 &quot;resourceUri&quot;: &quot;A String&quot;,
2763 },
2764 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002765 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002766 &quot;signatures&quot;: [
2767 { # A signature object consists of the KeyID used and the signature itself.
2768 &quot;sig&quot;: &quot;A String&quot;,
2769 &quot;keyid&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002770 },
2771 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002772 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002773 &quot;derivedImage&quot;: { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
2774 # note.
2775 &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
2776 # relationship. This image would be produced from a Dockerfile with FROM
2777 # &lt;DockerImage.Basis in attached Note&gt;.
2778 &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002779 &quot;v2Blob&quot;: [ # Required. The ordered list of v2 blobs that represent a given image.
2780 &quot;A String&quot;,
2781 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002782 &quot;v1Name&quot;: &quot;A String&quot;, # Required. The layer ID of the final layer in the Docker image&#x27;s v1
2783 # representation.
2784 &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
2785 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
2786 # Only the name of the final blob is kept.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002787 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002788 &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
2789 # &quot;distance&quot; and is ordered with [distance] being the layer immediately
2790 # following the base image and [1] being the final layer.
2791 { # Layer holds metadata specific to a layer of a Docker image.
2792 &quot;directive&quot;: &quot;A String&quot;, # Required. The recovered Dockerfile directive used to construct this layer.
2793 &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
2794 },
2795 ],
2796 &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
2797 # associated image basis.
2798 &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
2799 # occurrence.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002800 },
2801 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002802 }</pre>
2803</div>
2804
2805<div class="method">
2806 <code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code>
2807 <pre>Gets the access control policy for a note or an occurrence resource.
2808Requires `containeranalysis.notes.setIamPolicy` or
2809`containeranalysis.occurrences.setIamPolicy` permission if the resource is
2810a note or occurrence, respectively.
2811
2812The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
2813notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
2814occurrences.
2815
2816Args:
2817 resource: string, REQUIRED: The resource for which the policy is being requested.
2818See the operation documentation for the appropriate value for this field. (required)
2819 body: object, The request body.
2820 The object takes the form of:
2821
2822{ # Request message for `GetIamPolicy` method.
Bu Sun Kim65020912020-05-20 12:08:20 -07002823 &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to
Dan O'Mearadd494642020-05-01 07:42:23 -07002824 # `GetIamPolicy`.
Bu Sun Kim65020912020-05-20 12:08:20 -07002825 &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned.
Dan O'Mearadd494642020-05-01 07:42:23 -07002826 #
2827 # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
2828 # rejected.
2829 #
2830 # Requests for policies with any conditional bindings must specify version 3.
2831 # Policies without any conditional bindings may specify any valid value or
2832 # leave the field unset.
Bu Sun Kim65020912020-05-20 12:08:20 -07002833 #
2834 # To learn which resources support conditions in their IAM policies, see the
2835 # [IAM
2836 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Dan O'Mearadd494642020-05-01 07:42:23 -07002837 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002838 }
2839
2840 x__xgafv: string, V1 error format.
2841 Allowed values
2842 1 - v1 error format
2843 2 - v2 error format
2844
2845Returns:
2846 An object of the form:
2847
Dan O'Mearadd494642020-05-01 07:42:23 -07002848 { # An Identity and Access Management (IAM) policy, which specifies access
2849 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002850 #
2851 #
Dan O'Mearadd494642020-05-01 07:42:23 -07002852 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
2853 # `members` to a single `role`. Members can be user accounts, service accounts,
2854 # Google groups, and domains (such as G Suite). A `role` is a named list of
2855 # permissions; each `role` can be an IAM predefined role or a user-created
2856 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002857 #
Bu Sun Kim65020912020-05-20 12:08:20 -07002858 # For some types of Google Cloud resources, a `binding` can also specify a
2859 # `condition`, which is a logical expression that allows access to a resource
2860 # only if the expression evaluates to `true`. A condition can add constraints
2861 # based on attributes of the request, the resource, or both. To learn which
2862 # resources support conditions in their IAM policies, see the
2863 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Dan O'Mearadd494642020-05-01 07:42:23 -07002864 #
2865 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002866 #
2867 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07002868 # &quot;bindings&quot;: [
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002869 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07002870 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
2871 # &quot;members&quot;: [
2872 # &quot;user:mike@example.com&quot;,
2873 # &quot;group:admins@example.com&quot;,
2874 # &quot;domain:google.com&quot;,
2875 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002876 # ]
2877 # },
2878 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07002879 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
2880 # &quot;members&quot;: [
2881 # &quot;user:eve@example.com&quot;
2882 # ],
2883 # &quot;condition&quot;: {
2884 # &quot;title&quot;: &quot;expirable access&quot;,
2885 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
2886 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -07002887 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002888 # }
Dan O'Mearadd494642020-05-01 07:42:23 -07002889 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002890 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
2891 # &quot;version&quot;: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002892 # }
2893 #
Dan O'Mearadd494642020-05-01 07:42:23 -07002894 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002895 #
2896 # bindings:
2897 # - members:
2898 # - user:mike@example.com
2899 # - group:admins@example.com
2900 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -07002901 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
2902 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002903 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -07002904 # - user:eve@example.com
2905 # role: roles/resourcemanager.organizationViewer
2906 # condition:
2907 # title: expirable access
2908 # description: Does not grant access after Sep 2020
Bu Sun Kim65020912020-05-20 12:08:20 -07002909 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
Dan O'Mearadd494642020-05-01 07:42:23 -07002910 # - etag: BwWWja0YfJA=
2911 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002912 #
2913 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -07002914 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002915 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
2916 # prevent simultaneous updates of a policy from overwriting each other.
2917 # It is strongly suggested that systems make use of the `etag` in the
2918 # read-modify-write cycle to perform policy updates in order to avoid race
2919 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
2920 # systems are expected to put that etag in the request to `setIamPolicy` to
2921 # ensure that their change will be applied to the same version of the policy.
2922 #
2923 # **Important:** If you use IAM Conditions, you must include the `etag` field
2924 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
2925 # you to overwrite a version `3` policy with a version `1` policy, and all of
2926 # the conditions in the version `3` policy are lost.
Bu Sun Kim65020912020-05-20 12:08:20 -07002927 &quot;version&quot;: 42, # Specifies the format of the policy.
2928 #
2929 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
2930 # are rejected.
2931 #
2932 # Any operation that affects conditional role bindings must specify version
2933 # `3`. This requirement applies to the following operations:
2934 #
2935 # * Getting a policy that includes a conditional role binding
2936 # * Adding a conditional role binding to a policy
2937 # * Changing a conditional role binding in a policy
2938 # * Removing any role binding, with or without a condition, from a policy
2939 # that includes conditions
2940 #
2941 # **Important:** If you use IAM Conditions, you must include the `etag` field
2942 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
2943 # you to overwrite a version `3` policy with a version `1` policy, and all of
2944 # the conditions in the version `3` policy are lost.
2945 #
2946 # If a policy does not include any conditions, operations on that policy may
2947 # specify any valid version or leave the field unset.
2948 #
2949 # To learn which resources support conditions in their IAM policies, see the
2950 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
2951 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
Dan O'Mearadd494642020-05-01 07:42:23 -07002952 # `condition` that determines how and when the `bindings` are applied. Each
2953 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002954 { # Associates `members` with a `role`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002955 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
2956 #
2957 # If the condition evaluates to `true`, then this binding applies to the
2958 # current request.
2959 #
2960 # If the condition evaluates to `false`, then this binding does not apply to
2961 # the current request. However, a different role binding might grant the same
2962 # role to one or more of the members in this binding.
2963 #
2964 # To learn which resources support conditions in their IAM policies, see the
2965 # [IAM
2966 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
2967 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
2968 # are documented at https://github.com/google/cel-spec.
2969 #
2970 # Example (Comparison):
2971 #
2972 # title: &quot;Summary size limit&quot;
2973 # description: &quot;Determines if a summary is less than 100 chars&quot;
2974 # expression: &quot;document.summary.size() &lt; 100&quot;
2975 #
2976 # Example (Equality):
2977 #
2978 # title: &quot;Requestor is owner&quot;
2979 # description: &quot;Determines if requestor is the document owner&quot;
2980 # expression: &quot;document.owner == request.auth.claims.email&quot;
2981 #
2982 # Example (Logic):
2983 #
2984 # title: &quot;Public documents&quot;
2985 # description: &quot;Determine whether the document should be publicly visible&quot;
2986 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
2987 #
2988 # Example (Data Manipulation):
2989 #
2990 # title: &quot;Notification string&quot;
2991 # description: &quot;Create a notification string with a timestamp.&quot;
2992 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
2993 #
2994 # The exact variables and functions that may be referenced within an expression
2995 # are determined by the service that evaluates it. See the service
2996 # documentation for additional information.
2997 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
2998 # describes the expression, e.g. when hovered over it in a UI.
2999 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
3000 # syntax.
3001 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
3002 # its purpose. This can be used e.g. in UIs which allow to enter the
3003 # expression.
3004 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
3005 # reporting, e.g. a file name and a position in the file.
3006 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003007 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003008 # `members` can have the following values:
3009 #
3010 # * `allUsers`: A special identifier that represents anyone who is
3011 # on the internet; with or without a Google account.
3012 #
3013 # * `allAuthenticatedUsers`: A special identifier that represents anyone
3014 # who is authenticated with a Google account or a service account.
3015 #
3016 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -07003017 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003018 #
3019 #
3020 # * `serviceAccount:{emailid}`: An email address that represents a service
3021 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
3022 #
3023 # * `group:{emailid}`: An email address that represents a Google group.
3024 # For example, `admins@example.com`.
3025 #
Dan O'Mearadd494642020-05-01 07:42:23 -07003026 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
3027 # identifier) representing a user that has been recently deleted. For
3028 # example, `alice@example.com?uid=123456789012345678901`. If the user is
3029 # recovered, this value reverts to `user:{emailid}` and the recovered user
3030 # retains the role in the binding.
3031 #
3032 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
3033 # unique identifier) representing a service account that has been recently
3034 # deleted. For example,
3035 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
3036 # If the service account is undeleted, this value reverts to
3037 # `serviceAccount:{emailid}` and the undeleted service account retains the
3038 # role in the binding.
3039 #
3040 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
3041 # identifier) representing a Google group that has been recently
3042 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
3043 # the group is recovered, this value reverts to `group:{emailid}` and the
3044 # recovered group retains the role in the binding.
3045 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003046 #
3047 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
3048 # users of that domain. For example, `google.com` or `example.com`.
3049 #
Bu Sun Kim65020912020-05-20 12:08:20 -07003050 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003051 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07003052 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
3053 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003054 },
3055 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003056 }</pre>
3057</div>
3058
3059<div class="method">
3060 <code class="details" id="getNotes">getNotes(name, x__xgafv=None)</code>
3061 <pre>Gets the note attached to the specified occurrence. Consumer projects can
3062use this method to get a note that belongs to a provider project.
3063
3064Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07003065 name: string, Required. The name of the occurrence in the form of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003066`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. (required)
3067 x__xgafv: string, V1 error format.
3068 Allowed values
3069 1 - v1 error format
3070 2 - v2 error format
3071
3072Returns:
3073 An object of the form:
3074
3075 { # A type of analysis that can be done for a resource.
Bu Sun Kim65020912020-05-20 12:08:20 -07003076 &quot;attestationAuthority&quot;: { # Note kind that represents a logical attestation &quot;role&quot; or &quot;authority&quot;. For # A note describing an attestation role.
3077 # example, an organization might have one `Authority` for &quot;QA&quot; and one for
3078 # &quot;build&quot;. This note is intended to act strictly as a grouping mechanism for
3079 # the attached occurrences (Attestations). This grouping mechanism also
3080 # provides a security boundary, since IAM ACLs gate the ability for a principle
3081 # to attach an occurrence to a given note. It also provides a single point of
3082 # lookup to find all attached attestation occurrences, even if they don&#x27;t all
3083 # live in the same project.
3084 &quot;hint&quot;: { # This submessage provides human-readable hints about the purpose of the # Hint hints at the purpose of the attestation authority.
3085 # authority. Because the name of a note acts as its resource reference, it is
3086 # important to disambiguate the canonical name of the Note (which might be a
3087 # UUID for security purposes) from &quot;readable&quot; names more suitable for debug
3088 # output. Note that these hints should not be used to look up authorities in
3089 # security sensitive contexts, such as when looking up attestations to
3090 # verify.
3091 &quot;humanReadableName&quot;: &quot;A String&quot;, # Required. The human readable name of this attestation authority, for
3092 # example &quot;qa&quot;.
3093 },
3094 },
3095 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the note in the form of
3096 # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
3097 &quot;vulnerability&quot;: { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003098 &quot;cvssV3&quot;: { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3.
3099 # For details, see https://www.first.org/cvss/specification-document
3100 &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
3101 &quot;scope&quot;: &quot;A String&quot;,
3102 &quot;integrityImpact&quot;: &quot;A String&quot;,
3103 &quot;exploitabilityScore&quot;: 3.14,
3104 &quot;impactScore&quot;: 3.14,
3105 &quot;attackComplexity&quot;: &quot;A String&quot;,
3106 &quot;availabilityImpact&quot;: &quot;A String&quot;,
3107 &quot;privilegesRequired&quot;: &quot;A String&quot;,
3108 &quot;userInteraction&quot;: &quot;A String&quot;,
3109 &quot;attackVector&quot;: &quot;A String&quot;, # Base Metrics
3110 # Represents the intrinsic characteristics of a vulnerability that are
3111 # constant over time and across user environments.
3112 &quot;confidentialityImpact&quot;: &quot;A String&quot;,
3113 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003114 &quot;sourceUpdateTime&quot;: &quot;A String&quot;, # The time this information was last changed at the source. This is an
3115 # upstream timestamp from the underlying information source - e.g. Ubuntu
3116 # security tracker.
3117 &quot;windowsDetails&quot;: [ # Windows details get their own format because the information format and
3118 # model don&#x27;t match a normal detail. Specifically Windows updates are done as
3119 # patches, thus Windows vulnerabilities really are a missing package, rather
3120 # than a package being at an incorrect version.
3121 {
3122 &quot;name&quot;: &quot;A String&quot;, # Required. The name of the vulnerability.
3123 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in
3124 # [cpe format](https://cpe.mitre.org/specification/) in which the
3125 # vulnerability manifests. Examples include distro or storage location for
3126 # vulnerable jar.
3127 &quot;description&quot;: &quot;A String&quot;, # The description of the vulnerability.
3128 &quot;fixingKbs&quot;: [ # Required. The names of the KBs which have hotfixes to mitigate this
3129 # vulnerability. Note that there may be multiple hotfixes (and thus
3130 # multiple KBs) that mitigate a given vulnerability. Currently any listed
3131 # kb&#x27;s presence is considered a fix.
3132 {
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003133 &quot;name&quot;: &quot;A String&quot;, # The KB name (generally of the form KB[0-9]+ i.e. KB123456).
Bu Sun Kim65020912020-05-20 12:08:20 -07003134 &quot;url&quot;: &quot;A String&quot;, # A link to the KB in the Windows update catalog -
3135 # https://www.catalog.update.microsoft.com/
Bu Sun Kim65020912020-05-20 12:08:20 -07003136 },
3137 ],
3138 },
3139 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07003140 &quot;details&quot;: [ # All information about the package to specifically identify this
3141 # vulnerability. One entry per (version range and cpe_uri) the package
3142 # vulnerability has manifested in.
3143 { # Identifies all appearances of this vulnerability in the package for a
3144 # specific distro/location. For example: glibc in
3145 # cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
3146 &quot;isObsolete&quot;: True or False, # Whether this detail is obsolete. Occurrences are expected not to point to
3147 # obsolete details.
3148 &quot;sourceUpdateTime&quot;: &quot;A String&quot;, # The time this information was last changed at the source. This is an
3149 # upstream timestamp from the underlying information source - e.g. Ubuntu
3150 # security tracker.
3151 &quot;packageType&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems, node.js
3152 # packages etc).
3153 &quot;fixedLocation&quot;: { # The location of the vulnerability. # The fix for this specific package version.
3154 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
3155 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003156 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
Bu Sun Kim65020912020-05-20 12:08:20 -07003157 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
3158 # name.
3159 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
3160 # versions.
3161 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
Bu Sun Kim65020912020-05-20 12:08:20 -07003162 },
3163 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
3164 # format. Examples include distro or storage location for vulnerable jar.
3165 },
3166 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in
3167 # [cpe format](https://cpe.mitre.org/specification/) in which the
3168 # vulnerability manifests. Examples include distro or storage location for
3169 # vulnerable jar.
3170 &quot;description&quot;: &quot;A String&quot;, # A vendor-specific description of this note.
3171 &quot;severityName&quot;: &quot;A String&quot;, # The severity (eg: distro assigned severity) for this vulnerability.
3172 &quot;minAffectedVersion&quot;: { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003173 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
Bu Sun Kim65020912020-05-20 12:08:20 -07003174 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
3175 # name.
3176 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
3177 # versions.
3178 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
Bu Sun Kim65020912020-05-20 12:08:20 -07003179 },
3180 &quot;maxAffectedVersion&quot;: { # Version contains structured information about the version of a package. # The max version of the package in which the vulnerability exists.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003181 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
Bu Sun Kim65020912020-05-20 12:08:20 -07003182 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
3183 # name.
3184 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
3185 # versions.
3186 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
Bu Sun Kim65020912020-05-20 12:08:20 -07003187 },
3188 &quot;package&quot;: &quot;A String&quot;, # Required. The name of the package where the vulnerability was found.
3189 },
3190 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003191 &quot;severity&quot;: &quot;A String&quot;, # Note provider assigned impact of the vulnerability.
Bu Sun Kim65020912020-05-20 12:08:20 -07003192 &quot;cvssScore&quot;: 3.14, # The CVSS score for this vulnerability.
Bu Sun Kim65020912020-05-20 12:08:20 -07003193 },
3194 &quot;relatedNoteNames&quot;: [ # Other notes related to this note.
3195 &quot;A String&quot;,
3196 ],
3197 &quot;build&quot;: { # Note holding the version of the provider&#x27;s builder and the signature of the # A note describing build provenance for a verifiable build.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003198 # provenance message in the build details occurrence.
Bu Sun Kim65020912020-05-20 12:08:20 -07003199 &quot;signature&quot;: { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003200 # containing build details.
Bu Sun Kim65020912020-05-20 12:08:20 -07003201 &quot;keyType&quot;: &quot;A String&quot;, # The type of the key, either stored in `public_key` or referenced in
3202 # `key_id`.
3203 &quot;signature&quot;: &quot;A String&quot;, # Required. Signature of the related `BuildProvenance`. In JSON, this is
3204 # base-64 encoded.
3205 &quot;publicKey&quot;: &quot;A String&quot;, # Public key of the builder which can be used to verify that the related
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003206 # findings are valid and unchanged. If `key_type` is empty, this defaults
3207 # to PEM encoded public keys.
3208 #
3209 # This field may be empty if `key_id` references an external key.
3210 #
3211 # For Cloud Build based signatures, this is a PEM encoded public
3212 # key. To verify the Cloud Build signature, place the contents of
3213 # this field into a file (public.pem). The signature field is base64-decoded
3214 # into its binary representation in signature.bin, and the provenance bytes
3215 # from `BuildDetails` are base64-decoded into a binary representation in
3216 # signed.bin. OpenSSL can then verify the signature:
3217 # `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
Bu Sun Kim65020912020-05-20 12:08:20 -07003218 &quot;keyId&quot;: &quot;A String&quot;, # An ID for the key used to sign. This could be either an ID for the key
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003219 # stored in `public_key` (such as the ID or fingerprint for a PGP key, or the
3220 # CN for a cert), or a reference to an external key (such as a reference to a
3221 # key in Cloud Key Management Service).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003222 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003223 &quot;builderVersion&quot;: &quot;A String&quot;, # Required. Immutable. Version of the builder which produced this build.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003224 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003225 &quot;package&quot;: { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers.
3226 # channels. E.g., glibc (aka libc6) is distributed by many, at various
3227 # versions.
3228 &quot;name&quot;: &quot;A String&quot;, # Required. Immutable. The name of the package.
3229 &quot;distribution&quot;: [ # The various channels by which a package is distributed.
3230 { # This represents a particular channel of distribution for a given package.
3231 # E.g., Debian&#x27;s jessie-backports dpkg mirror.
3232 &quot;maintainer&quot;: &quot;A String&quot;, # A freeform string denoting the maintainer of this package.
3233 &quot;latestVersion&quot;: { # Version contains structured information about the version of a package. # The latest available version of this package in this distribution channel.
3234 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
3235 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
3236 # name.
3237 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
3238 # versions.
3239 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
3240 },
3241 &quot;description&quot;: &quot;A String&quot;, # The distribution channel-specific description of this package.
3242 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/)
3243 # denoting the package manager version distributing a package.
3244 &quot;url&quot;: &quot;A String&quot;, # The distribution channel-specific homepage for this package.
3245 &quot;architecture&quot;: &quot;A String&quot;, # The CPU architecture for which packages in this distribution channel were
3246 # built.
3247 },
3248 ],
3249 },
3250 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this note was created. This field can be used as a
3251 # filter in list requests.
3252 &quot;discovery&quot;: { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource.
3253 # exists in a provider&#x27;s project. A `Discovery` occurrence is created in a
3254 # consumer&#x27;s project at the start of analysis.
3255 &quot;analysisKind&quot;: &quot;A String&quot;, # Required. Immutable. The kind of analysis that is handled by this
3256 # discovery.
3257 },
3258 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this note was last updated. This field can be used as
3259 # a filter in list requests.
3260 &quot;intoto&quot;: { # This contains the fields corresponding to the definition of a software supply # A note describing an in-toto link.
3261 # chain step in an in-toto layout. This information goes into a Grafeas note.
3262 &quot;expectedProducts&quot;: [
3263 { # Defines an object to declare an in-toto artifact rule
3264 &quot;artifactRule&quot;: [
3265 &quot;A String&quot;,
3266 ],
3267 },
3268 ],
3269 &quot;stepName&quot;: &quot;A String&quot;, # This field identifies the name of the step in the supply chain.
3270 &quot;signingKeys&quot;: [ # This field contains the public keys that can be used to verify the
3271 # signatures on the step metadata.
3272 { # This defines the format used to record keys used in the software supply
3273 # chain. An in-toto link is attested using one or more keys defined in the
3274 # in-toto layout. An example of this is:
3275 # {
3276 # &quot;key_id&quot;: &quot;776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...&quot;,
3277 # &quot;key_type&quot;: &quot;rsa&quot;,
3278 # &quot;public_key_value&quot;: &quot;-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0B...&quot;,
3279 # &quot;key_scheme&quot;: &quot;rsassa-pss-sha256&quot;
3280 # }
3281 # The format for in-toto&#x27;s key definition can be found in section 4.2 of the
3282 # in-toto specification.
3283 &quot;keyId&quot;: &quot;A String&quot;, # key_id is an identifier for the signing key.
3284 &quot;publicKeyValue&quot;: &quot;A String&quot;, # This field contains the actual public key.
3285 &quot;keyType&quot;: &quot;A String&quot;, # This field identifies the specific signing method. Eg: &quot;rsa&quot;, &quot;ed25519&quot;,
3286 # and &quot;ecdsa&quot;.
3287 &quot;keyScheme&quot;: &quot;A String&quot;, # This field contains the corresponding signature scheme.
3288 # Eg: &quot;rsassa-pss-sha256&quot;.
3289 },
3290 ],
3291 &quot;threshold&quot;: &quot;A String&quot;, # This field contains a value that indicates the minimum number of keys that
3292 # need to be used to sign the step&#x27;s in-toto link.
3293 &quot;expectedMaterials&quot;: [ # The following fields contain in-toto artifact rules identifying the
3294 # artifacts that enter this supply chain step, and exit the supply chain
3295 # step, i.e. materials and products of the step.
3296 { # Defines an object to declare an in-toto artifact rule
3297 &quot;artifactRule&quot;: [
3298 &quot;A String&quot;,
3299 ],
3300 },
3301 ],
3302 &quot;expectedCommand&quot;: [ # This field contains the expected command used to perform the step.
3303 &quot;A String&quot;,
3304 ],
3305 },
3306 &quot;relatedUrl&quot;: [ # URLs associated with this note.
3307 { # Metadata for any related URL information.
3308 &quot;url&quot;: &quot;A String&quot;, # Specific URL associated with the resource.
3309 &quot;label&quot;: &quot;A String&quot;, # Label to describe usage of the URL.
3310 },
3311 ],
3312 &quot;expirationTime&quot;: &quot;A String&quot;, # Time of expiration for this note. Empty if note does not expire.
3313 &quot;baseImage&quot;: { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image.
3314 # relationship. Linked occurrences are derived from this or an
3315 # equivalent image via:
3316 # FROM &lt;Basis.resource_url&gt;
3317 # Or an equivalent reference, e.g. a tag of the resource_url.
3318 &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # Required. Immutable. The fingerprint of the base image.
3319 &quot;v2Blob&quot;: [ # Required. The ordered list of v2 blobs that represent a given image.
3320 &quot;A String&quot;,
3321 ],
3322 &quot;v1Name&quot;: &quot;A String&quot;, # Required. The layer ID of the final layer in the Docker image&#x27;s v1
3323 # representation.
3324 &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
3325 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
3326 # Only the name of the final blob is kept.
3327 },
3328 &quot;resourceUrl&quot;: &quot;A String&quot;, # Required. Immutable. The resource_url for the resource representing the
3329 # basis of associated occurrence images.
3330 },
3331 &quot;kind&quot;: &quot;A String&quot;, # Output only. The type of analysis. This field can be used as a filter in
3332 # list requests.
3333 &quot;longDescription&quot;: &quot;A String&quot;, # A detailed description of this note.
3334 &quot;deployable&quot;: { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
3335 &quot;resourceUri&quot;: [ # Required. Resource URI for the artifact being deployed.
3336 &quot;A String&quot;,
3337 ],
3338 },
3339 &quot;shortDescription&quot;: &quot;A String&quot;, # A one sentence description of this note.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003340 }</pre>
3341</div>
3342
3343<div class="method">
Bu Sun Kim65020912020-05-20 12:08:20 -07003344 <code class="details" id="getVulnerabilitySummary">getVulnerabilitySummary(parent, filter=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003345 <pre>Gets a summary of the number and severity of occurrences.
3346
3347Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07003348 parent: string, Required. The name of the project to get a vulnerability summary for in the form of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003349`projects/[PROJECT_ID]`. (required)
Bu Sun Kim65020912020-05-20 12:08:20 -07003350 filter: string, The filter expression.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003351 x__xgafv: string, V1 error format.
3352 Allowed values
3353 1 - v1 error format
3354 2 - v2 error format
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003355
3356Returns:
3357 An object of the form:
3358
3359 { # A summary of how many vulnerability occurrences there are per resource and
3360 # severity type.
Bu Sun Kim65020912020-05-20 12:08:20 -07003361 &quot;counts&quot;: [ # A listing by resource of the number of fixable and total vulnerabilities.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003362 { # Per resource and severity counts of fixable and total vulnerabilities.
Bu Sun Kim65020912020-05-20 12:08:20 -07003363 &quot;resource&quot;: { # An entity that can have metadata. For example, a Docker image. # The affected resource.
3364 &quot;name&quot;: &quot;A String&quot;, # Deprecated, do not use. Use uri instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003365 #
3366 # The name of the resource. For example, the name of a Docker image -
Bu Sun Kim65020912020-05-20 12:08:20 -07003367 # &quot;Debian&quot;.
3368 &quot;contentHash&quot;: { # Container message for hash values. # Deprecated, do not use. Use uri instead.
3369 #
3370 # The hash of the resource content. For example, the Docker digest.
3371 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
3372 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
3373 },
3374 &quot;uri&quot;: &quot;A String&quot;, # Required. The unique URI of the resource. For example,
Dan O'Mearadd494642020-05-01 07:42:23 -07003375 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003376 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003377 &quot;severity&quot;: &quot;A String&quot;, # The severity for this count. SEVERITY_UNSPECIFIED indicates total across
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003378 # all severities.
Bu Sun Kim65020912020-05-20 12:08:20 -07003379 &quot;totalCount&quot;: &quot;A String&quot;, # The total number of vulnerabilities associated with this resource.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003380 &quot;fixableCount&quot;: &quot;A String&quot;, # The number of fixable vulnerabilities associated with this resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003381 },
3382 ],
3383 }</pre>
3384</div>
3385
3386<div class="method">
Bu Sun Kim65020912020-05-20 12:08:20 -07003387 <code class="details" id="list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003388 <pre>Lists occurrences for the specified project.
3389
3390Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07003391 parent: string, Required. The name of the project to list occurrences for in the form of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003392`projects/[PROJECT_ID]`. (required)
Bu Sun Kim65020912020-05-20 12:08:20 -07003393 filter: string, The filter expression.
3394 pageToken: string, Token to provide to skip to a particular spot in the list.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003395 pageSize: integer, Number of occurrences to return in the list. Must be positive. Max allowed
3396page size is 1000. If not specified, page size defaults to 20.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003397 x__xgafv: string, V1 error format.
3398 Allowed values
3399 1 - v1 error format
3400 2 - v2 error format
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003401
3402Returns:
3403 An object of the form:
3404
3405 { # Response for listing occurrences.
Bu Sun Kim65020912020-05-20 12:08:20 -07003406 &quot;occurrences&quot;: [ # The occurrences requested.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003407 { # An instance of an analysis type that has been found on a resource.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003408 &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the occurrence details are
3409 # specified. This field can be used as a filter in list requests.
3410 &quot;resource&quot;: { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
3411 &quot;name&quot;: &quot;A String&quot;, # Deprecated, do not use. Use uri instead.
3412 #
3413 # The name of the resource. For example, the name of a Docker image -
3414 # &quot;Debian&quot;.
3415 &quot;contentHash&quot;: { # Container message for hash values. # Deprecated, do not use. Use uri instead.
3416 #
3417 # The hash of the resource content. For example, the Docker digest.
3418 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
3419 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
3420 },
3421 &quot;uri&quot;: &quot;A String&quot;, # Required. The unique URI of the resource. For example,
3422 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
3423 },
3424 &quot;attestation&quot;: { # Details of an attestation occurrence. # Describes an attestation of an artifact.
3425 &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;. The authenticity of an # Required. Attestation for the resource.
3426 # attestation can be verified using the attached signature. If the verifier
3427 # trusts the public key of the signer, then verifying the signature is
3428 # sufficient to establish trust. In this circumstance, the authority to which
3429 # this attestation is attached is primarily useful for look-up (how to find
3430 # this attestation if you already know the authority and artifact to be
3431 # verified) and intent (which authority was this attestation intended to sign
3432 # for).
3433 &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
3434 # supports `ATTACHED` signatures, where the payload that is signed is included
3435 # alongside the signature itself in the same file.
3436 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
3437 # The verifier must ensure that the provided type is one that the verifier
3438 # supports, and that the attestation payload is a valid instantiation of that
3439 # type (for example by validating a JSON schema).
3440 &quot;signature&quot;: &quot;A String&quot;, # Required. The raw content of the signature, as output by GNU Privacy Guard
3441 # (GPG) or equivalent. Since this message only supports attached signatures,
3442 # the payload that was signed must be attached. While the signature format
3443 # supported is dependent on the verification implementation, currently only
3444 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
3445 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
3446 # --output=signature.gpg payload.json` will create the signature content
3447 # expected in this field in `signature.gpg` for the `payload.json`
3448 # attestation payload.
3449 &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
3450 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
3451 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
3452 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
3453 # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
3454 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
3455 # In gpg, the full fingerprint can be retrieved from the `fpr` field
3456 # returned when calling --list-keys with --with-colons. For example:
3457 # ```
3458 # gpg --with-colons --with-fingerprint --force-v4-certs \
3459 # --list-keys attester@example.com
3460 # tru::1:1513631572:0:3:1:5
3461 # pub:...&lt;SNIP&gt;...
3462 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
3463 # ```
3464 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
3465 },
3466 &quot;genericSignedAttestation&quot;: { # An attestation wrapper that uses the Grafeas `Signature` message.
3467 # This attestation must define the `serialized_payload` that the `signatures`
3468 # verify and any metadata necessary to interpret that plaintext. The
3469 # signatures should always be over the `serialized_payload` bytestring.
3470 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
3471 # The verifier must ensure that the provided type is one that the verifier
3472 # supports, and that the attestation payload is a valid instantiation of that
3473 # type (for example by validating a JSON schema).
3474 &quot;signatures&quot;: [ # One or more signatures over `serialized_payload`. Verifier implementations
3475 # should consider this attestation message verified if at least one
3476 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
3477 # for more details on signature structure and verification.
3478 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
3479 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
3480 # Typically this means that the verifier has been configured with a map from
3481 # `public_key_id` to public key material (and any required parameters, e.g.
3482 # signing algorithm).
3483 #
3484 # In particular, verification implementations MUST NOT treat the signature
3485 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
3486 # DOES NOT validate or authenticate a public key; it only provides a mechanism
3487 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
3488 # a trusted channel. Verification implementations MUST reject signatures in any
3489 # of the following circumstances:
3490 # * The `public_key_id` is not recognized by the verifier.
3491 # * The public key that `public_key_id` refers to does not verify the
3492 # signature with respect to the payload.
3493 #
3494 # The `signature` contents SHOULD NOT be &quot;attached&quot; (where the payload is
3495 # included with the serialized `signature` bytes). Verifiers MUST ignore any
3496 # &quot;attached&quot; payload and only verify signatures with respect to explicitly
3497 # provided payload (e.g. a `payload` field on the proto message that holds
3498 # this Signature, or the canonical serialization of the proto message that
3499 # holds this signature).
3500 &quot;publicKeyId&quot;: &quot;A String&quot;, # The identifier for the public key that verifies this signature.
3501 # * The `public_key_id` is required.
3502 # * The `public_key_id` MUST be an RFC3986 conformant URI.
3503 # * When possible, the `public_key_id` SHOULD be an immutable reference,
3504 # such as a cryptographic digest.
3505 #
3506 # Examples of valid `public_key_id`s:
3507 #
3508 # OpenPGP V4 public key fingerprint:
3509 # * &quot;openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA&quot;
3510 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
3511 # details on this scheme.
3512 #
3513 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
3514 # serialization):
3515 # * &quot;ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU&quot;
3516 # * &quot;nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5&quot;
3517 &quot;signature&quot;: &quot;A String&quot;, # The content of the signature, an opaque bytestring.
3518 # The payload that this signature verifies MUST be unambiguously provided
3519 # with the Signature during verification. A wrapper message might provide
3520 # the payload explicitly. Alternatively, a message might have a canonical
3521 # serialization that can always be unambiguously computed to derive the
3522 # payload.
3523 },
3524 ],
3525 &quot;serializedPayload&quot;: &quot;A String&quot;, # The serialized payload that is verified by one or more `signatures`.
3526 # The encoding and semantic meaning of this payload must match what is set in
3527 # `content_type`.
3528 },
3529 },
3530 },
3531 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the occurrence in the form of
3532 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
3533 &quot;vulnerability&quot;: { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
3534 &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
3535 &quot;shortDescription&quot;: &quot;A String&quot;, # Output only. A one sentence description of this vulnerability.
3536 &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is
3537 # available, and note provider assigned severity when distro has not yet
3538 # assigned a severity for this vulnerability.
3539 &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
3540 &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
3541 # scale of 0-10 where 0 indicates low severity and 10 indicates high
3542 # severity.
3543 &quot;relatedUrls&quot;: [ # Output only. URLs related to this vulnerability.
3544 { # Metadata for any related URL information.
3545 &quot;url&quot;: &quot;A String&quot;, # Specific URL associated with the resource.
3546 &quot;label&quot;: &quot;A String&quot;, # Label to describe usage of the URL.
3547 },
3548 ],
3549 &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems, node.js
3550 # packages etc)
3551 &quot;packageIssue&quot;: [ # Required. The set of affected locations and their fixes (if available)
3552 # within the associated resource.
3553 { # This message wraps a location affected by a vulnerability and its
3554 # associated fix (if one is available).
3555 &quot;severityName&quot;: &quot;A String&quot;, # Deprecated, use Details.effective_severity instead
3556 # The severity (e.g., distro assigned severity) for this vulnerability.
3557 &quot;affectedLocation&quot;: { # The location of the vulnerability. # Required. The location of the vulnerability.
3558 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
3559 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
3560 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
3561 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
3562 # name.
3563 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
3564 # versions.
3565 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
3566 },
3567 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
3568 # format. Examples include distro or storage location for vulnerable jar.
3569 },
3570 &quot;fixedLocation&quot;: { # The location of the vulnerability. # The location of the available fix for vulnerability.
3571 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
3572 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
3573 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
3574 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
3575 # name.
3576 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
3577 # versions.
3578 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
3579 },
3580 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
3581 # format. Examples include distro or storage location for vulnerable jar.
3582 },
3583 },
3584 ],
3585 },
3586 &quot;installation&quot;: { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
3587 &quot;installation&quot;: { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
3588 # system.
3589 &quot;location&quot;: [ # Required. All of the places within the filesystem versions of this package
3590 # have been found.
3591 { # An occurrence of a particular package installation found within a system&#x27;s
3592 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
3593 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
3594 # denoting the package manager version distributing a package.
3595 &quot;version&quot;: { # Version contains structured information about the version of a package. # The version installed at this location.
3596 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
3597 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
3598 # name.
3599 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
3600 # versions.
3601 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
3602 },
3603 &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
3604 },
3605 ],
3606 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
3607 },
3608 },
3609 &quot;build&quot;: { # Details of a build occurrence. # Describes a verifiable build.
3610 &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
3611 # build signature in the corresponding build note. After verifying the
3612 # signature, `provenance_bytes` can be unmarshalled and compared to the
3613 # provenance to confirm that it is unchanged. A base64-encoded string
3614 # representation of the provenance bytes is used for the signature in order
3615 # to interoperate with openssl which expects this format for signature
3616 # verification.
3617 #
3618 # The serialized form is captured both to avoid ambiguity in how the
3619 # provenance is marshalled to json as well to prevent incompatibilities with
3620 # future changes.
3621 &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
3622 # details about the build from source to completion.
3623 &quot;endTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
3624 &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
3625 &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
3626 &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
3627 &quot;artifactStorageSourceUri&quot;: &quot;A String&quot;, # If provided, the input binary artifacts for the build came from this
3628 # location.
3629 &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
3630 # these locations, in the case where the source repository had multiple
3631 # remotes or submodules. This list will not include the context specified in
3632 # the context field.
3633 { # A SourceContext is a reference to a tree of files. A SourceContext together
3634 # with a path point to a unique revision of a single file or directory.
3635 &quot;labels&quot;: { # Labels with user defined metadata.
3636 &quot;a_key&quot;: &quot;A String&quot;,
3637 },
3638 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
3639 # repository (e.g., GitHub).
3640 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
3641 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
3642 },
3643 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
3644 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
3645 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
3646 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
3647 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
3648 # hostURI/project.
3649 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
3650 &quot;name&quot;: &quot;A String&quot;, # The alias name.
3651 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
3652 },
3653 },
3654 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
3655 # Source Repo.
3656 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
3657 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
3658 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
3659 # winged-cargo-31) and a repo name within that project.
3660 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
3661 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
3662 },
3663 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
3664 },
3665 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
3666 &quot;name&quot;: &quot;A String&quot;, # The alias name.
3667 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
3668 },
3669 },
3670 },
3671 ],
3672 &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
3673 # source integrity was maintained in the build.
3674 #
3675 # The keys to this map are file paths used as build source and the values
3676 # contain the hash values for those files.
3677 #
3678 # If the build source came in a single package such as a gzipped tarfile
3679 # (.tar.gz), the FileHash will be for the single path to that file.
3680 &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in source
3681 # messages to verify integrity of source input to the build.
3682 &quot;fileHash&quot;: [ # Required. Collection of file hashes.
3683 { # Container message for hash values.
3684 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
3685 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
3686 },
3687 ],
3688 },
3689 },
3690 &quot;context&quot;: { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
3691 # with a path point to a unique revision of a single file or directory.
3692 &quot;labels&quot;: { # Labels with user defined metadata.
3693 &quot;a_key&quot;: &quot;A String&quot;,
3694 },
3695 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
3696 # repository (e.g., GitHub).
3697 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
3698 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
3699 },
3700 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
3701 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
3702 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
3703 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
3704 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
3705 # hostURI/project.
3706 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
3707 &quot;name&quot;: &quot;A String&quot;, # The alias name.
3708 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
3709 },
3710 },
3711 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
3712 # Source Repo.
3713 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
3714 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
3715 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
3716 # winged-cargo-31) and a repo name within that project.
3717 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
3718 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
3719 },
3720 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
3721 },
3722 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
3723 &quot;name&quot;: &quot;A String&quot;, # The alias name.
3724 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
3725 },
3726 },
3727 },
3728 },
3729 &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
3730 &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
3731 &quot;logsUri&quot;: &quot;A String&quot;, # URI where any logs for this provenance were written.
3732 &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
3733 # user&#x27;s e-mail address at the time the build was initiated; this address may
3734 # not represent the same end-user for all time.
3735 &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
3736 &quot;commands&quot;: [ # Commands requested by the build.
3737 { # Command describes a step performed as part of the build pipeline.
3738 &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running this
3739 # command.
3740 &quot;waitFor&quot;: [ # The ID(s) of the command(s) that this command depends on.
3741 &quot;A String&quot;,
3742 ],
3743 &quot;env&quot;: [ # Environment variables set before running this command.
3744 &quot;A String&quot;,
3745 ],
3746 &quot;args&quot;: [ # Command-line arguments used when executing this command.
3747 &quot;A String&quot;,
3748 ],
3749 &quot;name&quot;: &quot;A String&quot;, # Required. Name of the command, as presented on the command line, or if the
3750 # command is packaged as a Docker container, as presented to `docker pull`.
3751 &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this command, used in wait_for to reference
3752 # this command as a dependency.
3753 },
3754 ],
3755 &quot;builtArtifacts&quot;: [ # Output of the build.
3756 { # Artifact describes a build product.
3757 &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
3758 # container.
3759 &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
3760 # like `gcr.io/projectID/imagename@sha256:123456`.
3761 &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
3762 # the case of a container build, the name used to push the container image to
3763 # Google Container Registry, as presented to `docker push`. Note that a
3764 # single Artifact ID can have multiple names, for example if two tags are
3765 # applied to one image.
3766 &quot;A String&quot;,
3767 ],
3768 },
3769 ],
3770 &quot;id&quot;: &quot;A String&quot;, # Required. Unique identifier of the build.
3771 &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
3772 # build providers can enter any desired additional details.
3773 &quot;a_key&quot;: &quot;A String&quot;,
3774 },
3775 },
3776 },
3777 &quot;discovered&quot;: { # Details of a discovery occurrence. # Describes when a resource was discovered.
3778 &quot;discovered&quot;: { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
3779 &quot;analysisStatusError&quot;: { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
3780 # details to show to the user. The LocalizedMessage is output only and
3781 # populated by the API.
3782 # different programming environments, including REST APIs and RPC APIs. It is
3783 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
3784 # three pieces of data: error code, error message, and error details.
3785 #
3786 # You can find out more about this error model and how to work with it in the
3787 # [API Design Guide](https://cloud.google.com/apis/design/errors).
3788 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
3789 # message types for APIs to use.
3790 {
3791 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
3792 },
3793 ],
3794 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
3795 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
3796 # user-facing error message should be localized and sent in the
3797 # google.rpc.Status.details field, or localized by the client.
3798 },
3799 &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
3800 &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
3801 &quot;lastAnalysisTime&quot;: &quot;A String&quot;, # The last time continuous analysis was done for this resource.
3802 # Deprecated, do not use.
3803 },
3804 },
3805 &quot;noteName&quot;: &quot;A String&quot;, # Required. Immutable. The analysis note associated with this occurrence, in
3806 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
3807 # used as a filter in list requests.
3808 &quot;deployment&quot;: { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
3809 &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
3810 &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
3811 &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
3812 &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
3813 &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
3814 &quot;deployTime&quot;: &quot;A String&quot;, # Required. Beginning of the lifetime of this deployment.
3815 &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
3816 &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from
3817 # the deployable field with the same name.
3818 &quot;A String&quot;,
3819 ],
3820 },
3821 },
3822 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was created.
Bu Sun Kim65020912020-05-20 12:08:20 -07003823 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was last updated.
3824 &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the note.
3825 &quot;intoto&quot;: { # This corresponds to a signed in-toto link - it is made up of one or more # Describes a specific in-toto link.
3826 # signatures and the in-toto link itself. This is used for occurrences of a
3827 # Grafeas in-toto note.
3828 &quot;signed&quot;: { # This corresponds to an in-toto link.
3829 &quot;command&quot;: [ # This field contains the full command executed for the step. This can also
3830 # be empty if links are generated for operations that aren&#x27;t directly mapped
3831 # to a specific command. Each term in the command is an independent string
3832 # in the list. An example of a command in the in-toto metadata field is:
3833 # &quot;command&quot;: [&quot;git&quot;, &quot;clone&quot;, &quot;https://github.com/in-toto/demo-project.git&quot;]
3834 &quot;A String&quot;,
3835 ],
3836 &quot;byproducts&quot;: { # Defines an object for the byproducts field in in-toto links. The suggested # ByProducts are data generated as part of a software supply chain step, but
3837 # are not the actual result of the step.
3838 # fields are &quot;stderr&quot;, &quot;stdout&quot;, and &quot;return-value&quot;.
3839 &quot;customValues&quot;: {
3840 &quot;a_key&quot;: &quot;A String&quot;,
3841 },
3842 },
3843 &quot;environment&quot;: { # Defines an object for the environment field in in-toto links. The suggested # This is a field that can be used to capture information about the
3844 # environment. It is suggested for this field to contain information that
3845 # details environment variables, filesystem information, and the present
3846 # working directory. The recommended structure of this field is:
3847 # &quot;environment&quot;: {
3848 # &quot;custom_values&quot;: {
3849 # &quot;variables&quot;: &quot;&lt;ENV&gt;&quot;,
3850 # &quot;filesystem&quot;: &quot;&lt;FS&gt;&quot;,
3851 # &quot;workdir&quot;: &quot;&lt;CWD&gt;&quot;,
3852 # &quot;&lt;ANY OTHER RELEVANT FIELDS&gt;&quot;: &quot;...&quot;
3853 # }
3854 # }
3855 # fields are &quot;variables&quot;, &quot;filesystem&quot;, and &quot;workdir&quot;.
3856 &quot;customValues&quot;: {
3857 &quot;a_key&quot;: &quot;A String&quot;,
3858 },
3859 },
3860 &quot;materials&quot;: [ # Materials are the supply chain artifacts that go into the step and are used
3861 # for the operation performed. The key of the map is the path of the artifact
3862 # and the structure contains the recorded hash information. An example is:
3863 # &quot;materials&quot;: [
3864 # {
3865 # &quot;resource_uri&quot;: &quot;foo/bar&quot;,
3866 # &quot;hashes&quot;: {
3867 # &quot;sha256&quot;: &quot;ebebf...&quot;,
3868 # &lt;OTHER HASH ALGORITHMS&gt;: &lt;HASH VALUE&gt;
3869 # }
3870 # }
3871 # ]
3872 {
3873 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
3874 &quot;sha256&quot;: &quot;A String&quot;,
3875 },
3876 &quot;resourceUri&quot;: &quot;A String&quot;,
3877 },
3878 ],
3879 &quot;products&quot;: [ # Products are the supply chain artifacts generated as a result of the step.
3880 # The structure is identical to that of materials.
3881 {
3882 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
3883 &quot;sha256&quot;: &quot;A String&quot;,
3884 },
3885 &quot;resourceUri&quot;: &quot;A String&quot;,
3886 },
3887 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003888 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003889 &quot;signatures&quot;: [
3890 { # A signature object consists of the KeyID used and the signature itself.
3891 &quot;sig&quot;: &quot;A String&quot;,
3892 &quot;keyid&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003893 },
3894 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003895 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003896 &quot;derivedImage&quot;: { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
3897 # note.
3898 &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
3899 # relationship. This image would be produced from a Dockerfile with FROM
3900 # &lt;DockerImage.Basis in attached Note&gt;.
3901 &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003902 &quot;v2Blob&quot;: [ # Required. The ordered list of v2 blobs that represent a given image.
3903 &quot;A String&quot;,
3904 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07003905 &quot;v1Name&quot;: &quot;A String&quot;, # Required. The layer ID of the final layer in the Docker image&#x27;s v1
3906 # representation.
3907 &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
3908 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
3909 # Only the name of the final blob is kept.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003910 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003911 &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
3912 # &quot;distance&quot; and is ordered with [distance] being the layer immediately
3913 # following the base image and [1] being the final layer.
3914 { # Layer holds metadata specific to a layer of a Docker image.
3915 &quot;directive&quot;: &quot;A String&quot;, # Required. The recovered Dockerfile directive used to construct this layer.
3916 &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
3917 },
3918 ],
3919 &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
3920 # associated image basis.
3921 &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
3922 # occurrence.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003923 },
3924 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003925 },
3926 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003927 &quot;nextPageToken&quot;: &quot;A String&quot;, # The next pagination token in the list response. It should be used as
3928 # `page_token` for the following request. An empty value means no more
3929 # results.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003930 }</pre>
3931</div>
3932
3933<div class="method">
3934 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
3935 <pre>Retrieves the next page of results.
3936
3937Args:
3938 previous_request: The request for the previous page. (required)
3939 previous_response: The response from the request for the previous page. (required)
3940
3941Returns:
Bu Sun Kim65020912020-05-20 12:08:20 -07003942 A request object that you can call &#x27;execute()&#x27; on to request the next
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003943 page. Returns None if there are no more items in the collection.
3944 </pre>
3945</div>
3946
3947<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07003948 <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003949 <pre>Updates the specified occurrence.
3950
3951Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07003952 name: string, Required. The name of the occurrence in the form of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003953`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07003954 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003955 The object takes the form of:
3956
3957{ # An instance of an analysis type that has been found on a resource.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07003958 &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the occurrence details are
3959 # specified. This field can be used as a filter in list requests.
3960 &quot;resource&quot;: { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
3961 &quot;name&quot;: &quot;A String&quot;, # Deprecated, do not use. Use uri instead.
3962 #
3963 # The name of the resource. For example, the name of a Docker image -
3964 # &quot;Debian&quot;.
3965 &quot;contentHash&quot;: { # Container message for hash values. # Deprecated, do not use. Use uri instead.
3966 #
3967 # The hash of the resource content. For example, the Docker digest.
3968 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
3969 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
3970 },
3971 &quot;uri&quot;: &quot;A String&quot;, # Required. The unique URI of the resource. For example,
3972 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
3973 },
3974 &quot;attestation&quot;: { # Details of an attestation occurrence. # Describes an attestation of an artifact.
3975 &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;. The authenticity of an # Required. Attestation for the resource.
3976 # attestation can be verified using the attached signature. If the verifier
3977 # trusts the public key of the signer, then verifying the signature is
3978 # sufficient to establish trust. In this circumstance, the authority to which
3979 # this attestation is attached is primarily useful for look-up (how to find
3980 # this attestation if you already know the authority and artifact to be
3981 # verified) and intent (which authority was this attestation intended to sign
3982 # for).
3983 &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
3984 # supports `ATTACHED` signatures, where the payload that is signed is included
3985 # alongside the signature itself in the same file.
3986 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
3987 # The verifier must ensure that the provided type is one that the verifier
3988 # supports, and that the attestation payload is a valid instantiation of that
3989 # type (for example by validating a JSON schema).
3990 &quot;signature&quot;: &quot;A String&quot;, # Required. The raw content of the signature, as output by GNU Privacy Guard
3991 # (GPG) or equivalent. Since this message only supports attached signatures,
3992 # the payload that was signed must be attached. While the signature format
3993 # supported is dependent on the verification implementation, currently only
3994 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
3995 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
3996 # --output=signature.gpg payload.json` will create the signature content
3997 # expected in this field in `signature.gpg` for the `payload.json`
3998 # attestation payload.
3999 &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
4000 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
4001 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
4002 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
4003 # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
4004 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
4005 # In gpg, the full fingerprint can be retrieved from the `fpr` field
4006 # returned when calling --list-keys with --with-colons. For example:
4007 # ```
4008 # gpg --with-colons --with-fingerprint --force-v4-certs \
4009 # --list-keys attester@example.com
4010 # tru::1:1513631572:0:3:1:5
4011 # pub:...&lt;SNIP&gt;...
4012 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
4013 # ```
4014 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
4015 },
4016 &quot;genericSignedAttestation&quot;: { # An attestation wrapper that uses the Grafeas `Signature` message.
4017 # This attestation must define the `serialized_payload` that the `signatures`
4018 # verify and any metadata necessary to interpret that plaintext. The
4019 # signatures should always be over the `serialized_payload` bytestring.
4020 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
4021 # The verifier must ensure that the provided type is one that the verifier
4022 # supports, and that the attestation payload is a valid instantiation of that
4023 # type (for example by validating a JSON schema).
4024 &quot;signatures&quot;: [ # One or more signatures over `serialized_payload`. Verifier implementations
4025 # should consider this attestation message verified if at least one
4026 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
4027 # for more details on signature structure and verification.
4028 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
4029 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
4030 # Typically this means that the verifier has been configured with a map from
4031 # `public_key_id` to public key material (and any required parameters, e.g.
4032 # signing algorithm).
4033 #
4034 # In particular, verification implementations MUST NOT treat the signature
4035 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
4036 # DOES NOT validate or authenticate a public key; it only provides a mechanism
4037 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
4038 # a trusted channel. Verification implementations MUST reject signatures in any
4039 # of the following circumstances:
4040 # * The `public_key_id` is not recognized by the verifier.
4041 # * The public key that `public_key_id` refers to does not verify the
4042 # signature with respect to the payload.
4043 #
4044 # The `signature` contents SHOULD NOT be &quot;attached&quot; (where the payload is
4045 # included with the serialized `signature` bytes). Verifiers MUST ignore any
4046 # &quot;attached&quot; payload and only verify signatures with respect to explicitly
4047 # provided payload (e.g. a `payload` field on the proto message that holds
4048 # this Signature, or the canonical serialization of the proto message that
4049 # holds this signature).
4050 &quot;publicKeyId&quot;: &quot;A String&quot;, # The identifier for the public key that verifies this signature.
4051 # * The `public_key_id` is required.
4052 # * The `public_key_id` MUST be an RFC3986 conformant URI.
4053 # * When possible, the `public_key_id` SHOULD be an immutable reference,
4054 # such as a cryptographic digest.
4055 #
4056 # Examples of valid `public_key_id`s:
4057 #
4058 # OpenPGP V4 public key fingerprint:
4059 # * &quot;openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA&quot;
4060 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
4061 # details on this scheme.
4062 #
4063 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
4064 # serialization):
4065 # * &quot;ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU&quot;
4066 # * &quot;nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5&quot;
4067 &quot;signature&quot;: &quot;A String&quot;, # The content of the signature, an opaque bytestring.
4068 # The payload that this signature verifies MUST be unambiguously provided
4069 # with the Signature during verification. A wrapper message might provide
4070 # the payload explicitly. Alternatively, a message might have a canonical
4071 # serialization that can always be unambiguously computed to derive the
4072 # payload.
4073 },
4074 ],
4075 &quot;serializedPayload&quot;: &quot;A String&quot;, # The serialized payload that is verified by one or more `signatures`.
4076 # The encoding and semantic meaning of this payload must match what is set in
4077 # `content_type`.
4078 },
4079 },
4080 },
4081 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the occurrence in the form of
4082 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
4083 &quot;vulnerability&quot;: { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
4084 &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
4085 &quot;shortDescription&quot;: &quot;A String&quot;, # Output only. A one sentence description of this vulnerability.
4086 &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is
4087 # available, and note provider assigned severity when distro has not yet
4088 # assigned a severity for this vulnerability.
4089 &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
4090 &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
4091 # scale of 0-10 where 0 indicates low severity and 10 indicates high
4092 # severity.
4093 &quot;relatedUrls&quot;: [ # Output only. URLs related to this vulnerability.
4094 { # Metadata for any related URL information.
4095 &quot;url&quot;: &quot;A String&quot;, # Specific URL associated with the resource.
4096 &quot;label&quot;: &quot;A String&quot;, # Label to describe usage of the URL.
4097 },
4098 ],
4099 &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems, node.js
4100 # packages etc)
4101 &quot;packageIssue&quot;: [ # Required. The set of affected locations and their fixes (if available)
4102 # within the associated resource.
4103 { # This message wraps a location affected by a vulnerability and its
4104 # associated fix (if one is available).
4105 &quot;severityName&quot;: &quot;A String&quot;, # Deprecated, use Details.effective_severity instead
4106 # The severity (e.g., distro assigned severity) for this vulnerability.
4107 &quot;affectedLocation&quot;: { # The location of the vulnerability. # Required. The location of the vulnerability.
4108 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
4109 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
4110 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
4111 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
4112 # name.
4113 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
4114 # versions.
4115 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
4116 },
4117 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
4118 # format. Examples include distro or storage location for vulnerable jar.
4119 },
4120 &quot;fixedLocation&quot;: { # The location of the vulnerability. # The location of the available fix for vulnerability.
4121 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
4122 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
4123 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
4124 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
4125 # name.
4126 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
4127 # versions.
4128 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
4129 },
4130 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
4131 # format. Examples include distro or storage location for vulnerable jar.
4132 },
4133 },
4134 ],
4135 },
4136 &quot;installation&quot;: { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
4137 &quot;installation&quot;: { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
4138 # system.
4139 &quot;location&quot;: [ # Required. All of the places within the filesystem versions of this package
4140 # have been found.
4141 { # An occurrence of a particular package installation found within a system&#x27;s
4142 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
4143 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
4144 # denoting the package manager version distributing a package.
4145 &quot;version&quot;: { # Version contains structured information about the version of a package. # The version installed at this location.
4146 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
4147 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
4148 # name.
4149 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
4150 # versions.
4151 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
4152 },
4153 &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
4154 },
4155 ],
4156 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
4157 },
4158 },
4159 &quot;build&quot;: { # Details of a build occurrence. # Describes a verifiable build.
4160 &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
4161 # build signature in the corresponding build note. After verifying the
4162 # signature, `provenance_bytes` can be unmarshalled and compared to the
4163 # provenance to confirm that it is unchanged. A base64-encoded string
4164 # representation of the provenance bytes is used for the signature in order
4165 # to interoperate with openssl which expects this format for signature
4166 # verification.
4167 #
4168 # The serialized form is captured both to avoid ambiguity in how the
4169 # provenance is marshalled to json as well to prevent incompatibilities with
4170 # future changes.
4171 &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
4172 # details about the build from source to completion.
4173 &quot;endTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
4174 &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
4175 &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
4176 &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
4177 &quot;artifactStorageSourceUri&quot;: &quot;A String&quot;, # If provided, the input binary artifacts for the build came from this
4178 # location.
4179 &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
4180 # these locations, in the case where the source repository had multiple
4181 # remotes or submodules. This list will not include the context specified in
4182 # the context field.
4183 { # A SourceContext is a reference to a tree of files. A SourceContext together
4184 # with a path point to a unique revision of a single file or directory.
4185 &quot;labels&quot;: { # Labels with user defined metadata.
4186 &quot;a_key&quot;: &quot;A String&quot;,
4187 },
4188 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
4189 # repository (e.g., GitHub).
4190 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
4191 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
4192 },
4193 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
4194 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
4195 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
4196 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
4197 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
4198 # hostURI/project.
4199 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
4200 &quot;name&quot;: &quot;A String&quot;, # The alias name.
4201 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
4202 },
4203 },
4204 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
4205 # Source Repo.
4206 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
4207 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
4208 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
4209 # winged-cargo-31) and a repo name within that project.
4210 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
4211 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
4212 },
4213 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
4214 },
4215 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
4216 &quot;name&quot;: &quot;A String&quot;, # The alias name.
4217 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
4218 },
4219 },
4220 },
4221 ],
4222 &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
4223 # source integrity was maintained in the build.
4224 #
4225 # The keys to this map are file paths used as build source and the values
4226 # contain the hash values for those files.
4227 #
4228 # If the build source came in a single package such as a gzipped tarfile
4229 # (.tar.gz), the FileHash will be for the single path to that file.
4230 &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in source
4231 # messages to verify integrity of source input to the build.
4232 &quot;fileHash&quot;: [ # Required. Collection of file hashes.
4233 { # Container message for hash values.
4234 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
4235 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
4236 },
4237 ],
4238 },
4239 },
4240 &quot;context&quot;: { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
4241 # with a path point to a unique revision of a single file or directory.
4242 &quot;labels&quot;: { # Labels with user defined metadata.
4243 &quot;a_key&quot;: &quot;A String&quot;,
4244 },
4245 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
4246 # repository (e.g., GitHub).
4247 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
4248 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
4249 },
4250 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
4251 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
4252 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
4253 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
4254 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
4255 # hostURI/project.
4256 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
4257 &quot;name&quot;: &quot;A String&quot;, # The alias name.
4258 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
4259 },
4260 },
4261 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
4262 # Source Repo.
4263 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
4264 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
4265 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
4266 # winged-cargo-31) and a repo name within that project.
4267 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
4268 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
4269 },
4270 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
4271 },
4272 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
4273 &quot;name&quot;: &quot;A String&quot;, # The alias name.
4274 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
4275 },
4276 },
4277 },
4278 },
4279 &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
4280 &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
4281 &quot;logsUri&quot;: &quot;A String&quot;, # URI where any logs for this provenance were written.
4282 &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
4283 # user&#x27;s e-mail address at the time the build was initiated; this address may
4284 # not represent the same end-user for all time.
4285 &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
4286 &quot;commands&quot;: [ # Commands requested by the build.
4287 { # Command describes a step performed as part of the build pipeline.
4288 &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running this
4289 # command.
4290 &quot;waitFor&quot;: [ # The ID(s) of the command(s) that this command depends on.
4291 &quot;A String&quot;,
4292 ],
4293 &quot;env&quot;: [ # Environment variables set before running this command.
4294 &quot;A String&quot;,
4295 ],
4296 &quot;args&quot;: [ # Command-line arguments used when executing this command.
4297 &quot;A String&quot;,
4298 ],
4299 &quot;name&quot;: &quot;A String&quot;, # Required. Name of the command, as presented on the command line, or if the
4300 # command is packaged as a Docker container, as presented to `docker pull`.
4301 &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this command, used in wait_for to reference
4302 # this command as a dependency.
4303 },
4304 ],
4305 &quot;builtArtifacts&quot;: [ # Output of the build.
4306 { # Artifact describes a build product.
4307 &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
4308 # container.
4309 &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
4310 # like `gcr.io/projectID/imagename@sha256:123456`.
4311 &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
4312 # the case of a container build, the name used to push the container image to
4313 # Google Container Registry, as presented to `docker push`. Note that a
4314 # single Artifact ID can have multiple names, for example if two tags are
4315 # applied to one image.
4316 &quot;A String&quot;,
4317 ],
4318 },
4319 ],
4320 &quot;id&quot;: &quot;A String&quot;, # Required. Unique identifier of the build.
4321 &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
4322 # build providers can enter any desired additional details.
4323 &quot;a_key&quot;: &quot;A String&quot;,
4324 },
4325 },
4326 },
4327 &quot;discovered&quot;: { # Details of a discovery occurrence. # Describes when a resource was discovered.
4328 &quot;discovered&quot;: { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
4329 &quot;analysisStatusError&quot;: { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
4330 # details to show to the user. The LocalizedMessage is output only and
4331 # populated by the API.
4332 # different programming environments, including REST APIs and RPC APIs. It is
4333 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
4334 # three pieces of data: error code, error message, and error details.
4335 #
4336 # You can find out more about this error model and how to work with it in the
4337 # [API Design Guide](https://cloud.google.com/apis/design/errors).
4338 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
4339 # message types for APIs to use.
4340 {
4341 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
4342 },
4343 ],
4344 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
4345 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
4346 # user-facing error message should be localized and sent in the
4347 # google.rpc.Status.details field, or localized by the client.
4348 },
4349 &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
4350 &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
4351 &quot;lastAnalysisTime&quot;: &quot;A String&quot;, # The last time continuous analysis was done for this resource.
4352 # Deprecated, do not use.
4353 },
4354 },
4355 &quot;noteName&quot;: &quot;A String&quot;, # Required. Immutable. The analysis note associated with this occurrence, in
4356 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
4357 # used as a filter in list requests.
4358 &quot;deployment&quot;: { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
4359 &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
4360 &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
4361 &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
4362 &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
4363 &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
4364 &quot;deployTime&quot;: &quot;A String&quot;, # Required. Beginning of the lifetime of this deployment.
4365 &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
4366 &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from
4367 # the deployable field with the same name.
4368 &quot;A String&quot;,
4369 ],
4370 },
4371 },
4372 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was created.
Bu Sun Kim65020912020-05-20 12:08:20 -07004373 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was last updated.
4374 &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the note.
4375 &quot;intoto&quot;: { # This corresponds to a signed in-toto link - it is made up of one or more # Describes a specific in-toto link.
4376 # signatures and the in-toto link itself. This is used for occurrences of a
4377 # Grafeas in-toto note.
4378 &quot;signed&quot;: { # This corresponds to an in-toto link.
4379 &quot;command&quot;: [ # This field contains the full command executed for the step. This can also
4380 # be empty if links are generated for operations that aren&#x27;t directly mapped
4381 # to a specific command. Each term in the command is an independent string
4382 # in the list. An example of a command in the in-toto metadata field is:
4383 # &quot;command&quot;: [&quot;git&quot;, &quot;clone&quot;, &quot;https://github.com/in-toto/demo-project.git&quot;]
4384 &quot;A String&quot;,
4385 ],
4386 &quot;byproducts&quot;: { # Defines an object for the byproducts field in in-toto links. The suggested # ByProducts are data generated as part of a software supply chain step, but
4387 # are not the actual result of the step.
4388 # fields are &quot;stderr&quot;, &quot;stdout&quot;, and &quot;return-value&quot;.
4389 &quot;customValues&quot;: {
4390 &quot;a_key&quot;: &quot;A String&quot;,
4391 },
4392 },
4393 &quot;environment&quot;: { # Defines an object for the environment field in in-toto links. The suggested # This is a field that can be used to capture information about the
4394 # environment. It is suggested for this field to contain information that
4395 # details environment variables, filesystem information, and the present
4396 # working directory. The recommended structure of this field is:
4397 # &quot;environment&quot;: {
4398 # &quot;custom_values&quot;: {
4399 # &quot;variables&quot;: &quot;&lt;ENV&gt;&quot;,
4400 # &quot;filesystem&quot;: &quot;&lt;FS&gt;&quot;,
4401 # &quot;workdir&quot;: &quot;&lt;CWD&gt;&quot;,
4402 # &quot;&lt;ANY OTHER RELEVANT FIELDS&gt;&quot;: &quot;...&quot;
4403 # }
4404 # }
4405 # fields are &quot;variables&quot;, &quot;filesystem&quot;, and &quot;workdir&quot;.
4406 &quot;customValues&quot;: {
4407 &quot;a_key&quot;: &quot;A String&quot;,
4408 },
4409 },
4410 &quot;materials&quot;: [ # Materials are the supply chain artifacts that go into the step and are used
4411 # for the operation performed. The key of the map is the path of the artifact
4412 # and the structure contains the recorded hash information. An example is:
4413 # &quot;materials&quot;: [
4414 # {
4415 # &quot;resource_uri&quot;: &quot;foo/bar&quot;,
4416 # &quot;hashes&quot;: {
4417 # &quot;sha256&quot;: &quot;ebebf...&quot;,
4418 # &lt;OTHER HASH ALGORITHMS&gt;: &lt;HASH VALUE&gt;
4419 # }
4420 # }
4421 # ]
4422 {
4423 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
4424 &quot;sha256&quot;: &quot;A String&quot;,
4425 },
4426 &quot;resourceUri&quot;: &quot;A String&quot;,
4427 },
4428 ],
4429 &quot;products&quot;: [ # Products are the supply chain artifacts generated as a result of the step.
4430 # The structure is identical to that of materials.
4431 {
4432 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
4433 &quot;sha256&quot;: &quot;A String&quot;,
4434 },
4435 &quot;resourceUri&quot;: &quot;A String&quot;,
4436 },
4437 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004438 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004439 &quot;signatures&quot;: [
4440 { # A signature object consists of the KeyID used and the signature itself.
4441 &quot;sig&quot;: &quot;A String&quot;,
4442 &quot;keyid&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004443 },
4444 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004445 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004446 &quot;derivedImage&quot;: { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
4447 # note.
4448 &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
4449 # relationship. This image would be produced from a Dockerfile with FROM
4450 # &lt;DockerImage.Basis in attached Note&gt;.
4451 &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07004452 &quot;v2Blob&quot;: [ # Required. The ordered list of v2 blobs that represent a given image.
4453 &quot;A String&quot;,
4454 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004455 &quot;v1Name&quot;: &quot;A String&quot;, # Required. The layer ID of the final layer in the Docker image&#x27;s v1
4456 # representation.
4457 &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
4458 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
4459 # Only the name of the final blob is kept.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004460 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004461 &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
4462 # &quot;distance&quot; and is ordered with [distance] being the layer immediately
4463 # following the base image and [1] being the final layer.
4464 { # Layer holds metadata specific to a layer of a Docker image.
4465 &quot;directive&quot;: &quot;A String&quot;, # Required. The recovered Dockerfile directive used to construct this layer.
4466 &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
4467 },
4468 ],
4469 &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
4470 # associated image basis.
4471 &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
4472 # occurrence.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004473 },
4474 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004475}
4476
4477 updateMask: string, The fields to update.
4478 x__xgafv: string, V1 error format.
4479 Allowed values
4480 1 - v1 error format
4481 2 - v2 error format
4482
4483Returns:
4484 An object of the form:
4485
4486 { # An instance of an analysis type that has been found on a resource.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07004487 &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the occurrence details are
4488 # specified. This field can be used as a filter in list requests.
4489 &quot;resource&quot;: { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
4490 &quot;name&quot;: &quot;A String&quot;, # Deprecated, do not use. Use uri instead.
4491 #
4492 # The name of the resource. For example, the name of a Docker image -
4493 # &quot;Debian&quot;.
4494 &quot;contentHash&quot;: { # Container message for hash values. # Deprecated, do not use. Use uri instead.
4495 #
4496 # The hash of the resource content. For example, the Docker digest.
4497 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
4498 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
4499 },
4500 &quot;uri&quot;: &quot;A String&quot;, # Required. The unique URI of the resource. For example,
4501 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
4502 },
4503 &quot;attestation&quot;: { # Details of an attestation occurrence. # Describes an attestation of an artifact.
4504 &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;. The authenticity of an # Required. Attestation for the resource.
4505 # attestation can be verified using the attached signature. If the verifier
4506 # trusts the public key of the signer, then verifying the signature is
4507 # sufficient to establish trust. In this circumstance, the authority to which
4508 # this attestation is attached is primarily useful for look-up (how to find
4509 # this attestation if you already know the authority and artifact to be
4510 # verified) and intent (which authority was this attestation intended to sign
4511 # for).
4512 &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
4513 # supports `ATTACHED` signatures, where the payload that is signed is included
4514 # alongside the signature itself in the same file.
4515 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
4516 # The verifier must ensure that the provided type is one that the verifier
4517 # supports, and that the attestation payload is a valid instantiation of that
4518 # type (for example by validating a JSON schema).
4519 &quot;signature&quot;: &quot;A String&quot;, # Required. The raw content of the signature, as output by GNU Privacy Guard
4520 # (GPG) or equivalent. Since this message only supports attached signatures,
4521 # the payload that was signed must be attached. While the signature format
4522 # supported is dependent on the verification implementation, currently only
4523 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
4524 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
4525 # --output=signature.gpg payload.json` will create the signature content
4526 # expected in this field in `signature.gpg` for the `payload.json`
4527 # attestation payload.
4528 &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
4529 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
4530 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
4531 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
4532 # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
4533 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
4534 # In gpg, the full fingerprint can be retrieved from the `fpr` field
4535 # returned when calling --list-keys with --with-colons. For example:
4536 # ```
4537 # gpg --with-colons --with-fingerprint --force-v4-certs \
4538 # --list-keys attester@example.com
4539 # tru::1:1513631572:0:3:1:5
4540 # pub:...&lt;SNIP&gt;...
4541 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
4542 # ```
4543 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
4544 },
4545 &quot;genericSignedAttestation&quot;: { # An attestation wrapper that uses the Grafeas `Signature` message.
4546 # This attestation must define the `serialized_payload` that the `signatures`
4547 # verify and any metadata necessary to interpret that plaintext. The
4548 # signatures should always be over the `serialized_payload` bytestring.
4549 &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
4550 # The verifier must ensure that the provided type is one that the verifier
4551 # supports, and that the attestation payload is a valid instantiation of that
4552 # type (for example by validating a JSON schema).
4553 &quot;signatures&quot;: [ # One or more signatures over `serialized_payload`. Verifier implementations
4554 # should consider this attestation message verified if at least one
4555 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
4556 # for more details on signature structure and verification.
4557 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
4558 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
4559 # Typically this means that the verifier has been configured with a map from
4560 # `public_key_id` to public key material (and any required parameters, e.g.
4561 # signing algorithm).
4562 #
4563 # In particular, verification implementations MUST NOT treat the signature
4564 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
4565 # DOES NOT validate or authenticate a public key; it only provides a mechanism
4566 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
4567 # a trusted channel. Verification implementations MUST reject signatures in any
4568 # of the following circumstances:
4569 # * The `public_key_id` is not recognized by the verifier.
4570 # * The public key that `public_key_id` refers to does not verify the
4571 # signature with respect to the payload.
4572 #
4573 # The `signature` contents SHOULD NOT be &quot;attached&quot; (where the payload is
4574 # included with the serialized `signature` bytes). Verifiers MUST ignore any
4575 # &quot;attached&quot; payload and only verify signatures with respect to explicitly
4576 # provided payload (e.g. a `payload` field on the proto message that holds
4577 # this Signature, or the canonical serialization of the proto message that
4578 # holds this signature).
4579 &quot;publicKeyId&quot;: &quot;A String&quot;, # The identifier for the public key that verifies this signature.
4580 # * The `public_key_id` is required.
4581 # * The `public_key_id` MUST be an RFC3986 conformant URI.
4582 # * When possible, the `public_key_id` SHOULD be an immutable reference,
4583 # such as a cryptographic digest.
4584 #
4585 # Examples of valid `public_key_id`s:
4586 #
4587 # OpenPGP V4 public key fingerprint:
4588 # * &quot;openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA&quot;
4589 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
4590 # details on this scheme.
4591 #
4592 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
4593 # serialization):
4594 # * &quot;ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU&quot;
4595 # * &quot;nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5&quot;
4596 &quot;signature&quot;: &quot;A String&quot;, # The content of the signature, an opaque bytestring.
4597 # The payload that this signature verifies MUST be unambiguously provided
4598 # with the Signature during verification. A wrapper message might provide
4599 # the payload explicitly. Alternatively, a message might have a canonical
4600 # serialization that can always be unambiguously computed to derive the
4601 # payload.
4602 },
4603 ],
4604 &quot;serializedPayload&quot;: &quot;A String&quot;, # The serialized payload that is verified by one or more `signatures`.
4605 # The encoding and semantic meaning of this payload must match what is set in
4606 # `content_type`.
4607 },
4608 },
4609 },
4610 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the occurrence in the form of
4611 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
4612 &quot;vulnerability&quot;: { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
4613 &quot;longDescription&quot;: &quot;A String&quot;, # Output only. A detailed description of this vulnerability.
4614 &quot;shortDescription&quot;: &quot;A String&quot;, # Output only. A one sentence description of this vulnerability.
4615 &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when it is
4616 # available, and note provider assigned severity when distro has not yet
4617 # assigned a severity for this vulnerability.
4618 &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
4619 &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
4620 # scale of 0-10 where 0 indicates low severity and 10 indicates high
4621 # severity.
4622 &quot;relatedUrls&quot;: [ # Output only. URLs related to this vulnerability.
4623 { # Metadata for any related URL information.
4624 &quot;url&quot;: &quot;A String&quot;, # Specific URL associated with the resource.
4625 &quot;label&quot;: &quot;A String&quot;, # Label to describe usage of the URL.
4626 },
4627 ],
4628 &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems, node.js
4629 # packages etc)
4630 &quot;packageIssue&quot;: [ # Required. The set of affected locations and their fixes (if available)
4631 # within the associated resource.
4632 { # This message wraps a location affected by a vulnerability and its
4633 # associated fix (if one is available).
4634 &quot;severityName&quot;: &quot;A String&quot;, # Deprecated, use Details.effective_severity instead
4635 # The severity (e.g., distro assigned severity) for this vulnerability.
4636 &quot;affectedLocation&quot;: { # The location of the vulnerability. # Required. The location of the vulnerability.
4637 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
4638 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
4639 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
4640 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
4641 # name.
4642 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
4643 # versions.
4644 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
4645 },
4646 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
4647 # format. Examples include distro or storage location for vulnerable jar.
4648 },
4649 &quot;fixedLocation&quot;: { # The location of the vulnerability. # The location of the available fix for vulnerability.
4650 &quot;package&quot;: &quot;A String&quot;, # Required. The package being described.
4651 &quot;version&quot;: { # Version contains structured information about the version of a package. # Required. The version of the package being described.
4652 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
4653 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
4654 # name.
4655 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
4656 # versions.
4657 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
4658 },
4659 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
4660 # format. Examples include distro or storage location for vulnerable jar.
4661 },
4662 },
4663 ],
4664 },
4665 &quot;installation&quot;: { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
4666 &quot;installation&quot;: { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
4667 # system.
4668 &quot;location&quot;: [ # Required. All of the places within the filesystem versions of this package
4669 # have been found.
4670 { # An occurrence of a particular package installation found within a system&#x27;s
4671 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
4672 &quot;cpeUri&quot;: &quot;A String&quot;, # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
4673 # denoting the package manager version distributing a package.
4674 &quot;version&quot;: { # Version contains structured information about the version of a package. # The version installed at this location.
4675 &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
4676 &quot;name&quot;: &quot;A String&quot;, # Required only when version kind is NORMAL. The main part of the version
4677 # name.
4678 &quot;kind&quot;: &quot;A String&quot;, # Required. Distinguishes between sentinel MIN/MAX versions and normal
4679 # versions.
4680 &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
4681 },
4682 &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
4683 },
4684 ],
4685 &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
4686 },
4687 },
4688 &quot;build&quot;: { # Details of a build occurrence. # Describes a verifiable build.
4689 &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
4690 # build signature in the corresponding build note. After verifying the
4691 # signature, `provenance_bytes` can be unmarshalled and compared to the
4692 # provenance to confirm that it is unchanged. A base64-encoded string
4693 # representation of the provenance bytes is used for the signature in order
4694 # to interoperate with openssl which expects this format for signature
4695 # verification.
4696 #
4697 # The serialized form is captured both to avoid ambiguity in how the
4698 # provenance is marshalled to json as well to prevent incompatibilities with
4699 # future changes.
4700 &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
4701 # details about the build from source to completion.
4702 &quot;endTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
4703 &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
4704 &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
4705 &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
4706 &quot;artifactStorageSourceUri&quot;: &quot;A String&quot;, # If provided, the input binary artifacts for the build came from this
4707 # location.
4708 &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
4709 # these locations, in the case where the source repository had multiple
4710 # remotes or submodules. This list will not include the context specified in
4711 # the context field.
4712 { # A SourceContext is a reference to a tree of files. A SourceContext together
4713 # with a path point to a unique revision of a single file or directory.
4714 &quot;labels&quot;: { # Labels with user defined metadata.
4715 &quot;a_key&quot;: &quot;A String&quot;,
4716 },
4717 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
4718 # repository (e.g., GitHub).
4719 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
4720 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
4721 },
4722 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
4723 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
4724 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
4725 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
4726 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
4727 # hostURI/project.
4728 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
4729 &quot;name&quot;: &quot;A String&quot;, # The alias name.
4730 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
4731 },
4732 },
4733 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
4734 # Source Repo.
4735 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
4736 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
4737 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
4738 # winged-cargo-31) and a repo name within that project.
4739 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
4740 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
4741 },
4742 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
4743 },
4744 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
4745 &quot;name&quot;: &quot;A String&quot;, # The alias name.
4746 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
4747 },
4748 },
4749 },
4750 ],
4751 &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
4752 # source integrity was maintained in the build.
4753 #
4754 # The keys to this map are file paths used as build source and the values
4755 # contain the hash values for those files.
4756 #
4757 # If the build source came in a single package such as a gzipped tarfile
4758 # (.tar.gz), the FileHash will be for the single path to that file.
4759 &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in source
4760 # messages to verify integrity of source input to the build.
4761 &quot;fileHash&quot;: [ # Required. Collection of file hashes.
4762 { # Container message for hash values.
4763 &quot;type&quot;: &quot;A String&quot;, # Required. The type of hash that was performed.
4764 &quot;value&quot;: &quot;A String&quot;, # Required. The hash value.
4765 },
4766 ],
4767 },
4768 },
4769 &quot;context&quot;: { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
4770 # with a path point to a unique revision of a single file or directory.
4771 &quot;labels&quot;: { # Labels with user defined metadata.
4772 &quot;a_key&quot;: &quot;A String&quot;,
4773 },
4774 &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
4775 # repository (e.g., GitHub).
4776 &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
4777 &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
4778 },
4779 &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
4780 &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
4781 &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
4782 &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
4783 # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is the
4784 # hostURI/project.
4785 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
4786 &quot;name&quot;: &quot;A String&quot;, # The alias name.
4787 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
4788 },
4789 },
4790 &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
4791 # Source Repo.
4792 &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
4793 &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
4794 &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
4795 # winged-cargo-31) and a repo name within that project.
4796 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
4797 &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
4798 },
4799 &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
4800 },
4801 &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
4802 &quot;name&quot;: &quot;A String&quot;, # The alias name.
4803 &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
4804 },
4805 },
4806 },
4807 },
4808 &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
4809 &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
4810 &quot;logsUri&quot;: &quot;A String&quot;, # URI where any logs for this provenance were written.
4811 &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
4812 # user&#x27;s e-mail address at the time the build was initiated; this address may
4813 # not represent the same end-user for all time.
4814 &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
4815 &quot;commands&quot;: [ # Commands requested by the build.
4816 { # Command describes a step performed as part of the build pipeline.
4817 &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running this
4818 # command.
4819 &quot;waitFor&quot;: [ # The ID(s) of the command(s) that this command depends on.
4820 &quot;A String&quot;,
4821 ],
4822 &quot;env&quot;: [ # Environment variables set before running this command.
4823 &quot;A String&quot;,
4824 ],
4825 &quot;args&quot;: [ # Command-line arguments used when executing this command.
4826 &quot;A String&quot;,
4827 ],
4828 &quot;name&quot;: &quot;A String&quot;, # Required. Name of the command, as presented on the command line, or if the
4829 # command is packaged as a Docker container, as presented to `docker pull`.
4830 &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this command, used in wait_for to reference
4831 # this command as a dependency.
4832 },
4833 ],
4834 &quot;builtArtifacts&quot;: [ # Output of the build.
4835 { # Artifact describes a build product.
4836 &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
4837 # container.
4838 &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
4839 # like `gcr.io/projectID/imagename@sha256:123456`.
4840 &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
4841 # the case of a container build, the name used to push the container image to
4842 # Google Container Registry, as presented to `docker push`. Note that a
4843 # single Artifact ID can have multiple names, for example if two tags are
4844 # applied to one image.
4845 &quot;A String&quot;,
4846 ],
4847 },
4848 ],
4849 &quot;id&quot;: &quot;A String&quot;, # Required. Unique identifier of the build.
4850 &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
4851 # build providers can enter any desired additional details.
4852 &quot;a_key&quot;: &quot;A String&quot;,
4853 },
4854 },
4855 },
4856 &quot;discovered&quot;: { # Details of a discovery occurrence. # Describes when a resource was discovered.
4857 &quot;discovered&quot;: { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
4858 &quot;analysisStatusError&quot;: { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
4859 # details to show to the user. The LocalizedMessage is output only and
4860 # populated by the API.
4861 # different programming environments, including REST APIs and RPC APIs. It is
4862 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
4863 # three pieces of data: error code, error message, and error details.
4864 #
4865 # You can find out more about this error model and how to work with it in the
4866 # [API Design Guide](https://cloud.google.com/apis/design/errors).
4867 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
4868 # message types for APIs to use.
4869 {
4870 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
4871 },
4872 ],
4873 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
4874 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
4875 # user-facing error message should be localized and sent in the
4876 # google.rpc.Status.details field, or localized by the client.
4877 },
4878 &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
4879 &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
4880 &quot;lastAnalysisTime&quot;: &quot;A String&quot;, # The last time continuous analysis was done for this resource.
4881 # Deprecated, do not use.
4882 },
4883 },
4884 &quot;noteName&quot;: &quot;A String&quot;, # Required. Immutable. The analysis note associated with this occurrence, in
4885 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
4886 # used as a filter in list requests.
4887 &quot;deployment&quot;: { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
4888 &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
4889 &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
4890 &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
4891 &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
4892 &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
4893 &quot;deployTime&quot;: &quot;A String&quot;, # Required. Beginning of the lifetime of this deployment.
4894 &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
4895 &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from
4896 # the deployable field with the same name.
4897 &quot;A String&quot;,
4898 ],
4899 },
4900 },
4901 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was created.
Bu Sun Kim65020912020-05-20 12:08:20 -07004902 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was last updated.
4903 &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the note.
4904 &quot;intoto&quot;: { # This corresponds to a signed in-toto link - it is made up of one or more # Describes a specific in-toto link.
4905 # signatures and the in-toto link itself. This is used for occurrences of a
4906 # Grafeas in-toto note.
4907 &quot;signed&quot;: { # This corresponds to an in-toto link.
4908 &quot;command&quot;: [ # This field contains the full command executed for the step. This can also
4909 # be empty if links are generated for operations that aren&#x27;t directly mapped
4910 # to a specific command. Each term in the command is an independent string
4911 # in the list. An example of a command in the in-toto metadata field is:
4912 # &quot;command&quot;: [&quot;git&quot;, &quot;clone&quot;, &quot;https://github.com/in-toto/demo-project.git&quot;]
4913 &quot;A String&quot;,
4914 ],
4915 &quot;byproducts&quot;: { # Defines an object for the byproducts field in in-toto links. The suggested # ByProducts are data generated as part of a software supply chain step, but
4916 # are not the actual result of the step.
4917 # fields are &quot;stderr&quot;, &quot;stdout&quot;, and &quot;return-value&quot;.
4918 &quot;customValues&quot;: {
4919 &quot;a_key&quot;: &quot;A String&quot;,
4920 },
4921 },
4922 &quot;environment&quot;: { # Defines an object for the environment field in in-toto links. The suggested # This is a field that can be used to capture information about the
4923 # environment. It is suggested for this field to contain information that
4924 # details environment variables, filesystem information, and the present
4925 # working directory. The recommended structure of this field is:
4926 # &quot;environment&quot;: {
4927 # &quot;custom_values&quot;: {
4928 # &quot;variables&quot;: &quot;&lt;ENV&gt;&quot;,
4929 # &quot;filesystem&quot;: &quot;&lt;FS&gt;&quot;,
4930 # &quot;workdir&quot;: &quot;&lt;CWD&gt;&quot;,
4931 # &quot;&lt;ANY OTHER RELEVANT FIELDS&gt;&quot;: &quot;...&quot;
4932 # }
4933 # }
4934 # fields are &quot;variables&quot;, &quot;filesystem&quot;, and &quot;workdir&quot;.
4935 &quot;customValues&quot;: {
4936 &quot;a_key&quot;: &quot;A String&quot;,
4937 },
4938 },
4939 &quot;materials&quot;: [ # Materials are the supply chain artifacts that go into the step and are used
4940 # for the operation performed. The key of the map is the path of the artifact
4941 # and the structure contains the recorded hash information. An example is:
4942 # &quot;materials&quot;: [
4943 # {
4944 # &quot;resource_uri&quot;: &quot;foo/bar&quot;,
4945 # &quot;hashes&quot;: {
4946 # &quot;sha256&quot;: &quot;ebebf...&quot;,
4947 # &lt;OTHER HASH ALGORITHMS&gt;: &lt;HASH VALUE&gt;
4948 # }
4949 # }
4950 # ]
4951 {
4952 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
4953 &quot;sha256&quot;: &quot;A String&quot;,
4954 },
4955 &quot;resourceUri&quot;: &quot;A String&quot;,
4956 },
4957 ],
4958 &quot;products&quot;: [ # Products are the supply chain artifacts generated as a result of the step.
4959 # The structure is identical to that of materials.
4960 {
4961 &quot;hashes&quot;: { # Defines a hash object for use in Materials and Products.
4962 &quot;sha256&quot;: &quot;A String&quot;,
4963 },
4964 &quot;resourceUri&quot;: &quot;A String&quot;,
4965 },
4966 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004967 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004968 &quot;signatures&quot;: [
4969 { # A signature object consists of the KeyID used and the signature itself.
4970 &quot;sig&quot;: &quot;A String&quot;,
4971 &quot;keyid&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004972 },
4973 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004974 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004975 &quot;derivedImage&quot;: { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
4976 # note.
4977 &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
4978 # relationship. This image would be produced from a Dockerfile with FROM
4979 # &lt;DockerImage.Basis in attached Note&gt;.
4980 &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07004981 &quot;v2Blob&quot;: [ # Required. The ordered list of v2 blobs that represent a given image.
4982 &quot;A String&quot;,
4983 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004984 &quot;v1Name&quot;: &quot;A String&quot;, # Required. The layer ID of the final layer in the Docker image&#x27;s v1
4985 # representation.
4986 &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
4987 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
4988 # Only the name of the final blob is kept.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004989 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004990 &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
4991 # &quot;distance&quot; and is ordered with [distance] being the layer immediately
4992 # following the base image and [1] being the final layer.
4993 { # Layer holds metadata specific to a layer of a Docker image.
4994 &quot;directive&quot;: &quot;A String&quot;, # Required. The recovered Dockerfile directive used to construct this layer.
4995 &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
4996 },
4997 ],
4998 &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
4999 # associated image basis.
5000 &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
5001 # occurrence.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005002 },
5003 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005004 }</pre>
5005</div>
5006
5007<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07005008 <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005009 <pre>Sets the access control policy on the specified note or occurrence.
5010Requires `containeranalysis.notes.setIamPolicy` or
5011`containeranalysis.occurrences.setIamPolicy` permission if the resource is
5012a note or an occurrence, respectively.
5013
5014The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
5015notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
5016occurrences.
5017
5018Args:
5019 resource: string, REQUIRED: The resource for which the policy is being specified.
5020See the operation documentation for the appropriate value for this field. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07005021 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005022 The object takes the form of:
5023
5024{ # Request message for `SetIamPolicy` method.
Bu Sun Kim65020912020-05-20 12:08:20 -07005025 &quot;policy&quot;: { # 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 -07005026 # the policy is limited to a few 10s of KB. An empty policy is a
5027 # valid policy but certain Cloud Platform services (such as Projects)
5028 # might reject them.
Dan O'Mearadd494642020-05-01 07:42:23 -07005029 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005030 #
5031 #
Dan O'Mearadd494642020-05-01 07:42:23 -07005032 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
5033 # `members` to a single `role`. Members can be user accounts, service accounts,
5034 # Google groups, and domains (such as G Suite). A `role` is a named list of
5035 # permissions; each `role` can be an IAM predefined role or a user-created
5036 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005037 #
Bu Sun Kim65020912020-05-20 12:08:20 -07005038 # For some types of Google Cloud resources, a `binding` can also specify a
5039 # `condition`, which is a logical expression that allows access to a resource
5040 # only if the expression evaluates to `true`. A condition can add constraints
5041 # based on attributes of the request, the resource, or both. To learn which
5042 # resources support conditions in their IAM policies, see the
5043 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Dan O'Mearadd494642020-05-01 07:42:23 -07005044 #
5045 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005046 #
5047 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07005048 # &quot;bindings&quot;: [
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005049 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07005050 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
5051 # &quot;members&quot;: [
5052 # &quot;user:mike@example.com&quot;,
5053 # &quot;group:admins@example.com&quot;,
5054 # &quot;domain:google.com&quot;,
5055 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005056 # ]
5057 # },
5058 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07005059 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
5060 # &quot;members&quot;: [
5061 # &quot;user:eve@example.com&quot;
5062 # ],
5063 # &quot;condition&quot;: {
5064 # &quot;title&quot;: &quot;expirable access&quot;,
5065 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
5066 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -07005067 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005068 # }
Dan O'Mearadd494642020-05-01 07:42:23 -07005069 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005070 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
5071 # &quot;version&quot;: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005072 # }
5073 #
Dan O'Mearadd494642020-05-01 07:42:23 -07005074 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005075 #
5076 # bindings:
5077 # - members:
5078 # - user:mike@example.com
5079 # - group:admins@example.com
5080 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -07005081 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
5082 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005083 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -07005084 # - user:eve@example.com
5085 # role: roles/resourcemanager.organizationViewer
5086 # condition:
5087 # title: expirable access
5088 # description: Does not grant access after Sep 2020
Bu Sun Kim65020912020-05-20 12:08:20 -07005089 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
Dan O'Mearadd494642020-05-01 07:42:23 -07005090 # - etag: BwWWja0YfJA=
5091 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005092 #
5093 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -07005094 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07005095 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
5096 # prevent simultaneous updates of a policy from overwriting each other.
5097 # It is strongly suggested that systems make use of the `etag` in the
5098 # read-modify-write cycle to perform policy updates in order to avoid race
5099 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
5100 # systems are expected to put that etag in the request to `setIamPolicy` to
5101 # ensure that their change will be applied to the same version of the policy.
5102 #
5103 # **Important:** If you use IAM Conditions, you must include the `etag` field
5104 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
5105 # you to overwrite a version `3` policy with a version `1` policy, and all of
5106 # the conditions in the version `3` policy are lost.
Bu Sun Kim65020912020-05-20 12:08:20 -07005107 &quot;version&quot;: 42, # Specifies the format of the policy.
5108 #
5109 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
5110 # are rejected.
5111 #
5112 # Any operation that affects conditional role bindings must specify version
5113 # `3`. This requirement applies to the following operations:
5114 #
5115 # * Getting a policy that includes a conditional role binding
5116 # * Adding a conditional role binding to a policy
5117 # * Changing a conditional role binding in a policy
5118 # * Removing any role binding, with or without a condition, from a policy
5119 # that includes conditions
5120 #
5121 # **Important:** If you use IAM Conditions, you must include the `etag` field
5122 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
5123 # you to overwrite a version `3` policy with a version `1` policy, and all of
5124 # the conditions in the version `3` policy are lost.
5125 #
5126 # If a policy does not include any conditions, operations on that policy may
5127 # specify any valid version or leave the field unset.
5128 #
5129 # To learn which resources support conditions in their IAM policies, see the
5130 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
5131 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
Dan O'Mearadd494642020-05-01 07:42:23 -07005132 # `condition` that determines how and when the `bindings` are applied. Each
5133 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005134 { # Associates `members` with a `role`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07005135 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
5136 #
5137 # If the condition evaluates to `true`, then this binding applies to the
5138 # current request.
5139 #
5140 # If the condition evaluates to `false`, then this binding does not apply to
5141 # the current request. However, a different role binding might grant the same
5142 # role to one or more of the members in this binding.
5143 #
5144 # To learn which resources support conditions in their IAM policies, see the
5145 # [IAM
5146 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
5147 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
5148 # are documented at https://github.com/google/cel-spec.
5149 #
5150 # Example (Comparison):
5151 #
5152 # title: &quot;Summary size limit&quot;
5153 # description: &quot;Determines if a summary is less than 100 chars&quot;
5154 # expression: &quot;document.summary.size() &lt; 100&quot;
5155 #
5156 # Example (Equality):
5157 #
5158 # title: &quot;Requestor is owner&quot;
5159 # description: &quot;Determines if requestor is the document owner&quot;
5160 # expression: &quot;document.owner == request.auth.claims.email&quot;
5161 #
5162 # Example (Logic):
5163 #
5164 # title: &quot;Public documents&quot;
5165 # description: &quot;Determine whether the document should be publicly visible&quot;
5166 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
5167 #
5168 # Example (Data Manipulation):
5169 #
5170 # title: &quot;Notification string&quot;
5171 # description: &quot;Create a notification string with a timestamp.&quot;
5172 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
5173 #
5174 # The exact variables and functions that may be referenced within an expression
5175 # are determined by the service that evaluates it. See the service
5176 # documentation for additional information.
5177 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
5178 # describes the expression, e.g. when hovered over it in a UI.
5179 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
5180 # syntax.
5181 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
5182 # its purpose. This can be used e.g. in UIs which allow to enter the
5183 # expression.
5184 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
5185 # reporting, e.g. a file name and a position in the file.
5186 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005187 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005188 # `members` can have the following values:
5189 #
5190 # * `allUsers`: A special identifier that represents anyone who is
5191 # on the internet; with or without a Google account.
5192 #
5193 # * `allAuthenticatedUsers`: A special identifier that represents anyone
5194 # who is authenticated with a Google account or a service account.
5195 #
5196 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -07005197 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005198 #
5199 #
5200 # * `serviceAccount:{emailid}`: An email address that represents a service
5201 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
5202 #
5203 # * `group:{emailid}`: An email address that represents a Google group.
5204 # For example, `admins@example.com`.
5205 #
Dan O'Mearadd494642020-05-01 07:42:23 -07005206 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
5207 # identifier) representing a user that has been recently deleted. For
5208 # example, `alice@example.com?uid=123456789012345678901`. If the user is
5209 # recovered, this value reverts to `user:{emailid}` and the recovered user
5210 # retains the role in the binding.
5211 #
5212 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
5213 # unique identifier) representing a service account that has been recently
5214 # deleted. For example,
5215 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
5216 # If the service account is undeleted, this value reverts to
5217 # `serviceAccount:{emailid}` and the undeleted service account retains the
5218 # role in the binding.
5219 #
5220 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
5221 # identifier) representing a Google group that has been recently
5222 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
5223 # the group is recovered, this value reverts to `group:{emailid}` and the
5224 # recovered group retains the role in the binding.
5225 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005226 #
5227 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
5228 # users of that domain. For example, `google.com` or `example.com`.
5229 #
Bu Sun Kim65020912020-05-20 12:08:20 -07005230 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005231 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005232 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
5233 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005234 },
5235 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005236 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005237 }
5238
5239 x__xgafv: string, V1 error format.
5240 Allowed values
5241 1 - v1 error format
5242 2 - v2 error format
5243
5244Returns:
5245 An object of the form:
5246
Dan O'Mearadd494642020-05-01 07:42:23 -07005247 { # An Identity and Access Management (IAM) policy, which specifies access
5248 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005249 #
5250 #
Dan O'Mearadd494642020-05-01 07:42:23 -07005251 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
5252 # `members` to a single `role`. Members can be user accounts, service accounts,
5253 # Google groups, and domains (such as G Suite). A `role` is a named list of
5254 # permissions; each `role` can be an IAM predefined role or a user-created
5255 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005256 #
Bu Sun Kim65020912020-05-20 12:08:20 -07005257 # For some types of Google Cloud resources, a `binding` can also specify a
5258 # `condition`, which is a logical expression that allows access to a resource
5259 # only if the expression evaluates to `true`. A condition can add constraints
5260 # based on attributes of the request, the resource, or both. To learn which
5261 # resources support conditions in their IAM policies, see the
5262 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Dan O'Mearadd494642020-05-01 07:42:23 -07005263 #
5264 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005265 #
5266 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07005267 # &quot;bindings&quot;: [
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005268 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07005269 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
5270 # &quot;members&quot;: [
5271 # &quot;user:mike@example.com&quot;,
5272 # &quot;group:admins@example.com&quot;,
5273 # &quot;domain:google.com&quot;,
5274 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005275 # ]
5276 # },
5277 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07005278 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
5279 # &quot;members&quot;: [
5280 # &quot;user:eve@example.com&quot;
5281 # ],
5282 # &quot;condition&quot;: {
5283 # &quot;title&quot;: &quot;expirable access&quot;,
5284 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
5285 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -07005286 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005287 # }
Dan O'Mearadd494642020-05-01 07:42:23 -07005288 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005289 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
5290 # &quot;version&quot;: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005291 # }
5292 #
Dan O'Mearadd494642020-05-01 07:42:23 -07005293 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005294 #
5295 # bindings:
5296 # - members:
5297 # - user:mike@example.com
5298 # - group:admins@example.com
5299 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -07005300 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
5301 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005302 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -07005303 # - user:eve@example.com
5304 # role: roles/resourcemanager.organizationViewer
5305 # condition:
5306 # title: expirable access
5307 # description: Does not grant access after Sep 2020
Bu Sun Kim65020912020-05-20 12:08:20 -07005308 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
Dan O'Mearadd494642020-05-01 07:42:23 -07005309 # - etag: BwWWja0YfJA=
5310 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005311 #
5312 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -07005313 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07005314 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
5315 # prevent simultaneous updates of a policy from overwriting each other.
5316 # It is strongly suggested that systems make use of the `etag` in the
5317 # read-modify-write cycle to perform policy updates in order to avoid race
5318 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
5319 # systems are expected to put that etag in the request to `setIamPolicy` to
5320 # ensure that their change will be applied to the same version of the policy.
5321 #
5322 # **Important:** If you use IAM Conditions, you must include the `etag` field
5323 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
5324 # you to overwrite a version `3` policy with a version `1` policy, and all of
5325 # the conditions in the version `3` policy are lost.
Bu Sun Kim65020912020-05-20 12:08:20 -07005326 &quot;version&quot;: 42, # Specifies the format of the policy.
5327 #
5328 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
5329 # are rejected.
5330 #
5331 # Any operation that affects conditional role bindings must specify version
5332 # `3`. This requirement applies to the following operations:
5333 #
5334 # * Getting a policy that includes a conditional role binding
5335 # * Adding a conditional role binding to a policy
5336 # * Changing a conditional role binding in a policy
5337 # * Removing any role binding, with or without a condition, from a policy
5338 # that includes conditions
5339 #
5340 # **Important:** If you use IAM Conditions, you must include the `etag` field
5341 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
5342 # you to overwrite a version `3` policy with a version `1` policy, and all of
5343 # the conditions in the version `3` policy are lost.
5344 #
5345 # If a policy does not include any conditions, operations on that policy may
5346 # specify any valid version or leave the field unset.
5347 #
5348 # To learn which resources support conditions in their IAM policies, see the
5349 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
5350 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
Dan O'Mearadd494642020-05-01 07:42:23 -07005351 # `condition` that determines how and when the `bindings` are applied. Each
5352 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005353 { # Associates `members` with a `role`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07005354 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
5355 #
5356 # If the condition evaluates to `true`, then this binding applies to the
5357 # current request.
5358 #
5359 # If the condition evaluates to `false`, then this binding does not apply to
5360 # the current request. However, a different role binding might grant the same
5361 # role to one or more of the members in this binding.
5362 #
5363 # To learn which resources support conditions in their IAM policies, see the
5364 # [IAM
5365 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
5366 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
5367 # are documented at https://github.com/google/cel-spec.
5368 #
5369 # Example (Comparison):
5370 #
5371 # title: &quot;Summary size limit&quot;
5372 # description: &quot;Determines if a summary is less than 100 chars&quot;
5373 # expression: &quot;document.summary.size() &lt; 100&quot;
5374 #
5375 # Example (Equality):
5376 #
5377 # title: &quot;Requestor is owner&quot;
5378 # description: &quot;Determines if requestor is the document owner&quot;
5379 # expression: &quot;document.owner == request.auth.claims.email&quot;
5380 #
5381 # Example (Logic):
5382 #
5383 # title: &quot;Public documents&quot;
5384 # description: &quot;Determine whether the document should be publicly visible&quot;
5385 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
5386 #
5387 # Example (Data Manipulation):
5388 #
5389 # title: &quot;Notification string&quot;
5390 # description: &quot;Create a notification string with a timestamp.&quot;
5391 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
5392 #
5393 # The exact variables and functions that may be referenced within an expression
5394 # are determined by the service that evaluates it. See the service
5395 # documentation for additional information.
5396 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
5397 # describes the expression, e.g. when hovered over it in a UI.
5398 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
5399 # syntax.
5400 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
5401 # its purpose. This can be used e.g. in UIs which allow to enter the
5402 # expression.
5403 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
5404 # reporting, e.g. a file name and a position in the file.
5405 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005406 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005407 # `members` can have the following values:
5408 #
5409 # * `allUsers`: A special identifier that represents anyone who is
5410 # on the internet; with or without a Google account.
5411 #
5412 # * `allAuthenticatedUsers`: A special identifier that represents anyone
5413 # who is authenticated with a Google account or a service account.
5414 #
5415 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -07005416 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005417 #
5418 #
5419 # * `serviceAccount:{emailid}`: An email address that represents a service
5420 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
5421 #
5422 # * `group:{emailid}`: An email address that represents a Google group.
5423 # For example, `admins@example.com`.
5424 #
Dan O'Mearadd494642020-05-01 07:42:23 -07005425 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
5426 # identifier) representing a user that has been recently deleted. For
5427 # example, `alice@example.com?uid=123456789012345678901`. If the user is
5428 # recovered, this value reverts to `user:{emailid}` and the recovered user
5429 # retains the role in the binding.
5430 #
5431 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
5432 # unique identifier) representing a service account that has been recently
5433 # deleted. For example,
5434 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
5435 # If the service account is undeleted, this value reverts to
5436 # `serviceAccount:{emailid}` and the undeleted service account retains the
5437 # role in the binding.
5438 #
5439 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
5440 # identifier) representing a Google group that has been recently
5441 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
5442 # the group is recovered, this value reverts to `group:{emailid}` and the
5443 # recovered group retains the role in the binding.
5444 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005445 #
5446 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
5447 # users of that domain. For example, `google.com` or `example.com`.
5448 #
Bu Sun Kim65020912020-05-20 12:08:20 -07005449 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005450 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005451 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
5452 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005453 },
5454 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005455 }</pre>
5456</div>
5457
5458<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07005459 <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005460 <pre>Returns the permissions that a caller has on the specified note or
5461occurrence. Requires list permission on the project (for example,
5462`containeranalysis.notes.list`).
5463
5464The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
5465notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
5466occurrences.
5467
5468Args:
5469 resource: string, REQUIRED: The resource for which the policy detail is being requested.
5470See the operation documentation for the appropriate value for this field. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07005471 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005472 The object takes the form of:
5473
5474{ # Request message for `TestIamPermissions` method.
Bu Sun Kim65020912020-05-20 12:08:20 -07005475 &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with
5476 # wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005477 # information see
5478 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
Bu Sun Kim65020912020-05-20 12:08:20 -07005479 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005480 ],
5481 }
5482
5483 x__xgafv: string, V1 error format.
5484 Allowed values
5485 1 - v1 error format
5486 2 - v2 error format
5487
5488Returns:
5489 An object of the form:
5490
5491 { # Response message for `TestIamPermissions` method.
Bu Sun Kim65020912020-05-20 12:08:20 -07005492 &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005493 # allowed.
Bu Sun Kim65020912020-05-20 12:08:20 -07005494 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005495 ],
5496 }</pre>
5497</div>
5498
5499</body></html>