docs: docs update (#911)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/containeranalysis_v1alpha1.projects.occurrences.html b/docs/dyn/containeranalysis_v1alpha1.projects.occurrences.html
index 493eac1..6c5b9ab 100644
--- a/docs/dyn/containeranalysis_v1alpha1.projects.occurrences.html
+++ b/docs/dyn/containeranalysis_v1alpha1.projects.occurrences.html
@@ -90,10 +90,10 @@
   <code><a href="#getNotes">getNotes(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the `Note` attached to the given `Occurrence`.</p>
 <p class="toc_element">
-  <code><a href="#getVulnerabilitySummary">getVulnerabilitySummary(parent, x__xgafv=None, filter=None)</a></code></p>
+  <code><a href="#getVulnerabilitySummary">getVulnerabilitySummary(parent, filter=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets a summary of the number and severity of occurrences.</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, kind=None, name=None, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</a></code></p>
+  <code><a href="#list">list(parent, name=None, filter=None, pageToken=None, kind=None, pageSize=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists active `Occurrences` for a given project matching the filters.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -114,326 +114,44 @@
 for a resource.
 
 Args:
-  parent: string, This field contains the project Id for example: "projects/{project_id}" (required)
+  parent: string, This field contains the project Id for example: &quot;projects/{project_id}&quot; (required)
   body: object, The request body.
     The object takes the form of:
 
 { # `Occurrence` includes information about analysis occurrences for an image.
-  "vulnerabilityDetails": { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
-      # to fix it.
-    "packageIssue": [ # The set of affected locations and their fixes (if available) within
-        # the associated resource.
-      { # This message wraps a location affected by a vulnerability and its
-          # associated fix (if one is available).
-        "severityName": "A String",
-        "affectedLocation": { # The location of the vulnerability # The location of the vulnerability.
-          "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-              # format. Examples include distro or storage location for vulnerable jar.
-              # This field can be used as a filter in list requests.
-          "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-              # filter in list requests.
-              # For a discussion of this in Debian/Ubuntu:
-              # http://serverfault.com/questions/604541/debian-packages-version-convention
-              # For a discussion of this in Redhat/Fedora/Centos:
-              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-            "name": "A String", # The main part of the version name.
-            "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                # If kind is not NORMAL, then the other fields are ignored.
-            "revision": "A String", # The iteration of the package build from the above version.
-          },
-          "package": "A String", # The package being described.
-        },
-        "fixedLocation": { # The location of the vulnerability # The location of the available fix for vulnerability.
-          "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-              # format. Examples include distro or storage location for vulnerable jar.
-              # This field can be used as a filter in list requests.
-          "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-              # filter in list requests.
-              # For a discussion of this in Debian/Ubuntu:
-              # http://serverfault.com/questions/604541/debian-packages-version-convention
-              # For a discussion of this in Redhat/Fedora/Centos:
-              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-            "name": "A String", # The main part of the version name.
-            "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                # If kind is not NORMAL, then the other fields are ignored.
-            "revision": "A String", # The iteration of the package build from the above version.
-          },
-          "package": "A String", # The package being described.
-        },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was last updated.
+  &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the `Note`
+  &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
+      # in the associated note.
+      # DockerImage relationship.  This image would be produced from a Dockerfile
+      # with FROM &lt;DockerImage.Basis in attached Note&gt;.
+    &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
+        # occurrence.
+    &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
+      &quot;v2Blob&quot;: [ # The ordered list of v2 blobs that represent a given image.
+        &quot;A String&quot;,
+      ],
+      &quot;v1Name&quot;: &quot;A String&quot;, # The layer-id of the final layer in the Docker image&#x27;s v1
+          # representation.
+          # This field can be used as a filter in list requests.
+      &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
+          #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
+          # Only the name of the final blob is kept.
+          # This field can be used as a filter in list requests.
+    },
+    &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
+        # &quot;distance&quot; and is ordered with [distance] being the layer immediately
+        # following the base image and [1] being the final layer.
+      { # Layer holds metadata specific to a layer of a Docker image.
+        &quot;directive&quot;: &quot;A String&quot;, # The recovered Dockerfile directive used to construct this layer.
+        &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
       },
     ],
-    "type": "A String", # The type of package; whether native or non native(ruby gems,
-        # node.js packages etc)
-    "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
-        # scale of 0-10 where 0 indicates low severity and 10 indicates high
-        # severity.
-    "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
-    "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when that is
-        # available and note provider assigned severity when distro has not yet
-        # assigned a severity for this vulnerability.
+    &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
+        # associated image basis.
   },
-  "resource": { #  # 
-      # The resource for which the `Occurrence` applies.
-      # Resource is an entity that can have metadata. E.g., a Docker image.
-    "contentHash": { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
-      "type": "A String", # The type of hash that was performed.
-      "value": "A String", # The hash value.
-    },
-    "name": "A String", # The name of the resource. E.g., the name of a Docker image - "Debian".
-    "uri": "A String", # The unique URI of the resource. E.g.,
-        # "https://gcr.io/project/image@sha256:foo" for a Docker image.
-  },
-  "updateTime": "A String", # Output only. The time this `Occurrence` was last updated.
-  "upgrade": { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
-      # specific upgrade. This presence is supplied via local sources (i.e. it is
-      # present in the mirror and the running system has noticed its availability).
-    "distribution": { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
-        # for the resource_url. This allows efficient filtering, as well as
-        # making it easier to use the occurrence.
-        # operating system (CPE). Some distributions have additional metadata around
-        # updates, classifying them into various categories and severities.
-      "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
-          # https://cpe.mitre.org/specification/.
-      "cve": [ # The cve that would be resolved by this upgrade.
-        "A String",
-      ],
-      "severity": "A String", # The severity as specified by the upstream operating system.
-      "classification": "A String", # The operating system classification of this Upgrade, as specified by the
-          # upstream operating system upgrade feed.
-    },
-    "parsedVersion": { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
-        # For a discussion of this in Debian/Ubuntu:
-        # http://serverfault.com/questions/604541/debian-packages-version-convention
-        # For a discussion of this in Redhat/Fedora/Centos:
-        # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-      "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-      "name": "A String", # The main part of the version name.
-      "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-          # If kind is not NORMAL, then the other fields are ignored.
-      "revision": "A String", # The iteration of the package build from the above version.
-    },
-    "package": "A String", # Required - The package this Upgrade is for.
-  },
-  "installation": { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
-      # a system.
-    "location": [ # All of the places within the filesystem versions of this package
-        # have been found.
-      { # An occurrence of a particular package installation found within a
-          # system's filesystem.
-          # e.g. glibc was found in /var/lib/dpkg/status
-        "path": "A String", # The path from which we gathered that this package/version is installed.
-        "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
-            # denoting the package manager version distributing a package.
-        "version": { # Version contains structured information about the version of the package. # The version installed at this location.
-            # For a discussion of this in Debian/Ubuntu:
-            # http://serverfault.com/questions/604541/debian-packages-version-convention
-            # For a discussion of this in Redhat/Fedora/Centos:
-            # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-          "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-          "name": "A String", # The main part of the version name.
-          "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-              # If kind is not NORMAL, then the other fields are ignored.
-          "revision": "A String", # The iteration of the package build from the above version.
-        },
-      },
-    ],
-    "name": "A String", # Output only. The name of the installed package.
-  },
-  "name": "A String", # Output only. The name of the `Occurrence` in the form
-      # "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
-  "kind": "A String", # Output only. This explicitly denotes which of the `Occurrence` details are
-      # specified. This field can be used as a filter in list requests.
-  "buildDetails": { # Message encapsulating build provenance details. # Build details for a verifiable build.
-    "provenance": { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
-        # details about the build from source to completion.
-      "finishTime": "A String", # Time at which execution of the build was finished.
-      "commands": [ # Commands requested by the build.
-        { # Command describes a step performed as part of the build pipeline.
-          "waitFor": [ # The ID(s) of the Command(s) that this Command depends on.
-            "A String",
-          ],
-          "name": "A String", # Name of the command, as presented on the command line, or if the command is
-              # packaged as a Docker container, as presented to `docker pull`.
-          "args": [ # Command-line arguments used when executing this Command.
-            "A String",
-          ],
-          "env": [ # Environment variables set before running this Command.
-            "A String",
-          ],
-          "id": "A String", # Optional unique identifier for this Command, used in wait_for to reference
-              # this Command as a dependency.
-          "dir": "A String", # Working directory (relative to project source root) used when running
-              # this Command.
-        },
-      ],
-      "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
-        "artifactStorageSource": { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
-            # location.
-            # Google Cloud Storage.
-          "generation": "A String", # Google Cloud Storage generation for the object.
-          "object": "A String", # Google Cloud Storage object containing source.
-          "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-              # Requirements]
-              # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-        },
-        "repoSource": { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
-            # Repository.
-          "projectId": "A String", # ID of the project that owns the repo.
-          "branchName": "A String", # Name of the branch to build.
-          "commitSha": "A String", # Explicit commit SHA to build.
-          "tagName": "A String", # Name of the tag to build.
-          "repoName": "A String", # Name of the repo.
-        },
-        "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
-            # source integrity was maintained in the build.
-            #
-            # The keys to this map are file paths used as build source and the values
-            # contain the hash values for those files.
-            #
-            # If the build source came in a single package such as a gzipped tarfile
-            # (.tar.gz), the FileHash will be for the single path to that file.
-          "a_key": { # Container message for hashes of byte content of files, used in Source
-              # messages to verify integrity of source input to the build.
-            "fileHash": [ # Collection of file hashes.
-              { # Container message for hash values.
-                "type": "A String", # The type of hash that was performed.
-                "value": "A String", # The hash value.
-              },
-            ],
-          },
-        },
-        "additionalContexts": [ # If provided, some of the source code used for the build may be found in
-            # these locations, in the case where the source repository had multiple
-            # remotes or submodules. This list will not include the context specified in
-            # the context field.
-          { # A SourceContext is a reference to a tree of files. A SourceContext together
-              # with a path point to a unique revision of a single file or directory.
-            "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-                # repository (e.g., GitHub).
-              "url": "A String", # Git repository URL.
-              "revisionId": "A String", # Required. Git commit hash.
-            },
-            "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-                # Source Repo.
-              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                "kind": "A String", # The alias kind.
-                "name": "A String", # The alias name.
-              },
-              "revisionId": "A String", # A revision ID.
-              "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-                "uid": "A String", # A server-assigned, globally unique identifier.
-                "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                    # winged-cargo-31) and a repo name within that project.
-                  "projectId": "A String", # The ID of the project.
-                  "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-                },
-              },
-            },
-            "labels": { # Labels with user defined metadata.
-              "a_key": "A String",
-            },
-            "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                "kind": "A String", # The alias kind.
-                "name": "A String", # The alias name.
-              },
-              "revisionId": "A String", # A revision (commit) ID.
-              "hostUri": "A String", # The URI of a running Gerrit instance.
-              "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                  # "project/subproject" is a valid project name. The "repo name" is
-                  # the hostURI/project.
-            },
-          },
-        ],
-        "context": { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
-            # with a path point to a unique revision of a single file or directory.
-          "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-              # repository (e.g., GitHub).
-            "url": "A String", # Git repository URL.
-            "revisionId": "A String", # Required. Git commit hash.
-          },
-          "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-              # Source Repo.
-            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-              "kind": "A String", # The alias kind.
-              "name": "A String", # The alias name.
-            },
-            "revisionId": "A String", # A revision ID.
-            "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-              "uid": "A String", # A server-assigned, globally unique identifier.
-              "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                  # winged-cargo-31) and a repo name within that project.
-                "projectId": "A String", # The ID of the project.
-                "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-              },
-            },
-          },
-          "labels": { # Labels with user defined metadata.
-            "a_key": "A String",
-          },
-          "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-              "kind": "A String", # The alias kind.
-              "name": "A String", # The alias name.
-            },
-            "revisionId": "A String", # A revision (commit) ID.
-            "hostUri": "A String", # The URI of a running Gerrit instance.
-            "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                # "project/subproject" is a valid project name. The "repo name" is
-                # the hostURI/project.
-          },
-        },
-        "storageSource": { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
-            # Storage.
-            # Google Cloud Storage.
-          "generation": "A String", # Google Cloud Storage generation for the object.
-          "object": "A String", # Google Cloud Storage object containing source.
-          "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-              # Requirements]
-              # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-        },
-      },
-      "buildOptions": { # Special options applied to this build. This is a catch-all field where
-          # build providers can enter any desired additional details.
-        "a_key": "A String",
-      },
-      "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
-          # user's e-mail address at the time the build was initiated; this address may
-          # not represent the same end-user for all time.
-      "projectId": "A String", # ID of the project.
-      "builderVersion": "A String", # Version string of the builder at the time this build was executed.
-      "createTime": "A String", # Time at which the build was created.
-      "builtArtifacts": [ # Output of the build.
-        { # Artifact describes a build product.
-          "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
-              # container.
-          "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
-              # like gcr.io/projectID/imagename@sha256:123456
-          "name": "A String", # Name of the artifact. This may be the path to a binary or jar file, or in
-              # the case of a container build, the name used to push the container image to
-              # Google Container Registry, as presented to `docker push`.
-              #
-              # This field is deprecated in favor of the plural `names` field; it continues
-              # to exist here to allow existing BuildProvenance serialized to json in
-              # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
-              # deserialize back into proto.
-          "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
-              # the case of a container build, the name used to push the container image to
-              # Google Container Registry, as presented to `docker push`. Note that a
-              # single Artifact ID can have multiple names, for example if two tags are
-              # applied to one image.
-            "A String",
-          ],
-        },
-      ],
-      "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
-      "startTime": "A String", # Time at which execution of the build was started.
-      "logsBucket": "A String", # Google Cloud Storage bucket where logs were written.
-      "id": "A String", # Unique identifier of the build.
-    },
-    "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
+  &quot;buildDetails&quot;: { # Message encapsulating build provenance details. # Build details for a verifiable build.
+    &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
         # `BuildSignature` in the corresponding Result. After verifying the
         # signature, `provenance_bytes` can be unmarshalled and compared to the
         # provenance to confirm that it is unchanged. A base64-encoded string
@@ -444,77 +162,213 @@
         # The serialized form is captured both to avoid ambiguity in how the
         # provenance is marshalled to json as well to prevent incompatibilities with
         # future changes.
-  },
-  "discovered": { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
-    "analysisStatus": "A String", # The status of discovery for the resource.
-    "operation": { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
-        # This field is deprecated, do not use.
-        # network API call.
-      "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
-          # different programming environments, including REST APIs and RPC APIs. It is
-          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-          # three pieces of data: error code, error message, and error details.
-          #
-          # You can find out more about this error model and how to work with it in the
-          # [API Design Guide](https://cloud.google.com/apis/design/errors).
-        "message": "A String", # A developer-facing error message, which should be in English. Any
-            # user-facing error message should be localized and sent in the
-            # google.rpc.Status.details field, or localized by the client.
-        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-        "details": [ # A list of messages that carry the error details.  There is a common set of
-            # message types for APIs to use.
-          {
-            "a_key": "", # Properties of the object. Contains field @type with type URL.
+    &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
+        # details about the build from source to completion.
+      &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
+      &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
+      &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
+        &quot;repoSource&quot;: { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
+            # Repository.
+          &quot;projectId&quot;: &quot;A String&quot;, # ID of the project that owns the repo.
+          &quot;repoName&quot;: &quot;A String&quot;, # Name of the repo.
+          &quot;branchName&quot;: &quot;A String&quot;, # Name of the branch to build.
+          &quot;tagName&quot;: &quot;A String&quot;, # Name of the tag to build.
+          &quot;commitSha&quot;: &quot;A String&quot;, # Explicit commit SHA to build.
+        },
+        &quot;storageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
+            # Storage.
+            # Google Cloud Storage.
+          &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+              # Requirements]
+              # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+          &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+          &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+        },
+        &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
+            # source integrity was maintained in the build.
+            #
+            # The keys to this map are file paths used as build source and the values
+            # contain the hash values for those files.
+            #
+            # If the build source came in a single package such as a gzipped tarfile
+            # (.tar.gz), the FileHash will be for the single path to that file.
+          &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in Source
+              # messages to verify integrity of source input to the build.
+            &quot;fileHash&quot;: [ # Collection of file hashes.
+              { # Container message for hash values.
+                &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+                &quot;value&quot;: &quot;A String&quot;, # The hash value.
+              },
+            ],
+          },
+        },
+        &quot;artifactStorageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
+            # location.
+            # Google Cloud Storage.
+          &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+              # Requirements]
+              # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+          &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+          &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+        },
+        &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
+            # these locations, in the case where the source repository had multiple
+            # remotes or submodules. This list will not include the context specified in
+            # the context field.
+          { # A SourceContext is a reference to a tree of files. A SourceContext together
+              # with a path point to a unique revision of a single file or directory.
+            &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.
+                # Source Repo.
+              &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+              &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+                &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+                &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.
+                    # winged-cargo-31) and a repo name within that project.
+                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                  &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+                },
+              },
+              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+              },
+            },
+            &quot;labels&quot;: { # Labels with user defined metadata.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &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).
+                # repository (e.g., GitHub).
+              &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+              &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+            },
+            &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+              &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+              &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+              &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                  # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                  # the hostURI/project.
+              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+              },
+            },
           },
         ],
+        &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.
+            # with a path point to a unique revision of a single file or directory.
+          &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.
+              # Source Repo.
+            &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+            &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+              &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+              &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.
+                  # winged-cargo-31) and a repo name within that project.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+              },
+            },
+            &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+              &quot;name&quot;: &quot;A String&quot;, # The alias name.
+              &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+            },
+          },
+          &quot;labels&quot;: { # Labels with user defined metadata.
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+          &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).
+              # repository (e.g., GitHub).
+            &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+            &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+          },
+          &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+            &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+            &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+            &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                # the hostURI/project.
+            &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+              &quot;name&quot;: &quot;A String&quot;, # The alias name.
+              &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+            },
+          },
+        },
       },
-      "done": True or False, # If the value is `false`, it means the operation is still in progress.
-          # If `true`, the operation is completed, and either `error` or `response` is
-          # available.
-      "response": { # The normal response of the operation in case of success.  If the original
-          # method returns no data on success, such as `Delete`, the response is
-          # `google.protobuf.Empty`.  If the original method is standard
-          # `Get`/`Create`/`Update`, the response should be the resource.  For other
-          # methods, the response should have the type `XxxResponse`, where `Xxx`
-          # is the original method name.  For example, if the original method name
-          # is `TakeSnapshot()`, the inferred response type is
-          # `TakeSnapshotResponse`.
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-      "name": "A String", # The server-assigned name, which is only unique within the same service that
-          # originally returns it. If you use the default HTTP mapping, the
-          # `name` should be a resource name ending with `operations/{unique_id}`.
-      "metadata": { # Service-specific metadata associated with the operation.  It typically
-          # contains progress information and common metadata such as create time.
-          # Some services might not provide such metadata.  Any method that returns a
-          # long-running operation should document the metadata type, if any.
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-    },
-    "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
-    "cpe": "A String", # The CPE of the resource being scanned.
-    "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
-        # details to show to the user. The LocalizedMessage output only and
-        # populated by the API.
-        # different programming environments, including REST APIs and RPC APIs. It is
-        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-        # three pieces of data: error code, error message, and error details.
-        #
-        # You can find out more about this error model and how to work with it in the
-        # [API Design Guide](https://cloud.google.com/apis/design/errors).
-      "message": "A String", # A developer-facing error message, which should be in English. Any
-          # user-facing error message should be localized and sent in the
-          # google.rpc.Status.details field, or localized by the client.
-      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-      "details": [ # A list of messages that carry the error details.  There is a common set of
-          # message types for APIs to use.
-        {
-          "a_key": "", # Properties of the object. Contains field @type with type URL.
+      &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
+      &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
+      &quot;finishTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
+      &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
+          # user&#x27;s e-mail address at the time the build was initiated; this address may
+          # not represent the same end-user for all time.
+      &quot;logsBucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket where logs were written.
+      &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
+      &quot;commands&quot;: [ # Commands requested by the build.
+        { # Command describes a step performed as part of the build pipeline.
+          &quot;name&quot;: &quot;A String&quot;, # Name of the command, as presented on the command line, or if the command is
+              # packaged as a Docker container, as presented to `docker pull`.
+          &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this Command, used in wait_for to reference
+              # this Command as a dependency.
+          &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running
+              # this Command.
+          &quot;waitFor&quot;: [ # The ID(s) of the Command(s) that this Command depends on.
+            &quot;A String&quot;,
+          ],
+          &quot;env&quot;: [ # Environment variables set before running this Command.
+            &quot;A String&quot;,
+          ],
+          &quot;args&quot;: [ # Command-line arguments used when executing this Command.
+            &quot;A String&quot;,
+          ],
         },
       ],
+      &quot;builtArtifacts&quot;: [ # Output of the build.
+        { # Artifact describes a build product.
+          &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
+              # like gcr.io/projectID/imagename@sha256:123456
+          &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
+              # the case of a container build, the name used to push the container image to
+              # Google Container Registry, as presented to `docker push`. Note that a
+              # single Artifact ID can have multiple names, for example if two tags are
+              # applied to one image.
+            &quot;A String&quot;,
+          ],
+          &quot;name&quot;: &quot;A String&quot;, # Name of the artifact. This may be the path to a binary or jar file, or in
+              # the case of a container build, the name used to push the container image to
+              # Google Container Registry, as presented to `docker push`.
+              #
+              # This field is deprecated in favor of the plural `names` field; it continues
+              # to exist here to allow existing BuildProvenance serialized to json in
+              # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
+              # deserialize back into proto.
+          &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
+              # container.
+        },
+      ],
+      &quot;id&quot;: &quot;A String&quot;, # Unique identifier of the build.
+      &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
+          # build providers can enter any desired additional details.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
     },
   },
-  "attestation": { # Occurrence that represents a single "attestation".  The authenticity of an # Describes an attestation of an artifact.
+  &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the `Occurrence` details are
+      # specified. This field can be used as a filter in list requests.
+  &quot;resource&quot;: { #  # 
+      # The resource for which the `Occurrence` applies.
+      # Resource is an entity that can have metadata. E.g., a Docker image.
+    &quot;name&quot;: &quot;A String&quot;, # The name of the resource. E.g., the name of a Docker image - &quot;Debian&quot;.
+    &quot;contentHash&quot;: { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
+      &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+      &quot;value&quot;: &quot;A String&quot;, # The hash value.
+    },
+    &quot;uri&quot;: &quot;A String&quot;, # The unique URI of the resource. E.g.,
+        # &quot;https://gcr.io/project/image@sha256:foo&quot; for a Docker image.
+  },
+  &quot;resourceUrl&quot;: &quot;A String&quot;, # The unique URL of the image or the container for which the `Occurrence`
+      # applies. For example, https://gcr.io/project/image@sha256:foo This field
+      # can be used as a filter in list requests.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the `Occurrence` in the form
+      # &quot;projects/{project_id}/occurrences/{OCCURRENCE_ID}&quot;
+  &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;.  The authenticity of an # Describes an attestation of an artifact.
       # Attestation can be verified using the attached signature. If the verifier
       # trusts the public key of the signer, then verifying the signature is
       # sufficient to establish trust.  In this circumstance, the
@@ -522,14 +376,23 @@
       # useful for look-up (how to find this Attestation if you already know the
       # Authority and artifact to be verified) and intent (which authority was this
       # attestation intended to sign for).
-    "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature.
+    &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature.
         # This message only supports `ATTACHED` signatures, where the payload that is
         # signed is included alongside the signature itself in the same file.
-      "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
+      &quot;signature&quot;: &quot;A String&quot;, # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
+          # equivalent.  Since this message only supports attached signatures, the
+          # payload that was signed must be attached. While the signature format
+          # supported is dependent on the verification implementation, currently only
+          # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
+          # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
+          # --output=signature.gpg payload.json` will create the signature content
+          # expected in this field in `signature.gpg` for the `payload.json`
+          # attestation payload.
+      &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
           # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
           # 160-bit fingerprint, expressed as a 40 character hexadecimal string. See
           # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
-          # Implementations may choose to acknowledge "LONG", "SHORT", or other
+          # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
           # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
           # In gpg, the full fingerprint can be retrieved from the `fpr` field
           # returned when calling --list-keys with --with-colons.  For example:
@@ -541,73 +404,210 @@
           # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
           # ```
           # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
-      "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
+      &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
           # The verifier must ensure that the provided type is one that the verifier
           # supports, and that the attestation payload is a valid instantiation of that
           # type (for example by validating a JSON schema).
-      "signature": "A String", # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
-          # equivalent.  Since this message only supports attached signatures, the
-          # payload that was signed must be attached. While the signature format
-          # supported is dependent on the verification implementation, currently only
-          # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
-          # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
-          # --output=signature.gpg payload.json` will create the signature content
-          # expected in this field in `signature.gpg` for the `payload.json`
-          # attestation payload.
     },
   },
