blob: d8771f1f3f4c68e06456b3b2f6e13ab73bc3dfba [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">
78 <code><a href="#batchCreate">batchCreate(parent, body, x__xgafv=None)</a></code></p>
79<p class="firstline">Creates new occurrences in batch.</p>
80<p class="toc_element">
81 <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
82<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">
96 <code><a href="#getVulnerabilitySummary">getVulnerabilitySummary(parent, x__xgafv=None, filter=None)</a></code></p>
97<p class="firstline">Gets a summary of the number and severity of occurrences.</p>
98<p class="toc_element">
99 <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</a></code></p>
100<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">
105 <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
106<p class="firstline">Updates the specified occurrence.</p>
107<p class="toc_element">
108 <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p>
109<p class="firstline">Sets the access control policy on the specified note or occurrence.</p>
110<p class="toc_element">
111 <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p>
112<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">
115 <code class="details" id="batchCreate">batchCreate(parent, body, x__xgafv=None)</code>
116 <pre>Creates new occurrences in batch.
117
118Args:
119 parent: string, The name of the project in the form of `projects/[PROJECT_ID]`, under which
120the occurrences are to be created. (required)
121 body: object, The request body. (required)
122 The object takes the form of:
123
124{ # Request to create occurrences in batch.
125 "occurrences": [ # The occurrences to create. Max allowed length is 1000.
126 { # An instance of an analysis type that has been found on a resource.
127 "kind": "A String", # 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 "resource": { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
130 "contentHash": { # Container message for hash values. # Deprecated, do not use. Use uri instead.
131 #
132 # The hash of the resource content. For example, the Docker digest.
133 "type": "A String", # Required. The type of hash that was performed.
134 "value": "A String", # Required. The hash value.
135 },
136 "uri": "A String", # Required. The unique URI of the resource. For example,
137 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
138 "name": "A String", # Deprecated, do not use. Use uri instead.
139 #
140 # The name of the resource. For example, the name of a Docker image -
141 # "Debian".
142 },
143 "name": "A String", # Output only. The name of the occurrence in the form of
144 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
145 "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
146 "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
147 # scale of 0-10 where 0 indicates low severity and 10 indicates high
148 # severity.
149 "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
150 "type": "A String", # The type of package; whether native or non native(ruby gems, node.js
151 # packages etc)
152 "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is
153 # available, and note provider assigned severity when distro has not yet
154 # assigned a severity for this vulnerability.
155 "relatedUrls": [ # Output only. URLs related to this vulnerability.
156 { # Metadata for any related URL information.
157 "url": "A String", # Specific URL associated with the resource.
158 "label": "A String", # Label to describe usage of the URL.
159 },
160 ],
161 "packageIssue": [ # Required. The set of affected locations and their fixes (if available)
162 # within the associated resource.
163 { # This message wraps a location affected by a vulnerability and its
164 # associated fix (if one is available).
165 "severityName": "A String", # Deprecated, use Details.effective_severity instead
166 # The severity (e.g., distro assigned severity) for this vulnerability.
167 "affectedLocation": { # The location of the vulnerability. # Required. The location of the vulnerability.
168 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
169 # format. Examples include distro or storage location for vulnerable jar.
170 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
171 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
172 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
173 # versions.
174 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
175 # name.
176 "revision": "A String", # The iteration of the package build from the above version.
177 },
178 "package": "A String", # Required. The package being described.
179 },
180 "fixedLocation": { # The location of the vulnerability. # The location of the available fix for vulnerability.
181 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
182 # format. Examples include distro or storage location for vulnerable jar.
183 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
184 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
185 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
186 # versions.
187 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
188 # name.
189 "revision": "A String", # The iteration of the package build from the above version.
190 },
191 "package": "A String", # Required. The package being described.
192 },
193 },
194 ],
195 "longDescription": "A String", # Output only. A detailed description of this vulnerability.
196 "shortDescription": "A String", # Output only. A one sentence description of this vulnerability.
197 },
198 "updateTime": "A String", # Output only. The time this occurrence was last updated.
199 "discovered": { # Details of a discovery occurrence. # Describes when a resource was discovered.
200 "discovered": { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
201 "lastAnalysisTime": "A String", # The last time continuous analysis was done for this resource.
202 # Deprecated, do not use.
203 "analysisStatus": "A String", # The status of discovery for the resource.
204 "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
205 "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
206 # details to show to the user. The LocalizedMessage is output only and
207 # populated by the API.
208 # different programming environments, including REST APIs and RPC APIs. It is
209 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
210 # three pieces of data: error code, error message, and error details.
211 #
212 # You can find out more about this error model and how to work with it in the
213 # [API Design Guide](https://cloud.google.com/apis/design/errors).
214 "message": "A String", # A developer-facing error message, which should be in English. Any
215 # user-facing error message should be localized and sent in the
216 # google.rpc.Status.details field, or localized by the client.
217 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
218 "details": [ # A list of messages that carry the error details. There is a common set of
219 # message types for APIs to use.
220 {
221 "a_key": "", # Properties of the object. Contains field @type with type URL.
222 },
223 ],
224 },
225 },
226 },
227 "attestation": { # Details of an attestation occurrence. # Describes an attestation of an artifact.
228 "attestation": { # Occurrence that represents a single "attestation". The authenticity of an # Required. Attestation for the resource.
229 # attestation can be verified using the attached signature. If the verifier
230 # trusts the public key of the signer, then verifying the signature is
231 # sufficient to establish trust. In this circumstance, the authority to which
232 # this attestation is attached is primarily useful for look-up (how to find
233 # this attestation if you already know the authority and artifact to be
234 # verified) and intent (which authority was this attestation intended to sign
235 # for).
236 "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
237 # supports `ATTACHED` signatures, where the payload that is signed is included
238 # alongside the signature itself in the same file.
239 "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
240 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
241 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
242 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
243 # Implementations may choose to acknowledge "LONG", "SHORT", or other
244 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
245 # In gpg, the full fingerprint can be retrieved from the `fpr` field
246 # returned when calling --list-keys with --with-colons. For example:
247 # ```
248 # gpg --with-colons --with-fingerprint --force-v4-certs \
249 # --list-keys attester@example.com
250 # tru::1:1513631572:0:3:1:5
251 # pub:...<SNIP>...
252 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
253 # ```
254 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
255 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
256 # The verifier must ensure that the provided type is one that the verifier
257 # supports, and that the attestation payload is a valid instantiation of that
258 # type (for example by validating a JSON schema).
259 "signature": "A String", # Required. The raw content of the signature, as output by GNU Privacy Guard
260 # (GPG) or equivalent. Since this message only supports attached signatures,
261 # the payload that was signed must be attached. While the signature format
262 # supported is dependent on the verification implementation, currently only
263 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
264 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
265 # --output=signature.gpg payload.json` will create the signature content
266 # expected in this field in `signature.gpg` for the `payload.json`
267 # attestation payload.
268 },
269 "genericSignedAttestation": { # An attestation wrapper that uses the Grafeas `Signature` message.
270 # This attestation must define the `serialized_payload` that the `signatures`
271 # verify and any metadata necessary to interpret that plaintext. The
272 # signatures should always be over the `serialized_payload` bytestring.
273 "signatures": [ # One or more signatures over `serialized_payload`. Verifier implementations
274 # should consider this attestation message verified if at least one
275 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
276 # for more details on signature structure and verification.
277 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
278 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
279 # Typically this means that the verifier has been configured with a map from
280 # `public_key_id` to public key material (and any required parameters, e.g.
281 # signing algorithm).
282 #
283 # In particular, verification implementations MUST NOT treat the signature
284 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
285 # DOES NOT validate or authenticate a public key; it only provides a mechanism
286 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
287 # a trusted channel. Verification implementations MUST reject signatures in any
288 # of the following circumstances:
289 # * The `public_key_id` is not recognized by the verifier.
290 # * The public key that `public_key_id` refers to does not verify the
291 # signature with respect to the payload.
292 #
293 # The `signature` contents SHOULD NOT be "attached" (where the payload is
294 # included with the serialized `signature` bytes). Verifiers MUST ignore any
295 # "attached" payload and only verify signatures with respect to explicitly
296 # provided payload (e.g. a `payload` field on the proto message that holds
297 # this Signature, or the canonical serialization of the proto message that
298 # holds this signature).
299 "publicKeyId": "A String", # The identifier for the public key that verifies this signature.
300 # * The `public_key_id` is required.
301 # * The `public_key_id` MUST be an RFC3986 conformant URI.
302 # * When possible, the `public_key_id` SHOULD be an immutable reference,
303 # such as a cryptographic digest.
304 #
305 # Examples of valid `public_key_id`s:
306 #
307 # OpenPGP V4 public key fingerprint:
308 # * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA"
309 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
310 # details on this scheme.
311 #
312 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
313 # serialization):
314 # * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU"
315 # * "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5"
316 "signature": "A String", # The content of the signature, an opaque bytestring.
317 # The payload that this signature verifies MUST be unambiguously provided
318 # with the Signature during verification. A wrapper message might provide
319 # the payload explicitly. Alternatively, a message might have a canonical
320 # serialization that can always be unambiguously computed to derive the
321 # payload.
322 },
323 ],
324 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
325 # The verifier must ensure that the provided type is one that the verifier
326 # supports, and that the attestation payload is a valid instantiation of that
327 # type (for example by validating a JSON schema).
328 "serializedPayload": "A String", # The serialized payload that is verified by one or more `signatures`.
329 # The encoding and semantic meaning of this payload must match what is set in
330 # `content_type`.
331 },
332 },
333 },
334 "build": { # Details of a build occurrence. # Describes a verifiable build.
335 "provenance": { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
336 # details about the build from source to completion.
337 "commands": [ # Commands requested by the build.
338 { # Command describes a step performed as part of the build pipeline.
339 "waitFor": [ # The ID(s) of the command(s) that this command depends on.
340 "A String",
341 ],
342 "name": "A String", # Required. Name of the command, as presented on the command line, or if the
343 # command is packaged as a Docker container, as presented to `docker pull`.
344 "args": [ # Command-line arguments used when executing this command.
345 "A String",
346 ],
347 "env": [ # Environment variables set before running this command.
348 "A String",
349 ],
350 "id": "A String", # Optional unique identifier for this command, used in wait_for to reference
351 # this command as a dependency.
352 "dir": "A String", # Working directory (relative to project source root) used when running this
353 # command.
354 },
355 ],
356 "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
357 "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
358 # source integrity was maintained in the build.
359 #
360 # The keys to this map are file paths used as build source and the values
361 # contain the hash values for those files.
362 #
363 # If the build source came in a single package such as a gzipped tarfile
364 # (.tar.gz), the FileHash will be for the single path to that file.
365 "a_key": { # Container message for hashes of byte content of files, used in source
366 # messages to verify integrity of source input to the build.
367 "fileHash": [ # Required. Collection of file hashes.
368 { # Container message for hash values.
369 "type": "A String", # Required. The type of hash that was performed.
370 "value": "A String", # Required. The hash value.
371 },
372 ],
373 },
374 },
375 "artifactStorageSourceUri": "A String", # If provided, the input binary artifacts for the build came from this
376 # location.
377 "additionalContexts": [ # If provided, some of the source code used for the build may be found in
378 # these locations, in the case where the source repository had multiple
379 # remotes or submodules. This list will not include the context specified in
380 # the context field.
381 { # A SourceContext is a reference to a tree of files. A SourceContext together
382 # with a path point to a unique revision of a single file or directory.
383 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
384 # repository (e.g., GitHub).
385 "url": "A String", # Git repository URL.
386 "revisionId": "A String", # Git commit hash.
387 },
388 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
389 # Source Repo.
390 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
391 "kind": "A String", # The alias kind.
392 "name": "A String", # The alias name.
393 },
394 "revisionId": "A String", # A revision ID.
395 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
396 "uid": "A String", # A server-assigned, globally unique identifier.
397 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
398 # winged-cargo-31) and a repo name within that project.
399 "projectId": "A String", # The ID of the project.
400 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
401 },
402 },
403 },
404 "labels": { # Labels with user defined metadata.
405 "a_key": "A String",
406 },
407 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
408 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
409 "kind": "A String", # The alias kind.
410 "name": "A String", # The alias name.
411 },
412 "revisionId": "A String", # A revision (commit) ID.
413 "hostUri": "A String", # The URI of a running Gerrit instance.
414 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
415 # "project/subproject" is a valid project name. The "repo name" is the
416 # hostURI/project.
417 },
418 },
419 ],
420 "context": { # 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.
421 # with a path point to a unique revision of a single file or directory.
422 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
423 # repository (e.g., GitHub).
424 "url": "A String", # Git repository URL.
425 "revisionId": "A String", # Git commit hash.
426 },
427 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
428 # Source Repo.
429 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
430 "kind": "A String", # The alias kind.
431 "name": "A String", # The alias name.
432 },
433 "revisionId": "A String", # A revision ID.
434 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
435 "uid": "A String", # A server-assigned, globally unique identifier.
436 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
437 # winged-cargo-31) and a repo name within that project.
438 "projectId": "A String", # The ID of the project.
439 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
440 },
441 },
442 },
443 "labels": { # Labels with user defined metadata.
444 "a_key": "A String",
445 },
446 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
447 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
448 "kind": "A String", # The alias kind.
449 "name": "A String", # The alias name.
450 },
451 "revisionId": "A String", # A revision (commit) ID.
452 "hostUri": "A String", # The URI of a running Gerrit instance.
453 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
454 # "project/subproject" is a valid project name. The "repo name" is the
455 # hostURI/project.
456 },
457 },
458 },
459 "buildOptions": { # Special options applied to this build. This is a catch-all field where
460 # build providers can enter any desired additional details.
461 "a_key": "A String",
462 },
463 "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
464 # user's e-mail address at the time the build was initiated; this address may
465 # not represent the same end-user for all time.
466 "projectId": "A String", # ID of the project.
467 "builderVersion": "A String", # Version string of the builder at the time this build was executed.
468 "createTime": "A String", # Time at which the build was created.
469 "builtArtifacts": [ # Output of the build.
470 { # Artifact describes a build product.
471 "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
472 # container.
473 "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
474 # like `gcr.io/projectID/imagename@sha256:123456`.
475 "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
476 # the case of a container build, the name used to push the container image to
477 # Google Container Registry, as presented to `docker push`. Note that a
478 # single Artifact ID can have multiple names, for example if two tags are
479 # applied to one image.
480 "A String",
481 ],
482 },
483 ],
484 "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
485 "startTime": "A String", # Time at which execution of the build was started.
486 "endTime": "A String", # Time at which execution of the build was finished.
487 "id": "A String", # Required. Unique identifier of the build.
488 "logsUri": "A String", # URI where any logs for this provenance were written.
489 },
490 "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
491 # build signature in the corresponding build note. After verifying the
492 # signature, `provenance_bytes` can be unmarshalled and compared to the
493 # provenance to confirm that it is unchanged. A base64-encoded string
494 # representation of the provenance bytes is used for the signature in order
495 # to interoperate with openssl which expects this format for signature
496 # verification.
497 #
498 # The serialized form is captured both to avoid ambiguity in how the
499 # provenance is marshalled to json as well to prevent incompatibilities with
500 # future changes.
501 },
502 "deployment": { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
503 "deployment": { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
504 "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from
505 # the deployable field with the same name.
506 "A String",
507 ],
508 "userEmail": "A String", # Identity of the user that triggered this deployment.
509 "address": "A String", # Address of the runtime element hosting this deployment.
510 "platform": "A String", # Platform hosting this deployment.
511 "deployTime": "A String", # Required. Beginning of the lifetime of this deployment.
512 "undeployTime": "A String", # End of the lifetime of this deployment.
513 "config": "A String", # Configuration used to create this deployment.
514 },
515 },
516 "remediation": "A String", # A description of actions that can be taken to remedy the note.
517 "installation": { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
518 "installation": { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
519 # system.
520 "location": [ # Required. All of the places within the filesystem versions of this package
521 # have been found.
522 { # An occurrence of a particular package installation found within a system's
523 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
524 "path": "A String", # The path from which we gathered that this package/version is installed.
525 "cpeUri": "A String", # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
526 # denoting the package manager version distributing a package.
527 "version": { # Version contains structured information about the version of a package. # The version installed at this location.
528 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
529 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
530 # versions.
531 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
532 # name.
533 "revision": "A String", # The iteration of the package build from the above version.
534 },
535 },
536 ],
537 "name": "A String", # Output only. The name of the installed package.
538 },
539 },
540 "createTime": "A String", # Output only. The time this occurrence was created.
541 "derivedImage": { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
542 # note.
543 "derivedImage": { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
544 # relationship. This image would be produced from a Dockerfile with FROM
545 # <DockerImage.Basis in attached Note>.
546 "distance": 42, # Output only. The number of layers by which this image differs from the
547 # associated image basis.
548 "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
549 # occurrence.
550 "layerInfo": [ # This contains layer-specific metadata, if populated it has length
551 # "distance" and is ordered with [distance] being the layer immediately
552 # following the base image and [1] being the final layer.
553 { # Layer holds metadata specific to a layer of a Docker image.
554 "arguments": "A String", # The recovered arguments to the Dockerfile directive.
555 "directive": "A String", # Required. The recovered Dockerfile directive used to construct this layer.
556 },
557 ],
558 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
559 "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
560 # representation.
561 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
562 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
563 # Only the name of the final blob is kept.
564 "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
565 "A String",
566 ],
567 },
568 },
569 },
570 "noteName": "A String", # Required. Immutable. The analysis note associated with this occurrence, in
571 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
572 # used as a filter in list requests.
573 },
574 ],
575 }
576
577 x__xgafv: string, V1 error format.
578 Allowed values
579 1 - v1 error format
580 2 - v2 error format
581
582Returns:
583 An object of the form:
584
585 { # Response for creating occurrences in batch.
586 "occurrences": [ # The occurrences that were created.
587 { # An instance of an analysis type that has been found on a resource.
588 "kind": "A String", # Output only. This explicitly denotes which of the occurrence details are
589 # specified. This field can be used as a filter in list requests.
590 "resource": { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
591 "contentHash": { # Container message for hash values. # Deprecated, do not use. Use uri instead.
592 #
593 # The hash of the resource content. For example, the Docker digest.
594 "type": "A String", # Required. The type of hash that was performed.
595 "value": "A String", # Required. The hash value.
596 },
597 "uri": "A String", # Required. The unique URI of the resource. For example,
598 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
599 "name": "A String", # Deprecated, do not use. Use uri instead.
600 #
601 # The name of the resource. For example, the name of a Docker image -
602 # "Debian".
603 },
604 "name": "A String", # Output only. The name of the occurrence in the form of
605 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
606 "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
607 "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
608 # scale of 0-10 where 0 indicates low severity and 10 indicates high
609 # severity.
610 "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
611 "type": "A String", # The type of package; whether native or non native(ruby gems, node.js
612 # packages etc)
613 "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is
614 # available, and note provider assigned severity when distro has not yet
615 # assigned a severity for this vulnerability.
616 "relatedUrls": [ # Output only. URLs related to this vulnerability.
617 { # Metadata for any related URL information.
618 "url": "A String", # Specific URL associated with the resource.
619 "label": "A String", # Label to describe usage of the URL.
620 },
621 ],
622 "packageIssue": [ # Required. The set of affected locations and their fixes (if available)
623 # within the associated resource.
624 { # This message wraps a location affected by a vulnerability and its
625 # associated fix (if one is available).
626 "severityName": "A String", # Deprecated, use Details.effective_severity instead
627 # The severity (e.g., distro assigned severity) for this vulnerability.
628 "affectedLocation": { # The location of the vulnerability. # Required. The location of the vulnerability.
629 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
630 # format. Examples include distro or storage location for vulnerable jar.
631 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
632 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
633 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
634 # versions.
635 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
636 # name.
637 "revision": "A String", # The iteration of the package build from the above version.
638 },
639 "package": "A String", # Required. The package being described.
640 },
641 "fixedLocation": { # The location of the vulnerability. # The location of the available fix for vulnerability.
642 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
643 # format. Examples include distro or storage location for vulnerable jar.
644 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
645 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
646 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
647 # versions.
648 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
649 # name.
650 "revision": "A String", # The iteration of the package build from the above version.
651 },
652 "package": "A String", # Required. The package being described.
653 },
654 },
655 ],
656 "longDescription": "A String", # Output only. A detailed description of this vulnerability.
657 "shortDescription": "A String", # Output only. A one sentence description of this vulnerability.
658 },
659 "updateTime": "A String", # Output only. The time this occurrence was last updated.
660 "discovered": { # Details of a discovery occurrence. # Describes when a resource was discovered.
661 "discovered": { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
662 "lastAnalysisTime": "A String", # The last time continuous analysis was done for this resource.
663 # Deprecated, do not use.
664 "analysisStatus": "A String", # The status of discovery for the resource.
665 "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
666 "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
667 # details to show to the user. The LocalizedMessage is output only and
668 # populated by the API.
669 # different programming environments, including REST APIs and RPC APIs. It is
670 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
671 # three pieces of data: error code, error message, and error details.
672 #
673 # You can find out more about this error model and how to work with it in the
674 # [API Design Guide](https://cloud.google.com/apis/design/errors).
675 "message": "A String", # A developer-facing error message, which should be in English. Any
676 # user-facing error message should be localized and sent in the
677 # google.rpc.Status.details field, or localized by the client.
678 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
679 "details": [ # A list of messages that carry the error details. There is a common set of
680 # message types for APIs to use.
681 {
682 "a_key": "", # Properties of the object. Contains field @type with type URL.
683 },
684 ],
685 },
686 },
687 },
688 "attestation": { # Details of an attestation occurrence. # Describes an attestation of an artifact.
689 "attestation": { # Occurrence that represents a single "attestation". The authenticity of an # Required. Attestation for the resource.
690 # attestation can be verified using the attached signature. If the verifier
691 # trusts the public key of the signer, then verifying the signature is
692 # sufficient to establish trust. In this circumstance, the authority to which
693 # this attestation is attached is primarily useful for look-up (how to find
694 # this attestation if you already know the authority and artifact to be
695 # verified) and intent (which authority was this attestation intended to sign
696 # for).
697 "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
698 # supports `ATTACHED` signatures, where the payload that is signed is included
699 # alongside the signature itself in the same file.
700 "pgpKeyId": "A String", # 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 "LONG", "SHORT", 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:...<SNIP>...
713 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
714 # ```
715 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
716 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
717 # The verifier must ensure that the provided type is one that the verifier
718 # supports, and that the attestation payload is a valid instantiation of that
719 # type (for example by validating a JSON schema).
720 "signature": "A String", # Required. The raw content of the signature, as output by GNU Privacy Guard
721 # (GPG) or equivalent. Since this message only supports attached signatures,
722 # the payload that was signed must be attached. While the signature format
723 # supported is dependent on the verification implementation, currently only
724 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
725 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
726 # --output=signature.gpg payload.json` will create the signature content
727 # expected in this field in `signature.gpg` for the `payload.json`
728 # attestation payload.
729 },
730 "genericSignedAttestation": { # An attestation wrapper that uses the Grafeas `Signature` message.
731 # This attestation must define the `serialized_payload` that the `signatures`
732 # verify and any metadata necessary to interpret that plaintext. The
733 # signatures should always be over the `serialized_payload` bytestring.
734 "signatures": [ # One or more signatures over `serialized_payload`. Verifier implementations
735 # should consider this attestation message verified if at least one
736 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
737 # for more details on signature structure and verification.
738 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
739 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
740 # Typically this means that the verifier has been configured with a map from
741 # `public_key_id` to public key material (and any required parameters, e.g.
742 # signing algorithm).
743 #
744 # In particular, verification implementations MUST NOT treat the signature
745 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
746 # DOES NOT validate or authenticate a public key; it only provides a mechanism
747 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
748 # a trusted channel. Verification implementations MUST reject signatures in any
749 # of the following circumstances:
750 # * The `public_key_id` is not recognized by the verifier.
751 # * The public key that `public_key_id` refers to does not verify the
752 # signature with respect to the payload.
753 #
754 # The `signature` contents SHOULD NOT be "attached" (where the payload is
755 # included with the serialized `signature` bytes). Verifiers MUST ignore any
756 # "attached" payload and only verify signatures with respect to explicitly
757 # provided payload (e.g. a `payload` field on the proto message that holds
758 # this Signature, or the canonical serialization of the proto message that
759 # holds this signature).
760 "publicKeyId": "A String", # The identifier for the public key that verifies this signature.
761 # * The `public_key_id` is required.
762 # * The `public_key_id` MUST be an RFC3986 conformant URI.
763 # * When possible, the `public_key_id` SHOULD be an immutable reference,
764 # such as a cryptographic digest.
765 #
766 # Examples of valid `public_key_id`s:
767 #
768 # OpenPGP V4 public key fingerprint:
769 # * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA"
770 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
771 # details on this scheme.
772 #
773 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
774 # serialization):
775 # * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU"
776 # * "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5"
777 "signature": "A String", # The content of the signature, an opaque bytestring.
778 # The payload that this signature verifies MUST be unambiguously provided
779 # with the Signature during verification. A wrapper message might provide
780 # the payload explicitly. Alternatively, a message might have a canonical
781 # serialization that can always be unambiguously computed to derive the
782 # payload.
783 },
784 ],
785 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
786 # The verifier must ensure that the provided type is one that the verifier
787 # supports, and that the attestation payload is a valid instantiation of that
788 # type (for example by validating a JSON schema).
789 "serializedPayload": "A String", # The serialized payload that is verified by one or more `signatures`.
790 # The encoding and semantic meaning of this payload must match what is set in
791 # `content_type`.
792 },
793 },
794 },
795 "build": { # Details of a build occurrence. # Describes a verifiable build.
796 "provenance": { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
797 # details about the build from source to completion.
798 "commands": [ # Commands requested by the build.
799 { # Command describes a step performed as part of the build pipeline.
800 "waitFor": [ # The ID(s) of the command(s) that this command depends on.
801 "A String",
802 ],
803 "name": "A String", # Required. Name of the command, as presented on the command line, or if the
804 # command is packaged as a Docker container, as presented to `docker pull`.
805 "args": [ # Command-line arguments used when executing this command.
806 "A String",
807 ],
808 "env": [ # Environment variables set before running this command.
809 "A String",
810 ],
811 "id": "A String", # Optional unique identifier for this command, used in wait_for to reference
812 # this command as a dependency.
813 "dir": "A String", # Working directory (relative to project source root) used when running this
814 # command.
815 },
816 ],
817 "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
818 "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
819 # source integrity was maintained in the build.
820 #
821 # The keys to this map are file paths used as build source and the values
822 # contain the hash values for those files.
823 #
824 # If the build source came in a single package such as a gzipped tarfile
825 # (.tar.gz), the FileHash will be for the single path to that file.
826 "a_key": { # Container message for hashes of byte content of files, used in source
827 # messages to verify integrity of source input to the build.
828 "fileHash": [ # Required. Collection of file hashes.
829 { # Container message for hash values.
830 "type": "A String", # Required. The type of hash that was performed.
831 "value": "A String", # Required. The hash value.
832 },
833 ],
834 },
835 },
836 "artifactStorageSourceUri": "A String", # If provided, the input binary artifacts for the build came from this
837 # location.
838 "additionalContexts": [ # If provided, some of the source code used for the build may be found in
839 # these locations, in the case where the source repository had multiple
840 # remotes or submodules. This list will not include the context specified in
841 # the context field.
842 { # A SourceContext is a reference to a tree of files. A SourceContext together
843 # with a path point to a unique revision of a single file or directory.
844 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
845 # repository (e.g., GitHub).
846 "url": "A String", # Git repository URL.
847 "revisionId": "A String", # Git commit hash.
848 },
849 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
850 # Source Repo.
851 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
852 "kind": "A String", # The alias kind.
853 "name": "A String", # The alias name.
854 },
855 "revisionId": "A String", # A revision ID.
856 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
857 "uid": "A String", # A server-assigned, globally unique identifier.
858 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
859 # winged-cargo-31) and a repo name within that project.
860 "projectId": "A String", # The ID of the project.
861 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
862 },
863 },
864 },
865 "labels": { # Labels with user defined metadata.
866 "a_key": "A String",
867 },
868 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
869 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
870 "kind": "A String", # The alias kind.
871 "name": "A String", # The alias name.
872 },
873 "revisionId": "A String", # A revision (commit) ID.
874 "hostUri": "A String", # The URI of a running Gerrit instance.
875 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
876 # "project/subproject" is a valid project name. The "repo name" is the
877 # hostURI/project.
878 },
879 },
880 ],
881 "context": { # 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.
882 # with a path point to a unique revision of a single file or directory.
883 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
884 # repository (e.g., GitHub).
885 "url": "A String", # Git repository URL.
886 "revisionId": "A String", # Git commit hash.
887 },
888 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
889 # Source Repo.
890 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
891 "kind": "A String", # The alias kind.
892 "name": "A String", # The alias name.
893 },
894 "revisionId": "A String", # A revision ID.
895 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
896 "uid": "A String", # A server-assigned, globally unique identifier.
897 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
898 # winged-cargo-31) and a repo name within that project.
899 "projectId": "A String", # The ID of the project.
900 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
901 },
902 },
903 },
904 "labels": { # Labels with user defined metadata.
905 "a_key": "A String",
906 },
907 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
908 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
909 "kind": "A String", # The alias kind.
910 "name": "A String", # The alias name.
911 },
912 "revisionId": "A String", # A revision (commit) ID.
913 "hostUri": "A String", # The URI of a running Gerrit instance.
914 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
915 # "project/subproject" is a valid project name. The "repo name" is the
916 # hostURI/project.
917 },
918 },
919 },
920 "buildOptions": { # Special options applied to this build. This is a catch-all field where
921 # build providers can enter any desired additional details.
922 "a_key": "A String",
923 },
924 "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
925 # user's e-mail address at the time the build was initiated; this address may
926 # not represent the same end-user for all time.
927 "projectId": "A String", # ID of the project.
928 "builderVersion": "A String", # Version string of the builder at the time this build was executed.
929 "createTime": "A String", # Time at which the build was created.
930 "builtArtifacts": [ # Output of the build.
931 { # Artifact describes a build product.
932 "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
933 # container.
934 "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
935 # like `gcr.io/projectID/imagename@sha256:123456`.
936 "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
937 # the case of a container build, the name used to push the container image to
938 # Google Container Registry, as presented to `docker push`. Note that a
939 # single Artifact ID can have multiple names, for example if two tags are
940 # applied to one image.
941 "A String",
942 ],
943 },
944 ],
945 "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
946 "startTime": "A String", # Time at which execution of the build was started.
947 "endTime": "A String", # Time at which execution of the build was finished.
948 "id": "A String", # Required. Unique identifier of the build.
949 "logsUri": "A String", # URI where any logs for this provenance were written.
950 },
951 "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
952 # build signature in the corresponding build note. After verifying the
953 # signature, `provenance_bytes` can be unmarshalled and compared to the
954 # provenance to confirm that it is unchanged. A base64-encoded string
955 # representation of the provenance bytes is used for the signature in order
956 # to interoperate with openssl which expects this format for signature
957 # verification.
958 #
959 # The serialized form is captured both to avoid ambiguity in how the
960 # provenance is marshalled to json as well to prevent incompatibilities with
961 # future changes.
962 },
963 "deployment": { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
964 "deployment": { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
965 "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from
966 # the deployable field with the same name.
967 "A String",
968 ],
969 "userEmail": "A String", # Identity of the user that triggered this deployment.
970 "address": "A String", # Address of the runtime element hosting this deployment.
971 "platform": "A String", # Platform hosting this deployment.
972 "deployTime": "A String", # Required. Beginning of the lifetime of this deployment.
973 "undeployTime": "A String", # End of the lifetime of this deployment.
974 "config": "A String", # Configuration used to create this deployment.
975 },
976 },
977 "remediation": "A String", # A description of actions that can be taken to remedy the note.
978 "installation": { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
979 "installation": { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
980 # system.
981 "location": [ # Required. All of the places within the filesystem versions of this package
982 # have been found.
983 { # An occurrence of a particular package installation found within a system's
984 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
985 "path": "A String", # The path from which we gathered that this package/version is installed.
986 "cpeUri": "A String", # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
987 # denoting the package manager version distributing a package.
988 "version": { # Version contains structured information about the version of a package. # The version installed at this location.
989 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
990 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
991 # versions.
992 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
993 # name.
994 "revision": "A String", # The iteration of the package build from the above version.
995 },
996 },
997 ],
998 "name": "A String", # Output only. The name of the installed package.
999 },
1000 },
1001 "createTime": "A String", # Output only. The time this occurrence was created.
1002 "derivedImage": { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
1003 # note.
1004 "derivedImage": { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
1005 # relationship. This image would be produced from a Dockerfile with FROM
1006 # <DockerImage.Basis in attached Note>.
1007 "distance": 42, # Output only. The number of layers by which this image differs from the
1008 # associated image basis.
1009 "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
1010 # occurrence.
1011 "layerInfo": [ # This contains layer-specific metadata, if populated it has length
1012 # "distance" and is ordered with [distance] being the layer immediately
1013 # following the base image and [1] being the final layer.
1014 { # Layer holds metadata specific to a layer of a Docker image.
1015 "arguments": "A String", # The recovered arguments to the Dockerfile directive.
1016 "directive": "A String", # Required. The recovered Dockerfile directive used to construct this layer.
1017 },
1018 ],
1019 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
1020 "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
1021 # representation.
1022 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
1023 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
1024 # Only the name of the final blob is kept.
1025 "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
1026 "A String",
1027 ],
1028 },
1029 },
1030 },
1031 "noteName": "A String", # Required. Immutable. The analysis note associated with this occurrence, in
1032 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
1033 # used as a filter in list requests.
1034 },
1035 ],
1036 }</pre>
1037</div>
1038
1039<div class="method">
1040 <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
1041 <pre>Creates a new occurrence.
1042
1043Args:
1044 parent: string, The name of the project in the form of `projects/[PROJECT_ID]`, under which
1045the occurrence is to be created. (required)
1046 body: object, The request body. (required)
1047 The object takes the form of:
1048
1049{ # An instance of an analysis type that has been found on a resource.
1050 "kind": "A String", # Output only. This explicitly denotes which of the occurrence details are
1051 # specified. This field can be used as a filter in list requests.
1052 "resource": { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
1053 "contentHash": { # Container message for hash values. # Deprecated, do not use. Use uri instead.
1054 #
1055 # The hash of the resource content. For example, the Docker digest.
1056 "type": "A String", # Required. The type of hash that was performed.
1057 "value": "A String", # Required. The hash value.
1058 },
1059 "uri": "A String", # Required. The unique URI of the resource. For example,
1060 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
1061 "name": "A String", # Deprecated, do not use. Use uri instead.
1062 #
1063 # The name of the resource. For example, the name of a Docker image -
1064 # "Debian".
1065 },
1066 "name": "A String", # Output only. The name of the occurrence in the form of
1067 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
1068 "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
1069 "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
1070 # scale of 0-10 where 0 indicates low severity and 10 indicates high
1071 # severity.
1072 "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
1073 "type": "A String", # The type of package; whether native or non native(ruby gems, node.js
1074 # packages etc)
1075 "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is
1076 # available, and note provider assigned severity when distro has not yet
1077 # assigned a severity for this vulnerability.
1078 "relatedUrls": [ # Output only. URLs related to this vulnerability.
1079 { # Metadata for any related URL information.
1080 "url": "A String", # Specific URL associated with the resource.
1081 "label": "A String", # Label to describe usage of the URL.
1082 },
1083 ],
1084 "packageIssue": [ # Required. The set of affected locations and their fixes (if available)
1085 # within the associated resource.
1086 { # This message wraps a location affected by a vulnerability and its
1087 # associated fix (if one is available).
1088 "severityName": "A String", # Deprecated, use Details.effective_severity instead
1089 # The severity (e.g., distro assigned severity) for this vulnerability.
1090 "affectedLocation": { # The location of the vulnerability. # Required. The location of the vulnerability.
1091 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
1092 # format. Examples include distro or storage location for vulnerable jar.
1093 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
1094 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1095 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
1096 # versions.
1097 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
1098 # name.
1099 "revision": "A String", # The iteration of the package build from the above version.
1100 },
1101 "package": "A String", # Required. The package being described.
1102 },
1103 "fixedLocation": { # The location of the vulnerability. # The location of the available fix for vulnerability.
1104 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
1105 # format. Examples include distro or storage location for vulnerable jar.
1106 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
1107 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1108 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
1109 # versions.
1110 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
1111 # name.
1112 "revision": "A String", # The iteration of the package build from the above version.
1113 },
1114 "package": "A String", # Required. The package being described.
1115 },
1116 },
1117 ],
1118 "longDescription": "A String", # Output only. A detailed description of this vulnerability.
1119 "shortDescription": "A String", # Output only. A one sentence description of this vulnerability.
1120 },
1121 "updateTime": "A String", # Output only. The time this occurrence was last updated.
1122 "discovered": { # Details of a discovery occurrence. # Describes when a resource was discovered.
1123 "discovered": { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
1124 "lastAnalysisTime": "A String", # The last time continuous analysis was done for this resource.
1125 # Deprecated, do not use.
1126 "analysisStatus": "A String", # The status of discovery for the resource.
1127 "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
1128 "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
1129 # details to show to the user. The LocalizedMessage is output only and
1130 # populated by the API.
1131 # different programming environments, including REST APIs and RPC APIs. It is
1132 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1133 # three pieces of data: error code, error message, and error details.
1134 #
1135 # You can find out more about this error model and how to work with it in the
1136 # [API Design Guide](https://cloud.google.com/apis/design/errors).
1137 "message": "A String", # A developer-facing error message, which should be in English. Any
1138 # user-facing error message should be localized and sent in the
1139 # google.rpc.Status.details field, or localized by the client.
1140 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
1141 "details": [ # A list of messages that carry the error details. There is a common set of
1142 # message types for APIs to use.
1143 {
1144 "a_key": "", # Properties of the object. Contains field @type with type URL.
1145 },
1146 ],
1147 },
1148 },
1149 },
1150 "attestation": { # Details of an attestation occurrence. # Describes an attestation of an artifact.
1151 "attestation": { # Occurrence that represents a single "attestation". The authenticity of an # Required. Attestation for the resource.
1152 # attestation can be verified using the attached signature. If the verifier
1153 # trusts the public key of the signer, then verifying the signature is
1154 # sufficient to establish trust. In this circumstance, the authority to which
1155 # this attestation is attached is primarily useful for look-up (how to find
1156 # this attestation if you already know the authority and artifact to be
1157 # verified) and intent (which authority was this attestation intended to sign
1158 # for).
1159 "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
1160 # supports `ATTACHED` signatures, where the payload that is signed is included
1161 # alongside the signature itself in the same file.
1162 "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
1163 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
1164 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
1165 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
1166 # Implementations may choose to acknowledge "LONG", "SHORT", or other
1167 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
1168 # In gpg, the full fingerprint can be retrieved from the `fpr` field
1169 # returned when calling --list-keys with --with-colons. For example:
1170 # ```
1171 # gpg --with-colons --with-fingerprint --force-v4-certs \
1172 # --list-keys attester@example.com
1173 # tru::1:1513631572:0:3:1:5
1174 # pub:...<SNIP>...
1175 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
1176 # ```
1177 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
1178 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
1179 # The verifier must ensure that the provided type is one that the verifier
1180 # supports, and that the attestation payload is a valid instantiation of that
1181 # type (for example by validating a JSON schema).
1182 "signature": "A String", # Required. The raw content of the signature, as output by GNU Privacy Guard
1183 # (GPG) or equivalent. Since this message only supports attached signatures,
1184 # the payload that was signed must be attached. While the signature format
1185 # supported is dependent on the verification implementation, currently only
1186 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
1187 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
1188 # --output=signature.gpg payload.json` will create the signature content
1189 # expected in this field in `signature.gpg` for the `payload.json`
1190 # attestation payload.
1191 },
1192 "genericSignedAttestation": { # An attestation wrapper that uses the Grafeas `Signature` message.
1193 # This attestation must define the `serialized_payload` that the `signatures`
1194 # verify and any metadata necessary to interpret that plaintext. The
1195 # signatures should always be over the `serialized_payload` bytestring.
1196 "signatures": [ # One or more signatures over `serialized_payload`. Verifier implementations
1197 # should consider this attestation message verified if at least one
1198 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
1199 # for more details on signature structure and verification.
1200 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
1201 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
1202 # Typically this means that the verifier has been configured with a map from
1203 # `public_key_id` to public key material (and any required parameters, e.g.
1204 # signing algorithm).
1205 #
1206 # In particular, verification implementations MUST NOT treat the signature
1207 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
1208 # DOES NOT validate or authenticate a public key; it only provides a mechanism
1209 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
1210 # a trusted channel. Verification implementations MUST reject signatures in any
1211 # of the following circumstances:
1212 # * The `public_key_id` is not recognized by the verifier.
1213 # * The public key that `public_key_id` refers to does not verify the
1214 # signature with respect to the payload.
1215 #
1216 # The `signature` contents SHOULD NOT be "attached" (where the payload is
1217 # included with the serialized `signature` bytes). Verifiers MUST ignore any
1218 # "attached" payload and only verify signatures with respect to explicitly
1219 # provided payload (e.g. a `payload` field on the proto message that holds
1220 # this Signature, or the canonical serialization of the proto message that
1221 # holds this signature).
1222 "publicKeyId": "A String", # The identifier for the public key that verifies this signature.
1223 # * The `public_key_id` is required.
1224 # * The `public_key_id` MUST be an RFC3986 conformant URI.
1225 # * When possible, the `public_key_id` SHOULD be an immutable reference,
1226 # such as a cryptographic digest.
1227 #
1228 # Examples of valid `public_key_id`s:
1229 #
1230 # OpenPGP V4 public key fingerprint:
1231 # * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA"
1232 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
1233 # details on this scheme.
1234 #
1235 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
1236 # serialization):
1237 # * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU"
1238 # * "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5"
1239 "signature": "A String", # The content of the signature, an opaque bytestring.
1240 # The payload that this signature verifies MUST be unambiguously provided
1241 # with the Signature during verification. A wrapper message might provide
1242 # the payload explicitly. Alternatively, a message might have a canonical
1243 # serialization that can always be unambiguously computed to derive the
1244 # payload.
1245 },
1246 ],
1247 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
1248 # The verifier must ensure that the provided type is one that the verifier
1249 # supports, and that the attestation payload is a valid instantiation of that
1250 # type (for example by validating a JSON schema).
1251 "serializedPayload": "A String", # The serialized payload that is verified by one or more `signatures`.
1252 # The encoding and semantic meaning of this payload must match what is set in
1253 # `content_type`.
1254 },
1255 },
1256 },
1257 "build": { # Details of a build occurrence. # Describes a verifiable build.
1258 "provenance": { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
1259 # details about the build from source to completion.
1260 "commands": [ # Commands requested by the build.
1261 { # Command describes a step performed as part of the build pipeline.
1262 "waitFor": [ # The ID(s) of the command(s) that this command depends on.
1263 "A String",
1264 ],
1265 "name": "A String", # Required. Name of the command, as presented on the command line, or if the
1266 # command is packaged as a Docker container, as presented to `docker pull`.
1267 "args": [ # Command-line arguments used when executing this command.
1268 "A String",
1269 ],
1270 "env": [ # Environment variables set before running this command.
1271 "A String",
1272 ],
1273 "id": "A String", # Optional unique identifier for this command, used in wait_for to reference
1274 # this command as a dependency.
1275 "dir": "A String", # Working directory (relative to project source root) used when running this
1276 # command.
1277 },
1278 ],
1279 "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
1280 "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
1281 # source integrity was maintained in the build.
1282 #
1283 # The keys to this map are file paths used as build source and the values
1284 # contain the hash values for those files.
1285 #
1286 # If the build source came in a single package such as a gzipped tarfile
1287 # (.tar.gz), the FileHash will be for the single path to that file.
1288 "a_key": { # Container message for hashes of byte content of files, used in source
1289 # messages to verify integrity of source input to the build.
1290 "fileHash": [ # Required. Collection of file hashes.
1291 { # Container message for hash values.
1292 "type": "A String", # Required. The type of hash that was performed.
1293 "value": "A String", # Required. The hash value.
1294 },
1295 ],
1296 },
1297 },
1298 "artifactStorageSourceUri": "A String", # If provided, the input binary artifacts for the build came from this
1299 # location.
1300 "additionalContexts": [ # If provided, some of the source code used for the build may be found in
1301 # these locations, in the case where the source repository had multiple
1302 # remotes or submodules. This list will not include the context specified in
1303 # the context field.
1304 { # A SourceContext is a reference to a tree of files. A SourceContext together
1305 # with a path point to a unique revision of a single file or directory.
1306 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
1307 # repository (e.g., GitHub).
1308 "url": "A String", # Git repository URL.
1309 "revisionId": "A String", # Git commit hash.
1310 },
1311 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
1312 # Source Repo.
1313 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
1314 "kind": "A String", # The alias kind.
1315 "name": "A String", # The alias name.
1316 },
1317 "revisionId": "A String", # A revision ID.
1318 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
1319 "uid": "A String", # A server-assigned, globally unique identifier.
1320 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
1321 # winged-cargo-31) and a repo name within that project.
1322 "projectId": "A String", # The ID of the project.
1323 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
1324 },
1325 },
1326 },
1327 "labels": { # Labels with user defined metadata.
1328 "a_key": "A String",
1329 },
1330 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
1331 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
1332 "kind": "A String", # The alias kind.
1333 "name": "A String", # The alias name.
1334 },
1335 "revisionId": "A String", # A revision (commit) ID.
1336 "hostUri": "A String", # The URI of a running Gerrit instance.
1337 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
1338 # "project/subproject" is a valid project name. The "repo name" is the
1339 # hostURI/project.
1340 },
1341 },
1342 ],
1343 "context": { # 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.
1344 # with a path point to a unique revision of a single file or directory.
1345 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
1346 # repository (e.g., GitHub).
1347 "url": "A String", # Git repository URL.
1348 "revisionId": "A String", # Git commit hash.
1349 },
1350 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
1351 # Source Repo.
1352 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
1353 "kind": "A String", # The alias kind.
1354 "name": "A String", # The alias name.
1355 },
1356 "revisionId": "A String", # A revision ID.
1357 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
1358 "uid": "A String", # A server-assigned, globally unique identifier.
1359 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
1360 # winged-cargo-31) and a repo name within that project.
1361 "projectId": "A String", # The ID of the project.
1362 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
1363 },
1364 },
1365 },
1366 "labels": { # Labels with user defined metadata.
1367 "a_key": "A String",
1368 },
1369 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
1370 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
1371 "kind": "A String", # The alias kind.
1372 "name": "A String", # The alias name.
1373 },
1374 "revisionId": "A String", # A revision (commit) ID.
1375 "hostUri": "A String", # The URI of a running Gerrit instance.
1376 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
1377 # "project/subproject" is a valid project name. The "repo name" is the
1378 # hostURI/project.
1379 },
1380 },
1381 },
1382 "buildOptions": { # Special options applied to this build. This is a catch-all field where
1383 # build providers can enter any desired additional details.
1384 "a_key": "A String",
1385 },
1386 "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
1387 # user's e-mail address at the time the build was initiated; this address may
1388 # not represent the same end-user for all time.
1389 "projectId": "A String", # ID of the project.
1390 "builderVersion": "A String", # Version string of the builder at the time this build was executed.
1391 "createTime": "A String", # Time at which the build was created.
1392 "builtArtifacts": [ # Output of the build.
1393 { # Artifact describes a build product.
1394 "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
1395 # container.
1396 "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
1397 # like `gcr.io/projectID/imagename@sha256:123456`.
1398 "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
1399 # the case of a container build, the name used to push the container image to
1400 # Google Container Registry, as presented to `docker push`. Note that a
1401 # single Artifact ID can have multiple names, for example if two tags are
1402 # applied to one image.
1403 "A String",
1404 ],
1405 },
1406 ],
1407 "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
1408 "startTime": "A String", # Time at which execution of the build was started.
1409 "endTime": "A String", # Time at which execution of the build was finished.
1410 "id": "A String", # Required. Unique identifier of the build.
1411 "logsUri": "A String", # URI where any logs for this provenance were written.
1412 },
1413 "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
1414 # build signature in the corresponding build note. After verifying the
1415 # signature, `provenance_bytes` can be unmarshalled and compared to the
1416 # provenance to confirm that it is unchanged. A base64-encoded string
1417 # representation of the provenance bytes is used for the signature in order
1418 # to interoperate with openssl which expects this format for signature
1419 # verification.
1420 #
1421 # The serialized form is captured both to avoid ambiguity in how the
1422 # provenance is marshalled to json as well to prevent incompatibilities with
1423 # future changes.
1424 },
1425 "deployment": { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
1426 "deployment": { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
1427 "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from
1428 # the deployable field with the same name.
1429 "A String",
1430 ],
1431 "userEmail": "A String", # Identity of the user that triggered this deployment.
1432 "address": "A String", # Address of the runtime element hosting this deployment.
1433 "platform": "A String", # Platform hosting this deployment.
1434 "deployTime": "A String", # Required. Beginning of the lifetime of this deployment.
1435 "undeployTime": "A String", # End of the lifetime of this deployment.
1436 "config": "A String", # Configuration used to create this deployment.
1437 },
1438 },
1439 "remediation": "A String", # A description of actions that can be taken to remedy the note.
1440 "installation": { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
1441 "installation": { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
1442 # system.
1443 "location": [ # Required. All of the places within the filesystem versions of this package
1444 # have been found.
1445 { # An occurrence of a particular package installation found within a system's
1446 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
1447 "path": "A String", # The path from which we gathered that this package/version is installed.
1448 "cpeUri": "A String", # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
1449 # denoting the package manager version distributing a package.
1450 "version": { # Version contains structured information about the version of a package. # The version installed at this location.
1451 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1452 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
1453 # versions.
1454 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
1455 # name.
1456 "revision": "A String", # The iteration of the package build from the above version.
1457 },
1458 },
1459 ],
1460 "name": "A String", # Output only. The name of the installed package.
1461 },
1462 },
1463 "createTime": "A String", # Output only. The time this occurrence was created.
1464 "derivedImage": { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
1465 # note.
1466 "derivedImage": { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
1467 # relationship. This image would be produced from a Dockerfile with FROM
1468 # <DockerImage.Basis in attached Note>.
1469 "distance": 42, # Output only. The number of layers by which this image differs from the
1470 # associated image basis.
1471 "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
1472 # occurrence.
1473 "layerInfo": [ # This contains layer-specific metadata, if populated it has length
1474 # "distance" and is ordered with [distance] being the layer immediately
1475 # following the base image and [1] being the final layer.
1476 { # Layer holds metadata specific to a layer of a Docker image.
1477 "arguments": "A String", # The recovered arguments to the Dockerfile directive.
1478 "directive": "A String", # Required. The recovered Dockerfile directive used to construct this layer.
1479 },
1480 ],
1481 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
1482 "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
1483 # representation.
1484 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
1485 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
1486 # Only the name of the final blob is kept.
1487 "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
1488 "A String",
1489 ],
1490 },
1491 },
1492 },
1493 "noteName": "A String", # Required. Immutable. The analysis note associated with this occurrence, in
1494 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
1495 # used as a filter in list requests.
1496}
1497
1498 x__xgafv: string, V1 error format.
1499 Allowed values
1500 1 - v1 error format
1501 2 - v2 error format
1502
1503Returns:
1504 An object of the form:
1505
1506 { # An instance of an analysis type that has been found on a resource.
1507 "kind": "A String", # Output only. This explicitly denotes which of the occurrence details are
1508 # specified. This field can be used as a filter in list requests.
1509 "resource": { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
1510 "contentHash": { # Container message for hash values. # Deprecated, do not use. Use uri instead.
1511 #
1512 # The hash of the resource content. For example, the Docker digest.
1513 "type": "A String", # Required. The type of hash that was performed.
1514 "value": "A String", # Required. The hash value.
1515 },
1516 "uri": "A String", # Required. The unique URI of the resource. For example,
1517 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
1518 "name": "A String", # Deprecated, do not use. Use uri instead.
1519 #
1520 # The name of the resource. For example, the name of a Docker image -
1521 # "Debian".
1522 },
1523 "name": "A String", # Output only. The name of the occurrence in the form of
1524 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
1525 "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
1526 "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
1527 # scale of 0-10 where 0 indicates low severity and 10 indicates high
1528 # severity.
1529 "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
1530 "type": "A String", # The type of package; whether native or non native(ruby gems, node.js
1531 # packages etc)
1532 "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is
1533 # available, and note provider assigned severity when distro has not yet
1534 # assigned a severity for this vulnerability.
1535 "relatedUrls": [ # Output only. URLs related to this vulnerability.
1536 { # Metadata for any related URL information.
1537 "url": "A String", # Specific URL associated with the resource.
1538 "label": "A String", # Label to describe usage of the URL.
1539 },
1540 ],
1541 "packageIssue": [ # Required. The set of affected locations and their fixes (if available)
1542 # within the associated resource.
1543 { # This message wraps a location affected by a vulnerability and its
1544 # associated fix (if one is available).
1545 "severityName": "A String", # Deprecated, use Details.effective_severity instead
1546 # The severity (e.g., distro assigned severity) for this vulnerability.
1547 "affectedLocation": { # The location of the vulnerability. # Required. The location of the vulnerability.
1548 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
1549 # format. Examples include distro or storage location for vulnerable jar.
1550 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
1551 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1552 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
1553 # versions.
1554 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
1555 # name.
1556 "revision": "A String", # The iteration of the package build from the above version.
1557 },
1558 "package": "A String", # Required. The package being described.
1559 },
1560 "fixedLocation": { # The location of the vulnerability. # The location of the available fix for vulnerability.
1561 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
1562 # format. Examples include distro or storage location for vulnerable jar.
1563 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
1564 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1565 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
1566 # versions.
1567 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
1568 # name.
1569 "revision": "A String", # The iteration of the package build from the above version.
1570 },
1571 "package": "A String", # Required. The package being described.
1572 },
1573 },
1574 ],
1575 "longDescription": "A String", # Output only. A detailed description of this vulnerability.
1576 "shortDescription": "A String", # Output only. A one sentence description of this vulnerability.
1577 },
1578 "updateTime": "A String", # Output only. The time this occurrence was last updated.
1579 "discovered": { # Details of a discovery occurrence. # Describes when a resource was discovered.
1580 "discovered": { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
1581 "lastAnalysisTime": "A String", # The last time continuous analysis was done for this resource.
1582 # Deprecated, do not use.
1583 "analysisStatus": "A String", # The status of discovery for the resource.
1584 "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
1585 "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
1586 # details to show to the user. The LocalizedMessage is output only and
1587 # populated by the API.
1588 # different programming environments, including REST APIs and RPC APIs. It is
1589 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1590 # three pieces of data: error code, error message, and error details.
1591 #
1592 # You can find out more about this error model and how to work with it in the
1593 # [API Design Guide](https://cloud.google.com/apis/design/errors).
1594 "message": "A String", # A developer-facing error message, which should be in English. Any
1595 # user-facing error message should be localized and sent in the
1596 # google.rpc.Status.details field, or localized by the client.
1597 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
1598 "details": [ # A list of messages that carry the error details. There is a common set of
1599 # message types for APIs to use.
1600 {
1601 "a_key": "", # Properties of the object. Contains field @type with type URL.
1602 },
1603 ],
1604 },
1605 },
1606 },
1607 "attestation": { # Details of an attestation occurrence. # Describes an attestation of an artifact.
1608 "attestation": { # Occurrence that represents a single "attestation". The authenticity of an # Required. Attestation for the resource.
1609 # attestation can be verified using the attached signature. If the verifier
1610 # trusts the public key of the signer, then verifying the signature is
1611 # sufficient to establish trust. In this circumstance, the authority to which
1612 # this attestation is attached is primarily useful for look-up (how to find
1613 # this attestation if you already know the authority and artifact to be
1614 # verified) and intent (which authority was this attestation intended to sign
1615 # for).
1616 "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
1617 # supports `ATTACHED` signatures, where the payload that is signed is included
1618 # alongside the signature itself in the same file.
1619 "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
1620 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
1621 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
1622 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
1623 # Implementations may choose to acknowledge "LONG", "SHORT", or other
1624 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
1625 # In gpg, the full fingerprint can be retrieved from the `fpr` field
1626 # returned when calling --list-keys with --with-colons. For example:
1627 # ```
1628 # gpg --with-colons --with-fingerprint --force-v4-certs \
1629 # --list-keys attester@example.com
1630 # tru::1:1513631572:0:3:1:5
1631 # pub:...<SNIP>...
1632 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
1633 # ```
1634 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
1635 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
1636 # The verifier must ensure that the provided type is one that the verifier
1637 # supports, and that the attestation payload is a valid instantiation of that
1638 # type (for example by validating a JSON schema).
1639 "signature": "A String", # Required. The raw content of the signature, as output by GNU Privacy Guard
1640 # (GPG) or equivalent. Since this message only supports attached signatures,
1641 # the payload that was signed must be attached. While the signature format
1642 # supported is dependent on the verification implementation, currently only
1643 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
1644 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
1645 # --output=signature.gpg payload.json` will create the signature content
1646 # expected in this field in `signature.gpg` for the `payload.json`
1647 # attestation payload.
1648 },
1649 "genericSignedAttestation": { # An attestation wrapper that uses the Grafeas `Signature` message.
1650 # This attestation must define the `serialized_payload` that the `signatures`
1651 # verify and any metadata necessary to interpret that plaintext. The
1652 # signatures should always be over the `serialized_payload` bytestring.
1653 "signatures": [ # One or more signatures over `serialized_payload`. Verifier implementations
1654 # should consider this attestation message verified if at least one
1655 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
1656 # for more details on signature structure and verification.
1657 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
1658 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
1659 # Typically this means that the verifier has been configured with a map from
1660 # `public_key_id` to public key material (and any required parameters, e.g.
1661 # signing algorithm).
1662 #
1663 # In particular, verification implementations MUST NOT treat the signature
1664 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
1665 # DOES NOT validate or authenticate a public key; it only provides a mechanism
1666 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
1667 # a trusted channel. Verification implementations MUST reject signatures in any
1668 # of the following circumstances:
1669 # * The `public_key_id` is not recognized by the verifier.
1670 # * The public key that `public_key_id` refers to does not verify the
1671 # signature with respect to the payload.
1672 #
1673 # The `signature` contents SHOULD NOT be "attached" (where the payload is
1674 # included with the serialized `signature` bytes). Verifiers MUST ignore any
1675 # "attached" payload and only verify signatures with respect to explicitly
1676 # provided payload (e.g. a `payload` field on the proto message that holds
1677 # this Signature, or the canonical serialization of the proto message that
1678 # holds this signature).
1679 "publicKeyId": "A String", # The identifier for the public key that verifies this signature.
1680 # * The `public_key_id` is required.
1681 # * The `public_key_id` MUST be an RFC3986 conformant URI.
1682 # * When possible, the `public_key_id` SHOULD be an immutable reference,
1683 # such as a cryptographic digest.
1684 #
1685 # Examples of valid `public_key_id`s:
1686 #
1687 # OpenPGP V4 public key fingerprint:
1688 # * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA"
1689 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
1690 # details on this scheme.
1691 #
1692 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
1693 # serialization):
1694 # * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU"
1695 # * "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5"
1696 "signature": "A String", # The content of the signature, an opaque bytestring.
1697 # The payload that this signature verifies MUST be unambiguously provided
1698 # with the Signature during verification. A wrapper message might provide
1699 # the payload explicitly. Alternatively, a message might have a canonical
1700 # serialization that can always be unambiguously computed to derive the
1701 # payload.
1702 },
1703 ],
1704 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
1705 # The verifier must ensure that the provided type is one that the verifier
1706 # supports, and that the attestation payload is a valid instantiation of that
1707 # type (for example by validating a JSON schema).
1708 "serializedPayload": "A String", # The serialized payload that is verified by one or more `signatures`.
1709 # The encoding and semantic meaning of this payload must match what is set in
1710 # `content_type`.
1711 },
1712 },
1713 },
1714 "build": { # Details of a build occurrence. # Describes a verifiable build.
1715 "provenance": { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
1716 # details about the build from source to completion.
1717 "commands": [ # Commands requested by the build.
1718 { # Command describes a step performed as part of the build pipeline.
1719 "waitFor": [ # The ID(s) of the command(s) that this command depends on.
1720 "A String",
1721 ],
1722 "name": "A String", # Required. Name of the command, as presented on the command line, or if the
1723 # command is packaged as a Docker container, as presented to `docker pull`.
1724 "args": [ # Command-line arguments used when executing this command.
1725 "A String",
1726 ],
1727 "env": [ # Environment variables set before running this command.
1728 "A String",
1729 ],
1730 "id": "A String", # Optional unique identifier for this command, used in wait_for to reference
1731 # this command as a dependency.
1732 "dir": "A String", # Working directory (relative to project source root) used when running this
1733 # command.
1734 },
1735 ],
1736 "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
1737 "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
1738 # source integrity was maintained in the build.
1739 #
1740 # The keys to this map are file paths used as build source and the values
1741 # contain the hash values for those files.
1742 #
1743 # If the build source came in a single package such as a gzipped tarfile
1744 # (.tar.gz), the FileHash will be for the single path to that file.
1745 "a_key": { # Container message for hashes of byte content of files, used in source
1746 # messages to verify integrity of source input to the build.
1747 "fileHash": [ # Required. Collection of file hashes.
1748 { # Container message for hash values.
1749 "type": "A String", # Required. The type of hash that was performed.
1750 "value": "A String", # Required. The hash value.
1751 },
1752 ],
1753 },
1754 },
1755 "artifactStorageSourceUri": "A String", # If provided, the input binary artifacts for the build came from this
1756 # location.
1757 "additionalContexts": [ # If provided, some of the source code used for the build may be found in
1758 # these locations, in the case where the source repository had multiple
1759 # remotes or submodules. This list will not include the context specified in
1760 # the context field.
1761 { # A SourceContext is a reference to a tree of files. A SourceContext together
1762 # with a path point to a unique revision of a single file or directory.
1763 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
1764 # repository (e.g., GitHub).
1765 "url": "A String", # Git repository URL.
1766 "revisionId": "A String", # Git commit hash.
1767 },
1768 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
1769 # Source Repo.
1770 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
1771 "kind": "A String", # The alias kind.
1772 "name": "A String", # The alias name.
1773 },
1774 "revisionId": "A String", # A revision ID.
1775 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
1776 "uid": "A String", # A server-assigned, globally unique identifier.
1777 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
1778 # winged-cargo-31) and a repo name within that project.
1779 "projectId": "A String", # The ID of the project.
1780 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
1781 },
1782 },
1783 },
1784 "labels": { # Labels with user defined metadata.
1785 "a_key": "A String",
1786 },
1787 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
1788 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
1789 "kind": "A String", # The alias kind.
1790 "name": "A String", # The alias name.
1791 },
1792 "revisionId": "A String", # A revision (commit) ID.
1793 "hostUri": "A String", # The URI of a running Gerrit instance.
1794 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
1795 # "project/subproject" is a valid project name. The "repo name" is the
1796 # hostURI/project.
1797 },
1798 },
1799 ],
1800 "context": { # 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.
1801 # with a path point to a unique revision of a single file or directory.
1802 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
1803 # repository (e.g., GitHub).
1804 "url": "A String", # Git repository URL.
1805 "revisionId": "A String", # Git commit hash.
1806 },
1807 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
1808 # Source Repo.
1809 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
1810 "kind": "A String", # The alias kind.
1811 "name": "A String", # The alias name.
1812 },
1813 "revisionId": "A String", # A revision ID.
1814 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
1815 "uid": "A String", # A server-assigned, globally unique identifier.
1816 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
1817 # winged-cargo-31) and a repo name within that project.
1818 "projectId": "A String", # The ID of the project.
1819 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
1820 },
1821 },
1822 },
1823 "labels": { # Labels with user defined metadata.
1824 "a_key": "A String",
1825 },
1826 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
1827 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
1828 "kind": "A String", # The alias kind.
1829 "name": "A String", # The alias name.
1830 },
1831 "revisionId": "A String", # A revision (commit) ID.
1832 "hostUri": "A String", # The URI of a running Gerrit instance.
1833 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
1834 # "project/subproject" is a valid project name. The "repo name" is the
1835 # hostURI/project.
1836 },
1837 },
1838 },
1839 "buildOptions": { # Special options applied to this build. This is a catch-all field where
1840 # build providers can enter any desired additional details.
1841 "a_key": "A String",
1842 },
1843 "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
1844 # user's e-mail address at the time the build was initiated; this address may
1845 # not represent the same end-user for all time.
1846 "projectId": "A String", # ID of the project.
1847 "builderVersion": "A String", # Version string of the builder at the time this build was executed.
1848 "createTime": "A String", # Time at which the build was created.
1849 "builtArtifacts": [ # Output of the build.
1850 { # Artifact describes a build product.
1851 "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
1852 # container.
1853 "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
1854 # like `gcr.io/projectID/imagename@sha256:123456`.
1855 "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
1856 # the case of a container build, the name used to push the container image to
1857 # Google Container Registry, as presented to `docker push`. Note that a
1858 # single Artifact ID can have multiple names, for example if two tags are
1859 # applied to one image.
1860 "A String",
1861 ],
1862 },
1863 ],
1864 "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
1865 "startTime": "A String", # Time at which execution of the build was started.
1866 "endTime": "A String", # Time at which execution of the build was finished.
1867 "id": "A String", # Required. Unique identifier of the build.
1868 "logsUri": "A String", # URI where any logs for this provenance were written.
1869 },
1870 "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
1871 # build signature in the corresponding build note. After verifying the
1872 # signature, `provenance_bytes` can be unmarshalled and compared to the
1873 # provenance to confirm that it is unchanged. A base64-encoded string
1874 # representation of the provenance bytes is used for the signature in order
1875 # to interoperate with openssl which expects this format for signature
1876 # verification.
1877 #
1878 # The serialized form is captured both to avoid ambiguity in how the
1879 # provenance is marshalled to json as well to prevent incompatibilities with
1880 # future changes.
1881 },
1882 "deployment": { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
1883 "deployment": { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
1884 "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from
1885 # the deployable field with the same name.
1886 "A String",
1887 ],
1888 "userEmail": "A String", # Identity of the user that triggered this deployment.
1889 "address": "A String", # Address of the runtime element hosting this deployment.
1890 "platform": "A String", # Platform hosting this deployment.
1891 "deployTime": "A String", # Required. Beginning of the lifetime of this deployment.
1892 "undeployTime": "A String", # End of the lifetime of this deployment.
1893 "config": "A String", # Configuration used to create this deployment.
1894 },
1895 },
1896 "remediation": "A String", # A description of actions that can be taken to remedy the note.
1897 "installation": { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
1898 "installation": { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
1899 # system.
1900 "location": [ # Required. All of the places within the filesystem versions of this package
1901 # have been found.
1902 { # An occurrence of a particular package installation found within a system's
1903 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
1904 "path": "A String", # The path from which we gathered that this package/version is installed.
1905 "cpeUri": "A String", # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
1906 # denoting the package manager version distributing a package.
1907 "version": { # Version contains structured information about the version of a package. # The version installed at this location.
1908 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
1909 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
1910 # versions.
1911 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
1912 # name.
1913 "revision": "A String", # The iteration of the package build from the above version.
1914 },
1915 },
1916 ],
1917 "name": "A String", # Output only. The name of the installed package.
1918 },
1919 },
1920 "createTime": "A String", # Output only. The time this occurrence was created.
1921 "derivedImage": { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
1922 # note.
1923 "derivedImage": { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
1924 # relationship. This image would be produced from a Dockerfile with FROM
1925 # <DockerImage.Basis in attached Note>.
1926 "distance": 42, # Output only. The number of layers by which this image differs from the
1927 # associated image basis.
1928 "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
1929 # occurrence.
1930 "layerInfo": [ # This contains layer-specific metadata, if populated it has length
1931 # "distance" and is ordered with [distance] being the layer immediately
1932 # following the base image and [1] being the final layer.
1933 { # Layer holds metadata specific to a layer of a Docker image.
1934 "arguments": "A String", # The recovered arguments to the Dockerfile directive.
1935 "directive": "A String", # Required. The recovered Dockerfile directive used to construct this layer.
1936 },
1937 ],
1938 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
1939 "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
1940 # representation.
1941 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
1942 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
1943 # Only the name of the final blob is kept.
1944 "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
1945 "A String",
1946 ],
1947 },
1948 },
1949 },
1950 "noteName": "A String", # Required. Immutable. The analysis note associated with this occurrence, in
1951 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
1952 # used as a filter in list requests.
1953 }</pre>
1954</div>
1955
1956<div class="method">
1957 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
1958 <pre>Deletes the specified occurrence. For example, use this method to delete an
1959occurrence when the occurrence is no longer applicable for the given
1960resource.
1961
1962Args:
1963 name: string, The name of the occurrence in the form of
1964`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. (required)
1965 x__xgafv: string, V1 error format.
1966 Allowed values
1967 1 - v1 error format
1968 2 - v2 error format
1969
1970Returns:
1971 An object of the form:
1972
1973 { # A generic empty message that you can re-use to avoid defining duplicated
1974 # empty messages in your APIs. A typical example is to use it as the request
1975 # or the response type of an API method. For instance:
1976 #
1977 # service Foo {
1978 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1979 # }
1980 #
1981 # The JSON representation for `Empty` is empty JSON object `{}`.
1982 }</pre>
1983</div>
1984
1985<div class="method">
1986 <code class="details" id="get">get(name, x__xgafv=None)</code>
1987 <pre>Gets the specified occurrence.
1988
1989Args:
1990 name: string, The name of the occurrence in the form of
1991`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. (required)
1992 x__xgafv: string, V1 error format.
1993 Allowed values
1994 1 - v1 error format
1995 2 - v2 error format
1996
1997Returns:
1998 An object of the form:
1999
2000 { # An instance of an analysis type that has been found on a resource.
2001 "kind": "A String", # Output only. This explicitly denotes which of the occurrence details are
2002 # specified. This field can be used as a filter in list requests.
2003 "resource": { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
2004 "contentHash": { # Container message for hash values. # Deprecated, do not use. Use uri instead.
2005 #
2006 # The hash of the resource content. For example, the Docker digest.
2007 "type": "A String", # Required. The type of hash that was performed.
2008 "value": "A String", # Required. The hash value.
2009 },
2010 "uri": "A String", # Required. The unique URI of the resource. For example,
2011 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
2012 "name": "A String", # Deprecated, do not use. Use uri instead.
2013 #
2014 # The name of the resource. For example, the name of a Docker image -
2015 # "Debian".
2016 },
2017 "name": "A String", # Output only. The name of the occurrence in the form of
2018 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
2019 "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
2020 "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
2021 # scale of 0-10 where 0 indicates low severity and 10 indicates high
2022 # severity.
2023 "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
2024 "type": "A String", # The type of package; whether native or non native(ruby gems, node.js
2025 # packages etc)
2026 "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is
2027 # available, and note provider assigned severity when distro has not yet
2028 # assigned a severity for this vulnerability.
2029 "relatedUrls": [ # Output only. URLs related to this vulnerability.
2030 { # Metadata for any related URL information.
2031 "url": "A String", # Specific URL associated with the resource.
2032 "label": "A String", # Label to describe usage of the URL.
2033 },
2034 ],
2035 "packageIssue": [ # Required. The set of affected locations and their fixes (if available)
2036 # within the associated resource.
2037 { # This message wraps a location affected by a vulnerability and its
2038 # associated fix (if one is available).
2039 "severityName": "A String", # Deprecated, use Details.effective_severity instead
2040 # The severity (e.g., distro assigned severity) for this vulnerability.
2041 "affectedLocation": { # The location of the vulnerability. # Required. The location of the vulnerability.
2042 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
2043 # format. Examples include distro or storage location for vulnerable jar.
2044 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
2045 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
2046 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
2047 # versions.
2048 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
2049 # name.
2050 "revision": "A String", # The iteration of the package build from the above version.
2051 },
2052 "package": "A String", # Required. The package being described.
2053 },
2054 "fixedLocation": { # The location of the vulnerability. # The location of the available fix for vulnerability.
2055 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
2056 # format. Examples include distro or storage location for vulnerable jar.
2057 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
2058 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
2059 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
2060 # versions.
2061 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
2062 # name.
2063 "revision": "A String", # The iteration of the package build from the above version.
2064 },
2065 "package": "A String", # Required. The package being described.
2066 },
2067 },
2068 ],
2069 "longDescription": "A String", # Output only. A detailed description of this vulnerability.
2070 "shortDescription": "A String", # Output only. A one sentence description of this vulnerability.
2071 },
2072 "updateTime": "A String", # Output only. The time this occurrence was last updated.
2073 "discovered": { # Details of a discovery occurrence. # Describes when a resource was discovered.
2074 "discovered": { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
2075 "lastAnalysisTime": "A String", # The last time continuous analysis was done for this resource.
2076 # Deprecated, do not use.
2077 "analysisStatus": "A String", # The status of discovery for the resource.
2078 "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
2079 "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
2080 # details to show to the user. The LocalizedMessage is output only and
2081 # populated by the API.
2082 # different programming environments, including REST APIs and RPC APIs. It is
2083 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
2084 # three pieces of data: error code, error message, and error details.
2085 #
2086 # You can find out more about this error model and how to work with it in the
2087 # [API Design Guide](https://cloud.google.com/apis/design/errors).
2088 "message": "A String", # A developer-facing error message, which should be in English. Any
2089 # user-facing error message should be localized and sent in the
2090 # google.rpc.Status.details field, or localized by the client.
2091 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
2092 "details": [ # A list of messages that carry the error details. There is a common set of
2093 # message types for APIs to use.
2094 {
2095 "a_key": "", # Properties of the object. Contains field @type with type URL.
2096 },
2097 ],
2098 },
2099 },
2100 },
2101 "attestation": { # Details of an attestation occurrence. # Describes an attestation of an artifact.
2102 "attestation": { # Occurrence that represents a single "attestation". The authenticity of an # Required. Attestation for the resource.
2103 # attestation can be verified using the attached signature. If the verifier
2104 # trusts the public key of the signer, then verifying the signature is
2105 # sufficient to establish trust. In this circumstance, the authority to which
2106 # this attestation is attached is primarily useful for look-up (how to find
2107 # this attestation if you already know the authority and artifact to be
2108 # verified) and intent (which authority was this attestation intended to sign
2109 # for).
2110 "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
2111 # supports `ATTACHED` signatures, where the payload that is signed is included
2112 # alongside the signature itself in the same file.
2113 "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
2114 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
2115 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
2116 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
2117 # Implementations may choose to acknowledge "LONG", "SHORT", or other
2118 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
2119 # In gpg, the full fingerprint can be retrieved from the `fpr` field
2120 # returned when calling --list-keys with --with-colons. For example:
2121 # ```
2122 # gpg --with-colons --with-fingerprint --force-v4-certs \
2123 # --list-keys attester@example.com
2124 # tru::1:1513631572:0:3:1:5
2125 # pub:...<SNIP>...
2126 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
2127 # ```
2128 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
2129 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
2130 # The verifier must ensure that the provided type is one that the verifier
2131 # supports, and that the attestation payload is a valid instantiation of that
2132 # type (for example by validating a JSON schema).
2133 "signature": "A String", # Required. The raw content of the signature, as output by GNU Privacy Guard
2134 # (GPG) or equivalent. Since this message only supports attached signatures,
2135 # the payload that was signed must be attached. While the signature format
2136 # supported is dependent on the verification implementation, currently only
2137 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
2138 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
2139 # --output=signature.gpg payload.json` will create the signature content
2140 # expected in this field in `signature.gpg` for the `payload.json`
2141 # attestation payload.
2142 },
2143 "genericSignedAttestation": { # An attestation wrapper that uses the Grafeas `Signature` message.
2144 # This attestation must define the `serialized_payload` that the `signatures`
2145 # verify and any metadata necessary to interpret that plaintext. The
2146 # signatures should always be over the `serialized_payload` bytestring.
2147 "signatures": [ # One or more signatures over `serialized_payload`. Verifier implementations
2148 # should consider this attestation message verified if at least one
2149 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
2150 # for more details on signature structure and verification.
2151 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
2152 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
2153 # Typically this means that the verifier has been configured with a map from
2154 # `public_key_id` to public key material (and any required parameters, e.g.
2155 # signing algorithm).
2156 #
2157 # In particular, verification implementations MUST NOT treat the signature
2158 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
2159 # DOES NOT validate or authenticate a public key; it only provides a mechanism
2160 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
2161 # a trusted channel. Verification implementations MUST reject signatures in any
2162 # of the following circumstances:
2163 # * The `public_key_id` is not recognized by the verifier.
2164 # * The public key that `public_key_id` refers to does not verify the
2165 # signature with respect to the payload.
2166 #
2167 # The `signature` contents SHOULD NOT be "attached" (where the payload is
2168 # included with the serialized `signature` bytes). Verifiers MUST ignore any
2169 # "attached" payload and only verify signatures with respect to explicitly
2170 # provided payload (e.g. a `payload` field on the proto message that holds
2171 # this Signature, or the canonical serialization of the proto message that
2172 # holds this signature).
2173 "publicKeyId": "A String", # The identifier for the public key that verifies this signature.
2174 # * The `public_key_id` is required.
2175 # * The `public_key_id` MUST be an RFC3986 conformant URI.
2176 # * When possible, the `public_key_id` SHOULD be an immutable reference,
2177 # such as a cryptographic digest.
2178 #
2179 # Examples of valid `public_key_id`s:
2180 #
2181 # OpenPGP V4 public key fingerprint:
2182 # * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA"
2183 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
2184 # details on this scheme.
2185 #
2186 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
2187 # serialization):
2188 # * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU"
2189 # * "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5"
2190 "signature": "A String", # The content of the signature, an opaque bytestring.
2191 # The payload that this signature verifies MUST be unambiguously provided
2192 # with the Signature during verification. A wrapper message might provide
2193 # the payload explicitly. Alternatively, a message might have a canonical
2194 # serialization that can always be unambiguously computed to derive the
2195 # payload.
2196 },
2197 ],
2198 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
2199 # The verifier must ensure that the provided type is one that the verifier
2200 # supports, and that the attestation payload is a valid instantiation of that
2201 # type (for example by validating a JSON schema).
2202 "serializedPayload": "A String", # The serialized payload that is verified by one or more `signatures`.
2203 # The encoding and semantic meaning of this payload must match what is set in
2204 # `content_type`.
2205 },
2206 },
2207 },
2208 "build": { # Details of a build occurrence. # Describes a verifiable build.
2209 "provenance": { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
2210 # details about the build from source to completion.
2211 "commands": [ # Commands requested by the build.
2212 { # Command describes a step performed as part of the build pipeline.
2213 "waitFor": [ # The ID(s) of the command(s) that this command depends on.
2214 "A String",
2215 ],
2216 "name": "A String", # Required. Name of the command, as presented on the command line, or if the
2217 # command is packaged as a Docker container, as presented to `docker pull`.
2218 "args": [ # Command-line arguments used when executing this command.
2219 "A String",
2220 ],
2221 "env": [ # Environment variables set before running this command.
2222 "A String",
2223 ],
2224 "id": "A String", # Optional unique identifier for this command, used in wait_for to reference
2225 # this command as a dependency.
2226 "dir": "A String", # Working directory (relative to project source root) used when running this
2227 # command.
2228 },
2229 ],
2230 "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
2231 "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
2232 # source integrity was maintained in the build.
2233 #
2234 # The keys to this map are file paths used as build source and the values
2235 # contain the hash values for those files.
2236 #
2237 # If the build source came in a single package such as a gzipped tarfile
2238 # (.tar.gz), the FileHash will be for the single path to that file.
2239 "a_key": { # Container message for hashes of byte content of files, used in source
2240 # messages to verify integrity of source input to the build.
2241 "fileHash": [ # Required. Collection of file hashes.
2242 { # Container message for hash values.
2243 "type": "A String", # Required. The type of hash that was performed.
2244 "value": "A String", # Required. The hash value.
2245 },
2246 ],
2247 },
2248 },
2249 "artifactStorageSourceUri": "A String", # If provided, the input binary artifacts for the build came from this
2250 # location.
2251 "additionalContexts": [ # If provided, some of the source code used for the build may be found in
2252 # these locations, in the case where the source repository had multiple
2253 # remotes or submodules. This list will not include the context specified in
2254 # the context field.
2255 { # A SourceContext is a reference to a tree of files. A SourceContext together
2256 # with a path point to a unique revision of a single file or directory.
2257 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
2258 # repository (e.g., GitHub).
2259 "url": "A String", # Git repository URL.
2260 "revisionId": "A String", # Git commit hash.
2261 },
2262 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
2263 # Source Repo.
2264 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
2265 "kind": "A String", # The alias kind.
2266 "name": "A String", # The alias name.
2267 },
2268 "revisionId": "A String", # A revision ID.
2269 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
2270 "uid": "A String", # A server-assigned, globally unique identifier.
2271 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
2272 # winged-cargo-31) and a repo name within that project.
2273 "projectId": "A String", # The ID of the project.
2274 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
2275 },
2276 },
2277 },
2278 "labels": { # Labels with user defined metadata.
2279 "a_key": "A String",
2280 },
2281 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
2282 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
2283 "kind": "A String", # The alias kind.
2284 "name": "A String", # The alias name.
2285 },
2286 "revisionId": "A String", # A revision (commit) ID.
2287 "hostUri": "A String", # The URI of a running Gerrit instance.
2288 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
2289 # "project/subproject" is a valid project name. The "repo name" is the
2290 # hostURI/project.
2291 },
2292 },
2293 ],
2294 "context": { # 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.
2295 # with a path point to a unique revision of a single file or directory.
2296 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
2297 # repository (e.g., GitHub).
2298 "url": "A String", # Git repository URL.
2299 "revisionId": "A String", # Git commit hash.
2300 },
2301 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
2302 # Source Repo.
2303 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
2304 "kind": "A String", # The alias kind.
2305 "name": "A String", # The alias name.
2306 },
2307 "revisionId": "A String", # A revision ID.
2308 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
2309 "uid": "A String", # A server-assigned, globally unique identifier.
2310 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
2311 # winged-cargo-31) and a repo name within that project.
2312 "projectId": "A String", # The ID of the project.
2313 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
2314 },
2315 },
2316 },
2317 "labels": { # Labels with user defined metadata.
2318 "a_key": "A String",
2319 },
2320 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
2321 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
2322 "kind": "A String", # The alias kind.
2323 "name": "A String", # The alias name.
2324 },
2325 "revisionId": "A String", # A revision (commit) ID.
2326 "hostUri": "A String", # The URI of a running Gerrit instance.
2327 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
2328 # "project/subproject" is a valid project name. The "repo name" is the
2329 # hostURI/project.
2330 },
2331 },
2332 },
2333 "buildOptions": { # Special options applied to this build. This is a catch-all field where
2334 # build providers can enter any desired additional details.
2335 "a_key": "A String",
2336 },
2337 "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
2338 # user's e-mail address at the time the build was initiated; this address may
2339 # not represent the same end-user for all time.
2340 "projectId": "A String", # ID of the project.
2341 "builderVersion": "A String", # Version string of the builder at the time this build was executed.
2342 "createTime": "A String", # Time at which the build was created.
2343 "builtArtifacts": [ # Output of the build.
2344 { # Artifact describes a build product.
2345 "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
2346 # container.
2347 "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
2348 # like `gcr.io/projectID/imagename@sha256:123456`.
2349 "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
2350 # the case of a container build, the name used to push the container image to
2351 # Google Container Registry, as presented to `docker push`. Note that a
2352 # single Artifact ID can have multiple names, for example if two tags are
2353 # applied to one image.
2354 "A String",
2355 ],
2356 },
2357 ],
2358 "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
2359 "startTime": "A String", # Time at which execution of the build was started.
2360 "endTime": "A String", # Time at which execution of the build was finished.
2361 "id": "A String", # Required. Unique identifier of the build.
2362 "logsUri": "A String", # URI where any logs for this provenance were written.
2363 },
2364 "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
2365 # build signature in the corresponding build note. After verifying the
2366 # signature, `provenance_bytes` can be unmarshalled and compared to the
2367 # provenance to confirm that it is unchanged. A base64-encoded string
2368 # representation of the provenance bytes is used for the signature in order
2369 # to interoperate with openssl which expects this format for signature
2370 # verification.
2371 #
2372 # The serialized form is captured both to avoid ambiguity in how the
2373 # provenance is marshalled to json as well to prevent incompatibilities with
2374 # future changes.
2375 },
2376 "deployment": { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
2377 "deployment": { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
2378 "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from
2379 # the deployable field with the same name.
2380 "A String",
2381 ],
2382 "userEmail": "A String", # Identity of the user that triggered this deployment.
2383 "address": "A String", # Address of the runtime element hosting this deployment.
2384 "platform": "A String", # Platform hosting this deployment.
2385 "deployTime": "A String", # Required. Beginning of the lifetime of this deployment.
2386 "undeployTime": "A String", # End of the lifetime of this deployment.
2387 "config": "A String", # Configuration used to create this deployment.
2388 },
2389 },
2390 "remediation": "A String", # A description of actions that can be taken to remedy the note.
2391 "installation": { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
2392 "installation": { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
2393 # system.
2394 "location": [ # Required. All of the places within the filesystem versions of this package
2395 # have been found.
2396 { # An occurrence of a particular package installation found within a system's
2397 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
2398 "path": "A String", # The path from which we gathered that this package/version is installed.
2399 "cpeUri": "A String", # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
2400 # denoting the package manager version distributing a package.
2401 "version": { # Version contains structured information about the version of a package. # The version installed at this location.
2402 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
2403 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
2404 # versions.
2405 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
2406 # name.
2407 "revision": "A String", # The iteration of the package build from the above version.
2408 },
2409 },
2410 ],
2411 "name": "A String", # Output only. The name of the installed package.
2412 },
2413 },
2414 "createTime": "A String", # Output only. The time this occurrence was created.
2415 "derivedImage": { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
2416 # note.
2417 "derivedImage": { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
2418 # relationship. This image would be produced from a Dockerfile with FROM
2419 # <DockerImage.Basis in attached Note>.
2420 "distance": 42, # Output only. The number of layers by which this image differs from the
2421 # associated image basis.
2422 "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
2423 # occurrence.
2424 "layerInfo": [ # This contains layer-specific metadata, if populated it has length
2425 # "distance" and is ordered with [distance] being the layer immediately
2426 # following the base image and [1] being the final layer.
2427 { # Layer holds metadata specific to a layer of a Docker image.
2428 "arguments": "A String", # The recovered arguments to the Dockerfile directive.
2429 "directive": "A String", # Required. The recovered Dockerfile directive used to construct this layer.
2430 },
2431 ],
2432 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
2433 "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
2434 # representation.
2435 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
2436 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
2437 # Only the name of the final blob is kept.
2438 "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
2439 "A String",
2440 ],
2441 },
2442 },
2443 },
2444 "noteName": "A String", # Required. Immutable. The analysis note associated with this occurrence, in
2445 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
2446 # used as a filter in list requests.
2447 }</pre>
2448</div>
2449
2450<div class="method">
2451 <code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code>
2452 <pre>Gets the access control policy for a note or an occurrence resource.
2453Requires `containeranalysis.notes.setIamPolicy` or
2454`containeranalysis.occurrences.setIamPolicy` permission if the resource is
2455a note or occurrence, respectively.
2456
2457The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
2458notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
2459occurrences.
2460
2461Args:
2462 resource: string, REQUIRED: The resource for which the policy is being requested.
2463See the operation documentation for the appropriate value for this field. (required)
2464 body: object, The request body.
2465 The object takes the form of:
2466
2467{ # Request message for `GetIamPolicy` method.
2468 }
2469
2470 x__xgafv: string, V1 error format.
2471 Allowed values
2472 1 - v1 error format
2473 2 - v2 error format
2474
2475Returns:
2476 An object of the form:
2477
2478 { # Defines an Identity and Access Management (IAM) policy. It is used to
2479 # specify access control policies for Cloud Platform resources.
2480 #
2481 #
2482 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
2483 # `members` to a `role`, where the members can be user accounts, Google groups,
2484 # Google domains, and service accounts. A `role` is a named list of permissions
2485 # defined by IAM.
2486 #
2487 # **JSON Example**
2488 #
2489 # {
2490 # "bindings": [
2491 # {
2492 # "role": "roles/owner",
2493 # "members": [
2494 # "user:mike@example.com",
2495 # "group:admins@example.com",
2496 # "domain:google.com",
2497 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
2498 # ]
2499 # },
2500 # {
2501 # "role": "roles/viewer",
2502 # "members": ["user:sean@example.com"]
2503 # }
2504 # ]
2505 # }
2506 #
2507 # **YAML Example**
2508 #
2509 # bindings:
2510 # - members:
2511 # - user:mike@example.com
2512 # - group:admins@example.com
2513 # - domain:google.com
2514 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
2515 # role: roles/owner
2516 # - members:
2517 # - user:sean@example.com
2518 # role: roles/viewer
2519 #
2520 #
2521 # For a description of IAM and its features, see the
2522 # [IAM developer's guide](https://cloud.google.com/iam/docs).
2523 "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
2524 { # Specifies the audit configuration for a service.
2525 # The configuration determines which permission types are logged, and what
2526 # identities, if any, are exempted from logging.
2527 # An AuditConfig must have one or more AuditLogConfigs.
2528 #
2529 # If there are AuditConfigs for both `allServices` and a specific service,
2530 # the union of the two AuditConfigs is used for that service: the log_types
2531 # specified in each AuditConfig are enabled, and the exempted_members in each
2532 # AuditLogConfig are exempted.
2533 #
2534 # Example Policy with multiple AuditConfigs:
2535 #
2536 # {
2537 # "audit_configs": [
2538 # {
2539 # "service": "allServices"
2540 # "audit_log_configs": [
2541 # {
2542 # "log_type": "DATA_READ",
2543 # "exempted_members": [
2544 # "user:foo@gmail.com"
2545 # ]
2546 # },
2547 # {
2548 # "log_type": "DATA_WRITE",
2549 # },
2550 # {
2551 # "log_type": "ADMIN_READ",
2552 # }
2553 # ]
2554 # },
2555 # {
2556 # "service": "fooservice.googleapis.com"
2557 # "audit_log_configs": [
2558 # {
2559 # "log_type": "DATA_READ",
2560 # },
2561 # {
2562 # "log_type": "DATA_WRITE",
2563 # "exempted_members": [
2564 # "user:bar@gmail.com"
2565 # ]
2566 # }
2567 # ]
2568 # }
2569 # ]
2570 # }
2571 #
2572 # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
2573 # logging. It also exempts foo@gmail.com from DATA_READ logging, and
2574 # bar@gmail.com from DATA_WRITE logging.
2575 "auditLogConfigs": [ # The configuration for logging of each type of permission.
2576 { # Provides the configuration for logging a type of permissions.
2577 # Example:
2578 #
2579 # {
2580 # "audit_log_configs": [
2581 # {
2582 # "log_type": "DATA_READ",
2583 # "exempted_members": [
2584 # "user:foo@gmail.com"
2585 # ]
2586 # },
2587 # {
2588 # "log_type": "DATA_WRITE",
2589 # }
2590 # ]
2591 # }
2592 #
2593 # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
2594 # foo@gmail.com from DATA_READ logging.
2595 "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
2596 # permission.
2597 # Follows the same format of Binding.members.
2598 "A String",
2599 ],
2600 "logType": "A String", # The log type that this config enables.
2601 },
2602 ],
2603 "service": "A String", # Specifies a service that will be enabled for audit logging.
2604 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
2605 # `allServices` is a special value that covers all services.
2606 },
2607 ],
2608 "version": 42, # Deprecated.
2609 "bindings": [ # Associates a list of `members` to a `role`.
2610 # `bindings` with no members will result in an error.
2611 { # Associates `members` with a `role`.
2612 "role": "A String", # Role that is assigned to `members`.
2613 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
2614 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
2615 # `members` can have the following values:
2616 #
2617 # * `allUsers`: A special identifier that represents anyone who is
2618 # on the internet; with or without a Google account.
2619 #
2620 # * `allAuthenticatedUsers`: A special identifier that represents anyone
2621 # who is authenticated with a Google account or a service account.
2622 #
2623 # * `user:{emailid}`: An email address that represents a specific Google
2624 # account. For example, `alice@gmail.com` .
2625 #
2626 #
2627 # * `serviceAccount:{emailid}`: An email address that represents a service
2628 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
2629 #
2630 # * `group:{emailid}`: An email address that represents a Google group.
2631 # For example, `admins@example.com`.
2632 #
2633 #
2634 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
2635 # users of that domain. For example, `google.com` or `example.com`.
2636 #
2637 "A String",
2638 ],
2639 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
2640 # NOTE: An unsatisfied condition will not allow user access via current
2641 # binding. Different bindings, including their conditions, are examined
2642 # independently.
2643 #
2644 # title: "User account presence"
2645 # description: "Determines whether the request has a user account"
2646 # expression: "size(request.user) > 0"
2647 "location": "A String", # An optional string indicating the location of the expression for error
2648 # reporting, e.g. a file name and a position in the file.
2649 "expression": "A String", # Textual representation of an expression in
2650 # Common Expression Language syntax.
2651 #
2652 # The application context of the containing message determines which
2653 # well-known feature set of CEL is supported.
2654 "description": "A String", # An optional description of the expression. This is a longer text which
2655 # describes the expression, e.g. when hovered over it in a UI.
2656 "title": "A String", # An optional title for the expression, i.e. a short string describing
2657 # its purpose. This can be used e.g. in UIs which allow to enter the
2658 # expression.
2659 },
2660 },
2661 ],
2662 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
2663 # prevent simultaneous updates of a policy from overwriting each other.
2664 # It is strongly suggested that systems make use of the `etag` in the
2665 # read-modify-write cycle to perform policy updates in order to avoid race
2666 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
2667 # systems are expected to put that etag in the request to `setIamPolicy` to
2668 # ensure that their change will be applied to the same version of the policy.
2669 #
2670 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
2671 # policy is overwritten blindly.
2672 }</pre>
2673</div>
2674
2675<div class="method">
2676 <code class="details" id="getNotes">getNotes(name, x__xgafv=None)</code>
2677 <pre>Gets the note attached to the specified occurrence. Consumer projects can
2678use this method to get a note that belongs to a provider project.
2679
2680Args:
2681 name: string, The name of the occurrence in the form of
2682`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. (required)
2683 x__xgafv: string, V1 error format.
2684 Allowed values
2685 1 - v1 error format
2686 2 - v2 error format
2687
2688Returns:
2689 An object of the form:
2690
2691 { # A type of analysis that can be done for a resource.
2692 "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
2693 # a filter in list requests.
2694 "relatedNoteNames": [ # Other notes related to this note.
2695 "A String",
2696 ],
2697 "name": "A String", # Output only. The name of the note in the form of
2698 # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
2699 "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers.
2700 # channels. E.g., glibc (aka libc6) is distributed by many, at various
2701 # versions.
2702 "distribution": [ # The various channels by which a package is distributed.
2703 { # This represents a particular channel of distribution for a given package.
2704 # E.g., Debian's jessie-backports dpkg mirror.
2705 "cpeUri": "A String", # Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/)
2706 # denoting the package manager version distributing a package.
2707 "maintainer": "A String", # A freeform string denoting the maintainer of this package.
2708 "description": "A String", # The distribution channel-specific description of this package.
2709 "url": "A String", # The distribution channel-specific homepage for this package.
2710 "architecture": "A String", # The CPU architecture for which packages in this distribution channel were
2711 # built.
2712 "latestVersion": { # Version contains structured information about the version of a package. # The latest available version of this package in this distribution channel.
2713 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
2714 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
2715 # versions.
2716 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
2717 # name.
2718 "revision": "A String", # The iteration of the package build from the above version.
2719 },
2720 },
2721 ],
2722 "name": "A String", # Required. Immutable. The name of the package.
2723 },
2724 "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability.
2725 "windowsDetails": [ # Windows details get their own format because the information format and
2726 # model don't match a normal detail. Specifically Windows updates are done as
2727 # patches, thus Windows vulnerabilities really are a missing package, rather
2728 # than a package being at an incorrect version.
2729 {
2730 "cpeUri": "A String", # Required. The CPE URI in
2731 # [cpe format](https://cpe.mitre.org/specification/) in which the
2732 # vulnerability manifests. Examples include distro or storage location for
2733 # vulnerable jar.
2734 "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this
2735 # vulnerability. Note that there may be multiple hotfixes (and thus
2736 # multiple KBs) that mitigate a given vulnerability. Currently any listed
2737 # kb's presence is considered a fix.
2738 {
2739 "url": "A String", # A link to the KB in the Windows update catalog -
2740 # https://www.catalog.update.microsoft.com/
2741 "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456).
2742 },
2743 ],
2744 "name": "A String", # Required. The name of the vulnerability.
2745 "description": "A String", # The description of the vulnerability.
2746 },
2747 ],
2748 "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3.
2749 # For details, see https://www.first.org/cvss/specification-document
2750 "attackComplexity": "A String",
2751 "attackVector": "A String", # Base Metrics
2752 # Represents the intrinsic characteristics of a vulnerability that are
2753 # constant over time and across user environments.
2754 "availabilityImpact": "A String",
2755 "userInteraction": "A String",
2756 "baseScore": 3.14, # The base score is a function of the base metric scores.
2757 "privilegesRequired": "A String",
2758 "impactScore": 3.14,
2759 "exploitabilityScore": 3.14,
2760 "confidentialityImpact": "A String",
2761 "integrityImpact": "A String",
2762 "scope": "A String",
2763 },
2764 "cvssScore": 3.14, # The CVSS score for this vulnerability.
2765 "severity": "A String", # Note provider assigned impact of the vulnerability.
2766 "details": [ # All information about the package to specifically identify this
2767 # vulnerability. One entry per (version range and cpe_uri) the package
2768 # vulnerability has manifested in.
2769 { # Identifies all appearances of this vulnerability in the package for a
2770 # specific distro/location. For example: glibc in
2771 # cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
2772 "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability.
2773 "cpeUri": "A String", # Required. The CPE URI in
2774 # [cpe format](https://cpe.mitre.org/specification/) in which the
2775 # vulnerability manifests. Examples include distro or storage location for
2776 # vulnerable jar.
2777 "description": "A String", # A vendor-specific description of this note.
2778 "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists.
2779 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
2780 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
2781 # versions.
2782 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
2783 # name.
2784 "revision": "A String", # The iteration of the package build from the above version.
2785 },
2786 "package": "A String", # Required. The name of the package where the vulnerability was found.
2787 "packageType": "A String", # The type of package; whether native or non native(ruby gems, node.js
2788 # packages etc).
2789 "isObsolete": True or False, # Whether this detail is obsolete. Occurrences are expected not to point to
2790 # obsolete details.
2791 "maxAffectedVersion": { # Version contains structured information about the version of a package. # Deprecated, do not use. Use fixed_location instead.
2792 #
2793 # The max version of the package in which the vulnerability exists.
2794 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
2795 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
2796 # versions.
2797 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
2798 # name.
2799 "revision": "A String", # The iteration of the package build from the above version.
2800 },
2801 "fixedLocation": { # The location of the vulnerability. # The fix for this specific package version.
2802 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
2803 # format. Examples include distro or storage location for vulnerable jar.
2804 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
2805 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
2806 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
2807 # versions.
2808 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
2809 # name.
2810 "revision": "A String", # The iteration of the package build from the above version.
2811 },
2812 "package": "A String", # Required. The package being described.
2813 },
2814 },
2815 ],
2816 },
2817 "kind": "A String", # Output only. The type of analysis. This field can be used as a filter in
2818 # list requests.
2819 "relatedUrl": [ # URLs associated with this note.
2820 { # Metadata for any related URL information.
2821 "url": "A String", # Specific URL associated with the resource.
2822 "label": "A String", # Label to describe usage of the URL.
2823 },
2824 ],
2825 "longDescription": "A String", # A detailed description of this note.
2826 "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role.
2827 # example, an organization might have one `Authority` for "QA" and one for
2828 # "build". This note is intended to act strictly as a grouping mechanism for
2829 # the attached occurrences (Attestations). This grouping mechanism also
2830 # provides a security boundary, since IAM ACLs gate the ability for a principle
2831 # to attach an occurrence to a given note. It also provides a single point of
2832 # lookup to find all attached attestation occurrences, even if they don't all
2833 # live in the same project.
2834 "hint": { # This submessage provides human-readable hints about the purpose of the # Hint hints at the purpose of the attestation authority.
2835 # authority. Because the name of a note acts as its resource reference, it is
2836 # important to disambiguate the canonical name of the Note (which might be a
2837 # UUID for security purposes) from "readable" names more suitable for debug
2838 # output. Note that these hints should not be used to look up authorities in
2839 # security sensitive contexts, such as when looking up attestations to
2840 # verify.
2841 "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for
2842 # example "qa".
2843 },
2844 },
2845 "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build.
2846 # provenance message in the build details occurrence.
2847 "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build.
2848 "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note
2849 # containing build details.
2850 "publicKey": "A String", # Public key of the builder which can be used to verify that the related
2851 # findings are valid and unchanged. If `key_type` is empty, this defaults
2852 # to PEM encoded public keys.
2853 #
2854 # This field may be empty if `key_id` references an external key.
2855 #
2856 # For Cloud Build based signatures, this is a PEM encoded public
2857 # key. To verify the Cloud Build signature, place the contents of
2858 # this field into a file (public.pem). The signature field is base64-decoded
2859 # into its binary representation in signature.bin, and the provenance bytes
2860 # from `BuildDetails` are base64-decoded into a binary representation in
2861 # signed.bin. OpenSSL can then verify the signature:
2862 # `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
2863 "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in
2864 # `key_id`.
2865 "keyId": "A String", # An ID for the key used to sign. This could be either an ID for the key
2866 # stored in `public_key` (such as the ID or fingerprint for a PGP key, or the
2867 # CN for a cert), or a reference to an external key (such as a reference to a
2868 # key in Cloud Key Management Service).
2869 "signature": "A String", # Required. Signature of the related `BuildProvenance`. In JSON, this is
2870 # base-64 encoded.
2871 },
2872 },
2873 "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image.
2874 # relationship. Linked occurrences are derived from this or an
2875 # equivalent image via:
2876 # FROM <Basis.resource_url>
2877 # Or an equivalent reference, e.g. a tag of the resource_url.
2878 "resourceUrl": "A String", # Required. Immutable. The resource_url for the resource representing the
2879 # basis of associated occurrence images.
2880 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. Immutable. The fingerprint of the base image.
2881 "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
2882 # representation.
2883 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
2884 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
2885 # Only the name of the final blob is kept.
2886 "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
2887 "A String",
2888 ],
2889 },
2890 },
2891 "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire.
2892 "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
2893 "resourceUri": [ # Required. Resource URI for the artifact being deployed.
2894 "A String",
2895 ],
2896 },
2897 "shortDescription": "A String", # A one sentence description of this note.
2898 "createTime": "A String", # Output only. The time this note was created. This field can be used as a
2899 # filter in list requests.
2900 "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource.
2901 # exists in a provider's project. A `Discovery` occurrence is created in a
2902 # consumer's project at the start of analysis.
2903 "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this
2904 # discovery.
2905 },
2906 }</pre>
2907</div>
2908
2909<div class="method">
2910 <code class="details" id="getVulnerabilitySummary">getVulnerabilitySummary(parent, x__xgafv=None, filter=None)</code>
2911 <pre>Gets a summary of the number and severity of occurrences.
2912
2913Args:
2914 parent: string, The name of the project to get a vulnerability summary for in the form of
2915`projects/[PROJECT_ID]`. (required)
2916 x__xgafv: string, V1 error format.
2917 Allowed values
2918 1 - v1 error format
2919 2 - v2 error format
2920 filter: string, The filter expression.
2921
2922Returns:
2923 An object of the form:
2924
2925 { # A summary of how many vulnerability occurrences there are per resource and
2926 # severity type.
2927 "counts": [ # A listing by resource of the number of fixable and total vulnerabilities.
2928 { # Per resource and severity counts of fixable and total vulnerabilities.
2929 "totalCount": "A String", # The total number of vulnerabilities associated with this resource.
2930 "resource": { # An entity that can have metadata. For example, a Docker image. # The affected resource.
2931 "contentHash": { # Container message for hash values. # Deprecated, do not use. Use uri instead.
2932 #
2933 # The hash of the resource content. For example, the Docker digest.
2934 "type": "A String", # Required. The type of hash that was performed.
2935 "value": "A String", # Required. The hash value.
2936 },
2937 "uri": "A String", # Required. The unique URI of the resource. For example,
2938 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
2939 "name": "A String", # Deprecated, do not use. Use uri instead.
2940 #
2941 # The name of the resource. For example, the name of a Docker image -
2942 # "Debian".
2943 },
2944 "severity": "A String", # The severity for this count. SEVERITY_UNSPECIFIED indicates total across
2945 # all severities.
2946 "fixableCount": "A String", # The number of fixable vulnerabilities associated with this resource.
2947 },
2948 ],
2949 }</pre>
2950</div>
2951
2952<div class="method">
2953 <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</code>
2954 <pre>Lists occurrences for the specified project.
2955
2956Args:
2957 parent: string, The name of the project to list occurrences for in the form of
2958`projects/[PROJECT_ID]`. (required)
2959 pageSize: integer, Number of occurrences to return in the list. Must be positive. Max allowed
2960page size is 1000. If not specified, page size defaults to 20.
2961 pageToken: string, Token to provide to skip to a particular spot in the list.
2962 x__xgafv: string, V1 error format.
2963 Allowed values
2964 1 - v1 error format
2965 2 - v2 error format
2966 filter: string, The filter expression.
2967
2968Returns:
2969 An object of the form:
2970
2971 { # Response for listing occurrences.
2972 "nextPageToken": "A String", # The next pagination token in the list response. It should be used as
2973 # `page_token` for the following request. An empty value means no more
2974 # results.
2975 "occurrences": [ # The occurrences requested.
2976 { # An instance of an analysis type that has been found on a resource.
2977 "kind": "A String", # Output only. This explicitly denotes which of the occurrence details are
2978 # specified. This field can be used as a filter in list requests.
2979 "resource": { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
2980 "contentHash": { # Container message for hash values. # Deprecated, do not use. Use uri instead.
2981 #
2982 # The hash of the resource content. For example, the Docker digest.
2983 "type": "A String", # Required. The type of hash that was performed.
2984 "value": "A String", # Required. The hash value.
2985 },
2986 "uri": "A String", # Required. The unique URI of the resource. For example,
2987 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
2988 "name": "A String", # Deprecated, do not use. Use uri instead.
2989 #
2990 # The name of the resource. For example, the name of a Docker image -
2991 # "Debian".
2992 },
2993 "name": "A String", # Output only. The name of the occurrence in the form of
2994 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
2995 "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
2996 "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
2997 # scale of 0-10 where 0 indicates low severity and 10 indicates high
2998 # severity.
2999 "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
3000 "type": "A String", # The type of package; whether native or non native(ruby gems, node.js
3001 # packages etc)
3002 "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is
3003 # available, and note provider assigned severity when distro has not yet
3004 # assigned a severity for this vulnerability.
3005 "relatedUrls": [ # Output only. URLs related to this vulnerability.
3006 { # Metadata for any related URL information.
3007 "url": "A String", # Specific URL associated with the resource.
3008 "label": "A String", # Label to describe usage of the URL.
3009 },
3010 ],
3011 "packageIssue": [ # Required. The set of affected locations and their fixes (if available)
3012 # within the associated resource.
3013 { # This message wraps a location affected by a vulnerability and its
3014 # associated fix (if one is available).
3015 "severityName": "A String", # Deprecated, use Details.effective_severity instead
3016 # The severity (e.g., distro assigned severity) for this vulnerability.
3017 "affectedLocation": { # The location of the vulnerability. # Required. The location of the vulnerability.
3018 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
3019 # format. Examples include distro or storage location for vulnerable jar.
3020 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
3021 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
3022 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
3023 # versions.
3024 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
3025 # name.
3026 "revision": "A String", # The iteration of the package build from the above version.
3027 },
3028 "package": "A String", # Required. The package being described.
3029 },
3030 "fixedLocation": { # The location of the vulnerability. # The location of the available fix for vulnerability.
3031 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
3032 # format. Examples include distro or storage location for vulnerable jar.
3033 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
3034 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
3035 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
3036 # versions.
3037 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
3038 # name.
3039 "revision": "A String", # The iteration of the package build from the above version.
3040 },
3041 "package": "A String", # Required. The package being described.
3042 },
3043 },
3044 ],
3045 "longDescription": "A String", # Output only. A detailed description of this vulnerability.
3046 "shortDescription": "A String", # Output only. A one sentence description of this vulnerability.
3047 },
3048 "updateTime": "A String", # Output only. The time this occurrence was last updated.
3049 "discovered": { # Details of a discovery occurrence. # Describes when a resource was discovered.
3050 "discovered": { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
3051 "lastAnalysisTime": "A String", # The last time continuous analysis was done for this resource.
3052 # Deprecated, do not use.
3053 "analysisStatus": "A String", # The status of discovery for the resource.
3054 "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
3055 "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
3056 # details to show to the user. The LocalizedMessage is output only and
3057 # populated by the API.
3058 # different programming environments, including REST APIs and RPC APIs. It is
3059 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
3060 # three pieces of data: error code, error message, and error details.
3061 #
3062 # You can find out more about this error model and how to work with it in the
3063 # [API Design Guide](https://cloud.google.com/apis/design/errors).
3064 "message": "A String", # A developer-facing error message, which should be in English. Any
3065 # user-facing error message should be localized and sent in the
3066 # google.rpc.Status.details field, or localized by the client.
3067 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
3068 "details": [ # A list of messages that carry the error details. There is a common set of
3069 # message types for APIs to use.
3070 {
3071 "a_key": "", # Properties of the object. Contains field @type with type URL.
3072 },
3073 ],
3074 },
3075 },
3076 },
3077 "attestation": { # Details of an attestation occurrence. # Describes an attestation of an artifact.
3078 "attestation": { # Occurrence that represents a single "attestation". The authenticity of an # Required. Attestation for the resource.
3079 # attestation can be verified using the attached signature. If the verifier
3080 # trusts the public key of the signer, then verifying the signature is
3081 # sufficient to establish trust. In this circumstance, the authority to which
3082 # this attestation is attached is primarily useful for look-up (how to find
3083 # this attestation if you already know the authority and artifact to be
3084 # verified) and intent (which authority was this attestation intended to sign
3085 # for).
3086 "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
3087 # supports `ATTACHED` signatures, where the payload that is signed is included
3088 # alongside the signature itself in the same file.
3089 "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
3090 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
3091 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
3092 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
3093 # Implementations may choose to acknowledge "LONG", "SHORT", or other
3094 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
3095 # In gpg, the full fingerprint can be retrieved from the `fpr` field
3096 # returned when calling --list-keys with --with-colons. For example:
3097 # ```
3098 # gpg --with-colons --with-fingerprint --force-v4-certs \
3099 # --list-keys attester@example.com
3100 # tru::1:1513631572:0:3:1:5
3101 # pub:...<SNIP>...
3102 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
3103 # ```
3104 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
3105 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
3106 # The verifier must ensure that the provided type is one that the verifier
3107 # supports, and that the attestation payload is a valid instantiation of that
3108 # type (for example by validating a JSON schema).
3109 "signature": "A String", # Required. The raw content of the signature, as output by GNU Privacy Guard
3110 # (GPG) or equivalent. Since this message only supports attached signatures,
3111 # the payload that was signed must be attached. While the signature format
3112 # supported is dependent on the verification implementation, currently only
3113 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
3114 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
3115 # --output=signature.gpg payload.json` will create the signature content
3116 # expected in this field in `signature.gpg` for the `payload.json`
3117 # attestation payload.
3118 },
3119 "genericSignedAttestation": { # An attestation wrapper that uses the Grafeas `Signature` message.
3120 # This attestation must define the `serialized_payload` that the `signatures`
3121 # verify and any metadata necessary to interpret that plaintext. The
3122 # signatures should always be over the `serialized_payload` bytestring.
3123 "signatures": [ # One or more signatures over `serialized_payload`. Verifier implementations
3124 # should consider this attestation message verified if at least one
3125 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
3126 # for more details on signature structure and verification.
3127 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
3128 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
3129 # Typically this means that the verifier has been configured with a map from
3130 # `public_key_id` to public key material (and any required parameters, e.g.
3131 # signing algorithm).
3132 #
3133 # In particular, verification implementations MUST NOT treat the signature
3134 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
3135 # DOES NOT validate or authenticate a public key; it only provides a mechanism
3136 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
3137 # a trusted channel. Verification implementations MUST reject signatures in any
3138 # of the following circumstances:
3139 # * The `public_key_id` is not recognized by the verifier.
3140 # * The public key that `public_key_id` refers to does not verify the
3141 # signature with respect to the payload.
3142 #
3143 # The `signature` contents SHOULD NOT be "attached" (where the payload is
3144 # included with the serialized `signature` bytes). Verifiers MUST ignore any
3145 # "attached" payload and only verify signatures with respect to explicitly
3146 # provided payload (e.g. a `payload` field on the proto message that holds
3147 # this Signature, or the canonical serialization of the proto message that
3148 # holds this signature).
3149 "publicKeyId": "A String", # The identifier for the public key that verifies this signature.
3150 # * The `public_key_id` is required.
3151 # * The `public_key_id` MUST be an RFC3986 conformant URI.
3152 # * When possible, the `public_key_id` SHOULD be an immutable reference,
3153 # such as a cryptographic digest.
3154 #
3155 # Examples of valid `public_key_id`s:
3156 #
3157 # OpenPGP V4 public key fingerprint:
3158 # * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA"
3159 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
3160 # details on this scheme.
3161 #
3162 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
3163 # serialization):
3164 # * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU"
3165 # * "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5"
3166 "signature": "A String", # The content of the signature, an opaque bytestring.
3167 # The payload that this signature verifies MUST be unambiguously provided
3168 # with the Signature during verification. A wrapper message might provide
3169 # the payload explicitly. Alternatively, a message might have a canonical
3170 # serialization that can always be unambiguously computed to derive the
3171 # payload.
3172 },
3173 ],
3174 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
3175 # The verifier must ensure that the provided type is one that the verifier
3176 # supports, and that the attestation payload is a valid instantiation of that
3177 # type (for example by validating a JSON schema).
3178 "serializedPayload": "A String", # The serialized payload that is verified by one or more `signatures`.
3179 # The encoding and semantic meaning of this payload must match what is set in
3180 # `content_type`.
3181 },
3182 },
3183 },
3184 "build": { # Details of a build occurrence. # Describes a verifiable build.
3185 "provenance": { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
3186 # details about the build from source to completion.
3187 "commands": [ # Commands requested by the build.
3188 { # Command describes a step performed as part of the build pipeline.
3189 "waitFor": [ # The ID(s) of the command(s) that this command depends on.
3190 "A String",
3191 ],
3192 "name": "A String", # Required. Name of the command, as presented on the command line, or if the
3193 # command is packaged as a Docker container, as presented to `docker pull`.
3194 "args": [ # Command-line arguments used when executing this command.
3195 "A String",
3196 ],
3197 "env": [ # Environment variables set before running this command.
3198 "A String",
3199 ],
3200 "id": "A String", # Optional unique identifier for this command, used in wait_for to reference
3201 # this command as a dependency.
3202 "dir": "A String", # Working directory (relative to project source root) used when running this
3203 # command.
3204 },
3205 ],
3206 "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
3207 "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
3208 # source integrity was maintained in the build.
3209 #
3210 # The keys to this map are file paths used as build source and the values
3211 # contain the hash values for those files.
3212 #
3213 # If the build source came in a single package such as a gzipped tarfile
3214 # (.tar.gz), the FileHash will be for the single path to that file.
3215 "a_key": { # Container message for hashes of byte content of files, used in source
3216 # messages to verify integrity of source input to the build.
3217 "fileHash": [ # Required. Collection of file hashes.
3218 { # Container message for hash values.
3219 "type": "A String", # Required. The type of hash that was performed.
3220 "value": "A String", # Required. The hash value.
3221 },
3222 ],
3223 },
3224 },
3225 "artifactStorageSourceUri": "A String", # If provided, the input binary artifacts for the build came from this
3226 # location.
3227 "additionalContexts": [ # If provided, some of the source code used for the build may be found in
3228 # these locations, in the case where the source repository had multiple
3229 # remotes or submodules. This list will not include the context specified in
3230 # the context field.
3231 { # A SourceContext is a reference to a tree of files. A SourceContext together
3232 # with a path point to a unique revision of a single file or directory.
3233 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
3234 # repository (e.g., GitHub).
3235 "url": "A String", # Git repository URL.
3236 "revisionId": "A String", # Git commit hash.
3237 },
3238 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
3239 # Source Repo.
3240 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
3241 "kind": "A String", # The alias kind.
3242 "name": "A String", # The alias name.
3243 },
3244 "revisionId": "A String", # A revision ID.
3245 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
3246 "uid": "A String", # A server-assigned, globally unique identifier.
3247 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
3248 # winged-cargo-31) and a repo name within that project.
3249 "projectId": "A String", # The ID of the project.
3250 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
3251 },
3252 },
3253 },
3254 "labels": { # Labels with user defined metadata.
3255 "a_key": "A String",
3256 },
3257 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
3258 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
3259 "kind": "A String", # The alias kind.
3260 "name": "A String", # The alias name.
3261 },
3262 "revisionId": "A String", # A revision (commit) ID.
3263 "hostUri": "A String", # The URI of a running Gerrit instance.
3264 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
3265 # "project/subproject" is a valid project name. The "repo name" is the
3266 # hostURI/project.
3267 },
3268 },
3269 ],
3270 "context": { # 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.
3271 # with a path point to a unique revision of a single file or directory.
3272 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
3273 # repository (e.g., GitHub).
3274 "url": "A String", # Git repository URL.
3275 "revisionId": "A String", # Git commit hash.
3276 },
3277 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
3278 # Source Repo.
3279 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
3280 "kind": "A String", # The alias kind.
3281 "name": "A String", # The alias name.
3282 },
3283 "revisionId": "A String", # A revision ID.
3284 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
3285 "uid": "A String", # A server-assigned, globally unique identifier.
3286 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
3287 # winged-cargo-31) and a repo name within that project.
3288 "projectId": "A String", # The ID of the project.
3289 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
3290 },
3291 },
3292 },
3293 "labels": { # Labels with user defined metadata.
3294 "a_key": "A String",
3295 },
3296 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
3297 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
3298 "kind": "A String", # The alias kind.
3299 "name": "A String", # The alias name.
3300 },
3301 "revisionId": "A String", # A revision (commit) ID.
3302 "hostUri": "A String", # The URI of a running Gerrit instance.
3303 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
3304 # "project/subproject" is a valid project name. The "repo name" is the
3305 # hostURI/project.
3306 },
3307 },
3308 },
3309 "buildOptions": { # Special options applied to this build. This is a catch-all field where
3310 # build providers can enter any desired additional details.
3311 "a_key": "A String",
3312 },
3313 "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
3314 # user's e-mail address at the time the build was initiated; this address may
3315 # not represent the same end-user for all time.
3316 "projectId": "A String", # ID of the project.
3317 "builderVersion": "A String", # Version string of the builder at the time this build was executed.
3318 "createTime": "A String", # Time at which the build was created.
3319 "builtArtifacts": [ # Output of the build.
3320 { # Artifact describes a build product.
3321 "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
3322 # container.
3323 "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
3324 # like `gcr.io/projectID/imagename@sha256:123456`.
3325 "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
3326 # the case of a container build, the name used to push the container image to
3327 # Google Container Registry, as presented to `docker push`. Note that a
3328 # single Artifact ID can have multiple names, for example if two tags are
3329 # applied to one image.
3330 "A String",
3331 ],
3332 },
3333 ],
3334 "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
3335 "startTime": "A String", # Time at which execution of the build was started.
3336 "endTime": "A String", # Time at which execution of the build was finished.
3337 "id": "A String", # Required. Unique identifier of the build.
3338 "logsUri": "A String", # URI where any logs for this provenance were written.
3339 },
3340 "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
3341 # build signature in the corresponding build note. After verifying the
3342 # signature, `provenance_bytes` can be unmarshalled and compared to the
3343 # provenance to confirm that it is unchanged. A base64-encoded string
3344 # representation of the provenance bytes is used for the signature in order
3345 # to interoperate with openssl which expects this format for signature
3346 # verification.
3347 #
3348 # The serialized form is captured both to avoid ambiguity in how the
3349 # provenance is marshalled to json as well to prevent incompatibilities with
3350 # future changes.
3351 },
3352 "deployment": { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
3353 "deployment": { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
3354 "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from
3355 # the deployable field with the same name.
3356 "A String",
3357 ],
3358 "userEmail": "A String", # Identity of the user that triggered this deployment.
3359 "address": "A String", # Address of the runtime element hosting this deployment.
3360 "platform": "A String", # Platform hosting this deployment.
3361 "deployTime": "A String", # Required. Beginning of the lifetime of this deployment.
3362 "undeployTime": "A String", # End of the lifetime of this deployment.
3363 "config": "A String", # Configuration used to create this deployment.
3364 },
3365 },
3366 "remediation": "A String", # A description of actions that can be taken to remedy the note.
3367 "installation": { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
3368 "installation": { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
3369 # system.
3370 "location": [ # Required. All of the places within the filesystem versions of this package
3371 # have been found.
3372 { # An occurrence of a particular package installation found within a system's
3373 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
3374 "path": "A String", # The path from which we gathered that this package/version is installed.
3375 "cpeUri": "A String", # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
3376 # denoting the package manager version distributing a package.
3377 "version": { # Version contains structured information about the version of a package. # The version installed at this location.
3378 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
3379 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
3380 # versions.
3381 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
3382 # name.
3383 "revision": "A String", # The iteration of the package build from the above version.
3384 },
3385 },
3386 ],
3387 "name": "A String", # Output only. The name of the installed package.
3388 },
3389 },
3390 "createTime": "A String", # Output only. The time this occurrence was created.
3391 "derivedImage": { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
3392 # note.
3393 "derivedImage": { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
3394 # relationship. This image would be produced from a Dockerfile with FROM
3395 # <DockerImage.Basis in attached Note>.
3396 "distance": 42, # Output only. The number of layers by which this image differs from the
3397 # associated image basis.
3398 "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
3399 # occurrence.
3400 "layerInfo": [ # This contains layer-specific metadata, if populated it has length
3401 # "distance" and is ordered with [distance] being the layer immediately
3402 # following the base image and [1] being the final layer.
3403 { # Layer holds metadata specific to a layer of a Docker image.
3404 "arguments": "A String", # The recovered arguments to the Dockerfile directive.
3405 "directive": "A String", # Required. The recovered Dockerfile directive used to construct this layer.
3406 },
3407 ],
3408 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
3409 "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
3410 # representation.
3411 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
3412 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
3413 # Only the name of the final blob is kept.
3414 "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
3415 "A String",
3416 ],
3417 },
3418 },
3419 },
3420 "noteName": "A String", # Required. Immutable. The analysis note associated with this occurrence, in
3421 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
3422 # used as a filter in list requests.
3423 },
3424 ],
3425 }</pre>
3426</div>
3427
3428<div class="method">
3429 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
3430 <pre>Retrieves the next page of results.
3431
3432Args:
3433 previous_request: The request for the previous page. (required)
3434 previous_response: The response from the request for the previous page. (required)
3435
3436Returns:
3437 A request object that you can call 'execute()' on to request the next
3438 page. Returns None if there are no more items in the collection.
3439 </pre>
3440</div>
3441
3442<div class="method">
3443 <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
3444 <pre>Updates the specified occurrence.
3445
3446Args:
3447 name: string, The name of the occurrence in the form of
3448`projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. (required)
3449 body: object, The request body. (required)
3450 The object takes the form of:
3451
3452{ # An instance of an analysis type that has been found on a resource.
3453 "kind": "A String", # Output only. This explicitly denotes which of the occurrence details are
3454 # specified. This field can be used as a filter in list requests.
3455 "resource": { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
3456 "contentHash": { # Container message for hash values. # Deprecated, do not use. Use uri instead.
3457 #
3458 # The hash of the resource content. For example, the Docker digest.
3459 "type": "A String", # Required. The type of hash that was performed.
3460 "value": "A String", # Required. The hash value.
3461 },
3462 "uri": "A String", # Required. The unique URI of the resource. For example,
3463 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
3464 "name": "A String", # Deprecated, do not use. Use uri instead.
3465 #
3466 # The name of the resource. For example, the name of a Docker image -
3467 # "Debian".
3468 },
3469 "name": "A String", # Output only. The name of the occurrence in the form of
3470 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
3471 "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
3472 "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
3473 # scale of 0-10 where 0 indicates low severity and 10 indicates high
3474 # severity.
3475 "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
3476 "type": "A String", # The type of package; whether native or non native(ruby gems, node.js
3477 # packages etc)
3478 "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is
3479 # available, and note provider assigned severity when distro has not yet
3480 # assigned a severity for this vulnerability.
3481 "relatedUrls": [ # Output only. URLs related to this vulnerability.
3482 { # Metadata for any related URL information.
3483 "url": "A String", # Specific URL associated with the resource.
3484 "label": "A String", # Label to describe usage of the URL.
3485 },
3486 ],
3487 "packageIssue": [ # Required. The set of affected locations and their fixes (if available)
3488 # within the associated resource.
3489 { # This message wraps a location affected by a vulnerability and its
3490 # associated fix (if one is available).
3491 "severityName": "A String", # Deprecated, use Details.effective_severity instead
3492 # The severity (e.g., distro assigned severity) for this vulnerability.
3493 "affectedLocation": { # The location of the vulnerability. # Required. The location of the vulnerability.
3494 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
3495 # format. Examples include distro or storage location for vulnerable jar.
3496 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
3497 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
3498 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
3499 # versions.
3500 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
3501 # name.
3502 "revision": "A String", # The iteration of the package build from the above version.
3503 },
3504 "package": "A String", # Required. The package being described.
3505 },
3506 "fixedLocation": { # The location of the vulnerability. # The location of the available fix for vulnerability.
3507 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
3508 # format. Examples include distro or storage location for vulnerable jar.
3509 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
3510 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
3511 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
3512 # versions.
3513 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
3514 # name.
3515 "revision": "A String", # The iteration of the package build from the above version.
3516 },
3517 "package": "A String", # Required. The package being described.
3518 },
3519 },
3520 ],
3521 "longDescription": "A String", # Output only. A detailed description of this vulnerability.
3522 "shortDescription": "A String", # Output only. A one sentence description of this vulnerability.
3523 },
3524 "updateTime": "A String", # Output only. The time this occurrence was last updated.
3525 "discovered": { # Details of a discovery occurrence. # Describes when a resource was discovered.
3526 "discovered": { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
3527 "lastAnalysisTime": "A String", # The last time continuous analysis was done for this resource.
3528 # Deprecated, do not use.
3529 "analysisStatus": "A String", # The status of discovery for the resource.
3530 "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
3531 "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
3532 # details to show to the user. The LocalizedMessage is output only and
3533 # populated by the API.
3534 # different programming environments, including REST APIs and RPC APIs. It is
3535 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
3536 # three pieces of data: error code, error message, and error details.
3537 #
3538 # You can find out more about this error model and how to work with it in the
3539 # [API Design Guide](https://cloud.google.com/apis/design/errors).
3540 "message": "A String", # A developer-facing error message, which should be in English. Any
3541 # user-facing error message should be localized and sent in the
3542 # google.rpc.Status.details field, or localized by the client.
3543 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
3544 "details": [ # A list of messages that carry the error details. There is a common set of
3545 # message types for APIs to use.
3546 {
3547 "a_key": "", # Properties of the object. Contains field @type with type URL.
3548 },
3549 ],
3550 },
3551 },
3552 },
3553 "attestation": { # Details of an attestation occurrence. # Describes an attestation of an artifact.
3554 "attestation": { # Occurrence that represents a single "attestation". The authenticity of an # Required. Attestation for the resource.
3555 # attestation can be verified using the attached signature. If the verifier
3556 # trusts the public key of the signer, then verifying the signature is
3557 # sufficient to establish trust. In this circumstance, the authority to which
3558 # this attestation is attached is primarily useful for look-up (how to find
3559 # this attestation if you already know the authority and artifact to be
3560 # verified) and intent (which authority was this attestation intended to sign
3561 # for).
3562 "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
3563 # supports `ATTACHED` signatures, where the payload that is signed is included
3564 # alongside the signature itself in the same file.
3565 "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
3566 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
3567 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
3568 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
3569 # Implementations may choose to acknowledge "LONG", "SHORT", or other
3570 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
3571 # In gpg, the full fingerprint can be retrieved from the `fpr` field
3572 # returned when calling --list-keys with --with-colons. For example:
3573 # ```
3574 # gpg --with-colons --with-fingerprint --force-v4-certs \
3575 # --list-keys attester@example.com
3576 # tru::1:1513631572:0:3:1:5
3577 # pub:...<SNIP>...
3578 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
3579 # ```
3580 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
3581 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
3582 # The verifier must ensure that the provided type is one that the verifier
3583 # supports, and that the attestation payload is a valid instantiation of that
3584 # type (for example by validating a JSON schema).
3585 "signature": "A String", # Required. The raw content of the signature, as output by GNU Privacy Guard
3586 # (GPG) or equivalent. Since this message only supports attached signatures,
3587 # the payload that was signed must be attached. While the signature format
3588 # supported is dependent on the verification implementation, currently only
3589 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
3590 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
3591 # --output=signature.gpg payload.json` will create the signature content
3592 # expected in this field in `signature.gpg` for the `payload.json`
3593 # attestation payload.
3594 },
3595 "genericSignedAttestation": { # An attestation wrapper that uses the Grafeas `Signature` message.
3596 # This attestation must define the `serialized_payload` that the `signatures`
3597 # verify and any metadata necessary to interpret that plaintext. The
3598 # signatures should always be over the `serialized_payload` bytestring.
3599 "signatures": [ # One or more signatures over `serialized_payload`. Verifier implementations
3600 # should consider this attestation message verified if at least one
3601 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
3602 # for more details on signature structure and verification.
3603 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
3604 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
3605 # Typically this means that the verifier has been configured with a map from
3606 # `public_key_id` to public key material (and any required parameters, e.g.
3607 # signing algorithm).
3608 #
3609 # In particular, verification implementations MUST NOT treat the signature
3610 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
3611 # DOES NOT validate or authenticate a public key; it only provides a mechanism
3612 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
3613 # a trusted channel. Verification implementations MUST reject signatures in any
3614 # of the following circumstances:
3615 # * The `public_key_id` is not recognized by the verifier.
3616 # * The public key that `public_key_id` refers to does not verify the
3617 # signature with respect to the payload.
3618 #
3619 # The `signature` contents SHOULD NOT be "attached" (where the payload is
3620 # included with the serialized `signature` bytes). Verifiers MUST ignore any
3621 # "attached" payload and only verify signatures with respect to explicitly
3622 # provided payload (e.g. a `payload` field on the proto message that holds
3623 # this Signature, or the canonical serialization of the proto message that
3624 # holds this signature).
3625 "publicKeyId": "A String", # The identifier for the public key that verifies this signature.
3626 # * The `public_key_id` is required.
3627 # * The `public_key_id` MUST be an RFC3986 conformant URI.
3628 # * When possible, the `public_key_id` SHOULD be an immutable reference,
3629 # such as a cryptographic digest.
3630 #
3631 # Examples of valid `public_key_id`s:
3632 #
3633 # OpenPGP V4 public key fingerprint:
3634 # * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA"
3635 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
3636 # details on this scheme.
3637 #
3638 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
3639 # serialization):
3640 # * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU"
3641 # * "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5"
3642 "signature": "A String", # The content of the signature, an opaque bytestring.
3643 # The payload that this signature verifies MUST be unambiguously provided
3644 # with the Signature during verification. A wrapper message might provide
3645 # the payload explicitly. Alternatively, a message might have a canonical
3646 # serialization that can always be unambiguously computed to derive the
3647 # payload.
3648 },
3649 ],
3650 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
3651 # The verifier must ensure that the provided type is one that the verifier
3652 # supports, and that the attestation payload is a valid instantiation of that
3653 # type (for example by validating a JSON schema).
3654 "serializedPayload": "A String", # The serialized payload that is verified by one or more `signatures`.
3655 # The encoding and semantic meaning of this payload must match what is set in
3656 # `content_type`.
3657 },
3658 },
3659 },
3660 "build": { # Details of a build occurrence. # Describes a verifiable build.
3661 "provenance": { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
3662 # details about the build from source to completion.
3663 "commands": [ # Commands requested by the build.
3664 { # Command describes a step performed as part of the build pipeline.
3665 "waitFor": [ # The ID(s) of the command(s) that this command depends on.
3666 "A String",
3667 ],
3668 "name": "A String", # Required. Name of the command, as presented on the command line, or if the
3669 # command is packaged as a Docker container, as presented to `docker pull`.
3670 "args": [ # Command-line arguments used when executing this command.
3671 "A String",
3672 ],
3673 "env": [ # Environment variables set before running this command.
3674 "A String",
3675 ],
3676 "id": "A String", # Optional unique identifier for this command, used in wait_for to reference
3677 # this command as a dependency.
3678 "dir": "A String", # Working directory (relative to project source root) used when running this
3679 # command.
3680 },
3681 ],
3682 "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
3683 "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
3684 # source integrity was maintained in the build.
3685 #
3686 # The keys to this map are file paths used as build source and the values
3687 # contain the hash values for those files.
3688 #
3689 # If the build source came in a single package such as a gzipped tarfile
3690 # (.tar.gz), the FileHash will be for the single path to that file.
3691 "a_key": { # Container message for hashes of byte content of files, used in source
3692 # messages to verify integrity of source input to the build.
3693 "fileHash": [ # Required. Collection of file hashes.
3694 { # Container message for hash values.
3695 "type": "A String", # Required. The type of hash that was performed.
3696 "value": "A String", # Required. The hash value.
3697 },
3698 ],
3699 },
3700 },
3701 "artifactStorageSourceUri": "A String", # If provided, the input binary artifacts for the build came from this
3702 # location.
3703 "additionalContexts": [ # If provided, some of the source code used for the build may be found in
3704 # these locations, in the case where the source repository had multiple
3705 # remotes or submodules. This list will not include the context specified in
3706 # the context field.
3707 { # A SourceContext is a reference to a tree of files. A SourceContext together
3708 # with a path point to a unique revision of a single file or directory.
3709 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
3710 # repository (e.g., GitHub).
3711 "url": "A String", # Git repository URL.
3712 "revisionId": "A String", # Git commit hash.
3713 },
3714 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
3715 # Source Repo.
3716 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
3717 "kind": "A String", # The alias kind.
3718 "name": "A String", # The alias name.
3719 },
3720 "revisionId": "A String", # A revision ID.
3721 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
3722 "uid": "A String", # A server-assigned, globally unique identifier.
3723 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
3724 # winged-cargo-31) and a repo name within that project.
3725 "projectId": "A String", # The ID of the project.
3726 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
3727 },
3728 },
3729 },
3730 "labels": { # Labels with user defined metadata.
3731 "a_key": "A String",
3732 },
3733 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
3734 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
3735 "kind": "A String", # The alias kind.
3736 "name": "A String", # The alias name.
3737 },
3738 "revisionId": "A String", # A revision (commit) ID.
3739 "hostUri": "A String", # The URI of a running Gerrit instance.
3740 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
3741 # "project/subproject" is a valid project name. The "repo name" is the
3742 # hostURI/project.
3743 },
3744 },
3745 ],
3746 "context": { # 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.
3747 # with a path point to a unique revision of a single file or directory.
3748 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
3749 # repository (e.g., GitHub).
3750 "url": "A String", # Git repository URL.
3751 "revisionId": "A String", # Git commit hash.
3752 },
3753 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
3754 # Source Repo.
3755 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
3756 "kind": "A String", # The alias kind.
3757 "name": "A String", # The alias name.
3758 },
3759 "revisionId": "A String", # A revision ID.
3760 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
3761 "uid": "A String", # A server-assigned, globally unique identifier.
3762 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
3763 # winged-cargo-31) and a repo name within that project.
3764 "projectId": "A String", # The ID of the project.
3765 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
3766 },
3767 },
3768 },
3769 "labels": { # Labels with user defined metadata.
3770 "a_key": "A String",
3771 },
3772 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
3773 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
3774 "kind": "A String", # The alias kind.
3775 "name": "A String", # The alias name.
3776 },
3777 "revisionId": "A String", # A revision (commit) ID.
3778 "hostUri": "A String", # The URI of a running Gerrit instance.
3779 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
3780 # "project/subproject" is a valid project name. The "repo name" is the
3781 # hostURI/project.
3782 },
3783 },
3784 },
3785 "buildOptions": { # Special options applied to this build. This is a catch-all field where
3786 # build providers can enter any desired additional details.
3787 "a_key": "A String",
3788 },
3789 "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
3790 # user's e-mail address at the time the build was initiated; this address may
3791 # not represent the same end-user for all time.
3792 "projectId": "A String", # ID of the project.
3793 "builderVersion": "A String", # Version string of the builder at the time this build was executed.
3794 "createTime": "A String", # Time at which the build was created.
3795 "builtArtifacts": [ # Output of the build.
3796 { # Artifact describes a build product.
3797 "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
3798 # container.
3799 "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
3800 # like `gcr.io/projectID/imagename@sha256:123456`.
3801 "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
3802 # the case of a container build, the name used to push the container image to
3803 # Google Container Registry, as presented to `docker push`. Note that a
3804 # single Artifact ID can have multiple names, for example if two tags are
3805 # applied to one image.
3806 "A String",
3807 ],
3808 },
3809 ],
3810 "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
3811 "startTime": "A String", # Time at which execution of the build was started.
3812 "endTime": "A String", # Time at which execution of the build was finished.
3813 "id": "A String", # Required. Unique identifier of the build.
3814 "logsUri": "A String", # URI where any logs for this provenance were written.
3815 },
3816 "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
3817 # build signature in the corresponding build note. After verifying the
3818 # signature, `provenance_bytes` can be unmarshalled and compared to the
3819 # provenance to confirm that it is unchanged. A base64-encoded string
3820 # representation of the provenance bytes is used for the signature in order
3821 # to interoperate with openssl which expects this format for signature
3822 # verification.
3823 #
3824 # The serialized form is captured both to avoid ambiguity in how the
3825 # provenance is marshalled to json as well to prevent incompatibilities with
3826 # future changes.
3827 },
3828 "deployment": { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
3829 "deployment": { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
3830 "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from
3831 # the deployable field with the same name.
3832 "A String",
3833 ],
3834 "userEmail": "A String", # Identity of the user that triggered this deployment.
3835 "address": "A String", # Address of the runtime element hosting this deployment.
3836 "platform": "A String", # Platform hosting this deployment.
3837 "deployTime": "A String", # Required. Beginning of the lifetime of this deployment.
3838 "undeployTime": "A String", # End of the lifetime of this deployment.
3839 "config": "A String", # Configuration used to create this deployment.
3840 },
3841 },
3842 "remediation": "A String", # A description of actions that can be taken to remedy the note.
3843 "installation": { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
3844 "installation": { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
3845 # system.
3846 "location": [ # Required. All of the places within the filesystem versions of this package
3847 # have been found.
3848 { # An occurrence of a particular package installation found within a system's
3849 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
3850 "path": "A String", # The path from which we gathered that this package/version is installed.
3851 "cpeUri": "A String", # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
3852 # denoting the package manager version distributing a package.
3853 "version": { # Version contains structured information about the version of a package. # The version installed at this location.
3854 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
3855 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
3856 # versions.
3857 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
3858 # name.
3859 "revision": "A String", # The iteration of the package build from the above version.
3860 },
3861 },
3862 ],
3863 "name": "A String", # Output only. The name of the installed package.
3864 },
3865 },
3866 "createTime": "A String", # Output only. The time this occurrence was created.
3867 "derivedImage": { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
3868 # note.
3869 "derivedImage": { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
3870 # relationship. This image would be produced from a Dockerfile with FROM
3871 # <DockerImage.Basis in attached Note>.
3872 "distance": 42, # Output only. The number of layers by which this image differs from the
3873 # associated image basis.
3874 "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
3875 # occurrence.
3876 "layerInfo": [ # This contains layer-specific metadata, if populated it has length
3877 # "distance" and is ordered with [distance] being the layer immediately
3878 # following the base image and [1] being the final layer.
3879 { # Layer holds metadata specific to a layer of a Docker image.
3880 "arguments": "A String", # The recovered arguments to the Dockerfile directive.
3881 "directive": "A String", # Required. The recovered Dockerfile directive used to construct this layer.
3882 },
3883 ],
3884 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
3885 "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
3886 # representation.
3887 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
3888 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
3889 # Only the name of the final blob is kept.
3890 "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
3891 "A String",
3892 ],
3893 },
3894 },
3895 },
3896 "noteName": "A String", # Required. Immutable. The analysis note associated with this occurrence, in
3897 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
3898 # used as a filter in list requests.
3899}
3900
3901 updateMask: string, The fields to update.
3902 x__xgafv: string, V1 error format.
3903 Allowed values
3904 1 - v1 error format
3905 2 - v2 error format
3906
3907Returns:
3908 An object of the form:
3909
3910 { # An instance of an analysis type that has been found on a resource.
3911 "kind": "A String", # Output only. This explicitly denotes which of the occurrence details are
3912 # specified. This field can be used as a filter in list requests.
3913 "resource": { # An entity that can have metadata. For example, a Docker image. # Required. Immutable. The resource for which the occurrence applies.
3914 "contentHash": { # Container message for hash values. # Deprecated, do not use. Use uri instead.
3915 #
3916 # The hash of the resource content. For example, the Docker digest.
3917 "type": "A String", # Required. The type of hash that was performed.
3918 "value": "A String", # Required. The hash value.
3919 },
3920 "uri": "A String", # Required. The unique URI of the resource. For example,
3921 # `https://gcr.io/project/image@sha256:foo` for a Docker image.
3922 "name": "A String", # Deprecated, do not use. Use uri instead.
3923 #
3924 # The name of the resource. For example, the name of a Docker image -
3925 # "Debian".
3926 },
3927 "name": "A String", # Output only. The name of the occurrence in the form of
3928 # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
3929 "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability.
3930 "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
3931 # scale of 0-10 where 0 indicates low severity and 10 indicates high
3932 # severity.
3933 "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
3934 "type": "A String", # The type of package; whether native or non native(ruby gems, node.js
3935 # packages etc)
3936 "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is
3937 # available, and note provider assigned severity when distro has not yet
3938 # assigned a severity for this vulnerability.
3939 "relatedUrls": [ # Output only. URLs related to this vulnerability.
3940 { # Metadata for any related URL information.
3941 "url": "A String", # Specific URL associated with the resource.
3942 "label": "A String", # Label to describe usage of the URL.
3943 },
3944 ],
3945 "packageIssue": [ # Required. The set of affected locations and their fixes (if available)
3946 # within the associated resource.
3947 { # This message wraps a location affected by a vulnerability and its
3948 # associated fix (if one is available).
3949 "severityName": "A String", # Deprecated, use Details.effective_severity instead
3950 # The severity (e.g., distro assigned severity) for this vulnerability.
3951 "affectedLocation": { # The location of the vulnerability. # Required. The location of the vulnerability.
3952 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
3953 # format. Examples include distro or storage location for vulnerable jar.
3954 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
3955 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
3956 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
3957 # versions.
3958 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
3959 # name.
3960 "revision": "A String", # The iteration of the package build from the above version.
3961 },
3962 "package": "A String", # Required. The package being described.
3963 },
3964 "fixedLocation": { # The location of the vulnerability. # The location of the available fix for vulnerability.
3965 "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
3966 # format. Examples include distro or storage location for vulnerable jar.
3967 "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
3968 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
3969 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
3970 # versions.
3971 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
3972 # name.
3973 "revision": "A String", # The iteration of the package build from the above version.
3974 },
3975 "package": "A String", # Required. The package being described.
3976 },
3977 },
3978 ],
3979 "longDescription": "A String", # Output only. A detailed description of this vulnerability.
3980 "shortDescription": "A String", # Output only. A one sentence description of this vulnerability.
3981 },
3982 "updateTime": "A String", # Output only. The time this occurrence was last updated.
3983 "discovered": { # Details of a discovery occurrence. # Describes when a resource was discovered.
3984 "discovered": { # Provides information about the analysis status of a discovered resource. # Required. Analysis status for the discovered resource.
3985 "lastAnalysisTime": "A String", # The last time continuous analysis was done for this resource.
3986 # Deprecated, do not use.
3987 "analysisStatus": "A String", # The status of discovery for the resource.
3988 "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
3989 "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
3990 # details to show to the user. The LocalizedMessage is output only and
3991 # populated by the API.
3992 # different programming environments, including REST APIs and RPC APIs. It is
3993 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
3994 # three pieces of data: error code, error message, and error details.
3995 #
3996 # You can find out more about this error model and how to work with it in the
3997 # [API Design Guide](https://cloud.google.com/apis/design/errors).
3998 "message": "A String", # A developer-facing error message, which should be in English. Any
3999 # user-facing error message should be localized and sent in the
4000 # google.rpc.Status.details field, or localized by the client.
4001 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
4002 "details": [ # A list of messages that carry the error details. There is a common set of
4003 # message types for APIs to use.
4004 {
4005 "a_key": "", # Properties of the object. Contains field @type with type URL.
4006 },
4007 ],
4008 },
4009 },
4010 },
4011 "attestation": { # Details of an attestation occurrence. # Describes an attestation of an artifact.
4012 "attestation": { # Occurrence that represents a single "attestation". The authenticity of an # Required. Attestation for the resource.
4013 # attestation can be verified using the attached signature. If the verifier
4014 # trusts the public key of the signer, then verifying the signature is
4015 # sufficient to establish trust. In this circumstance, the authority to which
4016 # this attestation is attached is primarily useful for look-up (how to find
4017 # this attestation if you already know the authority and artifact to be
4018 # verified) and intent (which authority was this attestation intended to sign
4019 # for).
4020 "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature. This message only # A PGP signed attestation.
4021 # supports `ATTACHED` signatures, where the payload that is signed is included
4022 # alongside the signature itself in the same file.
4023 "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
4024 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
4025 # 160-bit fingerprint, expressed as a 40 character hexidecimal string. See
4026 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
4027 # Implementations may choose to acknowledge "LONG", "SHORT", or other
4028 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
4029 # In gpg, the full fingerprint can be retrieved from the `fpr` field
4030 # returned when calling --list-keys with --with-colons. For example:
4031 # ```
4032 # gpg --with-colons --with-fingerprint --force-v4-certs \
4033 # --list-keys attester@example.com
4034 # tru::1:1513631572:0:3:1:5
4035 # pub:...<SNIP>...
4036 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
4037 # ```
4038 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
4039 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
4040 # The verifier must ensure that the provided type is one that the verifier
4041 # supports, and that the attestation payload is a valid instantiation of that
4042 # type (for example by validating a JSON schema).
4043 "signature": "A String", # Required. The raw content of the signature, as output by GNU Privacy Guard
4044 # (GPG) or equivalent. Since this message only supports attached signatures,
4045 # the payload that was signed must be attached. While the signature format
4046 # supported is dependent on the verification implementation, currently only
4047 # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
4048 # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
4049 # --output=signature.gpg payload.json` will create the signature content
4050 # expected in this field in `signature.gpg` for the `payload.json`
4051 # attestation payload.
4052 },
4053 "genericSignedAttestation": { # An attestation wrapper that uses the Grafeas `Signature` message.
4054 # This attestation must define the `serialized_payload` that the `signatures`
4055 # verify and any metadata necessary to interpret that plaintext. The
4056 # signatures should always be over the `serialized_payload` bytestring.
4057 "signatures": [ # One or more signatures over `serialized_payload`. Verifier implementations
4058 # should consider this attestation message verified if at least one
4059 # `signature` verifies `serialized_payload`. See `Signature` in common.proto
4060 # for more details on signature structure and verification.
4061 { # Verifiers (e.g. Kritis implementations) MUST verify signatures
4062 # with respect to the trust anchors defined in policy (e.g. a Kritis policy).
4063 # Typically this means that the verifier has been configured with a map from
4064 # `public_key_id` to public key material (and any required parameters, e.g.
4065 # signing algorithm).
4066 #
4067 # In particular, verification implementations MUST NOT treat the signature
4068 # `public_key_id` as anything more than a key lookup hint. The `public_key_id`
4069 # DOES NOT validate or authenticate a public key; it only provides a mechanism
4070 # for quickly selecting a public key ALREADY CONFIGURED on the verifier through
4071 # a trusted channel. Verification implementations MUST reject signatures in any
4072 # of the following circumstances:
4073 # * The `public_key_id` is not recognized by the verifier.
4074 # * The public key that `public_key_id` refers to does not verify the
4075 # signature with respect to the payload.
4076 #
4077 # The `signature` contents SHOULD NOT be "attached" (where the payload is
4078 # included with the serialized `signature` bytes). Verifiers MUST ignore any
4079 # "attached" payload and only verify signatures with respect to explicitly
4080 # provided payload (e.g. a `payload` field on the proto message that holds
4081 # this Signature, or the canonical serialization of the proto message that
4082 # holds this signature).
4083 "publicKeyId": "A String", # The identifier for the public key that verifies this signature.
4084 # * The `public_key_id` is required.
4085 # * The `public_key_id` MUST be an RFC3986 conformant URI.
4086 # * When possible, the `public_key_id` SHOULD be an immutable reference,
4087 # such as a cryptographic digest.
4088 #
4089 # Examples of valid `public_key_id`s:
4090 #
4091 # OpenPGP V4 public key fingerprint:
4092 # * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA"
4093 # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
4094 # details on this scheme.
4095 #
4096 # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
4097 # serialization):
4098 # * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU"
4099 # * "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5"
4100 "signature": "A String", # The content of the signature, an opaque bytestring.
4101 # The payload that this signature verifies MUST be unambiguously provided
4102 # with the Signature during verification. A wrapper message might provide
4103 # the payload explicitly. Alternatively, a message might have a canonical
4104 # serialization that can always be unambiguously computed to derive the
4105 # payload.
4106 },
4107 ],
4108 "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
4109 # The verifier must ensure that the provided type is one that the verifier
4110 # supports, and that the attestation payload is a valid instantiation of that
4111 # type (for example by validating a JSON schema).
4112 "serializedPayload": "A String", # The serialized payload that is verified by one or more `signatures`.
4113 # The encoding and semantic meaning of this payload must match what is set in
4114 # `content_type`.
4115 },
4116 },
4117 },
4118 "build": { # Details of a build occurrence. # Describes a verifiable build.
4119 "provenance": { # Provenance of a build. Contains all information needed to verify the full # Required. The actual provenance for the build.
4120 # details about the build from source to completion.
4121 "commands": [ # Commands requested by the build.
4122 { # Command describes a step performed as part of the build pipeline.
4123 "waitFor": [ # The ID(s) of the command(s) that this command depends on.
4124 "A String",
4125 ],
4126 "name": "A String", # Required. Name of the command, as presented on the command line, or if the
4127 # command is packaged as a Docker container, as presented to `docker pull`.
4128 "args": [ # Command-line arguments used when executing this command.
4129 "A String",
4130 ],
4131 "env": [ # Environment variables set before running this command.
4132 "A String",
4133 ],
4134 "id": "A String", # Optional unique identifier for this command, used in wait_for to reference
4135 # this command as a dependency.
4136 "dir": "A String", # Working directory (relative to project source root) used when running this
4137 # command.
4138 },
4139 ],
4140 "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
4141 "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
4142 # source integrity was maintained in the build.
4143 #
4144 # The keys to this map are file paths used as build source and the values
4145 # contain the hash values for those files.
4146 #
4147 # If the build source came in a single package such as a gzipped tarfile
4148 # (.tar.gz), the FileHash will be for the single path to that file.
4149 "a_key": { # Container message for hashes of byte content of files, used in source
4150 # messages to verify integrity of source input to the build.
4151 "fileHash": [ # Required. Collection of file hashes.
4152 { # Container message for hash values.
4153 "type": "A String", # Required. The type of hash that was performed.
4154 "value": "A String", # Required. The hash value.
4155 },
4156 ],
4157 },
4158 },
4159 "artifactStorageSourceUri": "A String", # If provided, the input binary artifacts for the build came from this
4160 # location.
4161 "additionalContexts": [ # If provided, some of the source code used for the build may be found in
4162 # these locations, in the case where the source repository had multiple
4163 # remotes or submodules. This list will not include the context specified in
4164 # the context field.
4165 { # A SourceContext is a reference to a tree of files. A SourceContext together
4166 # with a path point to a unique revision of a single file or directory.
4167 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
4168 # repository (e.g., GitHub).
4169 "url": "A String", # Git repository URL.
4170 "revisionId": "A String", # Git commit hash.
4171 },
4172 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
4173 # Source Repo.
4174 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
4175 "kind": "A String", # The alias kind.
4176 "name": "A String", # The alias name.
4177 },
4178 "revisionId": "A String", # A revision ID.
4179 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
4180 "uid": "A String", # A server-assigned, globally unique identifier.
4181 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
4182 # winged-cargo-31) and a repo name within that project.
4183 "projectId": "A String", # The ID of the project.
4184 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
4185 },
4186 },
4187 },
4188 "labels": { # Labels with user defined metadata.
4189 "a_key": "A String",
4190 },
4191 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
4192 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
4193 "kind": "A String", # The alias kind.
4194 "name": "A String", # The alias name.
4195 },
4196 "revisionId": "A String", # A revision (commit) ID.
4197 "hostUri": "A String", # The URI of a running Gerrit instance.
4198 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
4199 # "project/subproject" is a valid project name. The "repo name" is the
4200 # hostURI/project.
4201 },
4202 },
4203 ],
4204 "context": { # 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.
4205 # with a path point to a unique revision of a single file or directory.
4206 "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
4207 # repository (e.g., GitHub).
4208 "url": "A String", # Git repository URL.
4209 "revisionId": "A String", # Git commit hash.
4210 },
4211 "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
4212 # Source Repo.
4213 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
4214 "kind": "A String", # The alias kind.
4215 "name": "A String", # The alias name.
4216 },
4217 "revisionId": "A String", # A revision ID.
4218 "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
4219 "uid": "A String", # A server-assigned, globally unique identifier.
4220 "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
4221 # winged-cargo-31) and a repo name within that project.
4222 "projectId": "A String", # The ID of the project.
4223 "repoName": "A String", # The name of the repo. Leave empty for the default repo.
4224 },
4225 },
4226 },
4227 "labels": { # Labels with user defined metadata.
4228 "a_key": "A String",
4229 },
4230 "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
4231 "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
4232 "kind": "A String", # The alias kind.
4233 "name": "A String", # The alias name.
4234 },
4235 "revisionId": "A String", # A revision (commit) ID.
4236 "hostUri": "A String", # The URI of a running Gerrit instance.
4237 "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
4238 # "project/subproject" is a valid project name. The "repo name" is the
4239 # hostURI/project.
4240 },
4241 },
4242 },
4243 "buildOptions": { # Special options applied to this build. This is a catch-all field where
4244 # build providers can enter any desired additional details.
4245 "a_key": "A String",
4246 },
4247 "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
4248 # user's e-mail address at the time the build was initiated; this address may
4249 # not represent the same end-user for all time.
4250 "projectId": "A String", # ID of the project.
4251 "builderVersion": "A String", # Version string of the builder at the time this build was executed.
4252 "createTime": "A String", # Time at which the build was created.
4253 "builtArtifacts": [ # Output of the build.
4254 { # Artifact describes a build product.
4255 "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
4256 # container.
4257 "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
4258 # like `gcr.io/projectID/imagename@sha256:123456`.
4259 "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
4260 # the case of a container build, the name used to push the container image to
4261 # Google Container Registry, as presented to `docker push`. Note that a
4262 # single Artifact ID can have multiple names, for example if two tags are
4263 # applied to one image.
4264 "A String",
4265 ],
4266 },
4267 ],
4268 "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
4269 "startTime": "A String", # Time at which execution of the build was started.
4270 "endTime": "A String", # Time at which execution of the build was finished.
4271 "id": "A String", # Required. Unique identifier of the build.
4272 "logsUri": "A String", # URI where any logs for this provenance were written.
4273 },
4274 "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
4275 # build signature in the corresponding build note. After verifying the
4276 # signature, `provenance_bytes` can be unmarshalled and compared to the
4277 # provenance to confirm that it is unchanged. A base64-encoded string
4278 # representation of the provenance bytes is used for the signature in order
4279 # to interoperate with openssl which expects this format for signature
4280 # verification.
4281 #
4282 # The serialized form is captured both to avoid ambiguity in how the
4283 # provenance is marshalled to json as well to prevent incompatibilities with
4284 # future changes.
4285 },
4286 "deployment": { # Details of a deployment occurrence. # Describes the deployment of an artifact on a runtime.
4287 "deployment": { # The period during which some deployable was active in a runtime. # Required. Deployment history for the resource.
4288 "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from
4289 # the deployable field with the same name.
4290 "A String",
4291 ],
4292 "userEmail": "A String", # Identity of the user that triggered this deployment.
4293 "address": "A String", # Address of the runtime element hosting this deployment.
4294 "platform": "A String", # Platform hosting this deployment.
4295 "deployTime": "A String", # Required. Beginning of the lifetime of this deployment.
4296 "undeployTime": "A String", # End of the lifetime of this deployment.
4297 "config": "A String", # Configuration used to create this deployment.
4298 },
4299 },
4300 "remediation": "A String", # A description of actions that can be taken to remedy the note.
4301 "installation": { # Details of a package occurrence. # Describes the installation of a package on the linked resource.
4302 "installation": { # This represents how a particular software package may be installed on a # Required. Where the package was installed.
4303 # system.
4304 "location": [ # Required. All of the places within the filesystem versions of this package
4305 # have been found.
4306 { # An occurrence of a particular package installation found within a system's
4307 # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
4308 "path": "A String", # The path from which we gathered that this package/version is installed.
4309 "cpeUri": "A String", # Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
4310 # denoting the package manager version distributing a package.
4311 "version": { # Version contains structured information about the version of a package. # The version installed at this location.
4312 "epoch": 42, # Used to correct mistakes in the version numbering scheme.
4313 "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
4314 # versions.
4315 "name": "A String", # Required only when version kind is NORMAL. The main part of the version
4316 # name.
4317 "revision": "A String", # The iteration of the package build from the above version.
4318 },
4319 },
4320 ],
4321 "name": "A String", # Output only. The name of the installed package.
4322 },
4323 },
4324 "createTime": "A String", # Output only. The time this occurrence was created.
4325 "derivedImage": { # Details of an image occurrence. # Describes how this resource derives from the basis in the associated
4326 # note.
4327 "derivedImage": { # Derived describes the derived image portion (Occurrence) of the DockerImage # Required. Immutable. The child image derived from the base image.
4328 # relationship. This image would be produced from a Dockerfile with FROM
4329 # <DockerImage.Basis in attached Note>.
4330 "distance": 42, # Output only. The number of layers by which this image differs from the
4331 # associated image basis.
4332 "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
4333 # occurrence.
4334 "layerInfo": [ # This contains layer-specific metadata, if populated it has length
4335 # "distance" and is ordered with [distance] being the layer immediately
4336 # following the base image and [1] being the final layer.
4337 { # Layer holds metadata specific to a layer of a Docker image.
4338 "arguments": "A String", # The recovered arguments to the Dockerfile directive.
4339 "directive": "A String", # Required. The recovered Dockerfile directive used to construct this layer.
4340 },
4341 ],
4342 "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. The fingerprint of the derived image.
4343 "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
4344 # representation.
4345 "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
4346 # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
4347 # Only the name of the final blob is kept.
4348 "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
4349 "A String",
4350 ],
4351 },
4352 },
4353 },
4354 "noteName": "A String", # Required. Immutable. The analysis note associated with this occurrence, in
4355 # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
4356 # used as a filter in list requests.
4357 }</pre>
4358</div>
4359
4360<div class="method">
4361 <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
4362 <pre>Sets the access control policy on the specified note or occurrence.
4363Requires `containeranalysis.notes.setIamPolicy` or
4364`containeranalysis.occurrences.setIamPolicy` permission if the resource is
4365a note or an occurrence, respectively.
4366
4367The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
4368notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
4369occurrences.
4370
4371Args:
4372 resource: string, REQUIRED: The resource for which the policy is being specified.
4373See the operation documentation for the appropriate value for this field. (required)
4374 body: object, The request body. (required)
4375 The object takes the form of:
4376
4377{ # Request message for `SetIamPolicy` method.
4378 "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to # REQUIRED: The complete policy to be applied to the `resource`. The size of
4379 # the policy is limited to a few 10s of KB. An empty policy is a
4380 # valid policy but certain Cloud Platform services (such as Projects)
4381 # might reject them.
4382 # specify access control policies for Cloud Platform resources.
4383 #
4384 #
4385 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
4386 # `members` to a `role`, where the members can be user accounts, Google groups,
4387 # Google domains, and service accounts. A `role` is a named list of permissions
4388 # defined by IAM.
4389 #
4390 # **JSON Example**
4391 #
4392 # {
4393 # "bindings": [
4394 # {
4395 # "role": "roles/owner",
4396 # "members": [
4397 # "user:mike@example.com",
4398 # "group:admins@example.com",
4399 # "domain:google.com",
4400 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
4401 # ]
4402 # },
4403 # {
4404 # "role": "roles/viewer",
4405 # "members": ["user:sean@example.com"]
4406 # }
4407 # ]
4408 # }
4409 #
4410 # **YAML Example**
4411 #
4412 # bindings:
4413 # - members:
4414 # - user:mike@example.com
4415 # - group:admins@example.com
4416 # - domain:google.com
4417 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
4418 # role: roles/owner
4419 # - members:
4420 # - user:sean@example.com
4421 # role: roles/viewer
4422 #
4423 #
4424 # For a description of IAM and its features, see the
4425 # [IAM developer's guide](https://cloud.google.com/iam/docs).
4426 "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
4427 { # Specifies the audit configuration for a service.
4428 # The configuration determines which permission types are logged, and what
4429 # identities, if any, are exempted from logging.
4430 # An AuditConfig must have one or more AuditLogConfigs.
4431 #
4432 # If there are AuditConfigs for both `allServices` and a specific service,
4433 # the union of the two AuditConfigs is used for that service: the log_types
4434 # specified in each AuditConfig are enabled, and the exempted_members in each
4435 # AuditLogConfig are exempted.
4436 #
4437 # Example Policy with multiple AuditConfigs:
4438 #
4439 # {
4440 # "audit_configs": [
4441 # {
4442 # "service": "allServices"
4443 # "audit_log_configs": [
4444 # {
4445 # "log_type": "DATA_READ",
4446 # "exempted_members": [
4447 # "user:foo@gmail.com"
4448 # ]
4449 # },
4450 # {
4451 # "log_type": "DATA_WRITE",
4452 # },
4453 # {
4454 # "log_type": "ADMIN_READ",
4455 # }
4456 # ]
4457 # },
4458 # {
4459 # "service": "fooservice.googleapis.com"
4460 # "audit_log_configs": [
4461 # {
4462 # "log_type": "DATA_READ",
4463 # },
4464 # {
4465 # "log_type": "DATA_WRITE",
4466 # "exempted_members": [
4467 # "user:bar@gmail.com"
4468 # ]
4469 # }
4470 # ]
4471 # }
4472 # ]
4473 # }
4474 #
4475 # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
4476 # logging. It also exempts foo@gmail.com from DATA_READ logging, and
4477 # bar@gmail.com from DATA_WRITE logging.
4478 "auditLogConfigs": [ # The configuration for logging of each type of permission.
4479 { # Provides the configuration for logging a type of permissions.
4480 # Example:
4481 #
4482 # {
4483 # "audit_log_configs": [
4484 # {
4485 # "log_type": "DATA_READ",
4486 # "exempted_members": [
4487 # "user:foo@gmail.com"
4488 # ]
4489 # },
4490 # {
4491 # "log_type": "DATA_WRITE",
4492 # }
4493 # ]
4494 # }
4495 #
4496 # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
4497 # foo@gmail.com from DATA_READ logging.
4498 "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
4499 # permission.
4500 # Follows the same format of Binding.members.
4501 "A String",
4502 ],
4503 "logType": "A String", # The log type that this config enables.
4504 },
4505 ],
4506 "service": "A String", # Specifies a service that will be enabled for audit logging.
4507 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
4508 # `allServices` is a special value that covers all services.
4509 },
4510 ],
4511 "version": 42, # Deprecated.
4512 "bindings": [ # Associates a list of `members` to a `role`.
4513 # `bindings` with no members will result in an error.
4514 { # Associates `members` with a `role`.
4515 "role": "A String", # Role that is assigned to `members`.
4516 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
4517 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
4518 # `members` can have the following values:
4519 #
4520 # * `allUsers`: A special identifier that represents anyone who is
4521 # on the internet; with or without a Google account.
4522 #
4523 # * `allAuthenticatedUsers`: A special identifier that represents anyone
4524 # who is authenticated with a Google account or a service account.
4525 #
4526 # * `user:{emailid}`: An email address that represents a specific Google
4527 # account. For example, `alice@gmail.com` .
4528 #
4529 #
4530 # * `serviceAccount:{emailid}`: An email address that represents a service
4531 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
4532 #
4533 # * `group:{emailid}`: An email address that represents a Google group.
4534 # For example, `admins@example.com`.
4535 #
4536 #
4537 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
4538 # users of that domain. For example, `google.com` or `example.com`.
4539 #
4540 "A String",
4541 ],
4542 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
4543 # NOTE: An unsatisfied condition will not allow user access via current
4544 # binding. Different bindings, including their conditions, are examined
4545 # independently.
4546 #
4547 # title: "User account presence"
4548 # description: "Determines whether the request has a user account"
4549 # expression: "size(request.user) > 0"
4550 "location": "A String", # An optional string indicating the location of the expression for error
4551 # reporting, e.g. a file name and a position in the file.
4552 "expression": "A String", # Textual representation of an expression in
4553 # Common Expression Language syntax.
4554 #
4555 # The application context of the containing message determines which
4556 # well-known feature set of CEL is supported.
4557 "description": "A String", # An optional description of the expression. This is a longer text which
4558 # describes the expression, e.g. when hovered over it in a UI.
4559 "title": "A String", # An optional title for the expression, i.e. a short string describing
4560 # its purpose. This can be used e.g. in UIs which allow to enter the
4561 # expression.
4562 },
4563 },
4564 ],
4565 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
4566 # prevent simultaneous updates of a policy from overwriting each other.
4567 # It is strongly suggested that systems make use of the `etag` in the
4568 # read-modify-write cycle to perform policy updates in order to avoid race
4569 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
4570 # systems are expected to put that etag in the request to `setIamPolicy` to
4571 # ensure that their change will be applied to the same version of the policy.
4572 #
4573 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
4574 # policy is overwritten blindly.
4575 },
4576 "updateMask": "A String", # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
4577 # the fields in the mask will be modified. If no mask is provided, the
4578 # following default mask is used:
4579 # paths: "bindings, etag"
4580 # This field is only used by Cloud IAM.
4581 }
4582
4583 x__xgafv: string, V1 error format.
4584 Allowed values
4585 1 - v1 error format
4586 2 - v2 error format
4587
4588Returns:
4589 An object of the form:
4590
4591 { # Defines an Identity and Access Management (IAM) policy. It is used to
4592 # specify access control policies for Cloud Platform resources.
4593 #
4594 #
4595 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
4596 # `members` to a `role`, where the members can be user accounts, Google groups,
4597 # Google domains, and service accounts. A `role` is a named list of permissions
4598 # defined by IAM.
4599 #
4600 # **JSON Example**
4601 #
4602 # {
4603 # "bindings": [
4604 # {
4605 # "role": "roles/owner",
4606 # "members": [
4607 # "user:mike@example.com",
4608 # "group:admins@example.com",
4609 # "domain:google.com",
4610 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
4611 # ]
4612 # },
4613 # {
4614 # "role": "roles/viewer",
4615 # "members": ["user:sean@example.com"]
4616 # }
4617 # ]
4618 # }
4619 #
4620 # **YAML Example**
4621 #
4622 # bindings:
4623 # - members:
4624 # - user:mike@example.com
4625 # - group:admins@example.com
4626 # - domain:google.com
4627 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
4628 # role: roles/owner
4629 # - members:
4630 # - user:sean@example.com
4631 # role: roles/viewer
4632 #
4633 #
4634 # For a description of IAM and its features, see the
4635 # [IAM developer's guide](https://cloud.google.com/iam/docs).
4636 "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
4637 { # Specifies the audit configuration for a service.
4638 # The configuration determines which permission types are logged, and what
4639 # identities, if any, are exempted from logging.
4640 # An AuditConfig must have one or more AuditLogConfigs.
4641 #
4642 # If there are AuditConfigs for both `allServices` and a specific service,
4643 # the union of the two AuditConfigs is used for that service: the log_types
4644 # specified in each AuditConfig are enabled, and the exempted_members in each
4645 # AuditLogConfig are exempted.
4646 #
4647 # Example Policy with multiple AuditConfigs:
4648 #
4649 # {
4650 # "audit_configs": [
4651 # {
4652 # "service": "allServices"
4653 # "audit_log_configs": [
4654 # {
4655 # "log_type": "DATA_READ",
4656 # "exempted_members": [
4657 # "user:foo@gmail.com"
4658 # ]
4659 # },
4660 # {
4661 # "log_type": "DATA_WRITE",
4662 # },
4663 # {
4664 # "log_type": "ADMIN_READ",
4665 # }
4666 # ]
4667 # },
4668 # {
4669 # "service": "fooservice.googleapis.com"
4670 # "audit_log_configs": [
4671 # {
4672 # "log_type": "DATA_READ",
4673 # },
4674 # {
4675 # "log_type": "DATA_WRITE",
4676 # "exempted_members": [
4677 # "user:bar@gmail.com"
4678 # ]
4679 # }
4680 # ]
4681 # }
4682 # ]
4683 # }
4684 #
4685 # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
4686 # logging. It also exempts foo@gmail.com from DATA_READ logging, and
4687 # bar@gmail.com from DATA_WRITE logging.
4688 "auditLogConfigs": [ # The configuration for logging of each type of permission.
4689 { # Provides the configuration for logging a type of permissions.
4690 # Example:
4691 #
4692 # {
4693 # "audit_log_configs": [
4694 # {
4695 # "log_type": "DATA_READ",
4696 # "exempted_members": [
4697 # "user:foo@gmail.com"
4698 # ]
4699 # },
4700 # {
4701 # "log_type": "DATA_WRITE",
4702 # }
4703 # ]
4704 # }
4705 #
4706 # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
4707 # foo@gmail.com from DATA_READ logging.
4708 "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
4709 # permission.
4710 # Follows the same format of Binding.members.
4711 "A String",
4712 ],
4713 "logType": "A String", # The log type that this config enables.
4714 },
4715 ],
4716 "service": "A String", # Specifies a service that will be enabled for audit logging.
4717 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
4718 # `allServices` is a special value that covers all services.
4719 },
4720 ],
4721 "version": 42, # Deprecated.
4722 "bindings": [ # Associates a list of `members` to a `role`.
4723 # `bindings` with no members will result in an error.
4724 { # Associates `members` with a `role`.
4725 "role": "A String", # Role that is assigned to `members`.
4726 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
4727 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
4728 # `members` can have the following values:
4729 #
4730 # * `allUsers`: A special identifier that represents anyone who is
4731 # on the internet; with or without a Google account.
4732 #
4733 # * `allAuthenticatedUsers`: A special identifier that represents anyone
4734 # who is authenticated with a Google account or a service account.
4735 #
4736 # * `user:{emailid}`: An email address that represents a specific Google
4737 # account. For example, `alice@gmail.com` .
4738 #
4739 #
4740 # * `serviceAccount:{emailid}`: An email address that represents a service
4741 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
4742 #
4743 # * `group:{emailid}`: An email address that represents a Google group.
4744 # For example, `admins@example.com`.
4745 #
4746 #
4747 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
4748 # users of that domain. For example, `google.com` or `example.com`.
4749 #
4750 "A String",
4751 ],
4752 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
4753 # NOTE: An unsatisfied condition will not allow user access via current
4754 # binding. Different bindings, including their conditions, are examined
4755 # independently.
4756 #
4757 # title: "User account presence"
4758 # description: "Determines whether the request has a user account"
4759 # expression: "size(request.user) > 0"
4760 "location": "A String", # An optional string indicating the location of the expression for error
4761 # reporting, e.g. a file name and a position in the file.
4762 "expression": "A String", # Textual representation of an expression in
4763 # Common Expression Language syntax.
4764 #
4765 # The application context of the containing message determines which
4766 # well-known feature set of CEL is supported.
4767 "description": "A String", # An optional description of the expression. This is a longer text which
4768 # describes the expression, e.g. when hovered over it in a UI.
4769 "title": "A String", # An optional title for the expression, i.e. a short string describing
4770 # its purpose. This can be used e.g. in UIs which allow to enter the
4771 # expression.
4772 },
4773 },
4774 ],
4775 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
4776 # prevent simultaneous updates of a policy from overwriting each other.
4777 # It is strongly suggested that systems make use of the `etag` in the
4778 # read-modify-write cycle to perform policy updates in order to avoid race
4779 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
4780 # systems are expected to put that etag in the request to `setIamPolicy` to
4781 # ensure that their change will be applied to the same version of the policy.
4782 #
4783 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
4784 # policy is overwritten blindly.
4785 }</pre>
4786</div>
4787
4788<div class="method">
4789 <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
4790 <pre>Returns the permissions that a caller has on the specified note or
4791occurrence. Requires list permission on the project (for example,
4792`containeranalysis.notes.list`).
4793
4794The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
4795notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
4796occurrences.
4797
4798Args:
4799 resource: string, REQUIRED: The resource for which the policy detail is being requested.
4800See the operation documentation for the appropriate value for this field. (required)
4801 body: object, The request body. (required)
4802 The object takes the form of:
4803
4804{ # Request message for `TestIamPermissions` method.
4805 "permissions": [ # The set of permissions to check for the `resource`. Permissions with
4806 # wildcards (such as '*' or 'storage.*') are not allowed. For more
4807 # information see
4808 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
4809 "A String",
4810 ],
4811 }
4812
4813 x__xgafv: string, V1 error format.
4814 Allowed values
4815 1 - v1 error format
4816 2 - v2 error format
4817
4818Returns:
4819 An object of the form:
4820
4821 { # Response message for `TestIamPermissions` method.
4822 "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
4823 # allowed.
4824 "A String",
4825 ],
4826 }</pre>
4827</div>
4828
4829</body></html>