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