-  "noteName": "A String", # An analysis note associated with this image, in the form
-      # "providers/{provider_id}/notes/{NOTE_ID}"
-      # This field can be used as a filter in list requests.
-  "deployment": { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
-    "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from the
-        # deployable field with the same name.
-      "A String",
-    ],
-    "userEmail": "A String", # Identity of the user that triggered this deployment.
-    "address": "A String", # Address of the runtime element hosting this deployment.
-    "platform": "A String", # Platform hosting this deployment.
-    "deployTime": "A String", # Beginning of the lifetime of this deployment.
-    "undeployTime": "A String", # End of the lifetime of this deployment.
-    "config": "A String", # Configuration used to create this deployment.
-  },
-  "remediation": "A String", # A description of actions that can be taken to remedy the `Note`
-  "resourceUrl": "A String", # The unique URL of the image or the container for which the `Occurrence`
-      # applies. For example, https://gcr.io/project/image@sha256:foo This field
-      # can be used as a filter in list requests.
-  "createTime": "A String", # Output only. The time this `Occurrence` was created.
-  "derivedImage": { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
-      # in the associated note.
-      # DockerImage relationship.  This image would be produced from a Dockerfile
-      # with FROM &lt;DockerImage.Basis in attached Note&gt;.
-    "distance": 42, # Output only. The number of layers by which this image differs from the
-        # associated image basis.
-    "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
-        # occurrence.
-    "layerInfo": [ # This contains layer-specific metadata, if populated it has length
-        # "distance" and is ordered with [distance] being the layer immediately
-        # following the base image and [1] being the final layer.
-      { # Layer holds metadata specific to a layer of a Docker image.
-        "arguments": "A String", # The recovered arguments to the Dockerfile directive.
-        "directive": "A String", # The recovered Dockerfile directive used to construct this layer.
+  &quot;installation&quot;: { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
+      # a system.
+    &quot;location&quot;: [ # All of the places within the filesystem versions of this package
+        # have been found.
+      { # An occurrence of a particular package installation found within a
+          # system&#x27;s filesystem.
+          # e.g. glibc was found in /var/lib/dpkg/status
+        &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
+            # denoting the package manager version distributing a package.
+        &quot;version&quot;: { # Version contains structured information about the version of the package. # The version installed at this location.
+            # For a discussion of this in Debian/Ubuntu:
+            # http://serverfault.com/questions/604541/debian-packages-version-convention
+            # For a discussion of this in Redhat/Fedora/Centos:
+            # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+          &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+          &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+              # If kind is not NORMAL, then the other fields are ignored.
+          &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+          &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+        },
+        &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
       },
     ],
-    "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
-      "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
-          # representation.
-          # This field can be used as a filter in list requests.
-      "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
-        "A String",
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
+  },
+  &quot;upgrade&quot;: { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
+      # specific upgrade. This presence is supplied via local sources (i.e. it is
+      # present in the mirror and the running system has noticed its availability).
+    &quot;distribution&quot;: { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
+        # for the resource_url. This allows efficient filtering, as well as
+        # making it easier to use the occurrence.
+        # operating system (CPE). Some distributions have additional metadata around
+        # updates, classifying them into various categories and severities.
+      &quot;cve&quot;: [ # The cve that would be resolved by this upgrade.
+        &quot;A String&quot;,
       ],
-      "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
-          #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
-          # Only the name of the final blob is kept.
-          # This field can be used as a filter in list requests.
+      &quot;classification&quot;: &quot;A String&quot;, # The operating system classification of this Upgrade, as specified by the
+          # upstream operating system upgrade feed.
+      &quot;severity&quot;: &quot;A String&quot;, # The severity as specified by the upstream operating system.
+      &quot;cpeUri&quot;: &quot;A String&quot;, # Required - The specific operating system this metadata applies to. See
+          # https://cpe.mitre.org/specification/.
+    },
+    &quot;package&quot;: &quot;A String&quot;, # Required - The package this Upgrade is for.
+    &quot;parsedVersion&quot;: { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
+        # For a discussion of this in Debian/Ubuntu:
+        # http://serverfault.com/questions/604541/debian-packages-version-convention
+        # For a discussion of this in Redhat/Fedora/Centos:
+        # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+      &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+      &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+          # If kind is not NORMAL, then the other fields are ignored.
+      &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+      &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
     },
   },
+  &quot;discovered&quot;: { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
+    &quot;operation&quot;: { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
+        # This field is deprecated, do not use.
+        # network API call.
+      &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
+          # originally returns it. If you use the default HTTP mapping, the
+          # `name` should be a resource name ending with `operations/{unique_id}`.
+      &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+          # different programming environments, including REST APIs and RPC APIs. It is
+          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+          # three pieces of data: error code, error message, and error details.
+          #
+          # You can find out more about this error model and how to work with it in the
+          # [API Design Guide](https://cloud.google.com/apis/design/errors).
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+            # user-facing error message should be localized and sent in the
+            # google.rpc.Status.details field, or localized by the client.
+        &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+            # message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+      },
+      &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
+          # contains progress information and common metadata such as create time.
+          # Some services might not provide such metadata.  Any method that returns a
+          # long-running operation should document the metadata type, if any.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+      &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
+          # If `true`, the operation is completed, and either `error` or `response` is
+          # available.
+      &quot;response&quot;: { # The normal response of the operation in case of success.  If the original
+          # method returns no data on success, such as `Delete`, the response is
+          # `google.protobuf.Empty`.  If the original method is standard
+          # `Get`/`Create`/`Update`, the response should be the resource.  For other
+          # methods, the response should have the type `XxxResponse`, where `Xxx`
+          # is the original method name.  For example, if the original method name
+          # is `TakeSnapshot()`, the inferred response type is
+          # `TakeSnapshotResponse`.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    },
+    &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
+    &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
+    &quot;cpe&quot;: &quot;A String&quot;, # The CPE of the resource being scanned.
+    &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
+        # details to show to the user. The LocalizedMessage output only and
+        # populated by the API.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+      &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  },
+  &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
+    &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
+    &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from the
+        # deployable field with the same name.
+      &quot;A String&quot;,
+    ],
+    &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
+    &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
+    &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
+    &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
+    &quot;deployTime&quot;: &quot;A String&quot;, # Beginning of the lifetime of this deployment.
+  },
+  &quot;noteName&quot;: &quot;A String&quot;, # An analysis note associated with this image, in the form
+      # &quot;providers/{provider_id}/notes/{NOTE_ID}&quot;
+      # This field can be used as a filter in list requests.
+  &quot;vulnerabilityDetails&quot;: { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
+      # to fix it.
+    &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
+        # scale of 0-10 where 0 indicates low severity and 10 indicates high
+        # severity.
+    &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems,
+        # node.js packages etc)
+    &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when that is
+        # available and note provider assigned severity when distro has not yet
+        # assigned a severity for this vulnerability.
+    &quot;packageIssue&quot;: [ # The set of affected locations and their fixes (if available) within
+        # the associated resource.
+      { # This message wraps a location affected by a vulnerability and its
+          # associated fix (if one is available).
+        &quot;affectedLocation&quot;: { # The location of the vulnerability # The location of the vulnerability.
+          &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+              # format. Examples include distro or storage location for vulnerable jar.
+              # This field can be used as a filter in list requests.
+          &quot;package&quot;: &quot;A String&quot;, # The package being described.
+          &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+              # filter in list requests.
+              # For a discussion of this in Debian/Ubuntu:
+              # http://serverfault.com/questions/604541/debian-packages-version-convention
+              # For a discussion of this in Redhat/Fedora/Centos:
+              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+            &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+            &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                # If kind is not NORMAL, then the other fields are ignored.
+            &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+            &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+          },
+        },
+        &quot;fixedLocation&quot;: { # The location of the vulnerability # The location of the available fix for vulnerability.
+          &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+              # format. Examples include distro or storage location for vulnerable jar.
+              # This field can be used as a filter in list requests.
+          &quot;package&quot;: &quot;A String&quot;, # The package being described.
+          &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+              # filter in list requests.
+              # For a discussion of this in Debian/Ubuntu:
+              # http://serverfault.com/questions/604541/debian-packages-version-convention
+              # For a discussion of this in Redhat/Fedora/Centos:
+              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+            &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+            &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                # If kind is not NORMAL, then the other fields are ignored.
+            &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+            &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+          },
+        },
+        &quot;severityName&quot;: &quot;A String&quot;,
+      },
+    ],
+    &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was created.
 }
 
-  name: string, The name of the project.  Should be of the form "projects/{project_id}".
+  name: string, The name of the project.  Should be of the form &quot;projects/{project_id}&quot;.
 @Deprecated
   x__xgafv: string, V1 error format.
     Allowed values
@@ -618,321 +618,39 @@
   An object of the form:
 
     { # `Occurrence` includes information about analysis occurrences for an image.
-    "vulnerabilityDetails": { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
-        # to fix it.
-      "packageIssue": [ # The set of affected locations and their fixes (if available) within
-          # the associated resource.
-        { # This message wraps a location affected by a vulnerability and its
-            # associated fix (if one is available).
-          "severityName": "A String",
-          "affectedLocation": { # The location of the vulnerability # The location of the vulnerability.
-            "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-                # format. Examples include distro or storage location for vulnerable jar.
-                # This field can be used as a filter in list requests.
-            "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-                # filter in list requests.
-                # For a discussion of this in Debian/Ubuntu:
-                # http://serverfault.com/questions/604541/debian-packages-version-convention
-                # For a discussion of this in Redhat/Fedora/Centos:
-                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-              "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-              "name": "A String", # The main part of the version name.
-              "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                  # If kind is not NORMAL, then the other fields are ignored.
-              "revision": "A String", # The iteration of the package build from the above version.
-            },
-            "package": "A String", # The package being described.
-          },
-          "fixedLocation": { # The location of the vulnerability # The location of the available fix for vulnerability.
-            "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-                # format. Examples include distro or storage location for vulnerable jar.
-                # This field can be used as a filter in list requests.
-            "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-                # filter in list requests.
-                # For a discussion of this in Debian/Ubuntu:
-                # http://serverfault.com/questions/604541/debian-packages-version-convention
-                # For a discussion of this in Redhat/Fedora/Centos:
-                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-              "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-              "name": "A String", # The main part of the version name.
-              "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                  # If kind is not NORMAL, then the other fields are ignored.
-              "revision": "A String", # The iteration of the package build from the above version.
-            },
-            "package": "A String", # The package being described.
-          },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was last updated.
+    &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the `Note`
+    &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
+        # in the associated note.
+        # DockerImage relationship.  This image would be produced from a Dockerfile
+        # with FROM &lt;DockerImage.Basis in attached Note&gt;.
+      &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
+          # occurrence.
+      &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
+        &quot;v2Blob&quot;: [ # The ordered list of v2 blobs that represent a given image.
+          &quot;A String&quot;,
+        ],
+        &quot;v1Name&quot;: &quot;A String&quot;, # The layer-id of the final layer in the Docker image&#x27;s v1
+            # representation.
+            # This field can be used as a filter in list requests.
+        &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
+            #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
+            # Only the name of the final blob is kept.
+            # This field can be used as a filter in list requests.
+      },
+      &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
+          # &quot;distance&quot; and is ordered with [distance] being the layer immediately
+          # following the base image and [1] being the final layer.
+        { # Layer holds metadata specific to a layer of a Docker image.
+          &quot;directive&quot;: &quot;A String&quot;, # The recovered Dockerfile directive used to construct this layer.
+          &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
         },
       ],
-      "type": "A String", # The type of package; whether native or non native(ruby gems,
-          # node.js packages etc)
-      "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
-          # scale of 0-10 where 0 indicates low severity and 10 indicates high
-          # severity.
-      "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
-      "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when that is
-          # available and note provider assigned severity when distro has not yet
-          # assigned a severity for this vulnerability.
+      &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
+          # associated image basis.
     },
-    "resource": { #  #
-        # The resource for which the `Occurrence` applies.
-        # Resource is an entity that can have metadata. E.g., a Docker image.
-      "contentHash": { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
-        "type": "A String", # The type of hash that was performed.
-        "value": "A String", # The hash value.
-      },
-      "name": "A String", # The name of the resource. E.g., the name of a Docker image - "Debian".
-      "uri": "A String", # The unique URI of the resource. E.g.,
-          # "https://gcr.io/project/image@sha256:foo" for a Docker image.
-    },
-    "updateTime": "A String", # Output only. The time this `Occurrence` was last updated.
-    "upgrade": { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
-        # specific upgrade. This presence is supplied via local sources (i.e. it is
-        # present in the mirror and the running system has noticed its availability).
-      "distribution": { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
-          # for the resource_url. This allows efficient filtering, as well as
-          # making it easier to use the occurrence.
-          # operating system (CPE). Some distributions have additional metadata around
-          # updates, classifying them into various categories and severities.
-        "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
-            # https://cpe.mitre.org/specification/.
-        "cve": [ # The cve that would be resolved by this upgrade.
-          "A String",
-        ],
-        "severity": "A String", # The severity as specified by the upstream operating system.
-        "classification": "A String", # The operating system classification of this Upgrade, as specified by the
-            # upstream operating system upgrade feed.
-      },
-      "parsedVersion": { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
-          # For a discussion of this in Debian/Ubuntu:
-          # http://serverfault.com/questions/604541/debian-packages-version-convention
-          # For a discussion of this in Redhat/Fedora/Centos:
-          # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-        "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-        "name": "A String", # The main part of the version name.
-        "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-            # If kind is not NORMAL, then the other fields are ignored.
-        "revision": "A String", # The iteration of the package build from the above version.
-      },
-      "package": "A String", # Required - The package this Upgrade is for.
-    },
-    "installation": { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
-        # a system.
-      "location": [ # All of the places within the filesystem versions of this package
-          # have been found.
-        { # An occurrence of a particular package installation found within a
-            # system's filesystem.
-            # e.g. glibc was found in /var/lib/dpkg/status
-          "path": "A String", # The path from which we gathered that this package/version is installed.
-          "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
-              # denoting the package manager version distributing a package.
-          "version": { # Version contains structured information about the version of the package. # The version installed at this location.
-              # For a discussion of this in Debian/Ubuntu:
-              # http://serverfault.com/questions/604541/debian-packages-version-convention
-              # For a discussion of this in Redhat/Fedora/Centos:
-              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-            "name": "A String", # The main part of the version name.
-            "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                # If kind is not NORMAL, then the other fields are ignored.
-            "revision": "A String", # The iteration of the package build from the above version.
-          },
-        },
-      ],
-      "name": "A String", # Output only. The name of the installed package.
-    },
-    "name": "A String", # Output only. The name of the `Occurrence` in the form
-        # "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
-    "kind": "A String", # Output only. This explicitly denotes which of the `Occurrence` details are
-        # specified. This field can be used as a filter in list requests.
-    "buildDetails": { # Message encapsulating build provenance details. # Build details for a verifiable build.
-      "provenance": { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
-          # details about the build from source to completion.
-        "finishTime": "A String", # Time at which execution of the build was finished.
-        "commands": [ # Commands requested by the build.
-          { # Command describes a step performed as part of the build pipeline.
-            "waitFor": [ # The ID(s) of the Command(s) that this Command depends on.
-              "A String",
-            ],
-            "name": "A String", # Name of the command, as presented on the command line, or if the command is
-                # packaged as a Docker container, as presented to `docker pull`.
-            "args": [ # Command-line arguments used when executing this Command.
-              "A String",
-            ],
-            "env": [ # Environment variables set before running this Command.
-              "A String",
-            ],
-            "id": "A String", # Optional unique identifier for this Command, used in wait_for to reference
-                # this Command as a dependency.
-            "dir": "A String", # Working directory (relative to project source root) used when running
-                # this Command.
-          },
-        ],
-        "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
-          "artifactStorageSource": { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
-              # location.
-              # Google Cloud Storage.
-            "generation": "A String", # Google Cloud Storage generation for the object.
-            "object": "A String", # Google Cloud Storage object containing source.
-            "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-                # Requirements]
-                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-          },
-          "repoSource": { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
-              # Repository.
-            "projectId": "A String", # ID of the project that owns the repo.
-            "branchName": "A String", # Name of the branch to build.
-            "commitSha": "A String", # Explicit commit SHA to build.
-            "tagName": "A String", # Name of the tag to build.
-            "repoName": "A String", # Name of the repo.
-          },
-          "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
-              # source integrity was maintained in the build.
-              #
-              # The keys to this map are file paths used as build source and the values
-              # contain the hash values for those files.
-              #
-              # If the build source came in a single package such as a gzipped tarfile
-              # (.tar.gz), the FileHash will be for the single path to that file.
-            "a_key": { # Container message for hashes of byte content of files, used in Source
-                # messages to verify integrity of source input to the build.
-              "fileHash": [ # Collection of file hashes.
-                { # Container message for hash values.
-                  "type": "A String", # The type of hash that was performed.
-                  "value": "A String", # The hash value.
-                },
-              ],
-            },
-          },
-          "additionalContexts": [ # If provided, some of the source code used for the build may be found in
-              # these locations, in the case where the source repository had multiple
-              # remotes or submodules. This list will not include the context specified in
-              # the context field.
-            { # A SourceContext is a reference to a tree of files. A SourceContext together
-                # with a path point to a unique revision of a single file or directory.
-              "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-                  # repository (e.g., GitHub).
-                "url": "A String", # Git repository URL.
-                "revisionId": "A String", # Required. Git commit hash.
-              },
-              "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-                  # Source Repo.
-                "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                  "kind": "A String", # The alias kind.
-                  "name": "A String", # The alias name.
-                },
-                "revisionId": "A String", # A revision ID.
-                "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-                  "uid": "A String", # A server-assigned, globally unique identifier.
-                  "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                      # winged-cargo-31) and a repo name within that project.
-                    "projectId": "A String", # The ID of the project.
-                    "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-                  },
-                },
-              },
-              "labels": { # Labels with user defined metadata.
-                "a_key": "A String",
-              },
-              "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-                "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                  "kind": "A String", # The alias kind.
-                  "name": "A String", # The alias name.
-                },
-                "revisionId": "A String", # A revision (commit) ID.
-                "hostUri": "A String", # The URI of a running Gerrit instance.
-                "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                    # "project/subproject" is a valid project name. The "repo name" is
-                    # the hostURI/project.
-              },
-            },
-          ],
-          "context": { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
-              # with a path point to a unique revision of a single file or directory.
-            "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-                # repository (e.g., GitHub).
-              "url": "A String", # Git repository URL.
-              "revisionId": "A String", # Required. Git commit hash.
-            },
-            "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-                # Source Repo.
-              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                "kind": "A String", # The alias kind.
-                "name": "A String", # The alias name.
-              },
-              "revisionId": "A String", # A revision ID.
-              "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-                "uid": "A String", # A server-assigned, globally unique identifier.
-                "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                    # winged-cargo-31) and a repo name within that project.
-                  "projectId": "A String", # The ID of the project.
-                  "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-                },
-              },
-            },
-            "labels": { # Labels with user defined metadata.
-              "a_key": "A String",
-            },
-            "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                "kind": "A String", # The alias kind.
-                "name": "A String", # The alias name.
-              },
-              "revisionId": "A String", # A revision (commit) ID.
-              "hostUri": "A String", # The URI of a running Gerrit instance.
-              "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                  # "project/subproject" is a valid project name. The "repo name" is
-                  # the hostURI/project.
-            },
-          },
-          "storageSource": { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
-              # Storage.
-              # Google Cloud Storage.
-            "generation": "A String", # Google Cloud Storage generation for the object.
-            "object": "A String", # Google Cloud Storage object containing source.
-            "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-                # Requirements]
-                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-          },
-        },
-        "buildOptions": { # Special options applied to this build. This is a catch-all field where
-            # build providers can enter any desired additional details.
-          "a_key": "A String",
-        },
-        "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
-            # user's e-mail address at the time the build was initiated; this address may
-            # not represent the same end-user for all time.
-        "projectId": "A String", # ID of the project.
-        "builderVersion": "A String", # Version string of the builder at the time this build was executed.
-        "createTime": "A String", # Time at which the build was created.
-        "builtArtifacts": [ # Output of the build.
-          { # Artifact describes a build product.
-            "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
-                # container.
-            "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
-                # like gcr.io/projectID/imagename@sha256:123456
-            "name": "A String", # Name of the artifact. This may be the path to a binary or jar file, or in
-                # the case of a container build, the name used to push the container image to
-                # Google Container Registry, as presented to `docker push`.
-                #
-                # This field is deprecated in favor of the plural `names` field; it continues
-                # to exist here to allow existing BuildProvenance serialized to json in
-                # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
-                # deserialize back into proto.
-            "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
-                # the case of a container build, the name used to push the container image to
-                # Google Container Registry, as presented to `docker push`. Note that a
-                # single Artifact ID can have multiple names, for example if two tags are
-                # applied to one image.
-              "A String",
-            ],
-          },
-        ],
-        "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
-        "startTime": "A String", # Time at which execution of the build was started.
-        "logsBucket": "A String", # Google Cloud Storage bucket where logs were written.
-        "id": "A String", # Unique identifier of the build.
-      },
-      "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
+    &quot;buildDetails&quot;: { # Message encapsulating build provenance details. # Build details for a verifiable build.
+      &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
           # `BuildSignature` in the corresponding Result. After verifying the
           # signature, `provenance_bytes` can be unmarshalled and compared to the
           # provenance to confirm that it is unchanged. A base64-encoded string
@@ -943,77 +661,213 @@
           # The serialized form is captured both to avoid ambiguity in how the
           # provenance is marshalled to json as well to prevent incompatibilities with
           # future changes.
-    },
-    "discovered": { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
-      "analysisStatus": "A String", # The status of discovery for the resource.
-      "operation": { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
-          # This field is deprecated, do not use.
-          # network API call.
-        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
-            # different programming environments, including REST APIs and RPC APIs. It is
-            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-            # three pieces of data: error code, error message, and error details.
-            #
-            # You can find out more about this error model and how to work with it in the
-            # [API Design Guide](https://cloud.google.com/apis/design/errors).
-          "message": "A String", # A developer-facing error message, which should be in English. Any
-              # user-facing error message should be localized and sent in the
-              # google.rpc.Status.details field, or localized by the client.
-          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-          "details": [ # A list of messages that carry the error details.  There is a common set of
-              # message types for APIs to use.
-            {
-              "a_key": "", # Properties of the object. Contains field @type with type URL.
+      &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
+          # details about the build from source to completion.
+        &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
+        &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
+        &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
+          &quot;repoSource&quot;: { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
+              # Repository.
+            &quot;projectId&quot;: &quot;A String&quot;, # ID of the project that owns the repo.
+            &quot;repoName&quot;: &quot;A String&quot;, # Name of the repo.
+            &quot;branchName&quot;: &quot;A String&quot;, # Name of the branch to build.
+            &quot;tagName&quot;: &quot;A String&quot;, # Name of the tag to build.
+            &quot;commitSha&quot;: &quot;A String&quot;, # Explicit commit SHA to build.
+          },
+          &quot;storageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
+              # Storage.
+              # Google Cloud Storage.
+            &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+                # Requirements]
+                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+            &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+            &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+          },
+          &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
+              # source integrity was maintained in the build.
+              #
+              # The keys to this map are file paths used as build source and the values
+              # contain the hash values for those files.
+              #
+              # If the build source came in a single package such as a gzipped tarfile
+              # (.tar.gz), the FileHash will be for the single path to that file.
+            &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in Source
+                # messages to verify integrity of source input to the build.
+              &quot;fileHash&quot;: [ # Collection of file hashes.
+                { # Container message for hash values.
+                  &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+                  &quot;value&quot;: &quot;A String&quot;, # The hash value.
+                },
+              ],
+            },
+          },
+          &quot;artifactStorageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
+              # location.
+              # Google Cloud Storage.
+            &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+                # Requirements]
+                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+            &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+            &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+          },
+          &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
+              # these locations, in the case where the source repository had multiple
+              # remotes or submodules. This list will not include the context specified in
+              # the context field.
+            { # A SourceContext is a reference to a tree of files. A SourceContext together
+                # with a path point to a unique revision of a single file or directory.
+              &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.
+                  # Source Repo.
+                &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+                &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+                  &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+                  &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.
+                      # winged-cargo-31) and a repo name within that project.
+                    &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                    &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+                  },
+                },
+                &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                  &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                  &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+                },
+              },
+              &quot;labels&quot;: { # Labels with user defined metadata.
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+              &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).
+                  # repository (e.g., GitHub).
+                &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+                &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+              },
+              &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+                &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+                &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+                &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                    # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                    # the hostURI/project.
+                &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                  &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                  &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+                },
+              },
             },
           ],
+          &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.
+              # with a path point to a unique revision of a single file or directory.
+            &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.
+                # Source Repo.
+              &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+              &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+                &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+                &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.
+                    # winged-cargo-31) and a repo name within that project.
+                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                  &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+                },
+              },
+              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+              },
+            },
+            &quot;labels&quot;: { # Labels with user defined metadata.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &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).
+                # repository (e.g., GitHub).
+              &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+              &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+            },
+            &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+              &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+              &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+              &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                  # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                  # the hostURI/project.
+              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+              },
+            },
+          },
         },
-        "done": True or False, # If the value is `false`, it means the operation is still in progress.
-            # If `true`, the operation is completed, and either `error` or `response` is
-            # available.
-        "response": { # The normal response of the operation in case of success.  If the original
-            # method returns no data on success, such as `Delete`, the response is
-            # `google.protobuf.Empty`.  If the original method is standard
-            # `Get`/`Create`/`Update`, the response should be the resource.  For other
-            # methods, the response should have the type `XxxResponse`, where `Xxx`
-            # is the original method name.  For example, if the original method name
-            # is `TakeSnapshot()`, the inferred response type is
-            # `TakeSnapshotResponse`.
-          "a_key": "", # Properties of the object. Contains field @type with type URL.
-        },
-        "name": "A String", # The server-assigned name, which is only unique within the same service that
-            # originally returns it. If you use the default HTTP mapping, the
-            # `name` should be a resource name ending with `operations/{unique_id}`.
-        "metadata": { # Service-specific metadata associated with the operation.  It typically
-            # contains progress information and common metadata such as create time.
-            # Some services might not provide such metadata.  Any method that returns a
-            # long-running operation should document the metadata type, if any.
-          "a_key": "", # Properties of the object. Contains field @type with type URL.
-        },
-      },
-      "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
-      "cpe": "A String", # The CPE of the resource being scanned.
-      "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
-          # details to show to the user. The LocalizedMessage output only and
-          # populated by the API.
-          # different programming environments, including REST APIs and RPC APIs. It is
-          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-          # three pieces of data: error code, error message, and error details.
-          #
-          # You can find out more about this error model and how to work with it in the
-          # [API Design Guide](https://cloud.google.com/apis/design/errors).
-        "message": "A String", # A developer-facing error message, which should be in English. Any
-            # user-facing error message should be localized and sent in the
-            # google.rpc.Status.details field, or localized by the client.
-        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-        "details": [ # A list of messages that carry the error details.  There is a common set of
-            # message types for APIs to use.
-          {
-            "a_key": "", # Properties of the object. Contains field @type with type URL.
+        &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
+        &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
+        &quot;finishTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
+        &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
+            # user&#x27;s e-mail address at the time the build was initiated; this address may
+            # not represent the same end-user for all time.
+        &quot;logsBucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket where logs were written.
+        &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
+        &quot;commands&quot;: [ # Commands requested by the build.
+          { # Command describes a step performed as part of the build pipeline.
+            &quot;name&quot;: &quot;A String&quot;, # Name of the command, as presented on the command line, or if the command is
+                # packaged as a Docker container, as presented to `docker pull`.
+            &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this Command, used in wait_for to reference
+                # this Command as a dependency.
+            &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running
+                # this Command.
+            &quot;waitFor&quot;: [ # The ID(s) of the Command(s) that this Command depends on.
+              &quot;A String&quot;,
+            ],
+            &quot;env&quot;: [ # Environment variables set before running this Command.
+              &quot;A String&quot;,
+            ],
+            &quot;args&quot;: [ # Command-line arguments used when executing this Command.
+              &quot;A String&quot;,
+            ],
           },
         ],
+        &quot;builtArtifacts&quot;: [ # Output of the build.
+          { # Artifact describes a build product.
+            &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
+                # like gcr.io/projectID/imagename@sha256:123456
+            &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
+                # the case of a container build, the name used to push the container image to
+                # Google Container Registry, as presented to `docker push`. Note that a
+                # single Artifact ID can have multiple names, for example if two tags are
+                # applied to one image.
+              &quot;A String&quot;,
+            ],
+            &quot;name&quot;: &quot;A String&quot;, # Name of the artifact. This may be the path to a binary or jar file, or in
+                # the case of a container build, the name used to push the container image to
+                # Google Container Registry, as presented to `docker push`.
+                #
+                # This field is deprecated in favor of the plural `names` field; it continues
+                # to exist here to allow existing BuildProvenance serialized to json in
+                # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
+                # deserialize back into proto.
+            &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
+                # container.
+          },
+        ],
+        &quot;id&quot;: &quot;A String&quot;, # Unique identifier of the build.
+        &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
+            # build providers can enter any desired additional details.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
       },
     },
-    "attestation": { # Occurrence that represents a single "attestation".  The authenticity of an # Describes an attestation of an artifact.
+    &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the `Occurrence` details are
+        # specified. This field can be used as a filter in list requests.
+    &quot;resource&quot;: { #  #
+        # The resource for which the `Occurrence` applies.
+        # Resource is an entity that can have metadata. E.g., a Docker image.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the resource. E.g., the name of a Docker image - &quot;Debian&quot;.
+      &quot;contentHash&quot;: { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
+        &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+        &quot;value&quot;: &quot;A String&quot;, # The hash value.
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # The unique URI of the resource. E.g.,
+          # &quot;https://gcr.io/project/image@sha256:foo&quot; for a Docker image.
+    },
+    &quot;resourceUrl&quot;: &quot;A String&quot;, # The unique URL of the image or the container for which the `Occurrence`
+        # applies. For example, https://gcr.io/project/image@sha256:foo This field
+        # can be used as a filter in list requests.
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the `Occurrence` in the form
+        # &quot;projects/{project_id}/occurrences/{OCCURRENCE_ID}&quot;
+    &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;.  The authenticity of an # Describes an attestation of an artifact.
         # Attestation can be verified using the attached signature. If the verifier
         # trusts the public key of the signer, then verifying the signature is
         # sufficient to establish trust.  In this circumstance, the
@@ -1021,14 +875,23 @@
         # useful for look-up (how to find this Attestation if you already know the
         # Authority and artifact to be verified) and intent (which authority was this
         # attestation intended to sign for).
-      "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature.
+      &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature.
           # This message only supports `ATTACHED` signatures, where the payload that is
           # signed is included alongside the signature itself in the same file.
-        "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
+        &quot;signature&quot;: &quot;A String&quot;, # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
+            # equivalent.  Since this message only supports attached signatures, the
+            # payload that was signed must be attached. While the signature format
+            # supported is dependent on the verification implementation, currently only
+            # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
+            # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
+            # --output=signature.gpg payload.json` will create the signature content
+            # expected in this field in `signature.gpg` for the `payload.json`
+            # attestation payload.
+        &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
             # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
             # 160-bit fingerprint, expressed as a 40 character hexadecimal string. See
             # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
-            # Implementations may choose to acknowledge "LONG", "SHORT", or other
+            # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
             # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
             # In gpg, the full fingerprint can be retrieved from the `fpr` field
             # returned when calling --list-keys with --with-colons.  For example:
@@ -1040,70 +903,207 @@
             # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
             # ```
             # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
-        "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
+        &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
             # The verifier must ensure that the provided type is one that the verifier
             # supports, and that the attestation payload is a valid instantiation of that
             # type (for example by validating a JSON schema).
-        "signature": "A String", # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
-            # equivalent.  Since this message only supports attached signatures, the
-            # payload that was signed must be attached. While the signature format
-            # supported is dependent on the verification implementation, currently only
-            # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
-            # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
-            # --output=signature.gpg payload.json` will create the signature content
-            # expected in this field in `signature.gpg` for the `payload.json`
-            # attestation payload.
       },
     },
-    "noteName": "A String", # An analysis note associated with this image, in the form
-        # "providers/{provider_id}/notes/{NOTE_ID}"
-        # This field can be used as a filter in list requests.
-    "deployment": { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
-      "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from the
-          # deployable field with the same name.
-        "A String",
-      ],
-      "userEmail": "A String", # Identity of the user that triggered this deployment.
-      "address": "A String", # Address of the runtime element hosting this deployment.
-      "platform": "A String", # Platform hosting this deployment.
-      "deployTime": "A String", # Beginning of the lifetime of this deployment.
-      "undeployTime": "A String", # End of the lifetime of this deployment.
-      "config": "A String", # Configuration used to create this deployment.
-    },
-    "remediation": "A String", # A description of actions that can be taken to remedy the `Note`
-    "resourceUrl": "A String", # The unique URL of the image or the container for which the `Occurrence`
-        # applies. For example, https://gcr.io/project/image@sha256:foo This field
-        # can be used as a filter in list requests.
-    "createTime": "A String", # Output only. The time this `Occurrence` was created.
-    "derivedImage": { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
-        # in the associated note.
-        # DockerImage relationship.  This image would be produced from a Dockerfile
-        # with FROM &lt;DockerImage.Basis in attached Note&gt;.
-      "distance": 42, # Output only. The number of layers by which this image differs from the
-          # associated image basis.
-      "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
-          # occurrence.
-      "layerInfo": [ # This contains layer-specific metadata, if populated it has length
-          # "distance" and is ordered with [distance] being the layer immediately
-          # following the base image and [1] being the final layer.
-        { # Layer holds metadata specific to a layer of a Docker image.
-          "arguments": "A String", # The recovered arguments to the Dockerfile directive.
-          "directive": "A String", # The recovered Dockerfile directive used to construct this layer.
+    &quot;installation&quot;: { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
+        # a system.
+      &quot;location&quot;: [ # All of the places within the filesystem versions of this package
+          # have been found.
+        { # An occurrence of a particular package installation found within a
+            # system&#x27;s filesystem.
+            # e.g. glibc was found in /var/lib/dpkg/status
+          &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
+              # denoting the package manager version distributing a package.
+          &quot;version&quot;: { # Version contains structured information about the version of the package. # The version installed at this location.
+              # For a discussion of this in Debian/Ubuntu:
+              # http://serverfault.com/questions/604541/debian-packages-version-convention
+              # For a discussion of this in Redhat/Fedora/Centos:
+              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+            &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+            &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                # If kind is not NORMAL, then the other fields are ignored.
+            &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+            &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+          },
+          &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
         },
       ],
-      "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
-        "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
-            # representation.
-            # This field can be used as a filter in list requests.
-        "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
-          "A String",
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
+    },
+    &quot;upgrade&quot;: { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
+        # specific upgrade. This presence is supplied via local sources (i.e. it is
+        # present in the mirror and the running system has noticed its availability).
+      &quot;distribution&quot;: { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
+          # for the resource_url. This allows efficient filtering, as well as
+          # making it easier to use the occurrence.
+          # operating system (CPE). Some distributions have additional metadata around
+          # updates, classifying them into various categories and severities.
+        &quot;cve&quot;: [ # The cve that would be resolved by this upgrade.
+          &quot;A String&quot;,
         ],
-        "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
-            #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
-            # Only the name of the final blob is kept.
-            # This field can be used as a filter in list requests.
+        &quot;classification&quot;: &quot;A String&quot;, # The operating system classification of this Upgrade, as specified by the
+            # upstream operating system upgrade feed.
+        &quot;severity&quot;: &quot;A String&quot;, # The severity as specified by the upstream operating system.
+        &quot;cpeUri&quot;: &quot;A String&quot;, # Required - The specific operating system this metadata applies to. See
+            # https://cpe.mitre.org/specification/.
+      },
+      &quot;package&quot;: &quot;A String&quot;, # Required - The package this Upgrade is for.
+      &quot;parsedVersion&quot;: { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
+          # For a discussion of this in Debian/Ubuntu:
+          # http://serverfault.com/questions/604541/debian-packages-version-convention
+          # For a discussion of this in Redhat/Fedora/Centos:
+          # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+        &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+        &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+            # If kind is not NORMAL, then the other fields are ignored.
+        &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+        &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
       },
     },
+    &quot;discovered&quot;: { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
+      &quot;operation&quot;: { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
+          # This field is deprecated, do not use.
+          # network API call.
+        &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
+            # originally returns it. If you use the default HTTP mapping, the
+            # `name` should be a resource name ending with `operations/{unique_id}`.
+        &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+            # different programming environments, including REST APIs and RPC APIs. It is
+            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+            # three pieces of data: error code, error message, and error details.
+            #
+            # You can find out more about this error model and how to work with it in the
+            # [API Design Guide](https://cloud.google.com/apis/design/errors).
+          &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+          &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+              # user-facing error message should be localized and sent in the
+              # google.rpc.Status.details field, or localized by the client.
+          &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+              # message types for APIs to use.
+            {
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+        },
+        &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
+            # contains progress information and common metadata such as create time.
+            # Some services might not provide such metadata.  Any method that returns a
+            # long-running operation should document the metadata type, if any.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+        &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
+            # If `true`, the operation is completed, and either `error` or `response` is
+            # available.
+        &quot;response&quot;: { # The normal response of the operation in case of success.  If the original
+            # method returns no data on success, such as `Delete`, the response is
+            # `google.protobuf.Empty`.  If the original method is standard
+            # `Get`/`Create`/`Update`, the response should be the resource.  For other
+            # methods, the response should have the type `XxxResponse`, where `Xxx`
+            # is the original method name.  For example, if the original method name
+            # is `TakeSnapshot()`, the inferred response type is
+            # `TakeSnapshotResponse`.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+      },
+      &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
+      &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
+      &quot;cpe&quot;: &quot;A String&quot;, # The CPE of the resource being scanned.
+      &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
+          # details to show to the user. The LocalizedMessage output only and
+          # populated by the API.
+          # different programming environments, including REST APIs and RPC APIs. It is
+          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+          # three pieces of data: error code, error message, and error details.
+          #
+          # You can find out more about this error model and how to work with it in the
+          # [API Design Guide](https://cloud.google.com/apis/design/errors).
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+            # user-facing error message should be localized and sent in the
+            # google.rpc.Status.details field, or localized by the client.
+        &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+            # message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+      },
+    },
+    &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
+      &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
+      &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from the
+          # deployable field with the same name.
+        &quot;A String&quot;,
+      ],
+      &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
+      &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
+      &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
+      &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
+      &quot;deployTime&quot;: &quot;A String&quot;, # Beginning of the lifetime of this deployment.
+    },
+    &quot;noteName&quot;: &quot;A String&quot;, # An analysis note associated with this image, in the form
+        # &quot;providers/{provider_id}/notes/{NOTE_ID}&quot;
+        # This field can be used as a filter in list requests.
+    &quot;vulnerabilityDetails&quot;: { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
+        # to fix it.
+      &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
+          # scale of 0-10 where 0 indicates low severity and 10 indicates high
+          # severity.
+      &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems,
+          # node.js packages etc)
+      &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when that is
+          # available and note provider assigned severity when distro has not yet
+          # assigned a severity for this vulnerability.
+      &quot;packageIssue&quot;: [ # The set of affected locations and their fixes (if available) within
+          # the associated resource.
+        { # This message wraps a location affected by a vulnerability and its
+            # associated fix (if one is available).
+          &quot;affectedLocation&quot;: { # The location of the vulnerability # The location of the vulnerability.
+            &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+                # format. Examples include distro or storage location for vulnerable jar.
+                # This field can be used as a filter in list requests.
+            &quot;package&quot;: &quot;A String&quot;, # The package being described.
+            &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+                # filter in list requests.
+                # For a discussion of this in Debian/Ubuntu:
+                # http://serverfault.com/questions/604541/debian-packages-version-convention
+                # For a discussion of this in Redhat/Fedora/Centos:
+                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+              &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+              &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                  # If kind is not NORMAL, then the other fields are ignored.
+              &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+              &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+            },
+          },
+          &quot;fixedLocation&quot;: { # The location of the vulnerability # The location of the available fix for vulnerability.
+            &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+                # format. Examples include distro or storage location for vulnerable jar.
+                # This field can be used as a filter in list requests.
+            &quot;package&quot;: &quot;A String&quot;, # The package being described.
+            &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+                # filter in list requests.
+                # For a discussion of this in Debian/Ubuntu:
+                # http://serverfault.com/questions/604541/debian-packages-version-convention
+                # For a discussion of this in Redhat/Fedora/Centos:
+                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+              &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+              &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                  # If kind is not NORMAL, then the other fields are ignored.
+              &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+              &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+            },
+          },
+          &quot;severityName&quot;: &quot;A String&quot;,
+        },
+      ],
+      &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
+    },
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was created.
   }</pre>
 </div>
 
