Container Analysis API . projects . notes

Instance Methods

occurrences()

Returns the occurrences Resource.

batchCreate(parent, body, x__xgafv=None)

Creates new notes in batch.

create(parent, body, noteId=None, x__xgafv=None)

Creates a new note.

delete(name, x__xgafv=None)

Deletes the specified note.

get(name, x__xgafv=None)

Gets the specified note.

getIamPolicy(resource, body=None, x__xgafv=None)

Gets the access control policy for a note or an occurrence resource.

list(parent, pageSize=None, pageToken=None, x__xgafv=None, filter=None)

Lists notes for the specified project.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body, updateMask=None, x__xgafv=None)

Updates the specified note.

setIamPolicy(resource, body, x__xgafv=None)

Sets the access control policy on the specified note or occurrence.

testIamPermissions(resource, body, x__xgafv=None)

Returns the permissions that a caller has on the specified note or

Method Details

batchCreate(parent, body, x__xgafv=None)
Creates new notes in batch.

Args:
  parent: string, The name of the project in the form of `projects/[PROJECT_ID]`, under which
the notes are to be created. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # Request to create notes in batch.
    "notes": { # The notes to create. Max allowed length is 1000.
      "a_key": { # A type of analysis that can be done for a resource.
        "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
            # a filter in list requests.
        "relatedNoteNames": [ # Other notes related to this note.
          "A String",
        ],
        "name": "A String", # Output only. The name of the note in the form of
            # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
        "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers.
            # channels. E.g., glibc (aka libc6) is distributed by many, at various
            # versions.
          "distribution": [ # 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", # Required. 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 a package. # The latest available version of this package in this distribution channel.
                "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                    # versions.
                "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                    # name.
                "revision": "A String", # The iteration of the package build from the above version.
              },
            },
          ],
          "name": "A String", # Required. Immutable. The name of the package.
        },
        "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability.
          "windowsDetails": [ # Windows details get their own format because the information format and
              # model don't match a normal detail. Specifically Windows updates are done as
              # patches, thus Windows vulnerabilities really are a missing package, rather
              # than a package being at an incorrect version.
            {
              "cpeUri": "A String", # Required. 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.
              "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this
                  # vulnerability. Note that there may be multiple hotfixes (and thus
                  # multiple KBs) that mitigate a given vulnerability. Currently any listed
                  # kb's presence is considered a fix.
                {
                  "url": "A String", # A link to the KB in the Windows update catalog -
                      # https://www.catalog.update.microsoft.com/
                  "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456).
                },
              ],
              "name": "A String", # Required. The name of the vulnerability.
              "description": "A String", # The description of the vulnerability.
            },
          ],
          "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3.
              # For details, see https://www.first.org/cvss/specification-document
            "attackComplexity": "A String",
            "attackVector": "A String", # Base Metrics
                # Represents the intrinsic characteristics of a vulnerability that are
                # constant over time and across user environments.
            "availabilityImpact": "A String",
            "userInteraction": "A String",
            "baseScore": 3.14, # The base score is a function of the base metric scores.
            "privilegesRequired": "A String",
            "impactScore": 3.14,
            "exploitabilityScore": 3.14,
            "confidentialityImpact": "A String",
            "integrityImpact": "A String",
            "scope": "A String",
          },
          "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
              # vulnerability. One entry per (version range and cpe_uri) the package
              # vulnerability has manifested in.
            { # Identifies all appearances 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", # Required. 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.
              "description": "A String", # A vendor-specific description of this note.
              "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists.
                "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                    # versions.
                "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                    # name.
                "revision": "A String", # The iteration of the package build from the above version.
              },
              "package": "A String", # Required. The name of the package where the vulnerability was found.
              "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
                  # obsolete details.
              "maxAffectedVersion": { # Version contains structured information about the version of a package. # Deprecated, do not use. Use fixed_location instead.
                  #
                  # The max version of the package in which the vulnerability exists.
                "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                    # versions.
                "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                    # name.
                "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", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
                    # format. Examples include distro or storage location for vulnerable jar.
                "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
                  "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                  "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                      # versions.
                  "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                      # name.
                  "revision": "A String", # The iteration of the package build from the above version.
                },
                "package": "A String", # Required. The package being described.
              },
            },
          ],
        },
        "kind": "A String", # Output only. The type of analysis. 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 associated with the resource.
            "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 `Authority` 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 # Hint hints at the purpose of the attestation authority.
              # authority. 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 authorities in
              # security sensitive contexts, such as when looking up attestations to
              # verify.
            "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for
                # example "qa".
          },
        },
        "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build.
            # provenance message in the build details occurrence.
          "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build.
          "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note
              # containing build details.
            "publicKey": "A String", # 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.
                #
                # This field may be empty if `key_id` references an external key.
                #
                # For Cloud Build based signatures, this is a PEM encoded public
                # key. To verify the Cloud Build signature, place the contents of
                # this field into a file (public.pem). The signature field is base64-decoded
                # into its binary representation in signature.bin, and the provenance bytes
                # 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", # Required. Signature of the related `BuildProvenance`. In JSON, this is
                # base-64 encoded.
          },
        },
        "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 
            # Or an equivalent reference, e.g. a tag of the resource_url.
          "resourceUrl": "A String", # Required. Immutable. 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. # Required. Immutable. The fingerprint of the base image.
            "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
                # representation.
            "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.
            "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
              "A String",
            ],
          },
        },
        "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire.
        "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
          "resourceUri": [ # Required. 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
            # filter in list requests.
        "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource.
            # exists in a provider's project. A `Discovery` occurrence is created in a
            # consumer's project at the start of analysis.
          "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this
              # discovery.
        },
      },
    },
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response for creating notes in batch.
    "notes": [ # The notes that were created.
      { # A type of analysis that can be done for a resource.
        "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
            # a filter in list requests.
        "relatedNoteNames": [ # Other notes related to this note.
          "A String",
        ],
        "name": "A String", # Output only. The name of the note in the form of
            # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
        "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers.
            # channels. E.g., glibc (aka libc6) is distributed by many, at various
            # versions.
          "distribution": [ # 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", # Required. 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 a package. # The latest available version of this package in this distribution channel.
                "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                    # versions.
                "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                    # name.
                "revision": "A String", # The iteration of the package build from the above version.
              },
            },
          ],
          "name": "A String", # Required. Immutable. The name of the package.
        },
        "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability.
          "windowsDetails": [ # Windows details get their own format because the information format and
              # model don't match a normal detail. Specifically Windows updates are done as
              # patches, thus Windows vulnerabilities really are a missing package, rather
              # than a package being at an incorrect version.
            {
              "cpeUri": "A String", # Required. 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.
              "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this
                  # vulnerability. Note that there may be multiple hotfixes (and thus
                  # multiple KBs) that mitigate a given vulnerability. Currently any listed
                  # kb's presence is considered a fix.
                {
                  "url": "A String", # A link to the KB in the Windows update catalog -
                      # https://www.catalog.update.microsoft.com/
                  "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456).
                },
              ],
              "name": "A String", # Required. The name of the vulnerability.
              "description": "A String", # The description of the vulnerability.
            },
          ],
          "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3.
              # For details, see https://www.first.org/cvss/specification-document
            "attackComplexity": "A String",
            "attackVector": "A String", # Base Metrics
                # Represents the intrinsic characteristics of a vulnerability that are
                # constant over time and across user environments.
            "availabilityImpact": "A String",
            "userInteraction": "A String",
            "baseScore": 3.14, # The base score is a function of the base metric scores.
            "privilegesRequired": "A String",
            "impactScore": 3.14,
            "exploitabilityScore": 3.14,
            "confidentialityImpact": "A String",
            "integrityImpact": "A String",
            "scope": "A String",
          },
          "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
              # vulnerability. One entry per (version range and cpe_uri) the package
              # vulnerability has manifested in.
            { # Identifies all appearances 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", # Required. 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.
              "description": "A String", # A vendor-specific description of this note.
              "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists.
                "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                    # versions.
                "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                    # name.
                "revision": "A String", # The iteration of the package build from the above version.
              },
              "package": "A String", # Required. The name of the package where the vulnerability was found.
              "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
                  # obsolete details.
              "maxAffectedVersion": { # Version contains structured information about the version of a package. # Deprecated, do not use. Use fixed_location instead.
                  #
                  # The max version of the package in which the vulnerability exists.
                "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                    # versions.
                "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                    # name.
                "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", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
                    # format. Examples include distro or storage location for vulnerable jar.
                "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
                  "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                  "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                      # versions.
                  "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                      # name.
                  "revision": "A String", # The iteration of the package build from the above version.
                },
                "package": "A String", # Required. The package being described.
              },
            },
          ],
        },
        "kind": "A String", # Output only. The type of analysis. 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 associated with the resource.
            "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 `Authority` 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 # Hint hints at the purpose of the attestation authority.
              # authority. 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 authorities in
              # security sensitive contexts, such as when looking up attestations to
              # verify.
            "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for
                # example "qa".
          },
        },
        "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build.
            # provenance message in the build details occurrence.
          "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build.
          "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note
              # containing build details.
            "publicKey": "A String", # 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.
                #
                # This field may be empty if `key_id` references an external key.
                #
                # For Cloud Build based signatures, this is a PEM encoded public
                # key. To verify the Cloud Build signature, place the contents of
                # this field into a file (public.pem). The signature field is base64-decoded
                # into its binary representation in signature.bin, and the provenance bytes
                # 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", # Required. Signature of the related `BuildProvenance`. In JSON, this is
                # base-64 encoded.
          },
        },
        "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 
            # Or an equivalent reference, e.g. a tag of the resource_url.
          "resourceUrl": "A String", # Required. Immutable. 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. # Required. Immutable. The fingerprint of the base image.
            "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
                # representation.
            "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.
            "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
              "A String",
            ],
          },
        },
        "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire.
        "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
          "resourceUri": [ # Required. 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
            # filter in list requests.
        "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource.
            # exists in a provider's project. A `Discovery` occurrence is created in a
            # consumer's project at the start of analysis.
          "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this
              # discovery.
        },
      },
    ],
  }
