class Google::Apis::ContaineranalysisV1alpha1::Note

Provides a detailed description of a `Note`.

Attributes

attestation_authority[RW]

Note kind that represents a logical attestation “role” or “authority”. For example, an organization might have one `AttestationAuthority` for “QA” and one for “build”. This Note is intended to act strictly as a grouping mechanism for the attached Occurrences (Attestations). This grouping mechanism also provides a security boundary, since IAM ACLs gate the ability for a principle to attach an Occurrence to a given Note. It also provides a single point of lookup to find all attached Attestation Occurrences, even if they don't all live in the same project. Corresponds to the JSON property `attestationAuthority` @return [Google::Apis::ContaineranalysisV1alpha1::AttestationAuthority]

base_image[RW]

Basis describes the base image portion (Note) of the DockerImage 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. Corresponds to the JSON property `baseImage` @return [Google::Apis::ContaineranalysisV1alpha1::Basis]

build_type[RW]

Note holding the version of the provider's builder and the signature of the provenance message in linked BuildDetails. Corresponds to the JSON property `buildType` @return [Google::Apis::ContaineranalysisV1alpha1::BuildType]

compliance[RW]

ComplianceNote encapsulates all information about a specific compliance check. Corresponds to the JSON property `compliance` @return [Google::Apis::ContaineranalysisV1alpha1::ComplianceNote]

create_time[RW]

Output only. The time this note was created. This field can be used as a filter in list requests. Corresponds to the JSON property `createTime` @return [String]

deployable[RW]

An artifact that can be deployed in some runtime. Corresponds to the JSON property `deployable` @return [Google::Apis::ContaineranalysisV1alpha1::Deployable]

discovery[RW]

A note that indicates a type of analysis a provider would perform. This note exists in a provider's project. A `Discovery` occurrence is created in a consumer's project at the start of analysis. The occurrence's operation will indicate the status of the analysis. Absence of an occurrence linked to this note for a resource indicates that analysis hasn't started. Corresponds to the JSON property `discovery` @return [Google::Apis::ContaineranalysisV1alpha1::Discovery]

dsse_attestation[RW]

A note describing an attestation Corresponds to the JSON property `dsseAttestation` @return [Google::Apis::ContaineranalysisV1alpha1::DsseAttestationNote]

expiration_time[RW]

Time of expiration for this note, null if note does not expire. Corresponds to the JSON property `expirationTime` @return [String]

kind[RW]

Output only. This explicitly denotes which kind of note is specified. This field can be used as a filter in list requests. Corresponds to the JSON property `kind` @return [String]

long_description[RW]

A detailed description of this `Note`. Corresponds to the JSON property `longDescription` @return [String]

name[RW]

The name of the note in the form “projects/`provider_project_id`/notes/` NOTE_ID`” Corresponds to the JSON property `name` @return [String]

package[RW]

This represents a particular package that is distributed over various channels. e.g. glibc (aka libc6) is distributed by many, at various versions. Corresponds to the JSON property `package` @return [Google::Apis::ContaineranalysisV1alpha1::Package]

sbom[RW]

DocumentNote represents an SPDX Document Creation Infromation section: https:// spdx.github.io/spdx-spec/2-document-creation-information/ Corresponds to the JSON property `sbom` @return [Google::Apis::ContaineranalysisV1alpha1::DocumentNote]

short_description[RW]

A one sentence description of this `Note`. Corresponds to the JSON property `shortDescription` @return [String]

spdx_file[RW]

FileNote represents an SPDX File Information section: spdx.github.io/ spdx-spec/4-file-information/ Corresponds to the JSON property `spdxFile` @return [Google::Apis::ContaineranalysisV1alpha1::FileNote]

spdx_package[RW]

PackageNote represents an SPDX Package Information section: spdx. github.io/spdx-spec/3-package-information/ Corresponds to the JSON property `spdxPackage` @return [Google::Apis::ContaineranalysisV1alpha1::PackageNote]

spdx_relationship[RW]

RelationshipNote represents an SPDX Relationship section: spdx.github. io/spdx-spec/7-relationships-between-SPDX-elements/ Corresponds to the JSON property `spdxRelationship` @return [Google::Apis::ContaineranalysisV1alpha1::RelationshipNote]

update_time[RW]

Output only. The time this note was last updated. This field can be used as a filter in list requests. Corresponds to the JSON property `updateTime` @return [String]

upgrade[RW]

An Upgrade Note represents a potential upgrade of a package to a given version. For each package version combination (i.e. bash 4.0, bash 4.1, bash 4.1.2), there will be a Upgrade Note. Corresponds to the JSON property `upgrade` @return [Google::Apis::ContaineranalysisV1alpha1::UpgradeNote]

vulnerability_type[RW]

VulnerabilityType provides metadata about a security vulnerability. Corresponds to the JSON property `vulnerabilityType` @return [Google::Apis::ContaineranalysisV1alpha1::VulnerabilityType]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/containeranalysis_v1alpha1/classes.rb, line 2410
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/containeranalysis_v1alpha1/classes.rb, line 2415
def update!(**args)
  @attestation_authority = args[:attestation_authority] if args.key?(:attestation_authority)
  @base_image = args[:base_image] if args.key?(:base_image)
  @build_type = args[:build_type] if args.key?(:build_type)
  @compliance = args[:compliance] if args.key?(:compliance)
  @create_time = args[:create_time] if args.key?(:create_time)
  @deployable = args[:deployable] if args.key?(:deployable)
  @discovery = args[:discovery] if args.key?(:discovery)
  @dsse_attestation = args[:dsse_attestation] if args.key?(:dsse_attestation)
  @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
  @kind = args[:kind] if args.key?(:kind)
  @long_description = args[:long_description] if args.key?(:long_description)
  @name = args[:name] if args.key?(:name)
  @package = args[:package] if args.key?(:package)
  @related_url = args[:related_url] if args.key?(:related_url)
  @sbom = args[:sbom] if args.key?(:sbom)
  @short_description = args[:short_description] if args.key?(:short_description)
  @spdx_file = args[:spdx_file] if args.key?(:spdx_file)
  @spdx_package = args[:spdx_package] if args.key?(:spdx_package)
  @spdx_relationship = args[:spdx_relationship] if args.key?(:spdx_relationship)
  @update_time = args[:update_time] if args.key?(:update_time)
  @upgrade = args[:upgrade] if args.key?(:upgrade)
  @vulnerability_type = args[:vulnerability_type] if args.key?(:vulnerability_type)
end