@@ -1114,7 +1114,7 @@
 
 Args:
   name: string, The name of the occurrence in the form of
-"projects/{project_id}/occurrences/{OCCURRENCE_ID}" (required)
+&quot;projects/{project_id}/occurrences/{OCCURRENCE_ID}&quot; (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1141,7 +1141,7 @@
 
 Args:
   name: string, The name of the occurrence of the form
-"projects/{project_id}/occurrences/{OCCURRENCE_ID}" (required)
+&quot;projects/{project_id}/occurrences/{OCCURRENCE_ID}&quot; (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1151,321 +1151,39 @@
   An object of the form:
 
     { # `Occurrence` includes information about analysis occurrences for an image.
-    "vulnerabilityDetails": { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
-        # to fix it.
-      "packageIssue": [ # The set of affected locations and their fixes (if available) within
-          # the associated resource.
-        { # This message wraps a location affected by a vulnerability and its
-            # associated fix (if one is available).
-          "severityName": "A String",
-          "affectedLocation": { # The location of the vulnerability # The location of the vulnerability.
-            "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-                # format. Examples include distro or storage location for vulnerable jar.
-                # This field can be used as a filter in list requests.
-            "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-                # filter in list requests.
-                # For a discussion of this in Debian/Ubuntu:
-                # http://serverfault.com/questions/604541/debian-packages-version-convention
-                # For a discussion of this in Redhat/Fedora/Centos:
-                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-              "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-              "name": "A String", # The main part of the version name.
-              "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                  # If kind is not NORMAL, then the other fields are ignored.
-              "revision": "A String", # The iteration of the package build from the above version.
-            },
-            "package": "A String", # The package being described.
-          },
-          "fixedLocation": { # The location of the vulnerability # The location of the available fix for vulnerability.
-            "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-                # format. Examples include distro or storage location for vulnerable jar.
-                # This field can be used as a filter in list requests.
-            "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-                # filter in list requests.
-                # For a discussion of this in Debian/Ubuntu:
-                # http://serverfault.com/questions/604541/debian-packages-version-convention
-                # For a discussion of this in Redhat/Fedora/Centos:
-                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-              "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-              "name": "A String", # The main part of the version name.
-              "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                  # If kind is not NORMAL, then the other fields are ignored.
-              "revision": "A String", # The iteration of the package build from the above version.
-            },
-            "package": "A String", # The package being described.
-          },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was last updated.
+    &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the `Note`
+    &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
+        # in the associated note.
+        # DockerImage relationship.  This image would be produced from a Dockerfile
+        # with FROM &lt;DockerImage.Basis in attached Note&gt;.
+      &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
+          # occurrence.
+      &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
+        &quot;v2Blob&quot;: [ # The ordered list of v2 blobs that represent a given image.
+          &quot;A String&quot;,
+        ],
+        &quot;v1Name&quot;: &quot;A String&quot;, # The layer-id of the final layer in the Docker image&#x27;s v1
+            # representation.
+            # This field can be used as a filter in list requests.
+        &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
+            #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
+            # Only the name of the final blob is kept.
+            # This field can be used as a filter in list requests.
+      },
+      &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
+          # &quot;distance&quot; and is ordered with [distance] being the layer immediately
+          # following the base image and [1] being the final layer.
+        { # Layer holds metadata specific to a layer of a Docker image.
+          &quot;directive&quot;: &quot;A String&quot;, # The recovered Dockerfile directive used to construct this layer.
+          &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
         },
       ],
-      "type": "A String", # The type of package; whether native or non native(ruby gems,
-          # node.js packages etc)
-      "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
-          # scale of 0-10 where 0 indicates low severity and 10 indicates high
-          # severity.
-      "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
-      "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when that is
-          # available and note provider assigned severity when distro has not yet
-          # assigned a severity for this vulnerability.
+      &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
+          # associated image basis.
     },
-    "resource": { #  #
-        # The resource for which the `Occurrence` applies.
-        # Resource is an entity that can have metadata. E.g., a Docker image.
-      "contentHash": { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
-        "type": "A String", # The type of hash that was performed.
-        "value": "A String", # The hash value.
-      },
-      "name": "A String", # The name of the resource. E.g., the name of a Docker image - "Debian".
-      "uri": "A String", # The unique URI of the resource. E.g.,
-          # "https://gcr.io/project/image@sha256:foo" for a Docker image.
-    },
-    "updateTime": "A String", # Output only. The time this `Occurrence` was last updated.
-    "upgrade": { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
-        # specific upgrade. This presence is supplied via local sources (i.e. it is
-        # present in the mirror and the running system has noticed its availability).
-      "distribution": { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
-          # for the resource_url. This allows efficient filtering, as well as
-          # making it easier to use the occurrence.
-          # operating system (CPE). Some distributions have additional metadata around
-          # updates, classifying them into various categories and severities.
-        "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
-            # https://cpe.mitre.org/specification/.
-        "cve": [ # The cve that would be resolved by this upgrade.
-          "A String",
-        ],
-        "severity": "A String", # The severity as specified by the upstream operating system.
-        "classification": "A String", # The operating system classification of this Upgrade, as specified by the
-            # upstream operating system upgrade feed.
-      },
-      "parsedVersion": { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
-          # For a discussion of this in Debian/Ubuntu:
-          # http://serverfault.com/questions/604541/debian-packages-version-convention
-          # For a discussion of this in Redhat/Fedora/Centos:
-          # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-        "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-        "name": "A String", # The main part of the version name.
-        "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-            # If kind is not NORMAL, then the other fields are ignored.
-        "revision": "A String", # The iteration of the package build from the above version.
-      },
-      "package": "A String", # Required - The package this Upgrade is for.
-    },
-    "installation": { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
-        # a system.
-      "location": [ # All of the places within the filesystem versions of this package
-          # have been found.
-        { # An occurrence of a particular package installation found within a
-            # system's filesystem.
-            # e.g. glibc was found in /var/lib/dpkg/status
-          "path": "A String", # The path from which we gathered that this package/version is installed.
-          "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
-              # denoting the package manager version distributing a package.
-          "version": { # Version contains structured information about the version of the package. # The version installed at this location.
-              # For a discussion of this in Debian/Ubuntu:
-              # http://serverfault.com/questions/604541/debian-packages-version-convention
-              # For a discussion of this in Redhat/Fedora/Centos:
-              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-            "name": "A String", # The main part of the version name.
-            "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                # If kind is not NORMAL, then the other fields are ignored.
-            "revision": "A String", # The iteration of the package build from the above version.
-          },
-        },
-      ],
-      "name": "A String", # Output only. The name of the installed package.
-    },
-    "name": "A String", # Output only. The name of the `Occurrence` in the form
-        # "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
-    "kind": "A String", # Output only. This explicitly denotes which of the `Occurrence` details are
-        # specified. This field can be used as a filter in list requests.
-    "buildDetails": { # Message encapsulating build provenance details. # Build details for a verifiable build.
-      "provenance": { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
-          # details about the build from source to completion.
-        "finishTime": "A String", # Time at which execution of the build was finished.
-        "commands": [ # Commands requested by the build.
-          { # Command describes a step performed as part of the build pipeline.
-            "waitFor": [ # The ID(s) of the Command(s) that this Command depends on.
-              "A String",
-            ],
-            "name": "A String", # Name of the command, as presented on the command line, or if the command is
-                # packaged as a Docker container, as presented to `docker pull`.
-            "args": [ # Command-line arguments used when executing this Command.
-              "A String",
-            ],
-            "env": [ # Environment variables set before running this Command.
-              "A String",
-            ],
-            "id": "A String", # Optional unique identifier for this Command, used in wait_for to reference
-                # this Command as a dependency.
-            "dir": "A String", # Working directory (relative to project source root) used when running
-                # this Command.
-          },
-        ],
-        "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
-          "artifactStorageSource": { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
-              # location.
-              # Google Cloud Storage.
-            "generation": "A String", # Google Cloud Storage generation for the object.
-            "object": "A String", # Google Cloud Storage object containing source.
-            "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-                # Requirements]
-                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-          },
-          "repoSource": { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
-              # Repository.
-            "projectId": "A String", # ID of the project that owns the repo.
-            "branchName": "A String", # Name of the branch to build.
-            "commitSha": "A String", # Explicit commit SHA to build.
-            "tagName": "A String", # Name of the tag to build.
-            "repoName": "A String", # Name of the repo.
-          },
-          "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
-              # source integrity was maintained in the build.
-              #
-              # The keys to this map are file paths used as build source and the values
-              # contain the hash values for those files.
-              #
-              # If the build source came in a single package such as a gzipped tarfile
-              # (.tar.gz), the FileHash will be for the single path to that file.
-            "a_key": { # Container message for hashes of byte content of files, used in Source
-                # messages to verify integrity of source input to the build.
-              "fileHash": [ # Collection of file hashes.
-                { # Container message for hash values.
-                  "type": "A String", # The type of hash that was performed.
-                  "value": "A String", # The hash value.
-                },
-              ],
-            },
-          },
-          "additionalContexts": [ # If provided, some of the source code used for the build may be found in
-              # these locations, in the case where the source repository had multiple
-              # remotes or submodules. This list will not include the context specified in
-              # the context field.
-            { # A SourceContext is a reference to a tree of files. A SourceContext together
-                # with a path point to a unique revision of a single file or directory.
-              "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-                  # repository (e.g., GitHub).
-                "url": "A String", # Git repository URL.
-                "revisionId": "A String", # Required. Git commit hash.
-              },
-              "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-                  # Source Repo.
-                "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                  "kind": "A String", # The alias kind.
-                  "name": "A String", # The alias name.
-                },
-                "revisionId": "A String", # A revision ID.
-                "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-                  "uid": "A String", # A server-assigned, globally unique identifier.
-                  "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                      # winged-cargo-31) and a repo name within that project.
-                    "projectId": "A String", # The ID of the project.
-                    "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-                  },
-                },
-              },
-              "labels": { # Labels with user defined metadata.
-                "a_key": "A String",
-              },
-              "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-                "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                  "kind": "A String", # The alias kind.
-                  "name": "A String", # The alias name.
-                },
-                "revisionId": "A String", # A revision (commit) ID.
-                "hostUri": "A String", # The URI of a running Gerrit instance.
-                "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                    # "project/subproject" is a valid project name. The "repo name" is
-                    # the hostURI/project.
-              },
-            },
-          ],
-          "context": { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
-              # with a path point to a unique revision of a single file or directory.
-            "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-                # repository (e.g., GitHub).
-              "url": "A String", # Git repository URL.
-              "revisionId": "A String", # Required. Git commit hash.
-            },
-            "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-                # Source Repo.
-              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                "kind": "A String", # The alias kind.
-                "name": "A String", # The alias name.
-              },
-              "revisionId": "A String", # A revision ID.
-              "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-                "uid": "A String", # A server-assigned, globally unique identifier.
-                "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                    # winged-cargo-31) and a repo name within that project.
-                  "projectId": "A String", # The ID of the project.
-                  "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-                },
-              },
-            },
-            "labels": { # Labels with user defined metadata.
-              "a_key": "A String",
-            },
-            "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                "kind": "A String", # The alias kind.
-                "name": "A String", # The alias name.
-              },
-              "revisionId": "A String", # A revision (commit) ID.
-              "hostUri": "A String", # The URI of a running Gerrit instance.
-              "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                  # "project/subproject" is a valid project name. The "repo name" is
-                  # the hostURI/project.
-            },
-          },
-          "storageSource": { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
-              # Storage.
-              # Google Cloud Storage.
-            "generation": "A String", # Google Cloud Storage generation for the object.
-            "object": "A String", # Google Cloud Storage object containing source.
-            "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-                # Requirements]
-                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-          },
-        },
-        "buildOptions": { # Special options applied to this build. This is a catch-all field where
-            # build providers can enter any desired additional details.
-          "a_key": "A String",
-        },
-        "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
-            # user's e-mail address at the time the build was initiated; this address may
-            # not represent the same end-user for all time.
-        "projectId": "A String", # ID of the project.
-        "builderVersion": "A String", # Version string of the builder at the time this build was executed.
-        "createTime": "A String", # Time at which the build was created.
-        "builtArtifacts": [ # Output of the build.
-          { # Artifact describes a build product.
-            "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
-                # container.
-            "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
-                # like gcr.io/projectID/imagename@sha256:123456
-            "name": "A String", # Name of the artifact. This may be the path to a binary or jar file, or in
-                # the case of a container build, the name used to push the container image to
-                # Google Container Registry, as presented to `docker push`.
-                #
-                # This field is deprecated in favor of the plural `names` field; it continues
-                # to exist here to allow existing BuildProvenance serialized to json in
-                # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
-                # deserialize back into proto.
-            "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
-                # the case of a container build, the name used to push the container image to
-                # Google Container Registry, as presented to `docker push`. Note that a
-                # single Artifact ID can have multiple names, for example if two tags are
-                # applied to one image.
-              "A String",
-            ],
-          },
-        ],
-        "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
-        "startTime": "A String", # Time at which execution of the build was started.
-        "logsBucket": "A String", # Google Cloud Storage bucket where logs were written.
-        "id": "A String", # Unique identifier of the build.
-      },
-      "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
+    &quot;buildDetails&quot;: { # Message encapsulating build provenance details. # Build details for a verifiable build.
+      &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
           # `BuildSignature` in the corresponding Result. After verifying the
           # signature, `provenance_bytes` can be unmarshalled and compared to the
           # provenance to confirm that it is unchanged. A base64-encoded string
@@ -1476,77 +1194,213 @@
           # The serialized form is captured both to avoid ambiguity in how the
           # provenance is marshalled to json as well to prevent incompatibilities with
           # future changes.
-    },
-    "discovered": { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
-      "analysisStatus": "A String", # The status of discovery for the resource.
-      "operation": { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
-          # This field is deprecated, do not use.
-          # network API call.
-        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
-            # different programming environments, including REST APIs and RPC APIs. It is
-            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-            # three pieces of data: error code, error message, and error details.
-            #
-            # You can find out more about this error model and how to work with it in the
-            # [API Design Guide](https://cloud.google.com/apis/design/errors).
-          "message": "A String", # A developer-facing error message, which should be in English. Any
-              # user-facing error message should be localized and sent in the
-              # google.rpc.Status.details field, or localized by the client.
-          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-          "details": [ # A list of messages that carry the error details.  There is a common set of
-              # message types for APIs to use.
-            {
-              "a_key": "", # Properties of the object. Contains field @type with type URL.
+      &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
+          # details about the build from source to completion.
+        &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
+        &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
+        &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
+          &quot;repoSource&quot;: { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
+              # Repository.
+            &quot;projectId&quot;: &quot;A String&quot;, # ID of the project that owns the repo.
+            &quot;repoName&quot;: &quot;A String&quot;, # Name of the repo.
+            &quot;branchName&quot;: &quot;A String&quot;, # Name of the branch to build.
+            &quot;tagName&quot;: &quot;A String&quot;, # Name of the tag to build.
+            &quot;commitSha&quot;: &quot;A String&quot;, # Explicit commit SHA to build.
+          },
+          &quot;storageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
+              # Storage.
+              # Google Cloud Storage.
+            &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+                # Requirements]
+                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+            &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+            &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+          },
+          &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
+              # source integrity was maintained in the build.
+              #
+              # The keys to this map are file paths used as build source and the values
+              # contain the hash values for those files.
+              #
+              # If the build source came in a single package such as a gzipped tarfile
+              # (.tar.gz), the FileHash will be for the single path to that file.
+            &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in Source
+                # messages to verify integrity of source input to the build.
+              &quot;fileHash&quot;: [ # Collection of file hashes.
+                { # Container message for hash values.
+                  &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+                  &quot;value&quot;: &quot;A String&quot;, # The hash value.
+                },
+              ],
+            },
+          },
+          &quot;artifactStorageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
+              # location.
+              # Google Cloud Storage.
+            &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+                # Requirements]
+                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+            &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+            &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+          },
+          &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
+              # these locations, in the case where the source repository had multiple
+              # remotes or submodules. This list will not include the context specified in
+              # the context field.
+            { # A SourceContext is a reference to a tree of files. A SourceContext together
+                # with a path point to a unique revision of a single file or directory.
+              &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.
+                  # Source Repo.
+                &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+                &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+                  &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+                  &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.
+                      # winged-cargo-31) and a repo name within that project.
+                    &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                    &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+                  },
+                },
+                &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                  &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                  &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+                },
+              },
+              &quot;labels&quot;: { # Labels with user defined metadata.
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+              &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).
+                  # repository (e.g., GitHub).
+                &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+                &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+              },
+              &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+                &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+                &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+                &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                    # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                    # the hostURI/project.
+                &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                  &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                  &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+                },
+              },
             },
           ],
+          &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.
+              # with a path point to a unique revision of a single file or directory.
+            &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.
+                # Source Repo.
+              &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+              &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+                &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+                &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.
+                    # winged-cargo-31) and a repo name within that project.
+                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                  &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+                },
+              },
+              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+              },
+            },
+            &quot;labels&quot;: { # Labels with user defined metadata.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &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).
+                # repository (e.g., GitHub).
+              &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+              &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+            },
+            &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+              &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+              &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+              &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                  # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                  # the hostURI/project.
+              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+              },
+            },
+          },
         },
-        "done": True or False, # If the value is `false`, it means the operation is still in progress.
-            # If `true`, the operation is completed, and either `error` or `response` is
-            # available.
-        "response": { # The normal response of the operation in case of success.  If the original
-            # method returns no data on success, such as `Delete`, the response is
-            # `google.protobuf.Empty`.  If the original method is standard
-            # `Get`/`Create`/`Update`, the response should be the resource.  For other
-            # methods, the response should have the type `XxxResponse`, where `Xxx`
-            # is the original method name.  For example, if the original method name
-            # is `TakeSnapshot()`, the inferred response type is
-            # `TakeSnapshotResponse`.
-          "a_key": "", # Properties of the object. Contains field @type with type URL.
-        },
-        "name": "A String", # The server-assigned name, which is only unique within the same service that
-            # originally returns it. If you use the default HTTP mapping, the
-            # `name` should be a resource name ending with `operations/{unique_id}`.
-        "metadata": { # Service-specific metadata associated with the operation.  It typically
-            # contains progress information and common metadata such as create time.
-            # Some services might not provide such metadata.  Any method that returns a
-            # long-running operation should document the metadata type, if any.
-          "a_key": "", # Properties of the object. Contains field @type with type URL.
-        },
-      },
-      "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
-      "cpe": "A String", # The CPE of the resource being scanned.
-      "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
-          # details to show to the user. The LocalizedMessage output only and
-          # populated by the API.
-          # different programming environments, including REST APIs and RPC APIs. It is
-          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-          # three pieces of data: error code, error message, and error details.
-          #
-          # You can find out more about this error model and how to work with it in the
-          # [API Design Guide](https://cloud.google.com/apis/design/errors).
-        "message": "A String", # A developer-facing error message, which should be in English. Any
-            # user-facing error message should be localized and sent in the
-            # google.rpc.Status.details field, or localized by the client.
-        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-        "details": [ # A list of messages that carry the error details.  There is a common set of
-            # message types for APIs to use.
-          {
-            "a_key": "", # Properties of the object. Contains field @type with type URL.
+        &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
+        &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
+        &quot;finishTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
+        &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
+            # user&#x27;s e-mail address at the time the build was initiated; this address may
+            # not represent the same end-user for all time.
+        &quot;logsBucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket where logs were written.
+        &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
+        &quot;commands&quot;: [ # Commands requested by the build.
+          { # Command describes a step performed as part of the build pipeline.
+            &quot;name&quot;: &quot;A String&quot;, # Name of the command, as presented on the command line, or if the command is
+                # packaged as a Docker container, as presented to `docker pull`.
+            &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this Command, used in wait_for to reference
+                # this Command as a dependency.
+            &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running
+                # this Command.
+            &quot;waitFor&quot;: [ # The ID(s) of the Command(s) that this Command depends on.
+              &quot;A String&quot;,
+            ],
+            &quot;env&quot;: [ # Environment variables set before running this Command.
+              &quot;A String&quot;,
+            ],
+            &quot;args&quot;: [ # Command-line arguments used when executing this Command.
+              &quot;A String&quot;,
+            ],
           },
         ],
+        &quot;builtArtifacts&quot;: [ # Output of the build.
+          { # Artifact describes a build product.
+            &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
+                # like gcr.io/projectID/imagename@sha256:123456
+            &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
+                # the case of a container build, the name used to push the container image to
+                # Google Container Registry, as presented to `docker push`. Note that a
+                # single Artifact ID can have multiple names, for example if two tags are
+                # applied to one image.
+              &quot;A String&quot;,
+            ],
+            &quot;name&quot;: &quot;A String&quot;, # Name of the artifact. This may be the path to a binary or jar file, or in
+                # the case of a container build, the name used to push the container image to
+                # Google Container Registry, as presented to `docker push`.
+                #
+                # This field is deprecated in favor of the plural `names` field; it continues
+                # to exist here to allow existing BuildProvenance serialized to json in
+                # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
+                # deserialize back into proto.
+            &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
+                # container.
+          },
+        ],
+        &quot;id&quot;: &quot;A String&quot;, # Unique identifier of the build.
+        &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
+            # build providers can enter any desired additional details.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
       },
     },
-    "attestation": { # Occurrence that represents a single "attestation".  The authenticity of an # Describes an attestation of an artifact.
+    &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the `Occurrence` details are
+        # specified. This field can be used as a filter in list requests.
+    &quot;resource&quot;: { #  #
+        # The resource for which the `Occurrence` applies.
+        # Resource is an entity that can have metadata. E.g., a Docker image.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the resource. E.g., the name of a Docker image - &quot;Debian&quot;.
+      &quot;contentHash&quot;: { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
+        &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+        &quot;value&quot;: &quot;A String&quot;, # The hash value.
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # The unique URI of the resource. E.g.,
+          # &quot;https://gcr.io/project/image@sha256:foo&quot; for a Docker image.
+    },
+    &quot;resourceUrl&quot;: &quot;A String&quot;, # The unique URL of the image or the container for which the `Occurrence`
+        # applies. For example, https://gcr.io/project/image@sha256:foo This field
+        # can be used as a filter in list requests.
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the `Occurrence` in the form
+        # &quot;projects/{project_id}/occurrences/{OCCURRENCE_ID}&quot;
+    &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;.  The authenticity of an # Describes an attestation of an artifact.
         # Attestation can be verified using the attached signature. If the verifier
         # trusts the public key of the signer, then verifying the signature is
         # sufficient to establish trust.  In this circumstance, the
@@ -1554,14 +1408,23 @@
         # useful for look-up (how to find this Attestation if you already know the
         # Authority and artifact to be verified) and intent (which authority was this
         # attestation intended to sign for).
-      "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature.
+      &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature.
           # This message only supports `ATTACHED` signatures, where the payload that is
           # signed is included alongside the signature itself in the same file.
-        "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
+        &quot;signature&quot;: &quot;A String&quot;, # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
+            # equivalent.  Since this message only supports attached signatures, the
+            # payload that was signed must be attached. While the signature format
+            # supported is dependent on the verification implementation, currently only
+            # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
+            # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
+            # --output=signature.gpg payload.json` will create the signature content
+            # expected in this field in `signature.gpg` for the `payload.json`
+            # attestation payload.
+        &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
             # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
             # 160-bit fingerprint, expressed as a 40 character hexadecimal string. See
             # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
-            # Implementations may choose to acknowledge "LONG", "SHORT", or other
+            # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
             # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
             # In gpg, the full fingerprint can be retrieved from the `fpr` field
             # returned when calling --list-keys with --with-colons.  For example:
@@ -1573,70 +1436,207 @@
             # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
             # ```
             # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
-        "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
+        &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
             # The verifier must ensure that the provided type is one that the verifier
             # supports, and that the attestation payload is a valid instantiation of that
             # type (for example by validating a JSON schema).
-        "signature": "A String", # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
-            # equivalent.  Since this message only supports attached signatures, the
-            # payload that was signed must be attached. While the signature format
-            # supported is dependent on the verification implementation, currently only
-            # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
-            # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
-            # --output=signature.gpg payload.json` will create the signature content
-            # expected in this field in `signature.gpg` for the `payload.json`
-            # attestation payload.
       },
     },
-    "noteName": "A String", # An analysis note associated with this image, in the form
-        # "providers/{provider_id}/notes/{NOTE_ID}"
-        # This field can be used as a filter in list requests.
-    "deployment": { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
-      "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from the
-          # deployable field with the same name.
-        "A String",
-      ],
-      "userEmail": "A String", # Identity of the user that triggered this deployment.
-      "address": "A String", # Address of the runtime element hosting this deployment.
-      "platform": "A String", # Platform hosting this deployment.
-      "deployTime": "A String", # Beginning of the lifetime of this deployment.
-      "undeployTime": "A String", # End of the lifetime of this deployment.
-      "config": "A String", # Configuration used to create this deployment.
-    },
-    "remediation": "A String", # A description of actions that can be taken to remedy the `Note`
-    "resourceUrl": "A String", # The unique URL of the image or the container for which the `Occurrence`
-        # applies. For example, https://gcr.io/project/image@sha256:foo This field
-        # can be used as a filter in list requests.
-    "createTime": "A String", # Output only. The time this `Occurrence` was created.
-    "derivedImage": { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
-        # in the associated note.
-        # DockerImage relationship.  This image would be produced from a Dockerfile
-        # with FROM &lt;DockerImage.Basis in attached Note&gt;.
-      "distance": 42, # Output only. The number of layers by which this image differs from the
-          # associated image basis.
-      "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
-          # occurrence.
-      "layerInfo": [ # This contains layer-specific metadata, if populated it has length
-          # "distance" and is ordered with [distance] being the layer immediately
-          # following the base image and [1] being the final layer.
-        { # Layer holds metadata specific to a layer of a Docker image.
-          "arguments": "A String", # The recovered arguments to the Dockerfile directive.
-          "directive": "A String", # The recovered Dockerfile directive used to construct this layer.
+    &quot;installation&quot;: { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
+        # a system.
+      &quot;location&quot;: [ # All of the places within the filesystem versions of this package
+          # have been found.
+        { # An occurrence of a particular package installation found within a
+            # system&#x27;s filesystem.
+            # e.g. glibc was found in /var/lib/dpkg/status
+          &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
+              # denoting the package manager version distributing a package.
+          &quot;version&quot;: { # Version contains structured information about the version of the package. # The version installed at this location.
+              # For a discussion of this in Debian/Ubuntu:
+              # http://serverfault.com/questions/604541/debian-packages-version-convention
+              # For a discussion of this in Redhat/Fedora/Centos:
+              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+            &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+            &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                # If kind is not NORMAL, then the other fields are ignored.
+            &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+            &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+          },
+          &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
         },
       ],
-      "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
-        "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
-            # representation.
-            # This field can be used as a filter in list requests.
-        "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
-          "A String",
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
+    },
+    &quot;upgrade&quot;: { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
+        # specific upgrade. This presence is supplied via local sources (i.e. it is
+        # present in the mirror and the running system has noticed its availability).
+      &quot;distribution&quot;: { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
+          # for the resource_url. This allows efficient filtering, as well as
+          # making it easier to use the occurrence.
+          # operating system (CPE). Some distributions have additional metadata around
+          # updates, classifying them into various categories and severities.
+        &quot;cve&quot;: [ # The cve that would be resolved by this upgrade.
+          &quot;A String&quot;,
         ],
-        "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
-            #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
-            # Only the name of the final blob is kept.
-            # This field can be used as a filter in list requests.
+        &quot;classification&quot;: &quot;A String&quot;, # The operating system classification of this Upgrade, as specified by the
+            # upstream operating system upgrade feed.
+        &quot;severity&quot;: &quot;A String&quot;, # The severity as specified by the upstream operating system.
+        &quot;cpeUri&quot;: &quot;A String&quot;, # Required - The specific operating system this metadata applies to. See
+            # https://cpe.mitre.org/specification/.
+      },
+      &quot;package&quot;: &quot;A String&quot;, # Required - The package this Upgrade is for.
+      &quot;parsedVersion&quot;: { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
+          # For a discussion of this in Debian/Ubuntu:
+          # http://serverfault.com/questions/604541/debian-packages-version-convention
+          # For a discussion of this in Redhat/Fedora/Centos:
+          # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+        &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+        &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+            # If kind is not NORMAL, then the other fields are ignored.
+        &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+        &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
       },
     },
+    &quot;discovered&quot;: { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
+      &quot;operation&quot;: { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
+          # This field is deprecated, do not use.
+          # network API call.
+        &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
+            # originally returns it. If you use the default HTTP mapping, the
+            # `name` should be a resource name ending with `operations/{unique_id}`.
+        &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+            # different programming environments, including REST APIs and RPC APIs. It is
+            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+            # three pieces of data: error code, error message, and error details.
+            #
+            # You can find out more about this error model and how to work with it in the
+            # [API Design Guide](https://cloud.google.com/apis/design/errors).
+          &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+          &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+              # user-facing error message should be localized and sent in the
+              # google.rpc.Status.details field, or localized by the client.
+          &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+              # message types for APIs to use.
+            {
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+        },
+        &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
+            # contains progress information and common metadata such as create time.
+            # Some services might not provide such metadata.  Any method that returns a
+            # long-running operation should document the metadata type, if any.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+        &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
+            # If `true`, the operation is completed, and either `error` or `response` is
+            # available.
+        &quot;response&quot;: { # The normal response of the operation in case of success.  If the original
+            # method returns no data on success, such as `Delete`, the response is
+            # `google.protobuf.Empty`.  If the original method is standard
+            # `Get`/`Create`/`Update`, the response should be the resource.  For other
+            # methods, the response should have the type `XxxResponse`, where `Xxx`
+            # is the original method name.  For example, if the original method name
+            # is `TakeSnapshot()`, the inferred response type is
+            # `TakeSnapshotResponse`.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+      },
+      &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
+      &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
+      &quot;cpe&quot;: &quot;A String&quot;, # The CPE of the resource being scanned.
+      &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
+          # details to show to the user. The LocalizedMessage output only and
+          # populated by the API.
+          # different programming environments, including REST APIs and RPC APIs. It is
+          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+          # three pieces of data: error code, error message, and error details.
+          #
+          # You can find out more about this error model and how to work with it in the
+          # [API Design Guide](https://cloud.google.com/apis/design/errors).
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+            # user-facing error message should be localized and sent in the
+            # google.rpc.Status.details field, or localized by the client.
+        &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+            # message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+      },
+    },
+    &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
+      &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
+      &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from the
+          # deployable field with the same name.
+        &quot;A String&quot;,
+      ],
+      &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
+      &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
+      &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
+      &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
+      &quot;deployTime&quot;: &quot;A String&quot;, # Beginning of the lifetime of this deployment.
+    },
+    &quot;noteName&quot;: &quot;A String&quot;, # An analysis note associated with this image, in the form
+        # &quot;providers/{provider_id}/notes/{NOTE_ID}&quot;
+        # This field can be used as a filter in list requests.
+    &quot;vulnerabilityDetails&quot;: { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
+        # to fix it.
+      &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
+          # scale of 0-10 where 0 indicates low severity and 10 indicates high
+          # severity.
+      &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems,
+          # node.js packages etc)
+      &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when that is
+          # available and note provider assigned severity when distro has not yet
+          # assigned a severity for this vulnerability.
+      &quot;packageIssue&quot;: [ # The set of affected locations and their fixes (if available) within
+          # the associated resource.
+        { # This message wraps a location affected by a vulnerability and its
+            # associated fix (if one is available).
+          &quot;affectedLocation&quot;: { # The location of the vulnerability # The location of the vulnerability.
+            &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+                # format. Examples include distro or storage location for vulnerable jar.
+                # This field can be used as a filter in list requests.
+            &quot;package&quot;: &quot;A String&quot;, # The package being described.
+            &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+                # filter in list requests.
+                # For a discussion of this in Debian/Ubuntu:
+                # http://serverfault.com/questions/604541/debian-packages-version-convention
+                # For a discussion of this in Redhat/Fedora/Centos:
+                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+              &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+              &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                  # If kind is not NORMAL, then the other fields are ignored.
+              &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+              &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+            },
+          },
+          &quot;fixedLocation&quot;: { # The location of the vulnerability # The location of the available fix for vulnerability.
+            &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+                # format. Examples include distro or storage location for vulnerable jar.
+                # This field can be used as a filter in list requests.
+            &quot;package&quot;: &quot;A String&quot;, # The package being described.
+            &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+                # filter in list requests.
+                # For a discussion of this in Debian/Ubuntu:
+                # http://serverfault.com/questions/604541/debian-packages-version-convention
+                # For a discussion of this in Redhat/Fedora/Centos:
+                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+              &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+              &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                  # If kind is not NORMAL, then the other fields are ignored.
+              &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+              &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+            },
+          },
+          &quot;severityName&quot;: &quot;A String&quot;,
+        },
+      ],
+      &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
+    },
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was created.
   }</pre>
 </div>
 