create(parent, body, noteId=None, x__xgafv=None)
Creates a new note.

Args:
  parent: string, The name of the project in the form of `projects/[PROJECT_ID]`, under which
the note is to be created. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A type of analysis that can be done for a resource.
  "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
      # a filter in list requests.
  "relatedNoteNames": [ # Other notes related to this note.
    "A String",
  ],
  "name": "A String", # Output only. The name of the note in the form of
      # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
  "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers.
      # channels. E.g., glibc (aka libc6) is distributed by many, at various
      # versions.
    "distribution": [ # 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", # Required. 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 a package. # The latest available version of this package in this distribution channel.
          "epoch": 42, # Used to correct mistakes in the version numbering scheme.
          "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
              # versions.
          "name": "A String", # Required only when version kind is NORMAL. The main part of the version
              # name.
          "revision": "A String", # The iteration of the package build from the above version.
        },
      },
    ],
    "name": "A String", # Required. Immutable. The name of the package.
  },
  "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability.
    "windowsDetails": [ # Windows details get their own format because the information format and
        # model don't match a normal detail. Specifically Windows updates are done as
        # patches, thus Windows vulnerabilities really are a missing package, rather
        # than a package being at an incorrect version.
      {
        "cpeUri": "A String", # Required. 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.
        "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this
            # vulnerability. Note that there may be multiple hotfixes (and thus
            # multiple KBs) that mitigate a given vulnerability. Currently any listed
            # kb's presence is considered a fix.
          {
            "url": "A String", # A link to the KB in the Windows update catalog -
                # https://www.catalog.update.microsoft.com/
            "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456).
          },
        ],
        "name": "A String", # Required. The name of the vulnerability.
        "description": "A String", # The description of the vulnerability.
      },
    ],
    "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3.
        # For details, see https://www.first.org/cvss/specification-document
      "attackComplexity": "A String",
      "attackVector": "A String", # Base Metrics
          # Represents the intrinsic characteristics of a vulnerability that are
          # constant over time and across user environments.
      "availabilityImpact": "A String",
      "userInteraction": "A String",
      "baseScore": 3.14, # The base score is a function of the base metric scores.
      "privilegesRequired": "A String",
      "impactScore": 3.14,
      "exploitabilityScore": 3.14,
      "confidentialityImpact": "A String",
      "integrityImpact": "A String",
      "scope": "A String",
    },
    "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
        # vulnerability. One entry per (version range and cpe_uri) the package
        # vulnerability has manifested in.
      { # Identifies all appearances 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", # Required. 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.
        "description": "A String", # A vendor-specific description of this note.
        "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists.
          "epoch": 42, # Used to correct mistakes in the version numbering scheme.
          "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
              # versions.
          "name": "A String", # Required only when version kind is NORMAL. The main part of the version
              # name.
          "revision": "A String", # The iteration of the package build from the above version.
        },
        "package": "A String", # Required. The name of the package where the vulnerability was found.
        "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
            # obsolete details.
        "maxAffectedVersion": { # Version contains structured information about the version of a package. # Deprecated, do not use. Use fixed_location instead.
            #
            # The max version of the package in which the vulnerability exists.
          "epoch": 42, # Used to correct mistakes in the version numbering scheme.
          "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
              # versions.
          "name": "A String", # Required only when version kind is NORMAL. The main part of the version
              # name.
          "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", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
              # format. Examples include distro or storage location for vulnerable jar.
          "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
            "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                # versions.
            "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                # name.
            "revision": "A String", # The iteration of the package build from the above version.
          },
          "package": "A String", # Required. The package being described.
        },
      },
    ],
  },
  "kind": "A String", # Output only. The type of analysis. 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 associated with the resource.
      "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 `Authority` 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 # Hint hints at the purpose of the attestation authority.
        # authority. 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 authorities in
        # security sensitive contexts, such as when looking up attestations to
        # verify.
      "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for
          # example "qa".
    },
  },
  "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build.
      # provenance message in the build details occurrence.
    "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build.
    "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note
        # containing build details.
      "publicKey": "A String", # 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.
          #
          # This field may be empty if `key_id` references an external key.
          #
          # For Cloud Build based signatures, this is a PEM encoded public
          # key. To verify the Cloud Build signature, place the contents of
          # this field into a file (public.pem). The signature field is base64-decoded
          # into its binary representation in signature.bin, and the provenance bytes
          # 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", # Required. Signature of the related `BuildProvenance`. In JSON, this is
          # base-64 encoded.
    },
  },
  "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 
      # Or an equivalent reference, e.g. a tag of the resource_url.
    "resourceUrl": "A String", # Required. Immutable. 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. # Required. Immutable. The fingerprint of the base image.
      "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
          # representation.
      "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.
      "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
        "A String",
      ],
    },
  },
  "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire.
  "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
    "resourceUri": [ # Required. 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
      # filter in list requests.
  "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource.
      # exists in a provider's project. A `Discovery` occurrence is created in a
      # consumer's project at the start of analysis.
    "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this
        # discovery.
  },
}

  noteId: string, The ID to use for this note.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A type of analysis that can be done for a resource.
    "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
        # a filter in list requests.
    "relatedNoteNames": [ # Other notes related to this note.
      "A String",
    ],
    "name": "A String", # Output only. The name of the note in the form of
        # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
    "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers.
        # channels. E.g., glibc (aka libc6) is distributed by many, at various
        # versions.
      "distribution": [ # 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", # Required. 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 a package. # The latest available version of this package in this distribution channel.
            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
            "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                # versions.
            "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                # name.
            "revision": "A String", # The iteration of the package build from the above version.
          },
        },
      ],
      "name": "A String", # Required. Immutable. The name of the package.
    },
    "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability.
      "windowsDetails": [ # Windows details get their own format because the information format and
          # model don't match a normal detail. Specifically Windows updates are done as
          # patches, thus Windows vulnerabilities really are a missing package, rather
          # than a package being at an incorrect version.
        {
          "cpeUri": "A String", # Required. 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.
          "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this
              # vulnerability. Note that there may be multiple hotfixes (and thus
              # multiple KBs) that mitigate a given vulnerability. Currently any listed
              # kb's presence is considered a fix.
            {
              "url": "A String", # A link to the KB in the Windows update catalog -
                  # https://www.catalog.update.microsoft.com/
              "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456).
            },
          ],
          "name": "A String", # Required. The name of the vulnerability.
          "description": "A String", # The description of the vulnerability.
        },
      ],
      "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3.
          # For details, see https://www.first.org/cvss/specification-document
        "attackComplexity": "A String",
        "attackVector": "A String", # Base Metrics
            # Represents the intrinsic characteristics of a vulnerability that are
            # constant over time and across user environments.
        "availabilityImpact": "A String",
        "userInteraction": "A String",
        "baseScore": 3.14, # The base score is a function of the base metric scores.
        "privilegesRequired": "A String",
        "impactScore": 3.14,
        "exploitabilityScore": 3.14,
        "confidentialityImpact": "A String",
        "integrityImpact": "A String",
        "scope": "A String",
      },
      "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
          # vulnerability. One entry per (version range and cpe_uri) the package
          # vulnerability has manifested in.
        { # Identifies all appearances 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", # Required. 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.
          "description": "A String", # A vendor-specific description of this note.
          "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists.
            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
            "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                # versions.
            "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                # name.
            "revision": "A String", # The iteration of the package build from the above version.
          },
          "package": "A String", # Required. The name of the package where the vulnerability was found.
          "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
              # obsolete details.
          "maxAffectedVersion": { # Version contains structured information about the version of a package. # Deprecated, do not use. Use fixed_location instead.
              #
              # The max version of the package in which the vulnerability exists.
            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
            "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                # versions.
            "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                # name.
            "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", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
                # format. Examples include distro or storage location for vulnerable jar.
            "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
              "epoch": 42, # Used to correct mistakes in the version numbering scheme.
              "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                  # versions.
              "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                  # name.
              "revision": "A String", # The iteration of the package build from the above version.
            },
            "package": "A String", # Required. The package being described.
          },
        },
      ],
    },
    "kind": "A String", # Output only. The type of analysis. 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 associated with the resource.
        "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 `Authority` 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 # Hint hints at the purpose of the attestation authority.
          # authority. 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 authorities in
          # security sensitive contexts, such as when looking up attestations to
          # verify.
        "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for
            # example "qa".
      },
    },
    "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build.
        # provenance message in the build details occurrence.
      "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build.
      "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note
          # containing build details.
        "publicKey": "A String", # 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.
            #
            # This field may be empty if `key_id` references an external key.
            #
            # For Cloud Build based signatures, this is a PEM encoded public
            # key. To verify the Cloud Build signature, place the contents of
            # this field into a file (public.pem). The signature field is base64-decoded
            # into its binary representation in signature.bin, and the provenance bytes
            # 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", # Required. Signature of the related `BuildProvenance`. In JSON, this is
            # base-64 encoded.
      },
    },
    "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 
        # Or an equivalent reference, e.g. a tag of the resource_url.
      "resourceUrl": "A String", # Required. Immutable. 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. # Required. Immutable. The fingerprint of the base image.
        "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
            # representation.
        "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.
        "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
          "A String",
        ],
      },
    },
    "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire.
    "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
      "resourceUri": [ # Required. 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
        # filter in list requests.
    "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource.
        # exists in a provider's project. A `Discovery` occurrence is created in a
        # consumer's project at the start of analysis.
      "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this
          # discovery.
    },
  }
delete(name, x__xgafv=None)
Deletes the specified note.

Args:
  name: string, The name of the note in the form of
`projects/[PROVIDER_ID]/notes/[NOTE_ID]`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated
      # empty messages in your APIs. A typical example is to use it as the request
      # or the response type of an API method. For instance:
      #
      #     service Foo {
      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
      #     }
      #
      # The JSON representation for `Empty` is empty JSON object `{}`.
  }
get(name, x__xgafv=None)
Gets the specified note.

Args:
  name: string, The name of the note in the form of
`projects/[PROVIDER_ID]/notes/[NOTE_ID]`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A type of analysis that can be done for a resource.
    "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
        # a filter in list requests.
    "relatedNoteNames": [ # Other notes related to this note.
      "A String",
    ],
    "name": "A String", # Output only. The name of the note in the form of
        # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
    "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers.
        # channels. E.g., glibc (aka libc6) is distributed by many, at various
        # versions.
      "distribution": [ # 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", # Required. 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 a package. # The latest available version of this package in this distribution channel.
            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
            "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                # versions.
            "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                # name.
            "revision": "A String", # The iteration of the package build from the above version.
          },
        },
      ],
      "name": "A String", # Required. Immutable. The name of the package.
    },
    "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability.
      "windowsDetails": [ # Windows details get their own format because the information format and
          # model don't match a normal detail. Specifically Windows updates are done as
          # patches, thus Windows vulnerabilities really are a missing package, rather
          # than a package being at an incorrect version.
        {
          "cpeUri": "A String", # Required. 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.
          "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this
              # vulnerability. Note that there may be multiple hotfixes (and thus
              # multiple KBs) that mitigate a given vulnerability. Currently any listed
              # kb's presence is considered a fix.
            {
              "url": "A String", # A link to the KB in the Windows update catalog -
                  # https://www.catalog.update.microsoft.com/
              "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456).
            },
          ],
          "name": "A String", # Required. The name of the vulnerability.
          "description": "A String", # The description of the vulnerability.
        },
      ],
      "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3.
          # For details, see https://www.first.org/cvss/specification-document
        "attackComplexity": "A String",
        "attackVector": "A String", # Base Metrics
            # Represents the intrinsic characteristics of a vulnerability that are
            # constant over time and across user environments.
        "availabilityImpact": "A String",
        "userInteraction": "A String",
        "baseScore": 3.14, # The base score is a function of the base metric scores.
        "privilegesRequired": "A String",
        "impactScore": 3.14,
        "exploitabilityScore": 3.14,
        "confidentialityImpact": "A String",
        "integrityImpact": "A String",
        "scope": "A String",
      },
      "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
          # vulnerability. One entry per (version range and cpe_uri) the package
          # vulnerability has manifested in.
        { # Identifies all appearances 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", # Required. 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.
          "description": "A String", # A vendor-specific description of this note.
          "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists.
            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
            "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                # versions.
            "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                # name.
            "revision": "A String", # The iteration of the package build from the above version.
          },
          "package": "A String", # Required. The name of the package where the vulnerability was found.
          "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
              # obsolete details.
          "maxAffectedVersion": { # Version contains structured information about the version of a package. # Deprecated, do not use. Use fixed_location instead.
              #
              # The max version of the package in which the vulnerability exists.
            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
            "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                # versions.
            "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                # name.
            "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", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
                # format. Examples include distro or storage location for vulnerable jar.
            "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
              "epoch": 42, # Used to correct mistakes in the version numbering scheme.
              "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                  # versions.
              "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                  # name.
              "revision": "A String", # The iteration of the package build from the above version.
            },
            "package": "A String", # Required. The package being described.
          },
        },
      ],
    },
    "kind": "A String", # Output only. The type of analysis. 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 associated with the resource.
        "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 `Authority` 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 # Hint hints at the purpose of the attestation authority.
          # authority. 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 authorities in
          # security sensitive contexts, such as when looking up attestations to
          # verify.
        "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for
            # example "qa".
      },
    },
    "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build.
        # provenance message in the build details occurrence.
      "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build.
      "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note
          # containing build details.
        "publicKey": "A String", # 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.
            #
            # This field may be empty if `key_id` references an external key.
            #
            # For Cloud Build based signatures, this is a PEM encoded public
            # key. To verify the Cloud Build signature, place the contents of
            # this field into a file (public.pem). The signature field is base64-decoded
            # into its binary representation in signature.bin, and the provenance bytes
            # 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", # Required. Signature of the related `BuildProvenance`. In JSON, this is
            # base-64 encoded.
      },
    },
    "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 
        # Or an equivalent reference, e.g. a tag of the resource_url.
      "resourceUrl": "A String", # Required. Immutable. 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. # Required. Immutable. The fingerprint of the base image.
        "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
            # representation.
        "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.
        "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
          "A String",
        ],
      },
    },
    "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire.
    "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
      "resourceUri": [ # Required. 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
        # filter in list requests.
    "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource.
        # exists in a provider's project. A `Discovery` occurrence is created in a
        # consumer's project at the start of analysis.
      "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this
          # discovery.
    },
  }