@@ -1661,9 +1661,9 @@
     The object takes the form of:
 
 { # Request message for `GetIamPolicy` method.
-    "options": { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to
+    &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to
         # `GetIamPolicy`.
-      "requestedPolicyVersion": 42, # Optional. The policy format version to be returned.
+      &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned.
           #
           # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
           # rejected.
@@ -1671,6 +1671,10 @@
           # Requests for policies with any conditional bindings must specify version 3.
           # Policies without any conditional bindings may specify any valid value or
           # leave the field unset.
+          #
+          # To learn which resources support conditions in their IAM policies, see the
+          # [IAM
+          # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
     },
   }
 
@@ -1692,36 +1696,40 @@
       # permissions; each `role` can be an IAM predefined role or a user-created
       # custom role.
       #
-      # Optionally, a `binding` can specify a `condition`, which is a logical
-      # expression that allows access to a resource only if the expression evaluates
-      # to `true`. A condition can add constraints based on attributes of the
-      # request, the resource, or both.
+      # For some types of Google Cloud resources, a `binding` can also specify a
+      # `condition`, which is a logical expression that allows access to a resource
+      # only if the expression evaluates to `true`. A condition can add constraints
+      # based on attributes of the request, the resource, or both. To learn which
+      # resources support conditions in their IAM policies, see the
+      # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       #
       # **JSON example:**
       #
       #     {
-      #       "bindings": [
+      #       &quot;bindings&quot;: [
       #         {
-      #           "role": "roles/resourcemanager.organizationAdmin",
-      #           "members": [
-      #             "user:mike@example.com",
-      #             "group:admins@example.com",
-      #             "domain:google.com",
-      #             "serviceAccount:my-project-id@appspot.gserviceaccount.com"
+      #           &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
+      #           &quot;members&quot;: [
+      #             &quot;user:mike@example.com&quot;,
+      #             &quot;group:admins@example.com&quot;,
+      #             &quot;domain:google.com&quot;,
+      #             &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
       #           ]
       #         },
       #         {
-      #           "role": "roles/resourcemanager.organizationViewer",
-      #           "members": ["user:eve@example.com"],
-      #           "condition": {
-      #             "title": "expirable access",
-      #             "description": "Does not grant access after Sep 2020",
-      #             "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
+      #           &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
+      #           &quot;members&quot;: [
+      #             &quot;user:eve@example.com&quot;
+      #           ],
+      #           &quot;condition&quot;: {
+      #             &quot;title&quot;: &quot;expirable access&quot;,
+      #             &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
+      #             &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
       #           }
       #         }
       #       ],
-      #       "etag": "BwWWja0YfJA=",
-      #       "version": 3
+      #       &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
+      #       &quot;version&quot;: 3
       #     }
       #
       # **YAML example:**
@@ -1739,19 +1747,105 @@
       #       condition:
       #         title: expirable access
       #         description: Does not grant access after Sep 2020
-      #         expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
+      #         expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
       #     - etag: BwWWja0YfJA=
       #     - version: 3
       #
       # For a description of IAM and its features, see the
       # [IAM documentation](https://cloud.google.com/iam/docs/).
-    "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
+    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+        # prevent simultaneous updates of a policy from overwriting each other.
+        # It is strongly suggested that systems make use of the `etag` in the
+        # read-modify-write cycle to perform policy updates in order to avoid race
+        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+        # systems are expected to put that etag in the request to `setIamPolicy` to
+        # ensure that their change will be applied to the same version of the policy.
+        #
+        # **Important:** If you use IAM Conditions, you must include the `etag` field
+        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+        # you to overwrite a version `3` policy with a version `1` policy, and all of
+        # the conditions in the version `3` policy are lost.
+    &quot;version&quot;: 42, # Specifies the format of the policy.
+        #
+        # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
+        # are rejected.
+        #
+        # Any operation that affects conditional role bindings must specify version
+        # `3`. This requirement applies to the following operations:
+        #
+        # * Getting a policy that includes a conditional role binding
+        # * Adding a conditional role binding to a policy
+        # * Changing a conditional role binding in a policy
+        # * Removing any role binding, with or without a condition, from a policy
+        #   that includes conditions
+        #
+        # **Important:** If you use IAM Conditions, you must include the `etag` field
+        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+        # you to overwrite a version `3` policy with a version `1` policy, and all of
+        # the conditions in the version `3` policy are lost.
+        #
+        # If a policy does not include any conditions, operations on that policy may
+        # specify any valid version or leave the field unset.
+        #
+        # To learn which resources support conditions in their IAM policies, see the
+        # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
         # `condition` that determines how and when the `bindings` are applied. Each
         # of the `bindings` must contain at least one member.
       { # Associates `members` with a `role`.
-        "role": "A String", # Role that is assigned to `members`.
-            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
-        "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+        &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
+            #
+            # If the condition evaluates to `true`, then this binding applies to the
+            # current request.
+            #
+            # If the condition evaluates to `false`, then this binding does not apply to
+            # the current request. However, a different role binding might grant the same
+            # role to one or more of the members in this binding.
+            #
+            # To learn which resources support conditions in their IAM policies, see the
+            # [IAM
+            # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+            # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
+            # are documented at https://github.com/google/cel-spec.
+            #
+            # Example (Comparison):
+            #
+            #     title: &quot;Summary size limit&quot;
+            #     description: &quot;Determines if a summary is less than 100 chars&quot;
+            #     expression: &quot;document.summary.size() &lt; 100&quot;
+            #
+            # Example (Equality):
+            #
+            #     title: &quot;Requestor is owner&quot;
+            #     description: &quot;Determines if requestor is the document owner&quot;
+            #     expression: &quot;document.owner == request.auth.claims.email&quot;
+            #
+            # Example (Logic):
+            #
+            #     title: &quot;Public documents&quot;
+            #     description: &quot;Determine whether the document should be publicly visible&quot;
+            #     expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
+            #
+            # Example (Data Manipulation):
+            #
+            #     title: &quot;Notification string&quot;
+            #     description: &quot;Create a notification string with a timestamp.&quot;
+            #     expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
+            #
+            # The exact variables and functions that may be referenced within an expression
+            # are determined by the service that evaluates it. See the service
+            # documentation for additional information.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
+              # syntax.
+          &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
+              # its purpose. This can be used e.g. in UIs which allow to enter the
+              # expression.
+          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
+              # reporting, e.g. a file name and a position in the file.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+              # describes the expression, e.g. when hovered over it in a UI.
+        },
+        &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
             # `members` can have the following values:
             #
             # * `allUsers`: A special identifier that represents anyone who is
@@ -1794,87 +1888,12 @@
             # * `domain:{domain}`: The G Suite domain (primary) that represents all the
             #    users of that domain. For example, `google.com` or `example.com`.
             #
-          "A String",
+          &quot;A String&quot;,
         ],
-        "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
-            # NOTE: An unsatisfied condition will not allow user access via current
-            # binding. Different bindings, including their conditions, are examined
-            # independently.
-            # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
-            # are documented at https://github.com/google/cel-spec.
-            #
-            # Example (Comparison):
-            #
-            #     title: "Summary size limit"
-            #     description: "Determines if a summary is less than 100 chars"
-            #     expression: "document.summary.size() &lt; 100"
-            #
-            # Example (Equality):
-            #
-            #     title: "Requestor is owner"
-            #     description: "Determines if requestor is the document owner"
-            #     expression: "document.owner == request.auth.claims.email"
-            #
-            # Example (Logic):
-            #
-            #     title: "Public documents"
-            #     description: "Determine whether the document should be publicly visible"
-            #     expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
-            #
-            # Example (Data Manipulation):
-            #
-            #     title: "Notification string"
-            #     description: "Create a notification string with a timestamp."
-            #     expression: "'New message received at ' + string(document.create_time)"
-            #
-            # The exact variables and functions that may be referenced within an expression
-            # are determined by the service that evaluates it. See the service
-            # documentation for additional information.
-          "description": "A String", # Optional. Description of the expression. This is a longer text which
-              # describes the expression, e.g. when hovered over it in a UI.
-          "expression": "A String", # Textual representation of an expression in Common Expression Language
-              # syntax.
-          "location": "A String", # Optional. String indicating the location of the expression for error
-              # reporting, e.g. a file name and a position in the file.
-          "title": "A String", # Optional. Title for the expression, i.e. a short string describing
-              # its purpose. This can be used e.g. in UIs which allow to enter the
-              # expression.
-        },
+        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
+            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
       },
     ],
-    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
-        # prevent simultaneous updates of a policy from overwriting each other.
-        # It is strongly suggested that systems make use of the `etag` in the
-        # read-modify-write cycle to perform policy updates in order to avoid race
-        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
-        # systems are expected to put that etag in the request to `setIamPolicy` to
-        # ensure that their change will be applied to the same version of the policy.
-        #
-        # **Important:** If you use IAM Conditions, you must include the `etag` field
-        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-        # you to overwrite a version `3` policy with a version `1` policy, and all of
-        # the conditions in the version `3` policy are lost.
-    "version": 42, # Specifies the format of the policy.
-        #
-        # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
-        # are rejected.
-        #
-        # Any operation that affects conditional role bindings must specify version
-        # `3`. This requirement applies to the following operations:
-        #
-        # * Getting a policy that includes a conditional role binding
-        # * Adding a conditional role binding to a policy
-        # * Changing a conditional role binding in a policy
-        # * Removing any role binding, with or without a condition, from a policy
-        #   that includes conditions
-        #
-        # **Important:** If you use IAM Conditions, you must include the `etag` field
-        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-        # you to overwrite a version `3` policy with a version `1` policy, and all of
-        # the conditions in the version `3` policy are lost.
-        #
-        # If a policy does not include any conditions, operations on that policy may
-        # specify any valid version or leave the field unset.
   }</pre>
 </div>
 
@@ -1884,7 +1903,7 @@
 
 Args:
   name: string, The name of the occurrence in the form
-"projects/{project_id}/occurrences/{OCCURRENCE_ID}" (required)
+&quot;projects/{project_id}/occurrences/{OCCURRENCE_ID}&quot; (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1894,12 +1913,52 @@
   An object of the form:
 
     { # Provides a detailed description of a `Note`.
-    "buildType": { # Note holding the version of the provider's builder and the signature of # Build provenance type for a verifiable build.
+    &quot;relatedUrl&quot;: [ # URLs associated with this note
+      { # Metadata for any related URL information
+        &quot;url&quot;: &quot;A String&quot;, # Specific URL to associate with the note
+        &quot;label&quot;: &quot;A String&quot;, # Label to describe usage of the URL
+      },
+    ],
+    &quot;expirationTime&quot;: &quot;A String&quot;, # Time of expiration for this note, null if note does not expire.
+    &quot;baseImage&quot;: { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image.
+        # relationship.  Linked occurrences are derived from this or an
+        # equivalent image via:
+        #   FROM &lt;Basis.resource_url&gt;
+        # Or an equivalent reference, e.g. a tag of the resource_url.
+      &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the base image.
+        &quot;v2Blob&quot;: [ # The ordered list of v2 blobs that represent a given image.
+          &quot;A String&quot;,
+        ],
+        &quot;v1Name&quot;: &quot;A String&quot;, # The layer-id of the final layer in the Docker image&#x27;s v1
+            # representation.
+            # This field can be used as a filter in list requests.
+        &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
+            #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
+            # Only the name of the final blob is kept.
+            # This field can be used as a filter in list requests.
+      },
+      &quot;resourceUrl&quot;: &quot;A String&quot;, # The resource_url for the resource representing the basis of
+          # associated occurrence images.
+    },
+    &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which kind of note is specified. This
+        # field can be used as a filter in list requests.
+    &quot;deployable&quot;: { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
+      &quot;resourceUri&quot;: [ # Resource URI for the artifact being deployed.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;buildType&quot;: { # Note holding the version of the provider&#x27;s builder and the signature of # Build provenance type for a verifiable build.
         # the provenance message in linked BuildDetails.
-      "builderVersion": "A String", # Version of the builder which produced this Note.
-      "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in Occurrences pointing to the Note containing this
+      &quot;signature&quot;: { # Message encapsulating the signature of the verified build. # Signature of the build in Occurrences pointing to the Note containing this
           # `BuilderDetails`.
-        "publicKey": "A String", # Public key of the builder which can be used to verify that the related
+        &quot;keyId&quot;: &quot;A String&quot;, # An Id for the key used to sign. This could be either an Id for the key
+            # stored in `public_key` (such as the Id or fingerprint for a PGP key, or the
+            # CN for a cert), or a reference to an external key (such as a reference to a
+            # key in Cloud Key Management Service).
+        &quot;keyType&quot;: &quot;A String&quot;, # The type of the key, either stored in `public_key` or referenced in
+            # `key_id`
+        &quot;signature&quot;: &quot;A String&quot;, # Signature of the related `BuildProvenance`, encoded in a base64 string.
+        &quot;publicKey&quot;: &quot;A String&quot;, # Public key of the builder which can be used to verify that the related
             # findings are valid and unchanged. If `key_type` is empty, this defaults
             # to PEM encoded public keys.
             #
@@ -1912,219 +1971,179 @@
             # from `BuildDetails` are base64-decoded into a binary representation in
             # signed.bin. OpenSSL can then verify the signature:
             # `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
-        "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in
-            # `key_id`
-        "keyId": "A String", # An Id for the key used to sign. This could be either an Id for the key
-            # stored in `public_key` (such as the Id or fingerprint for a PGP key, or the
-            # CN for a cert), or a reference to an external key (such as a reference to a
-            # key in Cloud Key Management Service).
-        "signature": "A String", # Signature of the related `BuildProvenance`, encoded in a base64 string.
+      },
+      &quot;builderVersion&quot;: &quot;A String&quot;, # Version of the builder which produced this Note.
+    },
+    &quot;longDescription&quot;: &quot;A String&quot;, # A detailed description of this `Note`.
+    &quot;shortDescription&quot;: &quot;A String&quot;, # A one sentence description of this `Note`.
+    &quot;attestationAuthority&quot;: { # Note kind that represents a logical attestation &quot;role&quot; or &quot;authority&quot;.  For # A note describing an attestation role.
+        # example, an organization might have one `AttestationAuthority` for &quot;QA&quot; and
+        # one for &quot;build&quot;.  This Note is intended to act strictly as a grouping
+        # mechanism for the attached Occurrences (Attestations).  This grouping
+        # mechanism also provides a security boundary, since IAM ACLs gate the ability
+        # for a principle to attach an Occurrence to a given Note.  It also provides a
+        # single point of lookup to find all attached Attestation Occurrences, even if
+        # they don&#x27;t all live in the same project.
+      &quot;hint&quot;: { # This submessage provides human-readable hints about the purpose of the
+          # AttestationAuthority.  Because the name of a Note acts as its resource
+          # reference, it is important to disambiguate the canonical name of the Note
+          # (which might be a UUID for security purposes) from &quot;readable&quot; names more
+          # suitable for debug output.  Note that these hints should NOT be used to
+          # look up AttestationAuthorities in security sensitive contexts, such as when
+          # looking up Attestations to verify.
+        &quot;humanReadableName&quot;: &quot;A String&quot;, # The human readable name of this Attestation Authority, for example &quot;qa&quot;.
       },
     },
-    "kind": "A String", # Output only. This explicitly denotes which kind of note is specified. This
-        # field can be used as a filter in list requests.
-    "upgrade": { # An Upgrade Note represents a potential upgrade of a package to a given # A note describing an upgrade.
-        # version. For each package version combination (i.e. bash 4.0, bash 4.1,
-        # bash 4.1.2), there will be a Upgrade Note.
-      "version": { # Version contains structured information about the version of the package. # Required - The version of the package in machine + human readable form.
-          # For a discussion of this in Debian/Ubuntu:
-          # http://serverfault.com/questions/604541/debian-packages-version-convention
-          # For a discussion of this in Redhat/Fedora/Centos:
-          # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-        "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-        "name": "A String", # The main part of the version name.
-        "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-            # If kind is not NORMAL, then the other fields are ignored.
-        "revision": "A String", # The iteration of the package build from the above version.
-      },
-      "distributions": [ # Metadata about the upgrade for each specific operating system.
-        { # The Upgrade Distribution represents metadata about the Upgrade for each
-            # operating system (CPE). Some distributions have additional metadata around
-            # updates, classifying them into various categories and severities.
-          "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
-              # https://cpe.mitre.org/specification/.
-          "cve": [ # The cve that would be resolved by this upgrade.
-            "A String",
-          ],
-          "severity": "A String", # The severity as specified by the upstream operating system.
-          "classification": "A String", # The operating system classification of this Upgrade, as specified by the
-              # upstream operating system upgrade feed.
-        },
-      ],
-      "package": "A String", # Required - The package this Upgrade is for.
-    },
-    "name": "A String", # The name of the note in the form
-        # "projects/{provider_project_id}/notes/{NOTE_ID}"
-    "vulnerabilityType": { # VulnerabilityType provides metadata about a security vulnerability. # A package vulnerability type of note.
-      "cvssScore": 3.14, # The CVSS score for this Vulnerability.
-      "severity": "A String", # Note provider assigned impact of the vulnerability
-      "details": [ # All information about the package to specifically identify this
+    &quot;name&quot;: &quot;A String&quot;, # The name of the note in the form
+        # &quot;projects/{provider_project_id}/notes/{NOTE_ID}&quot;
+    &quot;vulnerabilityType&quot;: { # VulnerabilityType provides metadata about a security vulnerability. # A package vulnerability type of note.
+      &quot;cvssScore&quot;: 3.14, # The CVSS score for this Vulnerability.
+      &quot;severity&quot;: &quot;A String&quot;, # Note provider assigned impact of the vulnerability
+      &quot;details&quot;: [ # All information about the package to specifically identify this
           # vulnerability. One entry per (version range and cpe_uri) the
           # package vulnerability has manifested in.
         { # Identifies all occurrences of this vulnerability in the package for a
             # specific distro/location
             # For example: glibc in cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
-          "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability.
-          "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in
-              # which the vulnerability manifests.  Examples include distro or storage
-              # location for vulnerable jar.
-              # This field can be used as a filter in list requests.
-          "description": "A String", # A vendor-specific description of this note.
-          "minAffectedVersion": { # Version contains structured information about the version of the package. # The min version of the package in which the vulnerability exists.
-              # For a discussion of this in Debian/Ubuntu:
-              # http://serverfault.com/questions/604541/debian-packages-version-convention
-              # For a discussion of this in Redhat/Fedora/Centos:
-              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-            "name": "A String", # The main part of the version name.
-            "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                # If kind is not NORMAL, then the other fields are ignored.
-            "revision": "A String", # The iteration of the package build from the above version.
-          },
-          "package": "A String", # The name of the package where the vulnerability was found.
-              # This field can be used as a filter in list requests.
-          "packageType": "A String", # The type of package; whether native or non native(ruby gems,
-              # node.js packages etc)
-          "isObsolete": True or False, # Whether this Detail is obsolete. Occurrences are expected not to point to
+          &quot;isObsolete&quot;: True or False, # Whether this Detail is obsolete. Occurrences are expected not to point to
               # obsolete details.
-          "maxAffectedVersion": { # Version contains structured information about the version of the package. # The max version of the package in which the vulnerability exists.
-              # For a discussion of this in Debian/Ubuntu:
-              # http://serverfault.com/questions/604541/debian-packages-version-convention
-              # For a discussion of this in Redhat/Fedora/Centos:
-              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-            "name": "A String", # The main part of the version name.
-            "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                # If kind is not NORMAL, then the other fields are ignored.
-            "revision": "A String", # The iteration of the package build from the above version.
-          },
-          "fixedLocation": { # The location of the vulnerability # The fix for this specific package version.
-            "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+          &quot;fixedLocation&quot;: { # The location of the vulnerability # The fix for this specific package version.
+            &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
                 # format. Examples include distro or storage location for vulnerable jar.
                 # This field can be used as a filter in list requests.
-            "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+            &quot;package&quot;: &quot;A String&quot;, # The package being described.
+            &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
                 # filter in list requests.
                 # For a discussion of this in Debian/Ubuntu:
                 # http://serverfault.com/questions/604541/debian-packages-version-convention
                 # For a discussion of this in Redhat/Fedora/Centos:
                 # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-              "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-              "name": "A String", # The main part of the version name.
-              "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
+              &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+              &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
                   # If kind is not NORMAL, then the other fields are ignored.
-              "revision": "A String", # The iteration of the package build from the above version.
+              &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+              &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
             },
-            "package": "A String", # The package being described.
+          },
+          &quot;packageType&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems,
+              # node.js packages etc)
+          &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in
+              # which the vulnerability manifests.  Examples include distro or storage
+              # location for vulnerable jar.
+              # This field can be used as a filter in list requests.
+          &quot;description&quot;: &quot;A String&quot;, # A vendor-specific description of this note.
+          &quot;minAffectedVersion&quot;: { # Version contains structured information about the version of the package. # The min version of the package in which the vulnerability exists.
+              # For a discussion of this in Debian/Ubuntu:
+              # http://serverfault.com/questions/604541/debian-packages-version-convention
+              # For a discussion of this in Redhat/Fedora/Centos:
+              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+            &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+            &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                # If kind is not NORMAL, then the other fields are ignored.
+            &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+            &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+          },
+          &quot;severityName&quot;: &quot;A String&quot;, # The severity (eg: distro assigned severity) for this vulnerability.
+          &quot;package&quot;: &quot;A String&quot;, # The name of the package where the vulnerability was found.
+              # This field can be used as a filter in list requests.
+          &quot;maxAffectedVersion&quot;: { # Version contains structured information about the version of the package. # The max version of the package in which the vulnerability exists.
+              # For a discussion of this in Debian/Ubuntu:
+              # http://serverfault.com/questions/604541/debian-packages-version-convention
+              # For a discussion of this in Redhat/Fedora/Centos:
+              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+            &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+            &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                # If kind is not NORMAL, then the other fields are ignored.
+            &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+            &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
           },
         },
       ],
     },
-    "package": { # This represents a particular package that is distributed over # A note describing a package hosted by various package managers.
+    &quot;upgrade&quot;: { # An Upgrade Note represents a potential upgrade of a package to a given # A note describing an upgrade.
+        # version. For each package version combination (i.e. bash 4.0, bash 4.1,
+        # bash 4.1.2), there will be a Upgrade Note.
+      &quot;package&quot;: &quot;A String&quot;, # Required - The package this Upgrade is for.
+      &quot;version&quot;: { # Version contains structured information about the version of the package. # Required - The version of the package in machine + human readable form.
+          # For a discussion of this in Debian/Ubuntu:
+          # http://serverfault.com/questions/604541/debian-packages-version-convention
+          # For a discussion of this in Redhat/Fedora/Centos:
+          # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+        &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+        &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+            # If kind is not NORMAL, then the other fields are ignored.
+        &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+        &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+      },
+      &quot;distributions&quot;: [ # Metadata about the upgrade for each specific operating system.
+        { # The Upgrade Distribution represents metadata about the Upgrade for each
+            # operating system (CPE). Some distributions have additional metadata around
+            # updates, classifying them into various categories and severities.
+          &quot;cve&quot;: [ # The cve that would be resolved by this upgrade.
+            &quot;A String&quot;,
+          ],
+          &quot;classification&quot;: &quot;A String&quot;, # The operating system classification of this Upgrade, as specified by the
+              # upstream operating system upgrade feed.
+          &quot;severity&quot;: &quot;A String&quot;, # The severity as specified by the upstream operating system.
+          &quot;cpeUri&quot;: &quot;A String&quot;, # Required - The specific operating system this metadata applies to. See
+              # https://cpe.mitre.org/specification/.
+        },
+      ],
+    },
+    &quot;package&quot;: { # This represents a particular package that is distributed over # A note describing a package hosted by various package managers.
         # various channels.
         # e.g. glibc (aka libc6) is distributed by many, at various versions.
-      "distribution": [ # The various channels by which a package is distributed.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the package.
+      &quot;distribution&quot;: [ # The various channels by which a package is distributed.
         { # This represents a particular channel of distribution for a given package.
-            # e.g. Debian's jessie-backports dpkg mirror
-          "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
-              # denoting the package manager version distributing a package.
-          "maintainer": "A String", # A freeform string denoting the maintainer of this package.
-          "description": "A String", # The distribution channel-specific description of this package.
-          "url": "A String", # The distribution channel-specific homepage for this package.
-          "architecture": "A String", # The CPU architecture for which packages in this distribution
-              # channel were built
-          "latestVersion": { # Version contains structured information about the version of the package. # The latest available version of this package in
+            # e.g. Debian&#x27;s jessie-backports dpkg mirror
+          &quot;maintainer&quot;: &quot;A String&quot;, # A freeform string denoting the maintainer of this package.
+          &quot;latestVersion&quot;: { # Version contains structured information about the version of the package. # The latest available version of this package in
               # this distribution channel.
               # For a discussion of this in Debian/Ubuntu:
               # http://serverfault.com/questions/604541/debian-packages-version-convention
               # For a discussion of this in Redhat/Fedora/Centos:
               # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-            "name": "A String", # The main part of the version name.
-            "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
+            &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+            &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
                 # If kind is not NORMAL, then the other fields are ignored.
-            "revision": "A String", # The iteration of the package build from the above version.
+            &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+            &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
           },
+          &quot;description&quot;: &quot;A String&quot;, # The distribution channel-specific description of this package.
+          &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
+              # denoting the package manager version distributing a package.
+          &quot;url&quot;: &quot;A String&quot;, # The distribution channel-specific homepage for this package.
+          &quot;architecture&quot;: &quot;A String&quot;, # The CPU architecture for which packages in this distribution
+              # channel were built
         },
       ],
-      "name": "A String", # The name of the package.
     },
-    "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
-        # a filter in list requests.
-    "relatedUrl": [ # URLs associated with this note
-      { # Metadata for any related URL information
-        "url": "A String", # Specific URL to associate with the note
-        "label": "A String", # Label to describe usage of the URL
-      },
-    ],
-    "longDescription": "A String", # A detailed description of this `Note`.
-    "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority".  For # A note describing an attestation role.
-        # example, an organization might have one `AttestationAuthority` for "QA" and
-        # one for "build".  This Note is intended to act strictly as a grouping
-        # mechanism for the attached Occurrences (Attestations).  This grouping
-        # mechanism also provides a security boundary, since IAM ACLs gate the ability
-        # for a principle to attach an Occurrence to a given Note.  It also provides a
-        # single point of lookup to find all attached Attestation Occurrences, even if
-        # they don't all live in the same project.
-      "hint": { # This submessage provides human-readable hints about the purpose of the
-          # AttestationAuthority.  Because the name of a Note acts as its resource
-          # reference, it is important to disambiguate the canonical name of the Note
-          # (which might be a UUID for security purposes) from "readable" names more
-          # suitable for debug output.  Note that these hints should NOT be used to
-          # look up AttestationAuthorities in security sensitive contexts, such as when
-          # looking up Attestations to verify.
-        "humanReadableName": "A String", # The human readable name of this Attestation Authority, for example "qa".
-      },
-    },
-    "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image.
-        # relationship.  Linked occurrences are derived from this or an
-        # equivalent image via:
-        #   FROM &lt;Basis.resource_url&gt;
-        # Or an equivalent reference, e.g. a tag of the resource_url.
-      "resourceUrl": "A String", # The resource_url for the resource representing the basis of
-          # associated occurrence images.
-      "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the base image.
-        "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
-            # representation.
-            # This field can be used as a filter in list requests.
-        "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
-          "A String",
-        ],
-        "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
-            #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
-            # Only the name of the final blob is kept.
-            # This field can be used as a filter in list requests.
-      },
-    },
-    "expirationTime": "A String", # Time of expiration for this note, null if note does not expire.
-    "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
-      "resourceUri": [ # Resource URI for the artifact being deployed.
-        "A String",
-      ],
-    },
-    "shortDescription": "A String", # A one sentence description of this `Note`.
-    "createTime": "A String", # Output only. The time this note was created. This field can be used as a
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this note was created. This field can be used as a
         # filter in list requests.
-    "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing a provider/analysis type.
-        # exists in a provider's project. A `Discovery` occurrence is created in a
-        # consumer's project at the start of analysis. The occurrence's operation will
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this note was last updated. This field can be used as
+        # a filter in list requests.
+    &quot;discovery&quot;: { # A note that indicates a type of analysis a provider would perform. This note # A note describing a provider/analysis type.
+        # exists in a provider&#x27;s project. A `Discovery` occurrence is created in a
+        # consumer&#x27;s project at the start of analysis. The occurrence&#x27;s operation will
         # indicate the status of the analysis. Absence of an occurrence linked to this
-        # note for a resource indicates that analysis hasn't started.
-      "analysisKind": "A String", # The kind of analysis that is handled by this discovery.
+        # note for a resource indicates that analysis hasn&#x27;t started.
+      &quot;analysisKind&quot;: &quot;A String&quot;, # The kind of analysis that is handled by this discovery.
     },
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="getVulnerabilitySummary">getVulnerabilitySummary(parent, x__xgafv=None, filter=None)</code>
+    <code class="details" id="getVulnerabilitySummary">getVulnerabilitySummary(parent, filter=None, x__xgafv=None)</code>
   <pre>Gets a summary of the number and severity of occurrences.
 
 Args:
   parent: string, This contains the project Id for example: projects/{project_id} (required)
+  filter: string, The filter expression.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
       2 - v2 error format
-  filter: string, The filter expression.
 
 Returns:
   An object of the form:
@@ -2132,357 +2151,72 @@
     { # A summary of how many vulnz occurrences there are per severity type.
       # counts by groups, or if we should have different summary messages
       # like this.
-    "counts": [ # A map of how many occurrences were found for each severity.
+    &quot;counts&quot;: [ # A map of how many occurrences were found for each severity.
       { # The number of occurrences created for a specific severity.
-        "count": "A String", # The number of occurrences with the severity.
-        "severity": "A String", # The severity of the occurrences.
+        &quot;severity&quot;: &quot;A String&quot;, # The severity of the occurrences.
+        &quot;count&quot;: &quot;A String&quot;, # The number of occurrences with the severity.
       },
     ],
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, kind=None, name=None, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</code>
+    <code class="details" id="list">list(parent, name=None, filter=None, pageToken=None, kind=None, pageSize=None, x__xgafv=None)</code>
   <pre>Lists active `Occurrences` for a given project matching the filters.
 
 Args:
   parent: string, This contains the project Id for example: projects/{project_id}. (required)
-  kind: string, The kind of occurrences to filter on.
   name: string, The name field contains the project Id. For example:
-"projects/{project_id}
+&quot;projects/{project_id}
 @Deprecated
+  filter: string, The filter expression.
   pageToken: string, Token to provide to skip to a particular spot in the list.
+  kind: string, The kind of occurrences to filter on.
+  pageSize: integer, Number of occurrences to return in the list.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
       2 - v2 error format
-  pageSize: integer, Number of occurrences to return in the list.
-  filter: string, The filter expression.
 
 Returns:
   An object of the form:
 
     { # Response including listed active occurrences.
-    "nextPageToken": "A String", # The next pagination token in the list response. It should be used as
-        # `page_token` for the following request. An empty value means no more
-        # results.
-    "occurrences": [ # The occurrences requested.
+    &quot;occurrences&quot;: [ # The occurrences requested.
       { # `Occurrence` includes information about analysis occurrences for an image.
-        "vulnerabilityDetails": { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
-            # to fix it.
-          "packageIssue": [ # The set of affected locations and their fixes (if available) within
-              # the associated resource.
-            { # This message wraps a location affected by a vulnerability and its
-                # associated fix (if one is available).
-              "severityName": "A String",
-              "affectedLocation": { # The location of the vulnerability # The location of the vulnerability.
-                "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-                    # format. Examples include distro or storage location for vulnerable jar.
-                    # This field can be used as a filter in list requests.
-                "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-                    # filter in list requests.
-                    # For a discussion of this in Debian/Ubuntu:
-                    # http://serverfault.com/questions/604541/debian-packages-version-convention
-                    # For a discussion of this in Redhat/Fedora/Centos:
-                    # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-                  "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-                  "name": "A String", # The main part of the version name.
-                  "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                      # If kind is not NORMAL, then the other fields are ignored.
-                  "revision": "A String", # The iteration of the package build from the above version.
-                },
-                "package": "A String", # The package being described.
-              },
-              "fixedLocation": { # The location of the vulnerability # The location of the available fix for vulnerability.
-                "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-                    # format. Examples include distro or storage location for vulnerable jar.
-                    # This field can be used as a filter in list requests.
-                "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-                    # filter in list requests.
-                    # For a discussion of this in Debian/Ubuntu:
-                    # http://serverfault.com/questions/604541/debian-packages-version-convention
-                    # For a discussion of this in Redhat/Fedora/Centos:
-                    # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-                  "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-                  "name": "A String", # The main part of the version name.
-                  "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                      # If kind is not NORMAL, then the other fields are ignored.
-                  "revision": "A String", # The iteration of the package build from the above version.
-                },
-                "package": "A String", # The package being described.
-              },
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was last updated.
+        &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the `Note`
+        &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
+            # in the associated note.
+            # DockerImage relationship.  This image would be produced from a Dockerfile
+            # with FROM &lt;DockerImage.Basis in attached Note&gt;.
+          &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
+              # occurrence.
+          &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
+            &quot;v2Blob&quot;: [ # The ordered list of v2 blobs that represent a given image.
+              &quot;A String&quot;,
+            ],
+            &quot;v1Name&quot;: &quot;A String&quot;, # The layer-id of the final layer in the Docker image&#x27;s v1
+                # representation.
+                # This field can be used as a filter in list requests.
+            &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
+                #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
+                # Only the name of the final blob is kept.
+                # This field can be used as a filter in list requests.
+          },
+          &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
+              # &quot;distance&quot; and is ordered with [distance] being the layer immediately
+              # following the base image and [1] being the final layer.
+            { # Layer holds metadata specific to a layer of a Docker image.
+              &quot;directive&quot;: &quot;A String&quot;, # The recovered Dockerfile directive used to construct this layer.
+              &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
             },
           ],
-          "type": "A String", # The type of package; whether native or non native(ruby gems,
-              # node.js packages etc)
-          "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
-              # scale of 0-10 where 0 indicates low severity and 10 indicates high
-              # severity.
-          "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
-          "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when that is
-              # available and note provider assigned severity when distro has not yet
-              # assigned a severity for this vulnerability.
+          &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
+              # associated image basis.
         },
-        "resource": { #  #
-            # The resource for which the `Occurrence` applies.
-            # Resource is an entity that can have metadata. E.g., a Docker image.
-          "contentHash": { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
-            "type": "A String", # The type of hash that was performed.
-            "value": "A String", # The hash value.
-          },
-          "name": "A String", # The name of the resource. E.g., the name of a Docker image - "Debian".
-          "uri": "A String", # The unique URI of the resource. E.g.,
-              # "https://gcr.io/project/image@sha256:foo" for a Docker image.
-        },
-        "updateTime": "A String", # Output only. The time this `Occurrence` was last updated.
-        "upgrade": { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
-            # specific upgrade. This presence is supplied via local sources (i.e. it is
-            # present in the mirror and the running system has noticed its availability).
-          "distribution": { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
-              # for the resource_url. This allows efficient filtering, as well as
-              # making it easier to use the occurrence.
-              # operating system (CPE). Some distributions have additional metadata around
-              # updates, classifying them into various categories and severities.
-            "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
-                # https://cpe.mitre.org/specification/.
-            "cve": [ # The cve that would be resolved by this upgrade.
-              "A String",
-            ],
-            "severity": "A String", # The severity as specified by the upstream operating system.
-            "classification": "A String", # The operating system classification of this Upgrade, as specified by the
-                # upstream operating system upgrade feed.
-          },
-          "parsedVersion": { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
-              # For a discussion of this in Debian/Ubuntu:
-              # http://serverfault.com/questions/604541/debian-packages-version-convention
-              # For a discussion of this in Redhat/Fedora/Centos:
-              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-            "name": "A String", # The main part of the version name.
-            "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                # If kind is not NORMAL, then the other fields are ignored.
-            "revision": "A String", # The iteration of the package build from the above version.
-          },
-          "package": "A String", # Required - The package this Upgrade is for.
-        },
-        "installation": { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
-            # a system.
-          "location": [ # All of the places within the filesystem versions of this package
-              # have been found.
-            { # An occurrence of a particular package installation found within a
-                # system's filesystem.
-                # e.g. glibc was found in /var/lib/dpkg/status
-              "path": "A String", # The path from which we gathered that this package/version is installed.
-              "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
-                  # denoting the package manager version distributing a package.
-              "version": { # Version contains structured information about the version of the package. # The version installed at this location.
-                  # For a discussion of this in Debian/Ubuntu:
-                  # http://serverfault.com/questions/604541/debian-packages-version-convention
-                  # For a discussion of this in Redhat/Fedora/Centos:
-                  # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-                "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-                "name": "A String", # The main part of the version name.
-                "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                    # If kind is not NORMAL, then the other fields are ignored.
-                "revision": "A String", # The iteration of the package build from the above version.
-              },
-            },
-          ],
-          "name": "A String", # Output only. The name of the installed package.
-        },
-        "name": "A String", # Output only. The name of the `Occurrence` in the form
-            # "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
-        "kind": "A String", # Output only. This explicitly denotes which of the `Occurrence` details are
-            # specified. This field can be used as a filter in list requests.
-        "buildDetails": { # Message encapsulating build provenance details. # Build details for a verifiable build.
-          "provenance": { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
-              # details about the build from source to completion.
-            "finishTime": "A String", # Time at which execution of the build was finished.
-            "commands": [ # Commands requested by the build.
-              { # Command describes a step performed as part of the build pipeline.
-                "waitFor": [ # The ID(s) of the Command(s) that this Command depends on.
-                  "A String",
-                ],
-                "name": "A String", # Name of the command, as presented on the command line, or if the command is
-                    # packaged as a Docker container, as presented to `docker pull`.
-                "args": [ # Command-line arguments used when executing this Command.
-                  "A String",
-                ],
-                "env": [ # Environment variables set before running this Command.
-                  "A String",
-                ],
-                "id": "A String", # Optional unique identifier for this Command, used in wait_for to reference
-                    # this Command as a dependency.
-                "dir": "A String", # Working directory (relative to project source root) used when running
-                    # this Command.
-              },
-            ],
-            "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
-              "artifactStorageSource": { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
-                  # location.
-                  # Google Cloud Storage.
-                "generation": "A String", # Google Cloud Storage generation for the object.
-                "object": "A String", # Google Cloud Storage object containing source.
-                "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-                    # Requirements]
-                    # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-              },
-              "repoSource": { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
-                  # Repository.
-                "projectId": "A String", # ID of the project that owns the repo.
-                "branchName": "A String", # Name of the branch to build.
-                "commitSha": "A String", # Explicit commit SHA to build.
-                "tagName": "A String", # Name of the tag to build.
-                "repoName": "A String", # Name of the repo.
-              },
-              "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
-                  # source integrity was maintained in the build.
-                  #
-                  # The keys to this map are file paths used as build source and the values
-                  # contain the hash values for those files.
-                  #
-                  # If the build source came in a single package such as a gzipped tarfile
-                  # (.tar.gz), the FileHash will be for the single path to that file.
-                "a_key": { # Container message for hashes of byte content of files, used in Source
-                    # messages to verify integrity of source input to the build.
-                  "fileHash": [ # Collection of file hashes.
-                    { # Container message for hash values.
-                      "type": "A String", # The type of hash that was performed.
-                      "value": "A String", # The hash value.
-                    },
-                  ],
-                },
-              },
-              "additionalContexts": [ # If provided, some of the source code used for the build may be found in
-                  # these locations, in the case where the source repository had multiple
-                  # remotes or submodules. This list will not include the context specified in
-                  # the context field.
-                { # A SourceContext is a reference to a tree of files. A SourceContext together
-                    # with a path point to a unique revision of a single file or directory.
-                  "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-                      # repository (e.g., GitHub).
-                    "url": "A String", # Git repository URL.
-                    "revisionId": "A String", # Required. Git commit hash.
-                  },
-                  "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-                      # Source Repo.
-                    "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                      "kind": "A String", # The alias kind.
-                      "name": "A String", # The alias name.
-                    },
-                    "revisionId": "A String", # A revision ID.
-                    "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-                      "uid": "A String", # A server-assigned, globally unique identifier.
-                      "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                          # winged-cargo-31) and a repo name within that project.
-                        "projectId": "A String", # The ID of the project.
-                        "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-                      },
-                    },
-                  },
-                  "labels": { # Labels with user defined metadata.
-                    "a_key": "A String",
-                  },
-                  "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-                    "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                      "kind": "A String", # The alias kind.
-                      "name": "A String", # The alias name.
-                    },
-                    "revisionId": "A String", # A revision (commit) ID.
-                    "hostUri": "A String", # The URI of a running Gerrit instance.
-                    "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                        # "project/subproject" is a valid project name. The "repo name" is
-                        # the hostURI/project.
-                  },
-                },
-              ],
-              "context": { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
-                  # with a path point to a unique revision of a single file or directory.
-                "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-                    # repository (e.g., GitHub).
-                  "url": "A String", # Git repository URL.
-                  "revisionId": "A String", # Required. Git commit hash.
-                },
-                "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-                    # Source Repo.
-                  "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                    "kind": "A String", # The alias kind.
-                    "name": "A String", # The alias name.
-                  },
-                  "revisionId": "A String", # A revision ID.
-                  "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-                    "uid": "A String", # A server-assigned, globally unique identifier.
-                    "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                        # winged-cargo-31) and a repo name within that project.
-                      "projectId": "A String", # The ID of the project.
-                      "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-                    },
-                  },
-                },
-                "labels": { # Labels with user defined metadata.
-                  "a_key": "A String",
-                },
-                "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-                  "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                    "kind": "A String", # The alias kind.
-                    "name": "A String", # The alias name.
-                  },
-                  "revisionId": "A String", # A revision (commit) ID.
-                  "hostUri": "A String", # The URI of a running Gerrit instance.
-                  "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                      # "project/subproject" is a valid project name. The "repo name" is
-                      # the hostURI/project.
-                },
-              },
-              "storageSource": { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
-                  # Storage.
-                  # Google Cloud Storage.
-                "generation": "A String", # Google Cloud Storage generation for the object.
-                "object": "A String", # Google Cloud Storage object containing source.
-                "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-                    # Requirements]
-                    # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-              },
-            },
-            "buildOptions": { # Special options applied to this build. This is a catch-all field where
-                # build providers can enter any desired additional details.
-              "a_key": "A String",
-            },
-            "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
-                # user's e-mail address at the time the build was initiated; this address may
-                # not represent the same end-user for all time.
-            "projectId": "A String", # ID of the project.
-            "builderVersion": "A String", # Version string of the builder at the time this build was executed.
-            "createTime": "A String", # Time at which the build was created.
-            "builtArtifacts": [ # Output of the build.
-              { # Artifact describes a build product.
-                "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
-                    # container.
-                "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
-                    # like gcr.io/projectID/imagename@sha256:123456
-                "name": "A String", # Name of the artifact. This may be the path to a binary or jar file, or in
-                    # the case of a container build, the name used to push the container image to
-                    # Google Container Registry, as presented to `docker push`.
-                    #
-                    # This field is deprecated in favor of the plural `names` field; it continues
-                    # to exist here to allow existing BuildProvenance serialized to json in
-                    # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
-                    # deserialize back into proto.
-                "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
-                    # the case of a container build, the name used to push the container image to
-                    # Google Container Registry, as presented to `docker push`. Note that a
-                    # single Artifact ID can have multiple names, for example if two tags are
-                    # applied to one image.
-                  "A String",
-                ],
-              },
-            ],
-            "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
-            "startTime": "A String", # Time at which execution of the build was started.
-            "logsBucket": "A String", # Google Cloud Storage bucket where logs were written.
-            "id": "A String", # Unique identifier of the build.
-          },
-          "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
+        &quot;buildDetails&quot;: { # Message encapsulating build provenance details. # Build details for a verifiable build.
+          &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
               # `BuildSignature` in the corresponding Result. After verifying the
               # signature, `provenance_bytes` can be unmarshalled and compared to the
               # provenance to confirm that it is unchanged. A base64-encoded string
@@ -2493,77 +2227,213 @@
               # The serialized form is captured both to avoid ambiguity in how the
               # provenance is marshalled to json as well to prevent incompatibilities with
               # future changes.
-        },
-        "discovered": { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
-          "analysisStatus": "A String", # The status of discovery for the resource.
-          "operation": { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
-              # This field is deprecated, do not use.
-              # network API call.
-            "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
-                # different programming environments, including REST APIs and RPC APIs. It is
-                # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-                # three pieces of data: error code, error message, and error details.
-                #
-                # You can find out more about this error model and how to work with it in the
-                # [API Design Guide](https://cloud.google.com/apis/design/errors).
-              "message": "A String", # A developer-facing error message, which should be in English. Any
-                  # user-facing error message should be localized and sent in the
-                  # google.rpc.Status.details field, or localized by the client.
-              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-              "details": [ # A list of messages that carry the error details.  There is a common set of
-                  # message types for APIs to use.
-                {
-                  "a_key": "", # Properties of the object. Contains field @type with type URL.
+          &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
+              # details about the build from source to completion.
+            &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
+            &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
+            &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
+              &quot;repoSource&quot;: { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
+                  # Repository.
+                &quot;projectId&quot;: &quot;A String&quot;, # ID of the project that owns the repo.
+                &quot;repoName&quot;: &quot;A String&quot;, # Name of the repo.
+                &quot;branchName&quot;: &quot;A String&quot;, # Name of the branch to build.
+                &quot;tagName&quot;: &quot;A String&quot;, # Name of the tag to build.
+                &quot;commitSha&quot;: &quot;A String&quot;, # Explicit commit SHA to build.
+              },
+              &quot;storageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
+                  # Storage.
+                  # Google Cloud Storage.
+                &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+                    # Requirements]
+                    # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+                &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+                &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+              },
+              &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
+                  # source integrity was maintained in the build.
+                  #
+                  # The keys to this map are file paths used as build source and the values
+                  # contain the hash values for those files.
+                  #
+                  # If the build source came in a single package such as a gzipped tarfile
+                  # (.tar.gz), the FileHash will be for the single path to that file.
+                &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in Source
+                    # messages to verify integrity of source input to the build.
+                  &quot;fileHash&quot;: [ # Collection of file hashes.
+                    { # Container message for hash values.
+                      &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+                      &quot;value&quot;: &quot;A String&quot;, # The hash value.
+                    },
+                  ],
+                },
+              },
+              &quot;artifactStorageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
+                  # location.
+                  # Google Cloud Storage.
+                &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+                    # Requirements]
+                    # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+                &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+                &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+              },
+              &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
+                  # these locations, in the case where the source repository had multiple
+                  # remotes or submodules. This list will not include the context specified in
+                  # the context field.
+                { # A SourceContext is a reference to a tree of files. A SourceContext together
+                    # with a path point to a unique revision of a single file or directory.
+                  &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.
+                      # Source Repo.
+                    &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+                    &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+                      &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+                      &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.
+                          # winged-cargo-31) and a repo name within that project.
+                        &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                        &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+                      },
+                    },
+                    &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                      &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                      &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+                    },
+                  },
+                  &quot;labels&quot;: { # Labels with user defined metadata.
+                    &quot;a_key&quot;: &quot;A String&quot;,
+                  },
+                  &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).
+                      # repository (e.g., GitHub).
+                    &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+                    &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+                  },
+                  &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+                    &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+                    &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+                    &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                        # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                        # the hostURI/project.
+                    &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                      &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                      &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+                    },
+                  },
                 },
               ],