getIamPolicy(resource, body=None, x__xgafv=None)
Gets the access control policy for a note or an occurrence resource.
Requires `containeranalysis.notes.setIamPolicy` or
`containeranalysis.occurrences.setIamPolicy` permission if the resource is
a note or occurrence, respectively.

The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
occurrences.

Args:
  resource: string, REQUIRED: The resource for which the policy is being requested.
See the operation documentation for the appropriate value for this field. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for `GetIamPolicy` method.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Defines an Identity and Access Management (IAM) policy. It is used to
      # specify access control policies for Cloud Platform resources.
      #
      #
      # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
      # `members` to a `role`, where the members can be user accounts, Google groups,
      # Google domains, and service accounts. A `role` is a named list of permissions
      # defined by IAM.
      #
      # **JSON Example**
      #
      #     {
      #       "bindings": [
      #         {
      #           "role": "roles/owner",
      #           "members": [
      #             "user:mike@example.com",
      #             "group:admins@example.com",
      #             "domain:google.com",
      #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
      #           ]
      #         },
      #         {
      #           "role": "roles/viewer",
      #           "members": ["user:sean@example.com"]
      #         }
      #       ]
      #     }
      #
      # **YAML Example**
      #
      #     bindings:
      #     - members:
      #       - user:mike@example.com
      #       - group:admins@example.com
      #       - domain:google.com
      #       - serviceAccount:my-other-app@appspot.gserviceaccount.com
      #       role: roles/owner
      #     - members:
      #       - user:sean@example.com
      #       role: roles/viewer
      #
      #
      # For a description of IAM and its features, see the
      # [IAM developer's guide](https://cloud.google.com/iam/docs).
    "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
      { # Specifies the audit configuration for a service.
          # The configuration determines which permission types are logged, and what
          # identities, if any, are exempted from logging.
          # An AuditConfig must have one or more AuditLogConfigs.
          #
          # If there are AuditConfigs for both `allServices` and a specific service,
          # the union of the two AuditConfigs is used for that service: the log_types
          # specified in each AuditConfig are enabled, and the exempted_members in each
          # AuditLogConfig are exempted.
          #
          # Example Policy with multiple AuditConfigs:
          #
          #     {
          #       "audit_configs": [
          #         {
          #           "service": "allServices"
          #           "audit_log_configs": [
          #             {
          #               "log_type": "DATA_READ",
          #               "exempted_members": [
          #                 "user:foo@gmail.com"
          #               ]
          #             },
          #             {
          #               "log_type": "DATA_WRITE",
          #             },
          #             {
          #               "log_type": "ADMIN_READ",
          #             }
          #           ]
          #         },
          #         {
          #           "service": "fooservice.googleapis.com"
          #           "audit_log_configs": [
          #             {
          #               "log_type": "DATA_READ",
          #             },
          #             {
          #               "log_type": "DATA_WRITE",
          #               "exempted_members": [
          #                 "user:bar@gmail.com"
          #               ]
          #             }
          #           ]
          #         }
          #       ]
          #     }
          #
          # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
          # logging. It also exempts foo@gmail.com from DATA_READ logging, and
          # bar@gmail.com from DATA_WRITE logging.
        "auditLogConfigs": [ # The configuration for logging of each type of permission.
          { # Provides the configuration for logging a type of permissions.
              # Example:
              #
              #     {
              #       "audit_log_configs": [
              #         {
              #           "log_type": "DATA_READ",
              #           "exempted_members": [
              #             "user:foo@gmail.com"
              #           ]
              #         },
              #         {
              #           "log_type": "DATA_WRITE",
              #         }
              #       ]
              #     }
              #
              # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
              # foo@gmail.com from DATA_READ logging.
            "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
                # permission.
                # Follows the same format of Binding.members.
              "A String",
            ],
            "logType": "A String", # The log type that this config enables.
          },
        ],
        "service": "A String", # Specifies a service that will be enabled for audit logging.
            # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
            # `allServices` is a special value that covers all services.
      },
    ],
    "version": 42, # Deprecated.
    "bindings": [ # Associates a list of `members` to a `role`.
        # `bindings` with no members will result in an error.
      { # 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.
            # `members` can have the following values:
            #
            # * `allUsers`: A special identifier that represents anyone who is
            #    on the internet; with or without a Google account.
            #
            # * `allAuthenticatedUsers`: A special identifier that represents anyone
            #    who is authenticated with a Google account or a service account.
            #
            # * `user:{emailid}`: An email address that represents a specific Google
            #    account. For example, `alice@gmail.com` .
            #
            #
            # * `serviceAccount:{emailid}`: An email address that represents a service
            #    account. For example, `my-other-app@appspot.gserviceaccount.com`.
            #
            # * `group:{emailid}`: An email address that represents a Google group.
            #    For example, `admins@example.com`.
            #
            #
            # * `domain:{domain}`: The G Suite domain (primary) that represents all the
            #    users of that domain. For example, `google.com` or `example.com`.
            #
          "A String",
        ],
        "condition": { # Represents an expression text. Example: # 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.
            #
            #     title: "User account presence"
            #     description: "Determines whether the request has a user account"
            #     expression: "size(request.user) > 0"
          "location": "A String", # An optional string indicating the location of the expression for error
              # reporting, e.g. a file name and a position in the file.
          "expression": "A String", # Textual representation of an expression in
              # Common Expression Language syntax.
              #
              # The application context of the containing message determines which
              # well-known feature set of CEL is supported.
          "description": "A String", # An optional description of the expression. This is a longer text which
              # describes the expression, e.g. when hovered over it in a UI.
          "title": "A String", # An 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.
        },
      },
    ],
    "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.
        #
        # If no `etag` is provided in the call to `setIamPolicy`, then the existing
        # policy is overwritten blindly.
  }
list(parent, pageSize=None, pageToken=None, x__xgafv=None, filter=None)
Lists notes for the specified project.

Args:
  parent: string, The name of the project to list notes for in the form of
`projects/[PROJECT_ID]`. (required)
  pageSize: integer, Number of notes to return in the list. Must be positive. Max allowed page
size is 1000. If not specified, page size defaults to 20.
  pageToken: string, Token to provide to skip to a particular spot in the list.
  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:

    { # Response for listing notes.
    "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.
    "notes": [ # The notes requested.
      { # A type of analysis that can be done for a resource.
        "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
            # a filter in list requests.
        "relatedNoteNames": [ # Other notes related to this note.
          "A String",
        ],
        "name": "A String", # Output only. The name of the note in the form of
            # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
        "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers.
            # channels. E.g., glibc (aka libc6) is distributed by many, at various
            # versions.
          "distribution": [ # 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", # Required. 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 a package. # The latest available version of this package in this distribution channel.
                "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                    # versions.
                "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                    # name.
                "revision": "A String", # The iteration of the package build from the above version.
              },
            },
          ],
          "name": "A String", # Required. Immutable. The name of the package.
        },
        "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability.
          "windowsDetails": [ # Windows details get their own format because the information format and
              # model don't match a normal detail. Specifically Windows updates are done as
              # patches, thus Windows vulnerabilities really are a missing package, rather
              # than a package being at an incorrect version.
            {
              "cpeUri": "A String", # Required. 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.
              "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this
                  # vulnerability. Note that there may be multiple hotfixes (and thus
                  # multiple KBs) that mitigate a given vulnerability. Currently any listed
                  # kb's presence is considered a fix.
                {
                  "url": "A String", # A link to the KB in the Windows update catalog -
                      # https://www.catalog.update.microsoft.com/
                  "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456).
                },
              ],
              "name": "A String", # Required. The name of the vulnerability.
              "description": "A String", # The description of the vulnerability.
            },
          ],
          "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3.
              # For details, see https://www.first.org/cvss/specification-document
            "attackComplexity": "A String",
            "attackVector": "A String", # Base Metrics
                # Represents the intrinsic characteristics of a vulnerability that are
                # constant over time and across user environments.
            "availabilityImpact": "A String",
            "userInteraction": "A String",
            "baseScore": 3.14, # The base score is a function of the base metric scores.
            "privilegesRequired": "A String",
            "impactScore": 3.14,
            "exploitabilityScore": 3.14,
            "confidentialityImpact": "A String",
            "integrityImpact": "A String",
            "scope": "A String",
          },
          "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
              # vulnerability. One entry per (version range and cpe_uri) the package
              # vulnerability has manifested in.
            { # Identifies all appearances 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", # Required. 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.
              "description": "A String", # A vendor-specific description of this note.
              "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists.
                "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                    # versions.
                "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                    # name.
                "revision": "A String", # The iteration of the package build from the above version.
              },
              "package": "A String", # Required. The name of the package where the vulnerability was found.
              "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
                  # obsolete details.
              "maxAffectedVersion": { # Version contains structured information about the version of a package. # Deprecated, do not use. Use fixed_location instead.
                  #
                  # The max version of the package in which the vulnerability exists.
                "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                    # versions.
                "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                    # name.
                "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", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
                    # format. Examples include distro or storage location for vulnerable jar.
                "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
                  "epoch": 42, # Used to correct mistakes in the version numbering scheme.
                  "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                      # versions.
                  "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                      # name.
                  "revision": "A String", # The iteration of the package build from the above version.
                },
                "package": "A String", # Required. The package being described.
              },
            },
          ],
        },
        "kind": "A String", # Output only. The type of analysis. 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 associated with the resource.
            "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 `Authority` 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 # Hint hints at the purpose of the attestation authority.
              # authority. 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 authorities in
              # security sensitive contexts, such as when looking up attestations to
              # verify.
            "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for
                # example "qa".
          },
        },
        "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build.
            # provenance message in the build details occurrence.
          "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build.
          "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note
              # containing build details.
            "publicKey": "A String", # 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.
                #
                # This field may be empty if `key_id` references an external key.
                #
                # For Cloud Build based signatures, this is a PEM encoded public
                # key. To verify the Cloud Build signature, place the contents of
                # this field into a file (public.pem). The signature field is base64-decoded
                # into its binary representation in signature.bin, and the provenance bytes
                # 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", # Required. Signature of the related `BuildProvenance`. In JSON, this is
                # base-64 encoded.
          },
        },
        "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 
            # Or an equivalent reference, e.g. a tag of the resource_url.
          "resourceUrl": "A String", # Required. Immutable. 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. # Required. Immutable. The fingerprint of the base image.
            "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
                # representation.
            "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.
            "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
              "A String",
            ],
          },
        },
        "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire.
        "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
          "resourceUri": [ # Required. 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
            # filter in list requests.
        "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource.
            # exists in a provider's project. A `Discovery` occurrence is created in a
            # consumer's project at the start of analysis.
          "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this
              # discovery.
        },
      },
    ],
  }
list_next(previous_request, previous_response)
Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  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
  page. Returns None if there are no more items in the collection.
    
patch(name, body, updateMask=None, x__xgafv=None)
Updates the specified note.