+              &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.
+                  # with a path point to a unique revision of a single file or directory.
+                &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.
+                    # Source Repo.
+                  &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+                  &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+                    &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+                    &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.
+                        # winged-cargo-31) and a repo name within that project.
+                      &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                      &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+                    },
+                  },
+                  &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                    &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                    &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+                  },
+                },
+                &quot;labels&quot;: { # Labels with user defined metadata.
+                  &quot;a_key&quot;: &quot;A String&quot;,
+                },
+                &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).
+                    # repository (e.g., GitHub).
+                  &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+                  &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+                },
+                &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+                  &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+                  &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+                  &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                      # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                      # the hostURI/project.
+                  &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                    &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                    &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+                  },
+                },
+              },
             },
-            "done": True or False, # If the value is `false`, it means the operation is still in progress.
-                # If `true`, the operation is completed, and either `error` or `response` is
-                # available.
-            "response": { # The normal response of the operation in case of success.  If the original
-                # method returns no data on success, such as `Delete`, the response is
-                # `google.protobuf.Empty`.  If the original method is standard
-                # `Get`/`Create`/`Update`, the response should be the resource.  For other
-                # methods, the response should have the type `XxxResponse`, where `Xxx`
-                # is the original method name.  For example, if the original method name
-                # is `TakeSnapshot()`, the inferred response type is
-                # `TakeSnapshotResponse`.
-              "a_key": "", # Properties of the object. Contains field @type with type URL.
-            },
-            "name": "A String", # The server-assigned name, which is only unique within the same service that
-                # originally returns it. If you use the default HTTP mapping, the
-                # `name` should be a resource name ending with `operations/{unique_id}`.
-            "metadata": { # Service-specific metadata associated with the operation.  It typically
-                # contains progress information and common metadata such as create time.
-                # Some services might not provide such metadata.  Any method that returns a
-                # long-running operation should document the metadata type, if any.
-              "a_key": "", # Properties of the object. Contains field @type with type URL.
-            },
-          },
-          "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
-          "cpe": "A String", # The CPE of the resource being scanned.
-          "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
-              # details to show to the user. The LocalizedMessage output only and
-              # populated by the API.
-              # different programming environments, including REST APIs and RPC APIs. It is
-              # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-              # three pieces of data: error code, error message, and error details.
-              #
-              # You can find out more about this error model and how to work with it in the
-              # [API Design Guide](https://cloud.google.com/apis/design/errors).
-            "message": "A String", # A developer-facing error message, which should be in English. Any
-                # user-facing error message should be localized and sent in the
-                # google.rpc.Status.details field, or localized by the client.
-            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-            "details": [ # A list of messages that carry the error details.  There is a common set of
-                # message types for APIs to use.
-              {
-                "a_key": "", # Properties of the object. Contains field @type with type URL.
+            &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
+            &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
+            &quot;finishTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
+            &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
+                # user&#x27;s e-mail address at the time the build was initiated; this address may
+                # not represent the same end-user for all time.
+            &quot;logsBucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket where logs were written.
+            &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
+            &quot;commands&quot;: [ # Commands requested by the build.
+              { # Command describes a step performed as part of the build pipeline.
+                &quot;name&quot;: &quot;A String&quot;, # Name of the command, as presented on the command line, or if the command is
+                    # packaged as a Docker container, as presented to `docker pull`.
+                &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this Command, used in wait_for to reference
+                    # this Command as a dependency.
+                &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running
+                    # this Command.
+                &quot;waitFor&quot;: [ # The ID(s) of the Command(s) that this Command depends on.
+                  &quot;A String&quot;,
+                ],
+                &quot;env&quot;: [ # Environment variables set before running this Command.
+                  &quot;A String&quot;,
+                ],
+                &quot;args&quot;: [ # Command-line arguments used when executing this Command.
+                  &quot;A String&quot;,
+                ],
               },
             ],
+            &quot;builtArtifacts&quot;: [ # Output of the build.
+              { # Artifact describes a build product.
+                &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
+                    # like gcr.io/projectID/imagename@sha256:123456
+                &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
+                    # the case of a container build, the name used to push the container image to
+                    # Google Container Registry, as presented to `docker push`. Note that a
+                    # single Artifact ID can have multiple names, for example if two tags are
+                    # applied to one image.
+                  &quot;A String&quot;,
+                ],
+                &quot;name&quot;: &quot;A String&quot;, # Name of the artifact. This may be the path to a binary or jar file, or in
+                    # the case of a container build, the name used to push the container image to
+                    # Google Container Registry, as presented to `docker push`.
+                    #
+                    # This field is deprecated in favor of the plural `names` field; it continues
+                    # to exist here to allow existing BuildProvenance serialized to json in
+                    # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
+                    # deserialize back into proto.
+                &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
+                    # container.
+              },
+            ],
+            &quot;id&quot;: &quot;A String&quot;, # Unique identifier of the build.
+            &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
+                # build providers can enter any desired additional details.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
           },
         },
-        "attestation": { # Occurrence that represents a single "attestation".  The authenticity of an # Describes an attestation of an artifact.
+        &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the `Occurrence` details are
+            # specified. This field can be used as a filter in list requests.
+        &quot;resource&quot;: { #  #
+            # The resource for which the `Occurrence` applies.
+            # Resource is an entity that can have metadata. E.g., a Docker image.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the resource. E.g., the name of a Docker image - &quot;Debian&quot;.
+          &quot;contentHash&quot;: { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
+            &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+            &quot;value&quot;: &quot;A String&quot;, # The hash value.
+          },
+          &quot;uri&quot;: &quot;A String&quot;, # The unique URI of the resource. E.g.,
+              # &quot;https://gcr.io/project/image@sha256:foo&quot; for a Docker image.
+        },
+        &quot;resourceUrl&quot;: &quot;A String&quot;, # The unique URL of the image or the container for which the `Occurrence`
+            # applies. For example, https://gcr.io/project/image@sha256:foo This field
+            # can be used as a filter in list requests.
+        &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the `Occurrence` in the form
+            # &quot;projects/{project_id}/occurrences/{OCCURRENCE_ID}&quot;
+        &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;.  The authenticity of an # Describes an attestation of an artifact.
             # Attestation can be verified using the attached signature. If the verifier
             # trusts the public key of the signer, then verifying the signature is
             # sufficient to establish trust.  In this circumstance, the
@@ -2571,14 +2441,23 @@
             # useful for look-up (how to find this Attestation if you already know the
             # Authority and artifact to be verified) and intent (which authority was this
             # attestation intended to sign for).
-          "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature.
+          &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature.
               # This message only supports `ATTACHED` signatures, where the payload that is
               # signed is included alongside the signature itself in the same file.
-            "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
+            &quot;signature&quot;: &quot;A String&quot;, # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
+                # equivalent.  Since this message only supports attached signatures, the
+                # payload that was signed must be attached. While the signature format
+                # supported is dependent on the verification implementation, currently only
+                # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
+                # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
+                # --output=signature.gpg payload.json` will create the signature content
+                # expected in this field in `signature.gpg` for the `payload.json`
+                # attestation payload.
+            &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
                 # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
                 # 160-bit fingerprint, expressed as a 40 character hexadecimal string. See
                 # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
-                # Implementations may choose to acknowledge "LONG", "SHORT", or other
+                # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
                 # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
                 # In gpg, the full fingerprint can be retrieved from the `fpr` field
                 # returned when calling --list-keys with --with-colons.  For example:
@@ -2590,72 +2469,212 @@
                 # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
                 # ```
                 # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
-            "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
+            &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
                 # The verifier must ensure that the provided type is one that the verifier
                 # supports, and that the attestation payload is a valid instantiation of that
                 # type (for example by validating a JSON schema).
-            "signature": "A String", # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
-                # equivalent.  Since this message only supports attached signatures, the
-                # payload that was signed must be attached. While the signature format
-                # supported is dependent on the verification implementation, currently only
-                # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
-                # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
-                # --output=signature.gpg payload.json` will create the signature content
-                # expected in this field in `signature.gpg` for the `payload.json`
-                # attestation payload.
           },
         },
-        "noteName": "A String", # An analysis note associated with this image, in the form
-            # "providers/{provider_id}/notes/{NOTE_ID}"
-            # This field can be used as a filter in list requests.
-        "deployment": { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
-          "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from the
-              # deployable field with the same name.
-            "A String",
-          ],
-          "userEmail": "A String", # Identity of the user that triggered this deployment.
-          "address": "A String", # Address of the runtime element hosting this deployment.
-          "platform": "A String", # Platform hosting this deployment.
-          "deployTime": "A String", # Beginning of the lifetime of this deployment.
-          "undeployTime": "A String", # End of the lifetime of this deployment.
-          "config": "A String", # Configuration used to create this deployment.
-        },
-        "remediation": "A String", # A description of actions that can be taken to remedy the `Note`
-        "resourceUrl": "A String", # The unique URL of the image or the container for which the `Occurrence`
-            # applies. For example, https://gcr.io/project/image@sha256:foo This field
-            # can be used as a filter in list requests.
-        "createTime": "A String", # Output only. The time this `Occurrence` was created.
-        "derivedImage": { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
-            # in the associated note.
-            # DockerImage relationship.  This image would be produced from a Dockerfile
-            # with FROM &lt;DockerImage.Basis in attached Note&gt;.
-          "distance": 42, # Output only. The number of layers by which this image differs from the
-              # associated image basis.
-          "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
-              # occurrence.
-          "layerInfo": [ # This contains layer-specific metadata, if populated it has length
-              # "distance" and is ordered with [distance] being the layer immediately
-              # following the base image and [1] being the final layer.
-            { # Layer holds metadata specific to a layer of a Docker image.
-              "arguments": "A String", # The recovered arguments to the Dockerfile directive.
-              "directive": "A String", # The recovered Dockerfile directive used to construct this layer.
+        &quot;installation&quot;: { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
+            # a system.
+          &quot;location&quot;: [ # All of the places within the filesystem versions of this package
+              # have been found.
+            { # An occurrence of a particular package installation found within a
+                # system&#x27;s filesystem.
+                # e.g. glibc was found in /var/lib/dpkg/status
+              &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
+                  # denoting the package manager version distributing a package.
+              &quot;version&quot;: { # Version contains structured information about the version of the package. # The version installed at this location.
+                  # For a discussion of this in Debian/Ubuntu:
+                  # http://serverfault.com/questions/604541/debian-packages-version-convention
+                  # For a discussion of this in Redhat/Fedora/Centos:
+                  # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+                &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+                &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                    # If kind is not NORMAL, then the other fields are ignored.
+                &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+                &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+              },
+              &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
             },
           ],
-          "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
-            "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
-                # representation.
-                # This field can be used as a filter in list requests.
-            "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
-              "A String",
+          &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
+        },
+        &quot;upgrade&quot;: { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
+            # specific upgrade. This presence is supplied via local sources (i.e. it is
+            # present in the mirror and the running system has noticed its availability).
+          &quot;distribution&quot;: { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
+              # for the resource_url. This allows efficient filtering, as well as
+              # making it easier to use the occurrence.
+              # operating system (CPE). Some distributions have additional metadata around
+              # updates, classifying them into various categories and severities.
+            &quot;cve&quot;: [ # The cve that would be resolved by this upgrade.
+              &quot;A String&quot;,
             ],
-            "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
-                #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
-                # Only the name of the final blob is kept.
-                # This field can be used as a filter in list requests.
+            &quot;classification&quot;: &quot;A String&quot;, # The operating system classification of this Upgrade, as specified by the
+                # upstream operating system upgrade feed.
+            &quot;severity&quot;: &quot;A String&quot;, # The severity as specified by the upstream operating system.
+            &quot;cpeUri&quot;: &quot;A String&quot;, # Required - The specific operating system this metadata applies to. See
+                # https://cpe.mitre.org/specification/.
+          },
+          &quot;package&quot;: &quot;A String&quot;, # Required - The package this Upgrade is for.
+          &quot;parsedVersion&quot;: { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
+              # For a discussion of this in Debian/Ubuntu:
+              # http://serverfault.com/questions/604541/debian-packages-version-convention
+              # For a discussion of this in Redhat/Fedora/Centos:
+              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+            &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+            &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                # If kind is not NORMAL, then the other fields are ignored.
+            &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+            &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
           },
         },
+        &quot;discovered&quot;: { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
+          &quot;operation&quot;: { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
+              # This field is deprecated, do not use.
+              # network API call.
+            &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
+                # originally returns it. If you use the default HTTP mapping, the
+                # `name` should be a resource name ending with `operations/{unique_id}`.
+            &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+                # different programming environments, including REST APIs and RPC APIs. It is
+                # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+                # three pieces of data: error code, error message, and error details.
+                #
+                # You can find out more about this error model and how to work with it in the
+                # [API Design Guide](https://cloud.google.com/apis/design/errors).
+              &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+              &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+                  # user-facing error message should be localized and sent in the
+                  # google.rpc.Status.details field, or localized by the client.
+              &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+                  # message types for APIs to use.
+                {
+                  &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+                },
+              ],
+            },
+            &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
+                # contains progress information and common metadata such as create time.
+                # Some services might not provide such metadata.  Any method that returns a
+                # long-running operation should document the metadata type, if any.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+            },
+            &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
+                # If `true`, the operation is completed, and either `error` or `response` is
+                # available.
+            &quot;response&quot;: { # The normal response of the operation in case of success.  If the original
+                # method returns no data on success, such as `Delete`, the response is
+                # `google.protobuf.Empty`.  If the original method is standard
+                # `Get`/`Create`/`Update`, the response should be the resource.  For other
+                # methods, the response should have the type `XxxResponse`, where `Xxx`
+                # is the original method name.  For example, if the original method name
+                # is `TakeSnapshot()`, the inferred response type is
+                # `TakeSnapshotResponse`.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+            },
+          },
+          &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
+          &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
+          &quot;cpe&quot;: &quot;A String&quot;, # The CPE of the resource being scanned.
+          &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
+              # details to show to the user. The LocalizedMessage output only and
+              # populated by the API.
+              # different programming environments, including REST APIs and RPC APIs. It is
+              # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+              # three pieces of data: error code, error message, and error details.
+              #
+              # You can find out more about this error model and how to work with it in the
+              # [API Design Guide](https://cloud.google.com/apis/design/errors).
+            &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+            &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+                # user-facing error message should be localized and sent in the
+                # google.rpc.Status.details field, or localized by the client.
+            &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+                # message types for APIs to use.
+              {
+                &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+          },
+        },
+        &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
+          &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
+          &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from the
+              # deployable field with the same name.
+            &quot;A String&quot;,
+          ],
+          &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
+          &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
+          &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
+          &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
+          &quot;deployTime&quot;: &quot;A String&quot;, # Beginning of the lifetime of this deployment.
+        },
+        &quot;noteName&quot;: &quot;A String&quot;, # An analysis note associated with this image, in the form
+            # &quot;providers/{provider_id}/notes/{NOTE_ID}&quot;
+            # This field can be used as a filter in list requests.
+        &quot;vulnerabilityDetails&quot;: { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
+            # to fix it.
+          &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
+              # scale of 0-10 where 0 indicates low severity and 10 indicates high
+              # severity.
+          &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems,
+              # node.js packages etc)
+          &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when that is
+              # available and note provider assigned severity when distro has not yet
+              # assigned a severity for this vulnerability.
+          &quot;packageIssue&quot;: [ # The set of affected locations and their fixes (if available) within
+              # the associated resource.
+            { # This message wraps a location affected by a vulnerability and its
+                # associated fix (if one is available).
+              &quot;affectedLocation&quot;: { # The location of the vulnerability # The location of the vulnerability.
+                &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+                    # format. Examples include distro or storage location for vulnerable jar.
+                    # This field can be used as a filter in list requests.
+                &quot;package&quot;: &quot;A String&quot;, # The package being described.
+                &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+                    # filter in list requests.
+                    # For a discussion of this in Debian/Ubuntu:
+                    # http://serverfault.com/questions/604541/debian-packages-version-convention
+                    # For a discussion of this in Redhat/Fedora/Centos:
+                    # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+                  &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+                  &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                      # If kind is not NORMAL, then the other fields are ignored.
+                  &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+                  &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+                },
+              },
+              &quot;fixedLocation&quot;: { # The location of the vulnerability # The location of the available fix for vulnerability.
+                &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+                    # format. Examples include distro or storage location for vulnerable jar.
+                    # This field can be used as a filter in list requests.
+                &quot;package&quot;: &quot;A String&quot;, # The package being described.
+                &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+                    # filter in list requests.
+                    # For a discussion of this in Debian/Ubuntu:
+                    # http://serverfault.com/questions/604541/debian-packages-version-convention
+                    # For a discussion of this in Redhat/Fedora/Centos:
+                    # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+                  &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+                  &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                      # If kind is not NORMAL, then the other fields are ignored.
+                  &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+                  &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+                },
+              },
+              &quot;severityName&quot;: &quot;A String&quot;,
+            },
+          ],
+          &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
+        },
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was created.
       },
     ],
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # The next pagination token in the list response. It should be used as
+        # `page_token` for the following request. An empty value means no more
+        # results.
   }</pre>
 </div>
 