Args:
  name: string, The name of the note in the form of
`projects/[PROVIDER_ID]/notes/[NOTE_ID]`. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A type of analysis that can be done for a resource.
  "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
      # a filter in list requests.
  "relatedNoteNames": [ # Other notes related to this note.
    "A String",
  ],
  "name": "A String", # Output only. The name of the note in the form of
      # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
  "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers.
      # channels. E.g., glibc (aka libc6) is distributed by many, at various
      # versions.
    "distribution": [ # 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", # Required. 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 a package. # The latest available version of this package in this distribution channel.
          "epoch": 42, # Used to correct mistakes in the version numbering scheme.
          "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
              # versions.
          "name": "A String", # Required only when version kind is NORMAL. The main part of the version
              # name.
          "revision": "A String", # The iteration of the package build from the above version.
        },
      },
    ],
    "name": "A String", # Required. Immutable. The name of the package.
  },
  "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability.
    "windowsDetails": [ # Windows details get their own format because the information format and
        # model don't match a normal detail. Specifically Windows updates are done as
        # patches, thus Windows vulnerabilities really are a missing package, rather
        # than a package being at an incorrect version.
      {
        "cpeUri": "A String", # Required. 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.
        "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this
            # vulnerability. Note that there may be multiple hotfixes (and thus
            # multiple KBs) that mitigate a given vulnerability. Currently any listed
            # kb's presence is considered a fix.
          {
            "url": "A String", # A link to the KB in the Windows update catalog -
                # https://www.catalog.update.microsoft.com/
            "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456).
          },
        ],
        "name": "A String", # Required. The name of the vulnerability.
        "description": "A String", # The description of the vulnerability.
      },
    ],
    "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3.
        # For details, see https://www.first.org/cvss/specification-document
      "attackComplexity": "A String",
      "attackVector": "A String", # Base Metrics
          # Represents the intrinsic characteristics of a vulnerability that are
          # constant over time and across user environments.
      "availabilityImpact": "A String",
      "userInteraction": "A String",
      "baseScore": 3.14, # The base score is a function of the base metric scores.
      "privilegesRequired": "A String",
      "impactScore": 3.14,
      "exploitabilityScore": 3.14,
      "confidentialityImpact": "A String",
      "integrityImpact": "A String",
      "scope": "A String",
    },
    "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
        # vulnerability. One entry per (version range and cpe_uri) the package
        # vulnerability has manifested in.
      { # Identifies all appearances 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", # Required. 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.
        "description": "A String", # A vendor-specific description of this note.
        "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists.
          "epoch": 42, # Used to correct mistakes in the version numbering scheme.
          "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
              # versions.
          "name": "A String", # Required only when version kind is NORMAL. The main part of the version
              # name.
          "revision": "A String", # The iteration of the package build from the above version.
        },
        "package": "A String", # Required. The name of the package where the vulnerability was found.
        "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
            # obsolete details.
        "maxAffectedVersion": { # Version contains structured information about the version of a package. # Deprecated, do not use. Use fixed_location instead.
            #
            # The max version of the package in which the vulnerability exists.
          "epoch": 42, # Used to correct mistakes in the version numbering scheme.
          "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
              # versions.
          "name": "A String", # Required only when version kind is NORMAL. The main part of the version
              # name.
          "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", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
              # format. Examples include distro or storage location for vulnerable jar.
          "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
            "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                # versions.
            "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                # name.
            "revision": "A String", # The iteration of the package build from the above version.
          },
          "package": "A String", # Required. The package being described.
        },
      },
    ],
  },
  "kind": "A String", # Output only. The type of analysis. 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 associated with the resource.
      "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 `Authority` 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 # Hint hints at the purpose of the attestation authority.
        # authority. 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 authorities in
        # security sensitive contexts, such as when looking up attestations to
        # verify.
      "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for
          # example "qa".
    },
  },
  "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build.
      # provenance message in the build details occurrence.
    "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build.
    "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note
        # containing build details.
      "publicKey": "A String", # 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.
          #
          # This field may be empty if `key_id` references an external key.
          #
          # For Cloud Build based signatures, this is a PEM encoded public
          # key. To verify the Cloud Build signature, place the contents of
          # this field into a file (public.pem). The signature field is base64-decoded
          # into its binary representation in signature.bin, and the provenance bytes
          # 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", # Required. Signature of the related `BuildProvenance`. In JSON, this is
          # base-64 encoded.
    },
  },
  "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 
      # Or an equivalent reference, e.g. a tag of the resource_url.
    "resourceUrl": "A String", # Required. Immutable. 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. # Required. Immutable. The fingerprint of the base image.
      "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
          # representation.
      "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.
      "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
        "A String",
      ],
    },
  },
  "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire.
  "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
    "resourceUri": [ # Required. 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
      # filter in list requests.
  "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource.
      # exists in a provider's project. A `Discovery` occurrence is created in a
      # consumer's project at the start of analysis.
    "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this
        # discovery.
  },
}

  updateMask: string, The fields to update.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A type of analysis that can be done for a resource.
    "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as
        # a filter in list requests.
    "relatedNoteNames": [ # Other notes related to this note.
      "A String",
    ],
    "name": "A String", # Output only. The name of the note in the form of
        # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
    "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers.
        # channels. E.g., glibc (aka libc6) is distributed by many, at various
        # versions.
      "distribution": [ # 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", # Required. 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 a package. # The latest available version of this package in this distribution channel.
            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
            "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                # versions.
            "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                # name.
            "revision": "A String", # The iteration of the package build from the above version.
          },
        },
      ],
      "name": "A String", # Required. Immutable. The name of the package.
    },
    "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability.
      "windowsDetails": [ # Windows details get their own format because the information format and
          # model don't match a normal detail. Specifically Windows updates are done as
          # patches, thus Windows vulnerabilities really are a missing package, rather
          # than a package being at an incorrect version.
        {
          "cpeUri": "A String", # Required. 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.
          "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this
              # vulnerability. Note that there may be multiple hotfixes (and thus
              # multiple KBs) that mitigate a given vulnerability. Currently any listed
              # kb's presence is considered a fix.
            {
              "url": "A String", # A link to the KB in the Windows update catalog -
                  # https://www.catalog.update.microsoft.com/
              "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456).
            },
          ],
          "name": "A String", # Required. The name of the vulnerability.
          "description": "A String", # The description of the vulnerability.
        },
      ],
      "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3.
          # For details, see https://www.first.org/cvss/specification-document
        "attackComplexity": "A String",
        "attackVector": "A String", # Base Metrics
            # Represents the intrinsic characteristics of a vulnerability that are
            # constant over time and across user environments.
        "availabilityImpact": "A String",
        "userInteraction": "A String",
        "baseScore": 3.14, # The base score is a function of the base metric scores.
        "privilegesRequired": "A String",
        "impactScore": 3.14,
        "exploitabilityScore": 3.14,
        "confidentialityImpact": "A String",
        "integrityImpact": "A String",
        "scope": "A String",
      },
      "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
          # vulnerability. One entry per (version range and cpe_uri) the package
          # vulnerability has manifested in.
        { # Identifies all appearances 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", # Required. 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.
          "description": "A String", # A vendor-specific description of this note.
          "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists.
            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
            "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                # versions.
            "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                # name.
            "revision": "A String", # The iteration of the package build from the above version.
          },
          "package": "A String", # Required. The name of the package where the vulnerability was found.
          "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
              # obsolete details.
          "maxAffectedVersion": { # Version contains structured information about the version of a package. # Deprecated, do not use. Use fixed_location instead.
              #
              # The max version of the package in which the vulnerability exists.
            "epoch": 42, # Used to correct mistakes in the version numbering scheme.
            "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                # versions.
            "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                # name.
            "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", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
                # format. Examples include distro or storage location for vulnerable jar.
            "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described.
              "epoch": 42, # Used to correct mistakes in the version numbering scheme.
              "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal
                  # versions.
              "name": "A String", # Required only when version kind is NORMAL. The main part of the version
                  # name.
              "revision": "A String", # The iteration of the package build from the above version.
            },
            "package": "A String", # Required. The package being described.
          },
        },
      ],
    },
    "kind": "A String", # Output only. The type of analysis. 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 associated with the resource.
        "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 `Authority` 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 # Hint hints at the purpose of the attestation authority.
          # authority. 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 authorities in
          # security sensitive contexts, such as when looking up attestations to
          # verify.
        "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for
            # example "qa".
      },
    },
    "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build.
        # provenance message in the build details occurrence.
      "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build.
      "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note
          # containing build details.
        "publicKey": "A String", # 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.
            #
            # This field may be empty if `key_id` references an external key.
            #
            # For Cloud Build based signatures, this is a PEM encoded public
            # key. To verify the Cloud Build signature, place the contents of
            # this field into a file (public.pem). The signature field is base64-decoded
            # into its binary representation in signature.bin, and the provenance bytes
            # 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", # Required. Signature of the related `BuildProvenance`. In JSON, this is
            # base-64 encoded.
      },
    },
    "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 
        # Or an equivalent reference, e.g. a tag of the resource_url.
      "resourceUrl": "A String", # Required. Immutable. 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. # Required. Immutable. The fingerprint of the base image.
        "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1
            # representation.
        "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.
        "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image.
          "A String",
        ],
      },
    },
    "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire.
    "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed.
      "resourceUri": [ # Required. 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
        # filter in list requests.
    "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource.
        # exists in a provider's project. A `Discovery` occurrence is created in a
        # consumer's project at the start of analysis.
      "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this
          # discovery.
    },
  }