@@ -2668,7 +2687,7 @@
   previous_response: The response from the request for the previous page. (required)
 
 Returns:
-  A request object that you can call 'execute()' on to request the next
+  A request object that you can call &#x27;execute()&#x27; on to request the next
   page. Returns None if there are no more items in the collection.
     </pre>
 </div>
@@ -2679,326 +2698,44 @@
 
 Args:
   name: string, The name of the occurrence.
-Should be of the form "projects/{project_id}/occurrences/{OCCURRENCE_ID}". (required)
+Should be of the form &quot;projects/{project_id}/occurrences/{OCCURRENCE_ID}&quot;. (required)
   body: object, The request body.
     The object takes the form of:
 
 { # `Occurrence` includes information about analysis occurrences for an image.
-  "vulnerabilityDetails": { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
-      # to fix it.
-    "packageIssue": [ # The set of affected locations and their fixes (if available) within
-        # the associated resource.
-      { # This message wraps a location affected by a vulnerability and its
-          # associated fix (if one is available).
-        "severityName": "A String",
-        "affectedLocation": { # The location of the vulnerability # The location of the vulnerability.
-          "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-              # format. Examples include distro or storage location for vulnerable jar.
-              # This field can be used as a filter in list requests.
-          "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-              # filter in list requests.
-              # For a discussion of this in Debian/Ubuntu:
-              # http://serverfault.com/questions/604541/debian-packages-version-convention
-              # For a discussion of this in Redhat/Fedora/Centos:
-              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-            "name": "A String", # The main part of the version name.
-            "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                # If kind is not NORMAL, then the other fields are ignored.
-            "revision": "A String", # The iteration of the package build from the above version.
-          },
-          "package": "A String", # The package being described.
-        },
-        "fixedLocation": { # The location of the vulnerability # The location of the available fix for vulnerability.
-          "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-              # format. Examples include distro or storage location for vulnerable jar.
-              # This field can be used as a filter in list requests.
-          "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-              # filter in list requests.
-              # For a discussion of this in Debian/Ubuntu:
-              # http://serverfault.com/questions/604541/debian-packages-version-convention
-              # For a discussion of this in Redhat/Fedora/Centos:
-              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-            "name": "A String", # The main part of the version name.
-            "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                # If kind is not NORMAL, then the other fields are ignored.
-            "revision": "A String", # The iteration of the package build from the above version.
-          },
-          "package": "A String", # The package being described.
-        },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was last updated.
+  &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the `Note`
+  &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
+      # in the associated note.
+      # DockerImage relationship.  This image would be produced from a Dockerfile
+      # with FROM &lt;DockerImage.Basis in attached Note&gt;.
+    &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
+        # occurrence.
+    &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
+      &quot;v2Blob&quot;: [ # The ordered list of v2 blobs that represent a given image.
+        &quot;A String&quot;,
+      ],
+      &quot;v1Name&quot;: &quot;A String&quot;, # The layer-id of the final layer in the Docker image&#x27;s v1
+          # representation.
+          # This field can be used as a filter in list requests.
+      &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
+          #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
+          # Only the name of the final blob is kept.
+          # This field can be used as a filter in list requests.
+    },
+    &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
+        # &quot;distance&quot; and is ordered with [distance] being the layer immediately
+        # following the base image and [1] being the final layer.
+      { # Layer holds metadata specific to a layer of a Docker image.
+        &quot;directive&quot;: &quot;A String&quot;, # The recovered Dockerfile directive used to construct this layer.
+        &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
       },
     ],
-    "type": "A String", # The type of package; whether native or non native(ruby gems,
-        # node.js packages etc)
-    "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
-        # scale of 0-10 where 0 indicates low severity and 10 indicates high
-        # severity.
-    "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
-    "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when that is
-        # available and note provider assigned severity when distro has not yet
-        # assigned a severity for this vulnerability.
+    &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
+        # associated image basis.
   },
-  "resource": { #  # 
-      # The resource for which the `Occurrence` applies.
-      # Resource is an entity that can have metadata. E.g., a Docker image.
-    "contentHash": { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
-      "type": "A String", # The type of hash that was performed.
-      "value": "A String", # The hash value.
-    },
-    "name": "A String", # The name of the resource. E.g., the name of a Docker image - "Debian".
-    "uri": "A String", # The unique URI of the resource. E.g.,
-        # "https://gcr.io/project/image@sha256:foo" for a Docker image.
-  },
-  "updateTime": "A String", # Output only. The time this `Occurrence` was last updated.
-  "upgrade": { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
-      # specific upgrade. This presence is supplied via local sources (i.e. it is
-      # present in the mirror and the running system has noticed its availability).
-    "distribution": { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
-        # for the resource_url. This allows efficient filtering, as well as
-        # making it easier to use the occurrence.
-        # operating system (CPE). Some distributions have additional metadata around
-        # updates, classifying them into various categories and severities.
-      "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
-          # https://cpe.mitre.org/specification/.
-      "cve": [ # The cve that would be resolved by this upgrade.
-        "A String",
-      ],
-      "severity": "A String", # The severity as specified by the upstream operating system.
-      "classification": "A String", # The operating system classification of this Upgrade, as specified by the
-          # upstream operating system upgrade feed.
-    },
-    "parsedVersion": { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
-        # For a discussion of this in Debian/Ubuntu:
-        # http://serverfault.com/questions/604541/debian-packages-version-convention
-        # For a discussion of this in Redhat/Fedora/Centos:
-        # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-      "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-      "name": "A String", # The main part of the version name.
-      "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-          # If kind is not NORMAL, then the other fields are ignored.
-      "revision": "A String", # The iteration of the package build from the above version.
-    },
-    "package": "A String", # Required - The package this Upgrade is for.
-  },
-  "installation": { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
-      # a system.
-    "location": [ # All of the places within the filesystem versions of this package
-        # have been found.
-      { # An occurrence of a particular package installation found within a
-          # system's filesystem.
-          # e.g. glibc was found in /var/lib/dpkg/status
-        "path": "A String", # The path from which we gathered that this package/version is installed.
-        "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
-            # denoting the package manager version distributing a package.
-        "version": { # Version contains structured information about the version of the package. # The version installed at this location.
-            # For a discussion of this in Debian/Ubuntu:
-            # http://serverfault.com/questions/604541/debian-packages-version-convention
-            # For a discussion of this in Redhat/Fedora/Centos:
-            # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-          "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-          "name": "A String", # The main part of the version name.
-          "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-              # If kind is not NORMAL, then the other fields are ignored.
-          "revision": "A String", # The iteration of the package build from the above version.
-        },
-      },
-    ],
-    "name": "A String", # Output only. The name of the installed package.
-  },
-  "name": "A String", # Output only. The name of the `Occurrence` in the form
-      # "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
-  "kind": "A String", # Output only. This explicitly denotes which of the `Occurrence` details are
-      # specified. This field can be used as a filter in list requests.
-  "buildDetails": { # Message encapsulating build provenance details. # Build details for a verifiable build.
-    "provenance": { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
-        # details about the build from source to completion.
-      "finishTime": "A String", # Time at which execution of the build was finished.
-      "commands": [ # Commands requested by the build.
-        { # Command describes a step performed as part of the build pipeline.
-          "waitFor": [ # The ID(s) of the Command(s) that this Command depends on.
-            "A String",
-          ],
-          "name": "A String", # Name of the command, as presented on the command line, or if the command is
-              # packaged as a Docker container, as presented to `docker pull`.
-          "args": [ # Command-line arguments used when executing this Command.
-            "A String",
-          ],
-          "env": [ # Environment variables set before running this Command.
-            "A String",
-          ],
-          "id": "A String", # Optional unique identifier for this Command, used in wait_for to reference
-              # this Command as a dependency.
-          "dir": "A String", # Working directory (relative to project source root) used when running
-              # this Command.
-        },
-      ],
-      "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
-        "artifactStorageSource": { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
-            # location.
-            # Google Cloud Storage.
-          "generation": "A String", # Google Cloud Storage generation for the object.
-          "object": "A String", # Google Cloud Storage object containing source.
-          "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-              # Requirements]
-              # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-        },
-        "repoSource": { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
-            # Repository.
-          "projectId": "A String", # ID of the project that owns the repo.
-          "branchName": "A String", # Name of the branch to build.
-          "commitSha": "A String", # Explicit commit SHA to build.
-          "tagName": "A String", # Name of the tag to build.
-          "repoName": "A String", # Name of the repo.
-        },
-        "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
-            # source integrity was maintained in the build.
-            #
-            # The keys to this map are file paths used as build source and the values
-            # contain the hash values for those files.
-            #
-            # If the build source came in a single package such as a gzipped tarfile
-            # (.tar.gz), the FileHash will be for the single path to that file.
-          "a_key": { # Container message for hashes of byte content of files, used in Source
-              # messages to verify integrity of source input to the build.
-            "fileHash": [ # Collection of file hashes.
-              { # Container message for hash values.
-                "type": "A String", # The type of hash that was performed.
-                "value": "A String", # The hash value.
-              },
-            ],
-          },
-        },
-        "additionalContexts": [ # If provided, some of the source code used for the build may be found in
-            # these locations, in the case where the source repository had multiple
-            # remotes or submodules. This list will not include the context specified in
-            # the context field.
-          { # A SourceContext is a reference to a tree of files. A SourceContext together
-              # with a path point to a unique revision of a single file or directory.
-            "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-                # repository (e.g., GitHub).
-              "url": "A String", # Git repository URL.
-              "revisionId": "A String", # Required. Git commit hash.
-            },
-            "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-                # Source Repo.
-              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                "kind": "A String", # The alias kind.
-                "name": "A String", # The alias name.
-              },
-              "revisionId": "A String", # A revision ID.
-              "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-                "uid": "A String", # A server-assigned, globally unique identifier.
-                "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                    # winged-cargo-31) and a repo name within that project.
-                  "projectId": "A String", # The ID of the project.
-                  "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-                },
-              },
-            },
-            "labels": { # Labels with user defined metadata.
-              "a_key": "A String",
-            },
-            "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                "kind": "A String", # The alias kind.
-                "name": "A String", # The alias name.
-              },
-              "revisionId": "A String", # A revision (commit) ID.
-              "hostUri": "A String", # The URI of a running Gerrit instance.
-              "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                  # "project/subproject" is a valid project name. The "repo name" is
-                  # the hostURI/project.
-            },
-          },
-        ],
-        "context": { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
-            # with a path point to a unique revision of a single file or directory.
-          "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-              # repository (e.g., GitHub).
-            "url": "A String", # Git repository URL.
-            "revisionId": "A String", # Required. Git commit hash.
-          },
-          "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-              # Source Repo.
-            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-              "kind": "A String", # The alias kind.
-              "name": "A String", # The alias name.
-            },
-            "revisionId": "A String", # A revision ID.
-            "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-              "uid": "A String", # A server-assigned, globally unique identifier.
-              "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                  # winged-cargo-31) and a repo name within that project.
-                "projectId": "A String", # The ID of the project.
-                "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-              },
-            },
-          },
-          "labels": { # Labels with user defined metadata.
-            "a_key": "A String",
-          },
-          "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-              "kind": "A String", # The alias kind.
-              "name": "A String", # The alias name.
-            },
-            "revisionId": "A String", # A revision (commit) ID.
-            "hostUri": "A String", # The URI of a running Gerrit instance.
-            "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                # "project/subproject" is a valid project name. The "repo name" is
-                # the hostURI/project.
-          },
-        },
-        "storageSource": { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
-            # Storage.
-            # Google Cloud Storage.
-          "generation": "A String", # Google Cloud Storage generation for the object.
-          "object": "A String", # Google Cloud Storage object containing source.
-          "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-              # Requirements]
-              # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-        },
-      },
-      "buildOptions": { # Special options applied to this build. This is a catch-all field where
-          # build providers can enter any desired additional details.
-        "a_key": "A String",
-      },
-      "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
-          # user's e-mail address at the time the build was initiated; this address may
-          # not represent the same end-user for all time.
-      "projectId": "A String", # ID of the project.
-      "builderVersion": "A String", # Version string of the builder at the time this build was executed.
-      "createTime": "A String", # Time at which the build was created.
-      "builtArtifacts": [ # Output of the build.
-        { # Artifact describes a build product.
-          "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
-              # container.
-          "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
-              # like gcr.io/projectID/imagename@sha256:123456
-          "name": "A String", # Name of the artifact. This may be the path to a binary or jar file, or in
-              # the case of a container build, the name used to push the container image to
-              # Google Container Registry, as presented to `docker push`.
-              #
-              # This field is deprecated in favor of the plural `names` field; it continues
-              # to exist here to allow existing BuildProvenance serialized to json in
-              # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
-              # deserialize back into proto.
-          "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
-              # the case of a container build, the name used to push the container image to
-              # Google Container Registry, as presented to `docker push`. Note that a
-              # single Artifact ID can have multiple names, for example if two tags are
-              # applied to one image.
-            "A String",
-          ],
-        },
-      ],
-      "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
-      "startTime": "A String", # Time at which execution of the build was started.
-      "logsBucket": "A String", # Google Cloud Storage bucket where logs were written.
-      "id": "A String", # Unique identifier of the build.
-    },
-    "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
+  &quot;buildDetails&quot;: { # Message encapsulating build provenance details. # Build details for a verifiable build.
+    &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
         # `BuildSignature` in the corresponding Result. After verifying the
         # signature, `provenance_bytes` can be unmarshalled and compared to the
         # provenance to confirm that it is unchanged. A base64-encoded string
@@ -3009,77 +2746,213 @@
         # The serialized form is captured both to avoid ambiguity in how the
         # provenance is marshalled to json as well to prevent incompatibilities with
         # future changes.
-  },
-  "discovered": { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
-    "analysisStatus": "A String", # The status of discovery for the resource.
-    "operation": { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
-        # This field is deprecated, do not use.
-        # network API call.
-      "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
-          # different programming environments, including REST APIs and RPC APIs. It is
-          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-          # three pieces of data: error code, error message, and error details.
-          #
-          # You can find out more about this error model and how to work with it in the
-          # [API Design Guide](https://cloud.google.com/apis/design/errors).
-        "message": "A String", # A developer-facing error message, which should be in English. Any
-            # user-facing error message should be localized and sent in the
-            # google.rpc.Status.details field, or localized by the client.
-        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-        "details": [ # A list of messages that carry the error details.  There is a common set of
-            # message types for APIs to use.
-          {
-            "a_key": "", # Properties of the object. Contains field @type with type URL.
+    &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
+        # details about the build from source to completion.
+      &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
+      &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
+      &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
+        &quot;repoSource&quot;: { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
+            # Repository.
+          &quot;projectId&quot;: &quot;A String&quot;, # ID of the project that owns the repo.
+          &quot;repoName&quot;: &quot;A String&quot;, # Name of the repo.
+          &quot;branchName&quot;: &quot;A String&quot;, # Name of the branch to build.
+          &quot;tagName&quot;: &quot;A String&quot;, # Name of the tag to build.
+          &quot;commitSha&quot;: &quot;A String&quot;, # Explicit commit SHA to build.
+        },
+        &quot;storageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
+            # Storage.
+            # Google Cloud Storage.
+          &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+              # Requirements]
+              # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+          &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+          &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+        },
+        &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
+            # source integrity was maintained in the build.
+            #
+            # The keys to this map are file paths used as build source and the values
+            # contain the hash values for those files.
+            #
+            # If the build source came in a single package such as a gzipped tarfile
+            # (.tar.gz), the FileHash will be for the single path to that file.
+          &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in Source
+              # messages to verify integrity of source input to the build.
+            &quot;fileHash&quot;: [ # Collection of file hashes.
+              { # Container message for hash values.
+                &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+                &quot;value&quot;: &quot;A String&quot;, # The hash value.
+              },
+            ],
+          },
+        },
+        &quot;artifactStorageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
+            # location.
+            # Google Cloud Storage.
+          &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+              # Requirements]
+              # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+          &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+          &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+        },
+        &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
+            # these locations, in the case where the source repository had multiple
+            # remotes or submodules. This list will not include the context specified in
+            # the context field.
+          { # A SourceContext is a reference to a tree of files. A SourceContext together
+              # with a path point to a unique revision of a single file or directory.
+            &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.
+                # Source Repo.
+              &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+              &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+                &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+                &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.
+                    # winged-cargo-31) and a repo name within that project.
+                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                  &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+                },
+              },
+              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+              },
+            },
+            &quot;labels&quot;: { # Labels with user defined metadata.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &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).
+                # repository (e.g., GitHub).
+              &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+              &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+            },
+            &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+              &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+              &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+              &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                  # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                  # the hostURI/project.
+              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+              },
+            },
           },
         ],
+        &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.
+            # with a path point to a unique revision of a single file or directory.
+          &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.
+              # Source Repo.
+            &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+            &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+              &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+              &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.
+                  # winged-cargo-31) and a repo name within that project.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+              },
+            },
+            &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+              &quot;name&quot;: &quot;A String&quot;, # The alias name.
+              &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+            },
+          },
+          &quot;labels&quot;: { # Labels with user defined metadata.
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+          &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).
+              # repository (e.g., GitHub).
+            &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+            &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+          },
+          &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+            &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+            &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+            &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                # the hostURI/project.
+            &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+              &quot;name&quot;: &quot;A String&quot;, # The alias name.
+              &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+            },
+          },
+        },
       },
-      "done": True or False, # If the value is `false`, it means the operation is still in progress.
-          # If `true`, the operation is completed, and either `error` or `response` is
-          # available.
-      "response": { # The normal response of the operation in case of success.  If the original
-          # method returns no data on success, such as `Delete`, the response is
-          # `google.protobuf.Empty`.  If the original method is standard
-          # `Get`/`Create`/`Update`, the response should be the resource.  For other
-          # methods, the response should have the type `XxxResponse`, where `Xxx`
-          # is the original method name.  For example, if the original method name
-          # is `TakeSnapshot()`, the inferred response type is
-          # `TakeSnapshotResponse`.
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-      "name": "A String", # The server-assigned name, which is only unique within the same service that
-          # originally returns it. If you use the default HTTP mapping, the
-          # `name` should be a resource name ending with `operations/{unique_id}`.
-      "metadata": { # Service-specific metadata associated with the operation.  It typically
-          # contains progress information and common metadata such as create time.
-          # Some services might not provide such metadata.  Any method that returns a
-          # long-running operation should document the metadata type, if any.
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-    },
-    "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
-    "cpe": "A String", # The CPE of the resource being scanned.
-    "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
-        # details to show to the user. The LocalizedMessage output only and
-        # populated by the API.
-        # different programming environments, including REST APIs and RPC APIs. It is
-        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-        # three pieces of data: error code, error message, and error details.
-        #
-        # You can find out more about this error model and how to work with it in the
-        # [API Design Guide](https://cloud.google.com/apis/design/errors).
-      "message": "A String", # A developer-facing error message, which should be in English. Any
-          # user-facing error message should be localized and sent in the
-          # google.rpc.Status.details field, or localized by the client.
-      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-      "details": [ # A list of messages that carry the error details.  There is a common set of
-          # message types for APIs to use.
-        {
-          "a_key": "", # Properties of the object. Contains field @type with type URL.
+      &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
+      &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
+      &quot;finishTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
+      &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
+          # user&#x27;s e-mail address at the time the build was initiated; this address may
+          # not represent the same end-user for all time.
+      &quot;logsBucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket where logs were written.
+      &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
+      &quot;commands&quot;: [ # Commands requested by the build.
+        { # Command describes a step performed as part of the build pipeline.
+          &quot;name&quot;: &quot;A String&quot;, # Name of the command, as presented on the command line, or if the command is
+              # packaged as a Docker container, as presented to `docker pull`.
+          &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this Command, used in wait_for to reference
+              # this Command as a dependency.
+          &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running
+              # this Command.
+          &quot;waitFor&quot;: [ # The ID(s) of the Command(s) that this Command depends on.
+            &quot;A String&quot;,
+          ],
+          &quot;env&quot;: [ # Environment variables set before running this Command.
+            &quot;A String&quot;,
+          ],
+          &quot;args&quot;: [ # Command-line arguments used when executing this Command.
+            &quot;A String&quot;,
+          ],
         },
       ],
+      &quot;builtArtifacts&quot;: [ # Output of the build.
+        { # Artifact describes a build product.
+          &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
+              # like gcr.io/projectID/imagename@sha256:123456
+          &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
+              # the case of a container build, the name used to push the container image to
+              # Google Container Registry, as presented to `docker push`. Note that a
+              # single Artifact ID can have multiple names, for example if two tags are
+              # applied to one image.
+            &quot;A String&quot;,
+          ],
+          &quot;name&quot;: &quot;A String&quot;, # Name of the artifact. This may be the path to a binary or jar file, or in
+              # the case of a container build, the name used to push the container image to
+              # Google Container Registry, as presented to `docker push`.
+              #
+              # This field is deprecated in favor of the plural `names` field; it continues
+              # to exist here to allow existing BuildProvenance serialized to json in
+              # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
+              # deserialize back into proto.
+          &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
+              # container.
+        },
+      ],
+      &quot;id&quot;: &quot;A String&quot;, # Unique identifier of the build.
+      &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
+          # build providers can enter any desired additional details.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
     },
   },
-  "attestation": { # Occurrence that represents a single "attestation".  The authenticity of an # Describes an attestation of an artifact.
+  &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the `Occurrence` details are
+      # specified. This field can be used as a filter in list requests.
+  &quot;resource&quot;: { #  # 
+      # The resource for which the `Occurrence` applies.
+      # Resource is an entity that can have metadata. E.g., a Docker image.
+    &quot;name&quot;: &quot;A String&quot;, # The name of the resource. E.g., the name of a Docker image - &quot;Debian&quot;.
+    &quot;contentHash&quot;: { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
+      &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+      &quot;value&quot;: &quot;A String&quot;, # The hash value.
+    },
+    &quot;uri&quot;: &quot;A String&quot;, # The unique URI of the resource. E.g.,
+        # &quot;https://gcr.io/project/image@sha256:foo&quot; for a Docker image.
+  },
+  &quot;resourceUrl&quot;: &quot;A String&quot;, # The unique URL of the image or the container for which the `Occurrence`
+      # applies. For example, https://gcr.io/project/image@sha256:foo This field
+      # can be used as a filter in list requests.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the `Occurrence` in the form
+      # &quot;projects/{project_id}/occurrences/{OCCURRENCE_ID}&quot;
+  &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;.  The authenticity of an # Describes an attestation of an artifact.
       # Attestation can be verified using the attached signature. If the verifier
       # trusts the public key of the signer, then verifying the signature is
       # sufficient to establish trust.  In this circumstance, the
@@ -3087,14 +2960,23 @@
       # useful for look-up (how to find this Attestation if you already know the
       # Authority and artifact to be verified) and intent (which authority was this
       # attestation intended to sign for).
-    "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature.
+    &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature.
         # This message only supports `ATTACHED` signatures, where the payload that is
         # signed is included alongside the signature itself in the same file.
-      "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
+      &quot;signature&quot;: &quot;A String&quot;, # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
+          # equivalent.  Since this message only supports attached signatures, the
+          # payload that was signed must be attached. While the signature format
+          # supported is dependent on the verification implementation, currently only
+          # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
+          # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
+          # --output=signature.gpg payload.json` will create the signature content
+          # expected in this field in `signature.gpg` for the `payload.json`
+          # attestation payload.
+      &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
           # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
           # 160-bit fingerprint, expressed as a 40 character hexadecimal string. See
           # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
-          # Implementations may choose to acknowledge "LONG", "SHORT", or other
+          # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
           # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
           # In gpg, the full fingerprint can be retrieved from the `fpr` field
           # returned when calling --list-keys with --with-colons.  For example:
@@ -3106,70 +2988,207 @@
           # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
           # ```
           # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
-      "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
+      &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
           # The verifier must ensure that the provided type is one that the verifier
           # supports, and that the attestation payload is a valid instantiation of that
           # type (for example by validating a JSON schema).
-      "signature": "A String", # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
-          # equivalent.  Since this message only supports attached signatures, the
-          # payload that was signed must be attached. While the signature format
-          # supported is dependent on the verification implementation, currently only
-          # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
-          # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
-          # --output=signature.gpg payload.json` will create the signature content
-          # expected in this field in `signature.gpg` for the `payload.json`
-          # attestation payload.
     },
   },