setIamPolicy(resource, body, x__xgafv=None)
Sets the access control policy on the specified note or occurrence.
Requires `containeranalysis.notes.setIamPolicy` or
`containeranalysis.occurrences.setIamPolicy` permission if the resource is
a note or an occurrence, respectively.

The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
occurrences.

Args:
  resource: string, REQUIRED: The resource for which the policy is being specified.
See the operation documentation for the appropriate value for this field. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # Request message for `SetIamPolicy` method.
    "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to # REQUIRED: The complete policy to be applied to the `resource`. The size of
        # 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.
        # specify access control policies for Cloud Platform resources.
        #
        #
        # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
        # `members` to a `role`, where the members can be user accounts, Google groups,
        # Google domains, and service accounts. A `role` is a named list of permissions
        # defined by IAM.
        #
        # **JSON Example**
        #
        #     {
        #       "bindings": [
        #         {
        #           "role": "roles/owner",
        #           "members": [
        #             "user:mike@example.com",
        #             "group:admins@example.com",
        #             "domain:google.com",
        #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
        #           ]
        #         },
        #         {
        #           "role": "roles/viewer",
        #           "members": ["user:sean@example.com"]
        #         }
        #       ]
        #     }
        #
        # **YAML Example**
        #
        #     bindings:
        #     - members:
        #       - user:mike@example.com
        #       - group:admins@example.com
        #       - domain:google.com
        #       - serviceAccount:my-other-app@appspot.gserviceaccount.com
        #       role: roles/owner
        #     - members:
        #       - user:sean@example.com
        #       role: roles/viewer
        #
        #
        # For a description of IAM and its features, see the
        # [IAM developer's guide](https://cloud.google.com/iam/docs).
      "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
        { # Specifies the audit configuration for a service.
            # The configuration determines which permission types are logged, and what
            # identities, if any, are exempted from logging.
            # An AuditConfig must have one or more AuditLogConfigs.
            #
            # If there are AuditConfigs for both `allServices` and a specific service,
            # the union of the two AuditConfigs is used for that service: the log_types
            # specified in each AuditConfig are enabled, and the exempted_members in each
            # AuditLogConfig are exempted.
            #
            # Example Policy with multiple AuditConfigs:
            #
            #     {
            #       "audit_configs": [
            #         {
            #           "service": "allServices"
            #           "audit_log_configs": [
            #             {
            #               "log_type": "DATA_READ",
            #               "exempted_members": [
            #                 "user:foo@gmail.com"
            #               ]
            #             },
            #             {
            #               "log_type": "DATA_WRITE",
            #             },
            #             {
            #               "log_type": "ADMIN_READ",
            #             }
            #           ]
            #         },
            #         {
            #           "service": "fooservice.googleapis.com"
            #           "audit_log_configs": [
            #             {
            #               "log_type": "DATA_READ",
            #             },
            #             {
            #               "log_type": "DATA_WRITE",
            #               "exempted_members": [
            #                 "user:bar@gmail.com"
            #               ]
            #             }
            #           ]
            #         }
            #       ]
            #     }
            #
            # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
            # logging. It also exempts foo@gmail.com from DATA_READ logging, and
            # bar@gmail.com from DATA_WRITE logging.
          "auditLogConfigs": [ # The configuration for logging of each type of permission.
            { # Provides the configuration for logging a type of permissions.
                # Example:
                #
                #     {
                #       "audit_log_configs": [
                #         {
                #           "log_type": "DATA_READ",
                #           "exempted_members": [
                #             "user:foo@gmail.com"
                #           ]
                #         },
                #         {
                #           "log_type": "DATA_WRITE",
                #         }
                #       ]
                #     }
                #
                # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
                # foo@gmail.com from DATA_READ logging.
              "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
                  # permission.
                  # Follows the same format of Binding.members.
                "A String",
              ],
              "logType": "A String", # The log type that this config enables.
            },
          ],
          "service": "A String", # Specifies a service that will be enabled for audit logging.
              # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
              # `allServices` is a special value that covers all services.
        },
      ],
      "version": 42, # Deprecated.
      "bindings": [ # Associates a list of `members` to a `role`.
          # `bindings` with no members will result in an error.
        { # 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.
              # `members` can have the following values:
              #
              # * `allUsers`: A special identifier that represents anyone who is
              #    on the internet; with or without a Google account.
              #
              # * `allAuthenticatedUsers`: A special identifier that represents anyone
              #    who is authenticated with a Google account or a service account.
              #
              # * `user:{emailid}`: An email address that represents a specific Google
              #    account. For example, `alice@gmail.com` .
              #
              #
              # * `serviceAccount:{emailid}`: An email address that represents a service
              #    account. For example, `my-other-app@appspot.gserviceaccount.com`.
              #
              # * `group:{emailid}`: An email address that represents a Google group.
              #    For example, `admins@example.com`.
              #
              #
              # * `domain:{domain}`: The G Suite domain (primary) that represents all the
              #    users of that domain. For example, `google.com` or `example.com`.
              #
            "A String",
          ],
          "condition": { # Represents an expression text. Example: # 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.
              #
              #     title: "User account presence"
              #     description: "Determines whether the request has a user account"
              #     expression: "size(request.user) > 0"
            "location": "A String", # An optional string indicating the location of the expression for error
                # reporting, e.g. a file name and a position in the file.
            "expression": "A String", # Textual representation of an expression in
                # Common Expression Language syntax.
                #
                # The application context of the containing message determines which
                # well-known feature set of CEL is supported.
            "description": "A String", # An optional description of the expression. This is a longer text which
                # describes the expression, e.g. when hovered over it in a UI.
            "title": "A String", # An 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.
          },
        },
      ],
      "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.
          #
          # If no `etag` is provided in the call to `setIamPolicy`, then the existing
          # policy is overwritten blindly.
    },
    "updateMask": "A String", # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
        # the fields in the mask will be modified. If no mask is provided, the
        # following default mask is used:
        # paths: "bindings, etag"
        # This field is only used by Cloud IAM.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Defines an Identity and Access Management (IAM) policy. It is used to
      # specify access control policies for Cloud Platform resources.
      #
      #
      # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
      # `members` to a `role`, where the members can be user accounts, Google groups,
      # Google domains, and service accounts. A `role` is a named list of permissions
      # defined by IAM.
      #
      # **JSON Example**
      #
      #     {
      #       "bindings": [
      #         {
      #           "role": "roles/owner",
      #           "members": [
      #             "user:mike@example.com",
      #             "group:admins@example.com",
      #             "domain:google.com",
      #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
      #           ]
      #         },
      #         {
      #           "role": "roles/viewer",
      #           "members": ["user:sean@example.com"]
      #         }
      #       ]
      #     }
      #
      # **YAML Example**
      #
      #     bindings:
      #     - members:
      #       - user:mike@example.com
      #       - group:admins@example.com
      #       - domain:google.com
      #       - serviceAccount:my-other-app@appspot.gserviceaccount.com
      #       role: roles/owner
      #     - members:
      #       - user:sean@example.com
      #       role: roles/viewer
      #
      #
      # For a description of IAM and its features, see the
      # [IAM developer's guide](https://cloud.google.com/iam/docs).
    "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
      { # Specifies the audit configuration for a service.
          # The configuration determines which permission types are logged, and what
          # identities, if any, are exempted from logging.
          # An AuditConfig must have one or more AuditLogConfigs.
          #
          # If there are AuditConfigs for both `allServices` and a specific service,
          # the union of the two AuditConfigs is used for that service: the log_types
          # specified in each AuditConfig are enabled, and the exempted_members in each
          # AuditLogConfig are exempted.
          #
          # Example Policy with multiple AuditConfigs:
          #
          #     {
          #       "audit_configs": [
          #         {
          #           "service": "allServices"
          #           "audit_log_configs": [
          #             {
          #               "log_type": "DATA_READ",
          #               "exempted_members": [
          #                 "user:foo@gmail.com"
          #               ]
          #             },
          #             {
          #               "log_type": "DATA_WRITE",
          #             },
          #             {
          #               "log_type": "ADMIN_READ",
          #             }
          #           ]
          #         },
          #         {
          #           "service": "fooservice.googleapis.com"
          #           "audit_log_configs": [
          #             {
          #               "log_type": "DATA_READ",
          #             },
          #             {
          #               "log_type": "DATA_WRITE",
          #               "exempted_members": [
          #                 "user:bar@gmail.com"
          #               ]
          #             }
          #           ]
          #         }
          #       ]
          #     }
          #
          # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
          # logging. It also exempts foo@gmail.com from DATA_READ logging, and
          # bar@gmail.com from DATA_WRITE logging.
        "auditLogConfigs": [ # The configuration for logging of each type of permission.
          { # Provides the configuration for logging a type of permissions.
              # Example:
              #
              #     {
              #       "audit_log_configs": [
              #         {
              #           "log_type": "DATA_READ",
              #           "exempted_members": [
              #             "user:foo@gmail.com"
              #           ]
              #         },
              #         {
              #           "log_type": "DATA_WRITE",
              #         }
              #       ]
              #     }
              #
              # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
              # foo@gmail.com from DATA_READ logging.
            "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
                # permission.
                # Follows the same format of Binding.members.
              "A String",
            ],
            "logType": "A String", # The log type that this config enables.
          },
        ],
        "service": "A String", # Specifies a service that will be enabled for audit logging.
            # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
            # `allServices` is a special value that covers all services.
      },
    ],
    "version": 42, # Deprecated.
    "bindings": [ # Associates a list of `members` to a `role`.
        # `bindings` with no members will result in an error.
      { # 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.
            # `members` can have the following values:
            #
            # * `allUsers`: A special identifier that represents anyone who is
            #    on the internet; with or without a Google account.
            #
            # * `allAuthenticatedUsers`: A special identifier that represents anyone
            #    who is authenticated with a Google account or a service account.
            #
            # * `user:{emailid}`: An email address that represents a specific Google
            #    account. For example, `alice@gmail.com` .
            #
            #
            # * `serviceAccount:{emailid}`: An email address that represents a service
            #    account. For example, `my-other-app@appspot.gserviceaccount.com`.
            #
            # * `group:{emailid}`: An email address that represents a Google group.
            #    For example, `admins@example.com`.
            #
            #
            # * `domain:{domain}`: The G Suite domain (primary) that represents all the
            #    users of that domain. For example, `google.com` or `example.com`.
            #
          "A String",
        ],
        "condition": { # Represents an expression text. Example: # 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.
            #
            #     title: "User account presence"
            #     description: "Determines whether the request has a user account"
            #     expression: "size(request.user) > 0"
          "location": "A String", # An optional string indicating the location of the expression for error
              # reporting, e.g. a file name and a position in the file.
          "expression": "A String", # Textual representation of an expression in
              # Common Expression Language syntax.
              #
              # The application context of the containing message determines which
              # well-known feature set of CEL is supported.
          "description": "A String", # An optional description of the expression. This is a longer text which
              # describes the expression, e.g. when hovered over it in a UI.
          "title": "A String", # An 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.
        },
      },
    ],
    "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.
        #
        # If no `etag` is provided in the call to `setIamPolicy`, then the existing
        # policy is overwritten blindly.
  }
testIamPermissions(resource, body, x__xgafv=None)
Returns the permissions that a caller has on the specified note or
occurrence. Requires list permission on the project (for example,
`containeranalysis.notes.list`).

The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
occurrences.

Args:
  resource: string, REQUIRED: The resource for which the policy detail is being requested.
See the operation documentation for the appropriate value for this field. (required)
  body: object, The request body. (required)
    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
        # information see
        # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
      "A String",
    ],
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for `TestIamPermissions` method.
    "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
        # allowed.
      "A String",
    ],
  }