-  "noteName": "A String", # An analysis note associated with this image, in the form
-      # "providers/{provider_id}/notes/{NOTE_ID}"
-      # This field can be used as a filter in list requests.
-  "deployment": { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
-    "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from the
-        # deployable field with the same name.
-      "A String",
-    ],
-    "userEmail": "A String", # Identity of the user that triggered this deployment.
-    "address": "A String", # Address of the runtime element hosting this deployment.
-    "platform": "A String", # Platform hosting this deployment.
-    "deployTime": "A String", # Beginning of the lifetime of this deployment.
-    "undeployTime": "A String", # End of the lifetime of this deployment.
-    "config": "A String", # Configuration used to create this deployment.
-  },
-  "remediation": "A String", # A description of actions that can be taken to remedy the `Note`
-  "resourceUrl": "A String", # The unique URL of the image or the container for which the `Occurrence`
-      # applies. For example, https://gcr.io/project/image@sha256:foo This field
-      # can be used as a filter in list requests.
-  "createTime": "A String", # Output only. The time this `Occurrence` was created.
-  "derivedImage": { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
-      # in the associated note.
-      # DockerImage relationship.  This image would be produced from a Dockerfile
-      # with FROM &lt;DockerImage.Basis in attached Note&gt;.
-    "distance": 42, # Output only. The number of layers by which this image differs from the
-        # associated image basis.
-    "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
-        # occurrence.
-    "layerInfo": [ # This contains layer-specific metadata, if populated it has length
-        # "distance" and is ordered with [distance] being the layer immediately
-        # following the base image and [1] being the final layer.
-      { # Layer holds metadata specific to a layer of a Docker image.
-        "arguments": "A String", # The recovered arguments to the Dockerfile directive.
-        "directive": "A String", # The recovered Dockerfile directive used to construct this layer.
+  &quot;installation&quot;: { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
+      # a system.
+    &quot;location&quot;: [ # All of the places within the filesystem versions of this package
+        # have been found.
+      { # An occurrence of a particular package installation found within a
+          # system&#x27;s filesystem.
+          # e.g. glibc was found in /var/lib/dpkg/status
+        &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
+            # denoting the package manager version distributing a package.
+        &quot;version&quot;: { # Version contains structured information about the version of the package. # The version installed at this location.
+            # For a discussion of this in Debian/Ubuntu:
+            # http://serverfault.com/questions/604541/debian-packages-version-convention
+            # For a discussion of this in Redhat/Fedora/Centos:
+            # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+          &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+          &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+              # If kind is not NORMAL, then the other fields are ignored.
+          &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+          &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+        },
+        &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
       },
     ],
-    "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
-      "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
-          # representation.
-          # This field can be used as a filter in list requests.
-      "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
-        "A String",
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
+  },
+  &quot;upgrade&quot;: { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
+      # specific upgrade. This presence is supplied via local sources (i.e. it is
+      # present in the mirror and the running system has noticed its availability).
+    &quot;distribution&quot;: { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
+        # for the resource_url. This allows efficient filtering, as well as
+        # making it easier to use the occurrence.
+        # operating system (CPE). Some distributions have additional metadata around
+        # updates, classifying them into various categories and severities.
+      &quot;cve&quot;: [ # The cve that would be resolved by this upgrade.
+        &quot;A String&quot;,
       ],
-      "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
-          #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
-          # Only the name of the final blob is kept.
-          # This field can be used as a filter in list requests.
+      &quot;classification&quot;: &quot;A String&quot;, # The operating system classification of this Upgrade, as specified by the
+          # upstream operating system upgrade feed.
+      &quot;severity&quot;: &quot;A String&quot;, # The severity as specified by the upstream operating system.
+      &quot;cpeUri&quot;: &quot;A String&quot;, # Required - The specific operating system this metadata applies to. See
+          # https://cpe.mitre.org/specification/.
+    },
+    &quot;package&quot;: &quot;A String&quot;, # Required - The package this Upgrade is for.
+    &quot;parsedVersion&quot;: { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
+        # For a discussion of this in Debian/Ubuntu:
+        # http://serverfault.com/questions/604541/debian-packages-version-convention
+        # For a discussion of this in Redhat/Fedora/Centos:
+        # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+      &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+      &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+          # If kind is not NORMAL, then the other fields are ignored.
+      &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+      &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
     },
   },
+  &quot;discovered&quot;: { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
+    &quot;operation&quot;: { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
+        # This field is deprecated, do not use.
+        # network API call.
+      &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
+          # originally returns it. If you use the default HTTP mapping, the
+          # `name` should be a resource name ending with `operations/{unique_id}`.
+      &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+          # different programming environments, including REST APIs and RPC APIs. It is
+          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+          # three pieces of data: error code, error message, and error details.
+          #
+          # You can find out more about this error model and how to work with it in the
+          # [API Design Guide](https://cloud.google.com/apis/design/errors).
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+            # user-facing error message should be localized and sent in the
+            # google.rpc.Status.details field, or localized by the client.
+        &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+            # message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+      },
+      &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
+          # contains progress information and common metadata such as create time.
+          # Some services might not provide such metadata.  Any method that returns a
+          # long-running operation should document the metadata type, if any.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+      &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
+          # If `true`, the operation is completed, and either `error` or `response` is
+          # available.
+      &quot;response&quot;: { # The normal response of the operation in case of success.  If the original
+          # method returns no data on success, such as `Delete`, the response is
+          # `google.protobuf.Empty`.  If the original method is standard
+          # `Get`/`Create`/`Update`, the response should be the resource.  For other
+          # methods, the response should have the type `XxxResponse`, where `Xxx`
+          # is the original method name.  For example, if the original method name
+          # is `TakeSnapshot()`, the inferred response type is
+          # `TakeSnapshotResponse`.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    },
+    &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
+    &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
+    &quot;cpe&quot;: &quot;A String&quot;, # The CPE of the resource being scanned.
+    &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
+        # details to show to the user. The LocalizedMessage output only and
+        # populated by the API.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+      &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+  },
+  &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
+    &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
+    &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from the
+        # deployable field with the same name.
+      &quot;A String&quot;,
+    ],
+    &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
+    &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
+    &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
+    &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
+    &quot;deployTime&quot;: &quot;A String&quot;, # Beginning of the lifetime of this deployment.
+  },
+  &quot;noteName&quot;: &quot;A String&quot;, # An analysis note associated with this image, in the form
+      # &quot;providers/{provider_id}/notes/{NOTE_ID}&quot;
+      # This field can be used as a filter in list requests.
+  &quot;vulnerabilityDetails&quot;: { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
+      # to fix it.
+    &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
+        # scale of 0-10 where 0 indicates low severity and 10 indicates high
+        # severity.
+    &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems,
+        # node.js packages etc)
+    &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when that is
+        # available and note provider assigned severity when distro has not yet
+        # assigned a severity for this vulnerability.
+    &quot;packageIssue&quot;: [ # The set of affected locations and their fixes (if available) within
+        # the associated resource.
+      { # This message wraps a location affected by a vulnerability and its
+          # associated fix (if one is available).
+        &quot;affectedLocation&quot;: { # The location of the vulnerability # The location of the vulnerability.
+          &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+              # format. Examples include distro or storage location for vulnerable jar.
+              # This field can be used as a filter in list requests.
+          &quot;package&quot;: &quot;A String&quot;, # The package being described.
+          &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+              # filter in list requests.
+              # For a discussion of this in Debian/Ubuntu:
+              # http://serverfault.com/questions/604541/debian-packages-version-convention
+              # For a discussion of this in Redhat/Fedora/Centos:
+              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+            &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+            &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                # If kind is not NORMAL, then the other fields are ignored.
+            &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+            &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+          },
+        },
+        &quot;fixedLocation&quot;: { # The location of the vulnerability # The location of the available fix for vulnerability.
+          &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+              # format. Examples include distro or storage location for vulnerable jar.
+              # This field can be used as a filter in list requests.
+          &quot;package&quot;: &quot;A String&quot;, # The package being described.
+          &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+              # filter in list requests.
+              # For a discussion of this in Debian/Ubuntu:
+              # http://serverfault.com/questions/604541/debian-packages-version-convention
+              # For a discussion of this in Redhat/Fedora/Centos:
+              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+            &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+            &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                # If kind is not NORMAL, then the other fields are ignored.
+            &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+            &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+          },
+        },
+        &quot;severityName&quot;: &quot;A String&quot;,
+      },
+    ],
+    &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was created.
 }
 
   updateMask: string, The fields to update.
@@ -3182,321 +3201,39 @@
   An object of the form:
 
     { # `Occurrence` includes information about analysis occurrences for an image.
-    "vulnerabilityDetails": { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
-        # to fix it.
-      "packageIssue": [ # The set of affected locations and their fixes (if available) within
-          # the associated resource.
-        { # This message wraps a location affected by a vulnerability and its
-            # associated fix (if one is available).
-          "severityName": "A String",
-          "affectedLocation": { # The location of the vulnerability # The location of the vulnerability.
-            "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-                # format. Examples include distro or storage location for vulnerable jar.
-                # This field can be used as a filter in list requests.
-            "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-                # filter in list requests.
-                # For a discussion of this in Debian/Ubuntu:
-                # http://serverfault.com/questions/604541/debian-packages-version-convention
-                # For a discussion of this in Redhat/Fedora/Centos:
-                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-              "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-              "name": "A String", # The main part of the version name.
-              "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                  # If kind is not NORMAL, then the other fields are ignored.
-              "revision": "A String", # The iteration of the package build from the above version.
-            },
-            "package": "A String", # The package being described.
-          },
-          "fixedLocation": { # The location of the vulnerability # The location of the available fix for vulnerability.
-            "cpeUri": "A String", # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
-                # format. Examples include distro or storage location for vulnerable jar.
-                # This field can be used as a filter in list requests.
-            "version": { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
-                # filter in list requests.
-                # For a discussion of this in Debian/Ubuntu:
-                # http://serverfault.com/questions/604541/debian-packages-version-convention
-                # For a discussion of this in Redhat/Fedora/Centos:
-                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-              "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-              "name": "A String", # The main part of the version name.
-              "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                  # If kind is not NORMAL, then the other fields are ignored.
-              "revision": "A String", # The iteration of the package build from the above version.
-            },
-            "package": "A String", # The package being described.
-          },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was last updated.
+    &quot;remediation&quot;: &quot;A String&quot;, # A description of actions that can be taken to remedy the `Note`
+    &quot;derivedImage&quot;: { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
+        # in the associated note.
+        # DockerImage relationship.  This image would be produced from a Dockerfile
+        # with FROM &lt;DockerImage.Basis in attached Note&gt;.
+      &quot;baseResourceUrl&quot;: &quot;A String&quot;, # Output only. This contains the base image URL for the derived image
+          # occurrence.
+      &quot;fingerprint&quot;: { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
+        &quot;v2Blob&quot;: [ # The ordered list of v2 blobs that represent a given image.
+          &quot;A String&quot;,
+        ],
+        &quot;v1Name&quot;: &quot;A String&quot;, # The layer-id of the final layer in the Docker image&#x27;s v1
+            # representation.
+            # This field can be used as a filter in list requests.
+        &quot;v2Name&quot;: &quot;A String&quot;, # Output only. The name of the image&#x27;s v2 blobs computed via:
+            #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + &quot; &quot; + v2_name[N+1])
+            # Only the name of the final blob is kept.
+            # This field can be used as a filter in list requests.
+      },
+      &quot;layerInfo&quot;: [ # This contains layer-specific metadata, if populated it has length
+          # &quot;distance&quot; and is ordered with [distance] being the layer immediately
+          # following the base image and [1] being the final layer.
+        { # Layer holds metadata specific to a layer of a Docker image.
+          &quot;directive&quot;: &quot;A String&quot;, # The recovered Dockerfile directive used to construct this layer.
+          &quot;arguments&quot;: &quot;A String&quot;, # The recovered arguments to the Dockerfile directive.
         },
       ],
-      "type": "A String", # The type of package; whether native or non native(ruby gems,
-          # node.js packages etc)
-      "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
-          # scale of 0-10 where 0 indicates low severity and 10 indicates high
-          # severity.
-      "severity": "A String", # Output only. The note provider assigned Severity of the vulnerability.
-      "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when that is
-          # available and note provider assigned severity when distro has not yet
-          # assigned a severity for this vulnerability.
+      &quot;distance&quot;: 42, # Output only. The number of layers by which this image differs from the
+          # associated image basis.
     },
-    "resource": { #  #
-        # The resource for which the `Occurrence` applies.
-        # Resource is an entity that can have metadata. E.g., a Docker image.
-      "contentHash": { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
-        "type": "A String", # The type of hash that was performed.
-        "value": "A String", # The hash value.
-      },
-      "name": "A String", # The name of the resource. E.g., the name of a Docker image - "Debian".
-      "uri": "A String", # The unique URI of the resource. E.g.,
-          # "https://gcr.io/project/image@sha256:foo" for a Docker image.
-    },
-    "updateTime": "A String", # Output only. The time this `Occurrence` was last updated.
-    "upgrade": { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
-        # specific upgrade. This presence is supplied via local sources (i.e. it is
-        # present in the mirror and the running system has noticed its availability).
-      "distribution": { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
-          # for the resource_url. This allows efficient filtering, as well as
-          # making it easier to use the occurrence.
-          # operating system (CPE). Some distributions have additional metadata around
-          # updates, classifying them into various categories and severities.
-        "cpeUri": "A String", # Required - The specific operating system this metadata applies to. See
-            # https://cpe.mitre.org/specification/.
-        "cve": [ # The cve that would be resolved by this upgrade.
-          "A String",
-        ],
-        "severity": "A String", # The severity as specified by the upstream operating system.
-        "classification": "A String", # The operating system classification of this Upgrade, as specified by the
-            # upstream operating system upgrade feed.
-      },
-      "parsedVersion": { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
-          # For a discussion of this in Debian/Ubuntu:
-          # http://serverfault.com/questions/604541/debian-packages-version-convention
-          # For a discussion of this in Redhat/Fedora/Centos:
-          # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-        "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-        "name": "A String", # The main part of the version name.
-        "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-            # If kind is not NORMAL, then the other fields are ignored.
-        "revision": "A String", # The iteration of the package build from the above version.
-      },
-      "package": "A String", # Required - The package this Upgrade is for.
-    },
-    "installation": { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
-        # a system.
-      "location": [ # All of the places within the filesystem versions of this package
-          # have been found.
-        { # An occurrence of a particular package installation found within a
-            # system's filesystem.
-            # e.g. glibc was found in /var/lib/dpkg/status
-          "path": "A String", # The path from which we gathered that this package/version is installed.
-          "cpeUri": "A String", # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
-              # denoting the package manager version distributing a package.
-          "version": { # Version contains structured information about the version of the package. # The version installed at this location.
-              # For a discussion of this in Debian/Ubuntu:
-              # http://serverfault.com/questions/604541/debian-packages-version-convention
-              # For a discussion of this in Redhat/Fedora/Centos:
-              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
-            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
-            "name": "A String", # The main part of the version name.
-            "kind": "A String", # Distinguish between sentinel MIN/MAX versions and normal versions.
-                # If kind is not NORMAL, then the other fields are ignored.
-            "revision": "A String", # The iteration of the package build from the above version.
-          },
-        },
-      ],
-      "name": "A String", # Output only. The name of the installed package.
-    },
-    "name": "A String", # Output only. The name of the `Occurrence` in the form
-        # "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
-    "kind": "A String", # Output only. This explicitly denotes which of the `Occurrence` details are
-        # specified. This field can be used as a filter in list requests.
-    "buildDetails": { # Message encapsulating build provenance details. # Build details for a verifiable build.
-      "provenance": { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
-          # details about the build from source to completion.
-        "finishTime": "A String", # Time at which execution of the build was finished.
-        "commands": [ # Commands requested by the build.
-          { # Command describes a step performed as part of the build pipeline.
-            "waitFor": [ # The ID(s) of the Command(s) that this Command depends on.
-              "A String",
-            ],
-            "name": "A String", # Name of the command, as presented on the command line, or if the command is
-                # packaged as a Docker container, as presented to `docker pull`.
-            "args": [ # Command-line arguments used when executing this Command.
-              "A String",
-            ],
-            "env": [ # Environment variables set before running this Command.
-              "A String",
-            ],
-            "id": "A String", # Optional unique identifier for this Command, used in wait_for to reference
-                # this Command as a dependency.
-            "dir": "A String", # Working directory (relative to project source root) used when running
-                # this Command.
-          },
-        ],
-        "sourceProvenance": { # Source describes the location of the source used for the build. # Details of the Source input to the build.
-          "artifactStorageSource": { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
-              # location.
-              # Google Cloud Storage.
-            "generation": "A String", # Google Cloud Storage generation for the object.
-            "object": "A String", # Google Cloud Storage object containing source.
-            "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-                # Requirements]
-                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-          },
-          "repoSource": { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
-              # Repository.
-            "projectId": "A String", # ID of the project that owns the repo.
-            "branchName": "A String", # Name of the branch to build.
-            "commitSha": "A String", # Explicit commit SHA to build.
-            "tagName": "A String", # Name of the tag to build.
-            "repoName": "A String", # Name of the repo.
-          },
-          "fileHashes": { # Hash(es) of the build source, which can be used to verify that the original
-              # source integrity was maintained in the build.
-              #
-              # The keys to this map are file paths used as build source and the values
-              # contain the hash values for those files.
-              #
-              # If the build source came in a single package such as a gzipped tarfile
-              # (.tar.gz), the FileHash will be for the single path to that file.
-            "a_key": { # Container message for hashes of byte content of files, used in Source
-                # messages to verify integrity of source input to the build.
-              "fileHash": [ # Collection of file hashes.
-                { # Container message for hash values.
-                  "type": "A String", # The type of hash that was performed.
-                  "value": "A String", # The hash value.
-                },
-              ],
-            },
-          },
-          "additionalContexts": [ # If provided, some of the source code used for the build may be found in
-              # these locations, in the case where the source repository had multiple
-              # remotes or submodules. This list will not include the context specified in
-              # the context field.
-            { # A SourceContext is a reference to a tree of files. A SourceContext together
-                # with a path point to a unique revision of a single file or directory.
-              "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-                  # repository (e.g., GitHub).
-                "url": "A String", # Git repository URL.
-                "revisionId": "A String", # Required. Git commit hash.
-              },
-              "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-                  # Source Repo.
-                "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                  "kind": "A String", # The alias kind.
-                  "name": "A String", # The alias name.
-                },
-                "revisionId": "A String", # A revision ID.
-                "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-                  "uid": "A String", # A server-assigned, globally unique identifier.
-                  "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                      # winged-cargo-31) and a repo name within that project.
-                    "projectId": "A String", # The ID of the project.
-                    "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-                  },
-                },
-              },
-              "labels": { # Labels with user defined metadata.
-                "a_key": "A String",
-              },
-              "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-                "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                  "kind": "A String", # The alias kind.
-                  "name": "A String", # The alias name.
-                },
-                "revisionId": "A String", # A revision (commit) ID.
-                "hostUri": "A String", # The URI of a running Gerrit instance.
-                "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                    # "project/subproject" is a valid project name. The "repo name" is
-                    # the hostURI/project.
-              },
-            },
-          ],
-          "context": { # A SourceContext is a reference to a tree of files. A SourceContext together # If provided, the source code used for the build came from this location.
-              # with a path point to a unique revision of a single file or directory.
-            "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g., GitHub).
-                # repository (e.g., GitHub).
-              "url": "A String", # Git repository URL.
-              "revisionId": "A String", # Required. Git commit hash.
-            },
-            "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a Google Cloud # A SourceContext referring to a revision in a Google Cloud Source Repo.
-                # Source Repo.
-              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                "kind": "A String", # The alias kind.
-                "name": "A String", # The alias name.
-              },
-              "revisionId": "A String", # A revision ID.
-              "repoId": { # A unique identifier for a Cloud Repo. # The ID of the repo.
-                "uid": "A String", # A server-assigned, globally unique identifier.
-                "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g., # A combination of a project ID and a repo name.
-                    # winged-cargo-31) and a repo name within that project.
-                  "projectId": "A String", # The ID of the project.
-                  "repoName": "A String", # The name of the repo. Leave empty for the default repo.
-                },
-              },
-            },
-            "labels": { # Labels with user defined metadata.
-              "a_key": "A String",
-            },
-            "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
-              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
-                "kind": "A String", # The alias kind.
-                "name": "A String", # The alias name.
-              },
-              "revisionId": "A String", # A revision (commit) ID.
-              "hostUri": "A String", # The URI of a running Gerrit instance.
-              "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
-                  # "project/subproject" is a valid project name. The "repo name" is
-                  # the hostURI/project.
-            },
-          },
-          "storageSource": { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
-              # Storage.
-              # Google Cloud Storage.
-            "generation": "A String", # Google Cloud Storage generation for the object.
-            "object": "A String", # Google Cloud Storage object containing source.
-            "bucket": "A String", # Google Cloud Storage bucket containing source (see [Bucket Name
-                # Requirements]
-                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-          },
-        },
-        "buildOptions": { # Special options applied to this build. This is a catch-all field where
-            # build providers can enter any desired additional details.
-          "a_key": "A String",
-        },
-        "creator": "A String", # E-mail address of the user who initiated this build. Note that this was the
-            # user's e-mail address at the time the build was initiated; this address may
-            # not represent the same end-user for all time.
-        "projectId": "A String", # ID of the project.
-        "builderVersion": "A String", # Version string of the builder at the time this build was executed.
-        "createTime": "A String", # Time at which the build was created.
-        "builtArtifacts": [ # Output of the build.
-          { # Artifact describes a build product.
-            "checksum": "A String", # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
-                # container.
-            "id": "A String", # Artifact ID, if any; for container images, this will be a URL by digest
-                # like gcr.io/projectID/imagename@sha256:123456
-            "name": "A String", # Name of the artifact. This may be the path to a binary or jar file, or in
-                # the case of a container build, the name used to push the container image to
-                # Google Container Registry, as presented to `docker push`.
-                #
-                # This field is deprecated in favor of the plural `names` field; it continues
-                # to exist here to allow existing BuildProvenance serialized to json in
-                # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
-                # deserialize back into proto.
-            "names": [ # Related artifact names. This may be the path to a binary or jar file, or in
-                # the case of a container build, the name used to push the container image to
-                # Google Container Registry, as presented to `docker push`. Note that a
-                # single Artifact ID can have multiple names, for example if two tags are
-                # applied to one image.
-              "A String",
-            ],
-          },
-        ],
-        "triggerId": "A String", # Trigger identifier if the build was triggered automatically; empty if not.
-        "startTime": "A String", # Time at which execution of the build was started.
-        "logsBucket": "A String", # Google Cloud Storage bucket where logs were written.
-        "id": "A String", # Unique identifier of the build.
-      },
-      "provenanceBytes": "A String", # Serialized JSON representation of the provenance, used in generating the
+    &quot;buildDetails&quot;: { # Message encapsulating build provenance details. # Build details for a verifiable build.
+      &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the
           # `BuildSignature` in the corresponding Result. After verifying the
           # signature, `provenance_bytes` can be unmarshalled and compared to the
           # provenance to confirm that it is unchanged. A base64-encoded string
@@ -3507,77 +3244,213 @@
           # The serialized form is captured both to avoid ambiguity in how the
           # provenance is marshalled to json as well to prevent incompatibilities with
           # future changes.
-    },
-    "discovered": { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
-      "analysisStatus": "A String", # The status of discovery for the resource.
-      "operation": { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
-          # This field is deprecated, do not use.
-          # network API call.
-        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
-            # different programming environments, including REST APIs and RPC APIs. It is
-            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-            # three pieces of data: error code, error message, and error details.
-            #
-            # You can find out more about this error model and how to work with it in the
-            # [API Design Guide](https://cloud.google.com/apis/design/errors).
-          "message": "A String", # A developer-facing error message, which should be in English. Any
-              # user-facing error message should be localized and sent in the
-              # google.rpc.Status.details field, or localized by the client.
-          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-          "details": [ # A list of messages that carry the error details.  There is a common set of
-              # message types for APIs to use.
-            {
-              "a_key": "", # Properties of the object. Contains field @type with type URL.
+      &quot;provenance&quot;: { # Provenance of a build. Contains all information needed to verify the full # The actual provenance
+          # details about the build from source to completion.
+        &quot;startTime&quot;: &quot;A String&quot;, # Time at which execution of the build was started.
+        &quot;triggerId&quot;: &quot;A String&quot;, # Trigger identifier if the build was triggered automatically; empty if not.
+        &quot;sourceProvenance&quot;: { # Source describes the location of the source used for the build. # Details of the Source input to the build.
+          &quot;repoSource&quot;: { # RepoSource describes the location of the source in a Google Cloud Source # If provided, get source from this location in a Cloud Repo.
+              # Repository.
+            &quot;projectId&quot;: &quot;A String&quot;, # ID of the project that owns the repo.
+            &quot;repoName&quot;: &quot;A String&quot;, # Name of the repo.
+            &quot;branchName&quot;: &quot;A String&quot;, # Name of the branch to build.
+            &quot;tagName&quot;: &quot;A String&quot;, # Name of the tag to build.
+            &quot;commitSha&quot;: &quot;A String&quot;, # Explicit commit SHA to build.
+          },
+          &quot;storageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
+              # Storage.
+              # Google Cloud Storage.
+            &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+                # Requirements]
+                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+            &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+            &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+          },
+          &quot;fileHashes&quot;: { # Hash(es) of the build source, which can be used to verify that the original
+              # source integrity was maintained in the build.
+              #
+              # The keys to this map are file paths used as build source and the values
+              # contain the hash values for those files.
+              #
+              # If the build source came in a single package such as a gzipped tarfile
+              # (.tar.gz), the FileHash will be for the single path to that file.
+            &quot;a_key&quot;: { # Container message for hashes of byte content of files, used in Source
+                # messages to verify integrity of source input to the build.
+              &quot;fileHash&quot;: [ # Collection of file hashes.
+                { # Container message for hash values.
+                  &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+                  &quot;value&quot;: &quot;A String&quot;, # The hash value.
+                },
+              ],
+            },
+          },
+          &quot;artifactStorageSource&quot;: { # StorageSource describes the location of the source in an archive file in # If provided, the input binary artifacts for the build came from this
+              # location.
+              # Google Cloud Storage.
+            &quot;bucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket containing source (see [Bucket Name
+                # Requirements]
+                # (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+            &quot;object&quot;: &quot;A String&quot;, # Google Cloud Storage object containing source.
+            &quot;generation&quot;: &quot;A String&quot;, # Google Cloud Storage generation for the object.
+          },
+          &quot;additionalContexts&quot;: [ # If provided, some of the source code used for the build may be found in
+              # these locations, in the case where the source repository had multiple
+              # remotes or submodules. This list will not include the context specified in
+              # the context field.
+            { # A SourceContext is a reference to a tree of files. A SourceContext together
+                # with a path point to a unique revision of a single file or directory.
+              &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.
+                  # Source Repo.
+                &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+                &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+                  &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+                  &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.
+                      # winged-cargo-31) and a repo name within that project.
+                    &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                    &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+                  },
+                },
+                &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                  &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                  &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+                },
+              },
+              &quot;labels&quot;: { # Labels with user defined metadata.
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+              &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).
+                  # repository (e.g., GitHub).
+                &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+                &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+              },
+              &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+                &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+                &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+                &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                    # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                    # the hostURI/project.
+                &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                  &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                  &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+                },
+              },
             },
           ],
+          &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.
+              # with a path point to a unique revision of a single file or directory.
+            &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.
+                # Source Repo.
+              &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
+              &quot;repoId&quot;: { # A unique identifier for a Cloud Repo. # The ID of the repo.
+                &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
+                &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.
+                    # winged-cargo-31) and a repo name within that project.
+                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
+                  &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
+                },
+              },
+              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+              },
+            },
+            &quot;labels&quot;: { # Labels with user defined metadata.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &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).
+                # repository (e.g., GitHub).
+              &quot;revisionId&quot;: &quot;A String&quot;, # Required. Git commit hash.
+              &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
+            },
+            &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
+              &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
+              &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
+              &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
+                  # &quot;project/subproject&quot; is a valid project name. The &quot;repo name&quot; is
+                  # the hostURI/project.
+              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
+                &quot;name&quot;: &quot;A String&quot;, # The alias name.
+                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
+              },
+            },
+          },
         },
-        "done": True or False, # If the value is `false`, it means the operation is still in progress.
-            # If `true`, the operation is completed, and either `error` or `response` is
-            # available.
-        "response": { # The normal response of the operation in case of success.  If the original
-            # method returns no data on success, such as `Delete`, the response is
-            # `google.protobuf.Empty`.  If the original method is standard
-            # `Get`/`Create`/`Update`, the response should be the resource.  For other
-            # methods, the response should have the type `XxxResponse`, where `Xxx`
-            # is the original method name.  For example, if the original method name
-            # is `TakeSnapshot()`, the inferred response type is
-            # `TakeSnapshotResponse`.
-          "a_key": "", # Properties of the object. Contains field @type with type URL.
-        },
-        "name": "A String", # The server-assigned name, which is only unique within the same service that
-            # originally returns it. If you use the default HTTP mapping, the
-            # `name` should be a resource name ending with `operations/{unique_id}`.
-        "metadata": { # Service-specific metadata associated with the operation.  It typically
-            # contains progress information and common metadata such as create time.
-            # Some services might not provide such metadata.  Any method that returns a
-            # long-running operation should document the metadata type, if any.
-          "a_key": "", # Properties of the object. Contains field @type with type URL.
-        },
-      },
-      "continuousAnalysis": "A String", # Whether the resource is continuously analyzed.
-      "cpe": "A String", # The CPE of the resource being scanned.
-      "analysisStatusError": { # The `Status` type defines a logical error model that is suitable for # When an error is encountered this will contain a LocalizedMessage under
-          # details to show to the user. The LocalizedMessage output only and
-          # populated by the API.
-          # different programming environments, including REST APIs and RPC APIs. It is
-          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-          # three pieces of data: error code, error message, and error details.
-          #
-          # You can find out more about this error model and how to work with it in the
-          # [API Design Guide](https://cloud.google.com/apis/design/errors).
-        "message": "A String", # A developer-facing error message, which should be in English. Any
-            # user-facing error message should be localized and sent in the
-            # google.rpc.Status.details field, or localized by the client.
-        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-        "details": [ # A list of messages that carry the error details.  There is a common set of
-            # message types for APIs to use.
-          {
-            "a_key": "", # Properties of the object. Contains field @type with type URL.
+        &quot;createTime&quot;: &quot;A String&quot;, # Time at which the build was created.
+        &quot;projectId&quot;: &quot;A String&quot;, # ID of the project.
+        &quot;finishTime&quot;: &quot;A String&quot;, # Time at which execution of the build was finished.
+        &quot;creator&quot;: &quot;A String&quot;, # E-mail address of the user who initiated this build. Note that this was the
+            # user&#x27;s e-mail address at the time the build was initiated; this address may
+            # not represent the same end-user for all time.
+        &quot;logsBucket&quot;: &quot;A String&quot;, # Google Cloud Storage bucket where logs were written.
+        &quot;builderVersion&quot;: &quot;A String&quot;, # Version string of the builder at the time this build was executed.
+        &quot;commands&quot;: [ # Commands requested by the build.
+          { # Command describes a step performed as part of the build pipeline.
+            &quot;name&quot;: &quot;A String&quot;, # Name of the command, as presented on the command line, or if the command is
+                # packaged as a Docker container, as presented to `docker pull`.
+            &quot;id&quot;: &quot;A String&quot;, # Optional unique identifier for this Command, used in wait_for to reference
+                # this Command as a dependency.
+            &quot;dir&quot;: &quot;A String&quot;, # Working directory (relative to project source root) used when running
+                # this Command.
+            &quot;waitFor&quot;: [ # The ID(s) of the Command(s) that this Command depends on.
+              &quot;A String&quot;,
+            ],
+            &quot;env&quot;: [ # Environment variables set before running this Command.
+              &quot;A String&quot;,
+            ],
+            &quot;args&quot;: [ # Command-line arguments used when executing this Command.
+              &quot;A String&quot;,
+            ],
           },
         ],
+        &quot;builtArtifacts&quot;: [ # Output of the build.
+          { # Artifact describes a build product.
+            &quot;id&quot;: &quot;A String&quot;, # Artifact ID, if any; for container images, this will be a URL by digest
+                # like gcr.io/projectID/imagename@sha256:123456
+            &quot;names&quot;: [ # Related artifact names. This may be the path to a binary or jar file, or in
+                # the case of a container build, the name used to push the container image to
+                # Google Container Registry, as presented to `docker push`. Note that a
+                # single Artifact ID can have multiple names, for example if two tags are
+                # applied to one image.
+              &quot;A String&quot;,
+            ],
+            &quot;name&quot;: &quot;A String&quot;, # Name of the artifact. This may be the path to a binary or jar file, or in
+                # the case of a container build, the name used to push the container image to
+                # Google Container Registry, as presented to `docker push`.
+                #
+                # This field is deprecated in favor of the plural `names` field; it continues
+                # to exist here to allow existing BuildProvenance serialized to json in
+                # google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
+                # deserialize back into proto.
+            &quot;checksum&quot;: &quot;A String&quot;, # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
+                # container.
+          },
+        ],
+        &quot;id&quot;: &quot;A String&quot;, # Unique identifier of the build.
+        &quot;buildOptions&quot;: { # Special options applied to this build. This is a catch-all field where
+            # build providers can enter any desired additional details.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
       },
     },
-    "attestation": { # Occurrence that represents a single "attestation".  The authenticity of an # Describes an attestation of an artifact.
+    &quot;kind&quot;: &quot;A String&quot;, # Output only. This explicitly denotes which of the `Occurrence` details are
+        # specified. This field can be used as a filter in list requests.
+    &quot;resource&quot;: { #  #
+        # The resource for which the `Occurrence` applies.
+        # Resource is an entity that can have metadata. E.g., a Docker image.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the resource. E.g., the name of a Docker image - &quot;Debian&quot;.
+      &quot;contentHash&quot;: { # Container message for hash values. # The hash of the resource content. E.g., the Docker digest.
+        &quot;type&quot;: &quot;A String&quot;, # The type of hash that was performed.
+        &quot;value&quot;: &quot;A String&quot;, # The hash value.
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # The unique URI of the resource. E.g.,
+          # &quot;https://gcr.io/project/image@sha256:foo&quot; for a Docker image.
+    },
+    &quot;resourceUrl&quot;: &quot;A String&quot;, # The unique URL of the image or the container for which the `Occurrence`
+        # applies. For example, https://gcr.io/project/image@sha256:foo This field
+        # can be used as a filter in list requests.
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the `Occurrence` in the form
+        # &quot;projects/{project_id}/occurrences/{OCCURRENCE_ID}&quot;
+    &quot;attestation&quot;: { # Occurrence that represents a single &quot;attestation&quot;.  The authenticity of an # Describes an attestation of an artifact.
         # Attestation can be verified using the attached signature. If the verifier
         # trusts the public key of the signer, then verifying the signature is
         # sufficient to establish trust.  In this circumstance, the
@@ -3585,14 +3458,23 @@
         # useful for look-up (how to find this Attestation if you already know the
         # Authority and artifact to be verified) and intent (which authority was this
         # attestation intended to sign for).
-      "pgpSignedAttestation": { # An attestation wrapper with a PGP-compatible signature.
+      &quot;pgpSignedAttestation&quot;: { # An attestation wrapper with a PGP-compatible signature.
           # This message only supports `ATTACHED` signatures, where the payload that is
           # signed is included alongside the signature itself in the same file.
-        "pgpKeyId": "A String", # The cryptographic fingerprint of the key used to generate the signature,
+        &quot;signature&quot;: &quot;A String&quot;, # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
+            # equivalent.  Since this message only supports attached signatures, the
+            # payload that was signed must be attached. While the signature format
+            # supported is dependent on the verification implementation, currently only
+            # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
+            # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
+            # --output=signature.gpg payload.json` will create the signature content
+            # expected in this field in `signature.gpg` for the `payload.json`
+            # attestation payload.
+        &quot;pgpKeyId&quot;: &quot;A String&quot;, # The cryptographic fingerprint of the key used to generate the signature,
             # as output by, e.g. `gpg --list-keys`. This should be the version 4, full
             # 160-bit fingerprint, expressed as a 40 character hexadecimal string. See
             # https://tools.ietf.org/html/rfc4880#section-12.2 for details.
-            # Implementations may choose to acknowledge "LONG", "SHORT", or other
+            # Implementations may choose to acknowledge &quot;LONG&quot;, &quot;SHORT&quot;, or other
             # abbreviated key IDs, but only the full fingerprint is guaranteed to work.
             # In gpg, the full fingerprint can be retrieved from the `fpr` field
             # returned when calling --list-keys with --with-colons.  For example:
@@ -3604,70 +3486,207 @@
             # fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB:
             # ```
             # Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
-        "contentType": "A String", # Type (for example schema) of the attestation payload that was signed.
+        &quot;contentType&quot;: &quot;A String&quot;, # Type (for example schema) of the attestation payload that was signed.
             # The verifier must ensure that the provided type is one that the verifier
             # supports, and that the attestation payload is a valid instantiation of that
             # type (for example by validating a JSON schema).
-        "signature": "A String", # The raw content of the signature, as output by GNU Privacy Guard (GPG) or
-            # equivalent.  Since this message only supports attached signatures, the
-            # payload that was signed must be attached. While the signature format
-            # supported is dependent on the verification implementation, currently only
-            # ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
-            # `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
-            # --output=signature.gpg payload.json` will create the signature content
-            # expected in this field in `signature.gpg` for the `payload.json`
-            # attestation payload.
       },
     },
-    "noteName": "A String", # An analysis note associated with this image, in the form
-        # "providers/{provider_id}/notes/{NOTE_ID}"
-        # This field can be used as a filter in list requests.
-    "deployment": { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
-      "resourceUri": [ # Output only. Resource URI for the artifact being deployed taken from the
-          # deployable field with the same name.
-        "A String",
-      ],
-      "userEmail": "A String", # Identity of the user that triggered this deployment.
-      "address": "A String", # Address of the runtime element hosting this deployment.
-      "platform": "A String", # Platform hosting this deployment.
-      "deployTime": "A String", # Beginning of the lifetime of this deployment.
-      "undeployTime": "A String", # End of the lifetime of this deployment.
-      "config": "A String", # Configuration used to create this deployment.
-    },
-    "remediation": "A String", # A description of actions that can be taken to remedy the `Note`
-    "resourceUrl": "A String", # The unique URL of the image or the container for which the `Occurrence`
-        # applies. For example, https://gcr.io/project/image@sha256:foo This field
-        # can be used as a filter in list requests.
-    "createTime": "A String", # Output only. The time this `Occurrence` was created.
-    "derivedImage": { # Derived describes the derived image portion (Occurrence) of the # Describes how this resource derives from the basis
-        # in the associated note.
-        # DockerImage relationship.  This image would be produced from a Dockerfile
-        # with FROM &lt;DockerImage.Basis in attached Note&gt;.
-      "distance": 42, # Output only. The number of layers by which this image differs from the
-          # associated image basis.
-      "baseResourceUrl": "A String", # Output only. This contains the base image URL for the derived image
-          # occurrence.
-      "layerInfo": [ # This contains layer-specific metadata, if populated it has length
-          # "distance" and is ordered with [distance] being the layer immediately
-          # following the base image and [1] being the final layer.
-        { # Layer holds metadata specific to a layer of a Docker image.
-          "arguments": "A String", # The recovered arguments to the Dockerfile directive.
-          "directive": "A String", # The recovered Dockerfile directive used to construct this layer.
+    &quot;installation&quot;: { # This represents how a particular software package may be installed on # Describes the installation of a package on the linked resource.
+        # a system.
+      &quot;location&quot;: [ # All of the places within the filesystem versions of this package
+          # have been found.
+        { # An occurrence of a particular package installation found within a
+            # system&#x27;s filesystem.
+            # e.g. glibc was found in /var/lib/dpkg/status
+          &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
+              # denoting the package manager version distributing a package.
+          &quot;version&quot;: { # Version contains structured information about the version of the package. # The version installed at this location.
+              # For a discussion of this in Debian/Ubuntu:
+              # http://serverfault.com/questions/604541/debian-packages-version-convention
+              # For a discussion of this in Redhat/Fedora/Centos:
+              # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+            &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+            &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                # If kind is not NORMAL, then the other fields are ignored.
+            &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+            &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+          },
+          &quot;path&quot;: &quot;A String&quot;, # The path from which we gathered that this package/version is installed.
         },
       ],
-      "fingerprint": { # A set of properties that uniquely identify a given Docker image. # The fingerprint of the derived image.
-        "v1Name": "A String", # The layer-id of the final layer in the Docker image's v1
-            # representation.
-            # This field can be used as a filter in list requests.
-        "v2Blob": [ # The ordered list of v2 blobs that represent a given image.
-          "A String",
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The name of the installed package.
+    },
+    &quot;upgrade&quot;: { # An Upgrade Occurrence represents that a specific resource_url could install a # Describes an upgrade.
+        # specific upgrade. This presence is supplied via local sources (i.e. it is
+        # present in the mirror and the running system has noticed its availability).
+      &quot;distribution&quot;: { # The Upgrade Distribution represents metadata about the Upgrade for each # Metadata about the upgrade for available for the specific operating system
+          # for the resource_url. This allows efficient filtering, as well as
+          # making it easier to use the occurrence.
+          # operating system (CPE). Some distributions have additional metadata around
+          # updates, classifying them into various categories and severities.
+        &quot;cve&quot;: [ # The cve that would be resolved by this upgrade.
+          &quot;A String&quot;,
         ],
-        "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via:
-            #   [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1])
-            # Only the name of the final blob is kept.
-            # This field can be used as a filter in list requests.
+        &quot;classification&quot;: &quot;A String&quot;, # The operating system classification of this Upgrade, as specified by the
+            # upstream operating system upgrade feed.
+        &quot;severity&quot;: &quot;A String&quot;, # The severity as specified by the upstream operating system.
+        &quot;cpeUri&quot;: &quot;A String&quot;, # Required - The specific operating system this metadata applies to. See
+            # https://cpe.mitre.org/specification/.
+      },
+      &quot;package&quot;: &quot;A String&quot;, # Required - The package this Upgrade is for.
+      &quot;parsedVersion&quot;: { # Version contains structured information about the version of the package. # Required - The version of the package in a machine + human readable form.
+          # For a discussion of this in Debian/Ubuntu:
+          # http://serverfault.com/questions/604541/debian-packages-version-convention
+          # For a discussion of this in Redhat/Fedora/Centos:
+          # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+        &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+        &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+            # If kind is not NORMAL, then the other fields are ignored.
+        &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+        &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
       },
     },
+    &quot;discovered&quot;: { # Provides information about the scan status of a discovered resource. # Describes the initial scan status for this resource.
+      &quot;operation&quot;: { # This resource represents a long-running operation that is the result of a # Output only. An operation that indicates the status of the current scan.
+          # This field is deprecated, do not use.
+          # network API call.
+        &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
+            # originally returns it. If you use the default HTTP mapping, the
+            # `name` should be a resource name ending with `operations/{unique_id}`.
+        &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+            # different programming environments, including REST APIs and RPC APIs. It is
+            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+            # three pieces of data: error code, error message, and error details.
+            #
+            # You can find out more about this error model and how to work with it in the
+            # [API Design Guide](https://cloud.google.com/apis/design/errors).
+          &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+          &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+              # user-facing error message should be localized and sent in the
+              # google.rpc.Status.details field, or localized by the client.
+          &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+              # message types for APIs to use.
+            {
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+        },
+        &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
+            # contains progress information and common metadata such as create time.
+            # Some services might not provide such metadata.  Any method that returns a
+            # long-running operation should document the metadata type, if any.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+        &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
+            # If `true`, the operation is completed, and either `error` or `response` is
+            # available.
+        &quot;response&quot;: { # The normal response of the operation in case of success.  If the original
+            # method returns no data on success, such as `Delete`, the response is
+            # `google.protobuf.Empty`.  If the original method is standard
+            # `Get`/`Create`/`Update`, the response should be the resource.  For other
+            # methods, the response should have the type `XxxResponse`, where `Xxx`
+            # is the original method name.  For example, if the original method name
+            # is `TakeSnapshot()`, the inferred response type is
+            # `TakeSnapshotResponse`.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+      },
+      &quot;analysisStatus&quot;: &quot;A String&quot;, # The status of discovery for the resource.
+      &quot;continuousAnalysis&quot;: &quot;A String&quot;, # Whether the resource is continuously analyzed.
+      &quot;cpe&quot;: &quot;A String&quot;, # The CPE of the resource being scanned.
+      &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
+          # details to show to the user. The LocalizedMessage output only and
+          # populated by the API.
+          # different programming environments, including REST APIs and RPC APIs. It is
+          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+          # three pieces of data: error code, error message, and error details.
+          #
+          # You can find out more about this error model and how to work with it in the
+          # [API Design Guide](https://cloud.google.com/apis/design/errors).
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+            # user-facing error message should be localized and sent in the
+            # google.rpc.Status.details field, or localized by the client.
+        &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+            # message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+      },
+    },
+    &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
+      &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
+      &quot;resourceUri&quot;: [ # Output only. Resource URI for the artifact being deployed taken from the
+          # deployable field with the same name.
+        &quot;A String&quot;,
+      ],
+      &quot;userEmail&quot;: &quot;A String&quot;, # Identity of the user that triggered this deployment.
+      &quot;config&quot;: &quot;A String&quot;, # Configuration used to create this deployment.
+      &quot;undeployTime&quot;: &quot;A String&quot;, # End of the lifetime of this deployment.
+      &quot;platform&quot;: &quot;A String&quot;, # Platform hosting this deployment.
+      &quot;deployTime&quot;: &quot;A String&quot;, # Beginning of the lifetime of this deployment.
+    },
+    &quot;noteName&quot;: &quot;A String&quot;, # An analysis note associated with this image, in the form
+        # &quot;providers/{provider_id}/notes/{NOTE_ID}&quot;
+        # This field can be used as a filter in list requests.
+    &quot;vulnerabilityDetails&quot;: { # Used by Occurrence to point to where the vulnerability exists and how # Details of a security vulnerability note.
+        # to fix it.
+      &quot;cvssScore&quot;: 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a
+          # scale of 0-10 where 0 indicates low severity and 10 indicates high
+          # severity.
+      &quot;type&quot;: &quot;A String&quot;, # The type of package; whether native or non native(ruby gems,
+          # node.js packages etc)
+      &quot;effectiveSeverity&quot;: &quot;A String&quot;, # The distro assigned severity for this vulnerability when that is
+          # available and note provider assigned severity when distro has not yet
+          # assigned a severity for this vulnerability.
+      &quot;packageIssue&quot;: [ # The set of affected locations and their fixes (if available) within
+          # the associated resource.
+        { # This message wraps a location affected by a vulnerability and its
+            # associated fix (if one is available).
+          &quot;affectedLocation&quot;: { # The location of the vulnerability # The location of the vulnerability.
+            &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+                # format. Examples include distro or storage location for vulnerable jar.
+                # This field can be used as a filter in list requests.
+            &quot;package&quot;: &quot;A String&quot;, # The package being described.
+            &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+                # filter in list requests.
+                # For a discussion of this in Debian/Ubuntu:
+                # http://serverfault.com/questions/604541/debian-packages-version-convention
+                # For a discussion of this in Redhat/Fedora/Centos:
+                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+              &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+              &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                  # If kind is not NORMAL, then the other fields are ignored.
+              &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+              &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+            },
+          },
+          &quot;fixedLocation&quot;: { # The location of the vulnerability # The location of the available fix for vulnerability.
+            &quot;cpeUri&quot;: &quot;A String&quot;, # The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/)
+                # format. Examples include distro or storage location for vulnerable jar.
+                # This field can be used as a filter in list requests.
+            &quot;package&quot;: &quot;A String&quot;, # The package being described.
+            &quot;version&quot;: { # Version contains structured information about the version of the package. # The version of the package being described. This field can be used as a
+                # filter in list requests.
+                # For a discussion of this in Debian/Ubuntu:
+                # http://serverfault.com/questions/604541/debian-packages-version-convention
+                # For a discussion of this in Redhat/Fedora/Centos:
+                # http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/
+              &quot;name&quot;: &quot;A String&quot;, # The main part of the version name.
+              &quot;kind&quot;: &quot;A String&quot;, # Distinguish between sentinel MIN/MAX versions and normal versions.
+                  # If kind is not NORMAL, then the other fields are ignored.
+              &quot;epoch&quot;: 42, # Used to correct mistakes in the version numbering scheme.
+              &quot;revision&quot;: &quot;A String&quot;, # The iteration of the package build from the above version.
+            },
+          },
+          &quot;severityName&quot;: &quot;A String&quot;,
+        },
+      ],
+      &quot;severity&quot;: &quot;A String&quot;, # Output only. The note provider assigned Severity of the vulnerability.
+    },
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this `Occurrence` was created.
   }</pre>
 </div>
 
@@ -3693,7 +3712,7 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-    "policy": { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
+    &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
         # the policy is limited to a few 10s of KB. An empty policy is a
         # valid policy but certain Cloud Platform services (such as Projects)
         # might reject them.
@@ -3706,36 +3725,40 @@
         # permissions; each `role` can be an IAM predefined role or a user-created
         # custom role.
         #
-        # Optionally, a `binding` can specify a `condition`, which is a logical
-        # expression that allows access to a resource only if the expression evaluates
-        # to `true`. A condition can add constraints based on attributes of the
-        # request, the resource, or both.
+        # For some types of Google Cloud resources, a `binding` can also specify a
+        # `condition`, which is a logical expression that allows access to a resource
+        # only if the expression evaluates to `true`. A condition can add constraints
+        # based on attributes of the request, the resource, or both. To learn which
+        # resources support conditions in their IAM policies, see the
+        # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
         #
         # **JSON example:**
         #
         #     {
-        #       "bindings": [
+        #       &quot;bindings&quot;: [
         #         {
-        #           "role": "roles/resourcemanager.organizationAdmin",
-        #           "members": [
-        #             "user:mike@example.com",
-        #             "group:admins@example.com",
-        #             "domain:google.com",
-        #             "serviceAccount:my-project-id@appspot.gserviceaccount.com"
+        #           &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
+        #           &quot;members&quot;: [
+        #             &quot;user:mike@example.com&quot;,
+        #             &quot;group:admins@example.com&quot;,
+        #             &quot;domain:google.com&quot;,
+        #             &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
         #           ]
         #         },
         #         {
-        #           "role": "roles/resourcemanager.organizationViewer",
-        #           "members": ["user:eve@example.com"],
-        #           "condition": {
-        #             "title": "expirable access",
-        #             "description": "Does not grant access after Sep 2020",
-        #             "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
+        #           &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
+        #           &quot;members&quot;: [
+        #             &quot;user:eve@example.com&quot;
+        #           ],
+        #           &quot;condition&quot;: {
+        #             &quot;title&quot;: &quot;expirable access&quot;,
+        #             &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
+        #             &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
         #           }
         #         }
         #       ],
-        #       "etag": "BwWWja0YfJA=",
-        #       "version": 3
+        #       &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
+        #       &quot;version&quot;: 3
         #     }
         #
         # **YAML example:**
@@ -3753,19 +3776,105 @@
         #       condition:
         #         title: expirable access
         #         description: Does not grant access after Sep 2020
-        #         expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
+        #         expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
         #     - etag: BwWWja0YfJA=
         #     - version: 3
         #
         # For a description of IAM and its features, see the
         # [IAM documentation](https://cloud.google.com/iam/docs/).
-      "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
+      &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+          # prevent simultaneous updates of a policy from overwriting each other.
+          # It is strongly suggested that systems make use of the `etag` in the
+          # read-modify-write cycle to perform policy updates in order to avoid race
+          # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+          # systems are expected to put that etag in the request to `setIamPolicy` to
+          # ensure that their change will be applied to the same version of the policy.
+          #
+          # **Important:** If you use IAM Conditions, you must include the `etag` field
+          # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+          # you to overwrite a version `3` policy with a version `1` policy, and all of
+          # the conditions in the version `3` policy are lost.
+      &quot;version&quot;: 42, # Specifies the format of the policy.
+          #
+          # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
+          # are rejected.
+          #
+          # Any operation that affects conditional role bindings must specify version
+          # `3`. This requirement applies to the following operations:
+          #
+          # * Getting a policy that includes a conditional role binding
+          # * Adding a conditional role binding to a policy
+          # * Changing a conditional role binding in a policy
+          # * Removing any role binding, with or without a condition, from a policy
+          #   that includes conditions
+          #
+          # **Important:** If you use IAM Conditions, you must include the `etag` field
+          # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+          # you to overwrite a version `3` policy with a version `1` policy, and all of
+          # the conditions in the version `3` policy are lost.
+          #
+          # If a policy does not include any conditions, operations on that policy may
+          # specify any valid version or leave the field unset.
+          #
+          # To learn which resources support conditions in their IAM policies, see the
+          # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+      &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
           # `condition` that determines how and when the `bindings` are applied. Each
           # of the `bindings` must contain at least one member.
         { # Associates `members` with a `role`.
-          "role": "A String", # Role that is assigned to `members`.
-              # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
-          "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+          &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
+              #
+              # If the condition evaluates to `true`, then this binding applies to the
+              # current request.
+              #
+              # If the condition evaluates to `false`, then this binding does not apply to
+              # the current request. However, a different role binding might grant the same
+              # role to one or more of the members in this binding.
+              #
+              # To learn which resources support conditions in their IAM policies, see the
+              # [IAM
+              # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+              # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
+              # are documented at https://github.com/google/cel-spec.
+              #
+              # Example (Comparison):
+              #
+              #     title: &quot;Summary size limit&quot;
+              #     description: &quot;Determines if a summary is less than 100 chars&quot;
+              #     expression: &quot;document.summary.size() &lt; 100&quot;
+              #
+              # Example (Equality):
+              #
+              #     title: &quot;Requestor is owner&quot;
+              #     description: &quot;Determines if requestor is the document owner&quot;
+              #     expression: &quot;document.owner == request.auth.claims.email&quot;
+              #
+              # Example (Logic):
+              #
+              #     title: &quot;Public documents&quot;
+              #     description: &quot;Determine whether the document should be publicly visible&quot;
+              #     expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
+              #
+              # Example (Data Manipulation):
+              #
+              #     title: &quot;Notification string&quot;
+              #     description: &quot;Create a notification string with a timestamp.&quot;
+              #     expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
+              #
+              # The exact variables and functions that may be referenced within an expression
+              # are determined by the service that evaluates it. See the service
+              # documentation for additional information.
+            &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
+                # syntax.
+            &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
+                # its purpose. This can be used e.g. in UIs which allow to enter the
+                # expression.
+            &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
+                # reporting, e.g. a file name and a position in the file.
+            &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+                # describes the expression, e.g. when hovered over it in a UI.
+          },
+          &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
               # `members` can have the following values:
               #
               # * `allUsers`: A special identifier that represents anyone who is
@@ -3808,87 +3917,12 @@
               # * `domain:{domain}`: The G Suite domain (primary) that represents all the
               #    users of that domain. For example, `google.com` or `example.com`.
               #
-            "A String",
+            &quot;A String&quot;,
           ],
-          "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
-              # NOTE: An unsatisfied condition will not allow user access via current
-              # binding. Different bindings, including their conditions, are examined
-              # independently.
-              # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
-              # are documented at https://github.com/google/cel-spec.
-              #
-              # Example (Comparison):
-              #
-              #     title: "Summary size limit"
-              #     description: "Determines if a summary is less than 100 chars"
-              #     expression: "document.summary.size() &lt; 100"
-              #
-              # Example (Equality):
-              #
-              #     title: "Requestor is owner"
-              #     description: "Determines if requestor is the document owner"
-              #     expression: "document.owner == request.auth.claims.email"
-              #
-              # Example (Logic):
-              #
-              #     title: "Public documents"
-              #     description: "Determine whether the document should be publicly visible"
-              #     expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
-              #
-              # Example (Data Manipulation):
-              #
-              #     title: "Notification string"
-              #     description: "Create a notification string with a timestamp."
-              #     expression: "'New message received at ' + string(document.create_time)"
-              #
-              # The exact variables and functions that may be referenced within an expression
-              # are determined by the service that evaluates it. See the service
-              # documentation for additional information.
-            "description": "A String", # Optional. Description of the expression. This is a longer text which
-                # describes the expression, e.g. when hovered over it in a UI.
-            "expression": "A String", # Textual representation of an expression in Common Expression Language
-                # syntax.
-            "location": "A String", # Optional. String indicating the location of the expression for error
-                # reporting, e.g. a file name and a position in the file.
-            "title": "A String", # Optional. Title for the expression, i.e. a short string describing
-                # its purpose. This can be used e.g. in UIs which allow to enter the
-                # expression.
-          },
+          &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
+              # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
         },
       ],
-      "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
-          # prevent simultaneous updates of a policy from overwriting each other.
-          # It is strongly suggested that systems make use of the `etag` in the
-          # read-modify-write cycle to perform policy updates in order to avoid race
-          # conditions: An `etag` is returned in the response to `getIamPolicy`, and
-          # systems are expected to put that etag in the request to `setIamPolicy` to
-          # ensure that their change will be applied to the same version of the policy.
-          #
-          # **Important:** If you use IAM Conditions, you must include the `etag` field
-          # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-          # you to overwrite a version `3` policy with a version `1` policy, and all of
-          # the conditions in the version `3` policy are lost.
-      "version": 42, # Specifies the format of the policy.
-          #
-          # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
-          # are rejected.
-          #
-          # Any operation that affects conditional role bindings must specify version
-          # `3`. This requirement applies to the following operations:
-          #
-          # * Getting a policy that includes a conditional role binding
-          # * Adding a conditional role binding to a policy
-          # * Changing a conditional role binding in a policy
-          # * Removing any role binding, with or without a condition, from a policy
-          #   that includes conditions
-          #
-          # **Important:** If you use IAM Conditions, you must include the `etag` field
-          # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-          # you to overwrite a version `3` policy with a version `1` policy, and all of
-          # the conditions in the version `3` policy are lost.
-          #
-          # If a policy does not include any conditions, operations on that policy may
-          # specify any valid version or leave the field unset.
     },
   }
 
@@ -3910,36 +3944,40 @@
       # permissions; each `role` can be an IAM predefined role or a user-created
       # custom role.
       #
-      # Optionally, a `binding` can specify a `condition`, which is a logical
-      # expression that allows access to a resource only if the expression evaluates
-      # to `true`. A condition can add constraints based on attributes of the
-      # request, the resource, or both.
+      # For some types of Google Cloud resources, a `binding` can also specify a
+      # `condition`, which is a logical expression that allows access to a resource
+      # only if the expression evaluates to `true`. A condition can add constraints
+      # based on attributes of the request, the resource, or both. To learn which
+      # resources support conditions in their IAM policies, see the
+      # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       #
       # **JSON example:**
       #
       #     {
-      #       "bindings": [
+      #       &quot;bindings&quot;: [
       #         {
-      #           "role": "roles/resourcemanager.organizationAdmin",
-      #           "members": [
-      #             "user:mike@example.com",
-      #             "group:admins@example.com",
-      #             "domain:google.com",
-      #             "serviceAccount:my-project-id@appspot.gserviceaccount.com"
+      #           &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
+      #           &quot;members&quot;: [
+      #             &quot;user:mike@example.com&quot;,
+      #             &quot;group:admins@example.com&quot;,
+      #             &quot;domain:google.com&quot;,
+      #             &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
       #           ]
       #         },
       #         {
-      #           "role": "roles/resourcemanager.organizationViewer",
-      #           "members": ["user:eve@example.com"],
-      #           "condition": {
-      #             "title": "expirable access",
-      #             "description": "Does not grant access after Sep 2020",
-      #             "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
+      #           &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
+      #           &quot;members&quot;: [
+      #             &quot;user:eve@example.com&quot;
+      #           ],
+      #           &quot;condition&quot;: {
+      #             &quot;title&quot;: &quot;expirable access&quot;,
+      #             &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
+      #             &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
       #           }
       #         }
       #       ],
-      #       "etag": "BwWWja0YfJA=",
-      #       "version": 3
+      #       &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
+      #       &quot;version&quot;: 3
       #     }
       #
       # **YAML example:**
@@ -3957,19 +3995,105 @@
       #       condition:
       #         title: expirable access
       #         description: Does not grant access after Sep 2020
-      #         expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
+      #         expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
       #     - etag: BwWWja0YfJA=
       #     - version: 3
       #
       # For a description of IAM and its features, see the
       # [IAM documentation](https://cloud.google.com/iam/docs/).
-    "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
+    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+        # prevent simultaneous updates of a policy from overwriting each other.
+        # It is strongly suggested that systems make use of the `etag` in the
+        # read-modify-write cycle to perform policy updates in order to avoid race
+        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+        # systems are expected to put that etag in the request to `setIamPolicy` to
+        # ensure that their change will be applied to the same version of the policy.
+        #
+        # **Important:** If you use IAM Conditions, you must include the `etag` field
+        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+        # you to overwrite a version `3` policy with a version `1` policy, and all of
+        # the conditions in the version `3` policy are lost.
+    &quot;version&quot;: 42, # Specifies the format of the policy.
+        #
+        # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
+        # are rejected.
+        #
+        # Any operation that affects conditional role bindings must specify version
+        # `3`. This requirement applies to the following operations:
+        #
+        # * Getting a policy that includes a conditional role binding
+        # * Adding a conditional role binding to a policy
+        # * Changing a conditional role binding in a policy
+        # * Removing any role binding, with or without a condition, from a policy
+        #   that includes conditions
+        #
+        # **Important:** If you use IAM Conditions, you must include the `etag` field
+        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+        # you to overwrite a version `3` policy with a version `1` policy, and all of
+        # the conditions in the version `3` policy are lost.
+        #
+        # If a policy does not include any conditions, operations on that policy may
+        # specify any valid version or leave the field unset.
+        #
+        # To learn which resources support conditions in their IAM policies, see the
+        # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+    &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
         # `condition` that determines how and when the `bindings` are applied. Each
         # of the `bindings` must contain at least one member.
       { # Associates `members` with a `role`.
-        "role": "A String", # Role that is assigned to `members`.
-            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
-        "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+        &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
+            #
+            # If the condition evaluates to `true`, then this binding applies to the
+            # current request.
+            #
+            # If the condition evaluates to `false`, then this binding does not apply to
+            # the current request. However, a different role binding might grant the same
+            # role to one or more of the members in this binding.
+            #
+            # To learn which resources support conditions in their IAM policies, see the
+            # [IAM
+            # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+            # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
+            # are documented at https://github.com/google/cel-spec.
+            #
+            # Example (Comparison):
+            #
+            #     title: &quot;Summary size limit&quot;
+            #     description: &quot;Determines if a summary is less than 100 chars&quot;
+            #     expression: &quot;document.summary.size() &lt; 100&quot;
+            #
+            # Example (Equality):
+            #
+            #     title: &quot;Requestor is owner&quot;
+            #     description: &quot;Determines if requestor is the document owner&quot;
+            #     expression: &quot;document.owner == request.auth.claims.email&quot;
+            #
+            # Example (Logic):
+            #
+            #     title: &quot;Public documents&quot;
+            #     description: &quot;Determine whether the document should be publicly visible&quot;
+            #     expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
+            #
+            # Example (Data Manipulation):
+            #
+            #     title: &quot;Notification string&quot;
+            #     description: &quot;Create a notification string with a timestamp.&quot;
+            #     expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
+            #
+            # The exact variables and functions that may be referenced within an expression
+            # are determined by the service that evaluates it. See the service
+            # documentation for additional information.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
+              # syntax.
+          &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
+              # its purpose. This can be used e.g. in UIs which allow to enter the
+              # expression.
+          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
+              # reporting, e.g. a file name and a position in the file.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+              # describes the expression, e.g. when hovered over it in a UI.
+        },
+        &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
             # `members` can have the following values:
             #
             # * `allUsers`: A special identifier that represents anyone who is
@@ -4012,87 +4136,12 @@
             # * `domain:{domain}`: The G Suite domain (primary) that represents all the
             #    users of that domain. For example, `google.com` or `example.com`.
             #
-          "A String",
+          &quot;A String&quot;,
         ],
-        "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
-            # NOTE: An unsatisfied condition will not allow user access via current
-            # binding. Different bindings, including their conditions, are examined
-            # independently.
-            # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
-            # are documented at https://github.com/google/cel-spec.
-            #
-            # Example (Comparison):
-            #
-            #     title: "Summary size limit"
-            #     description: "Determines if a summary is less than 100 chars"
-            #     expression: "document.summary.size() &lt; 100"
-            #
-            # Example (Equality):
-            #
-            #     title: "Requestor is owner"
-            #     description: "Determines if requestor is the document owner"
-            #     expression: "document.owner == request.auth.claims.email"
-            #
-            # Example (Logic):
-            #
-            #     title: "Public documents"
-            #     description: "Determine whether the document should be publicly visible"
-            #     expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
-            #
-            # Example (Data Manipulation):
-            #
-            #     title: "Notification string"
-            #     description: "Create a notification string with a timestamp."
-            #     expression: "'New message received at ' + string(document.create_time)"
-            #
-            # The exact variables and functions that may be referenced within an expression
-            # are determined by the service that evaluates it. See the service
-            # documentation for additional information.
-          "description": "A String", # Optional. Description of the expression. This is a longer text which
-              # describes the expression, e.g. when hovered over it in a UI.
-          "expression": "A String", # Textual representation of an expression in Common Expression Language
-              # syntax.
-          "location": "A String", # Optional. String indicating the location of the expression for error
-              # reporting, e.g. a file name and a position in the file.
-          "title": "A String", # Optional. Title for the expression, i.e. a short string describing
-              # its purpose. This can be used e.g. in UIs which allow to enter the
-              # expression.
-        },
+        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
+            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
       },
     ],
-    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
-        # prevent simultaneous updates of a policy from overwriting each other.
-        # It is strongly suggested that systems make use of the `etag` in the
-        # read-modify-write cycle to perform policy updates in order to avoid race
-        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
-        # systems are expected to put that etag in the request to `setIamPolicy` to
-        # ensure that their change will be applied to the same version of the policy.
-        #
-        # **Important:** If you use IAM Conditions, you must include the `etag` field
-        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-        # you to overwrite a version `3` policy with a version `1` policy, and all of
-        # the conditions in the version `3` policy are lost.
-    "version": 42, # Specifies the format of the policy.
-        #
-        # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
-        # are rejected.
-        #
-        # Any operation that affects conditional role bindings must specify version
-        # `3`. This requirement applies to the following operations:
-        #
-        # * Getting a policy that includes a conditional role binding
-        # * Adding a conditional role binding to a policy
-        # * Changing a conditional role binding in a policy
-        # * Removing any role binding, with or without a condition, from a policy
-        #   that includes conditions
-        #
-        # **Important:** If you use IAM Conditions, you must include the `etag` field
-        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-        # you to overwrite a version `3` policy with a version `1` policy, and all of
-        # the conditions in the version `3` policy are lost.
-        #
-        # If a policy does not include any conditions, operations on that policy may
-        # specify any valid version or leave the field unset.
   }</pre>
 </div>
 
@@ -4100,7 +4149,7 @@
     <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
   <pre>Returns the permissions that a caller has on the specified note or
 occurrence resource. Requires list permission on the project (for example,
-"storage.objects.list" on the containing bucket for testing permission of
+&quot;storage.objects.list&quot; on the containing bucket for testing permission of
 an object). Attempting to call this method on a non-existent resource will
 result in a `NOT_FOUND` error if the user has list permission on the
 project, or a `PERMISSION_DENIED` error otherwise. The resource takes the
@@ -4114,11 +4163,11 @@
     The object takes the form of:
 
 { # Request message for `TestIamPermissions` method.
-    "permissions": [ # The set of permissions to check for the `resource`. Permissions with
-        # wildcards (such as '*' or 'storage.*') are not allowed. For more
+    &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with
+        # wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more
         # information see
         # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
-      "A String",
+      &quot;A String&quot;,
     ],
   }
 
@@ -4131,9 +4180,9 @@
   An object of the form:
 
     { # Response message for `TestIamPermissions` method.
-    "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
+    &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is
         # allowed.
-      "A String",
+      &quot;A String&quot;,
     ],
   }</pre>
 </div>