Class: Google::Apis::ContaineranalysisV1alpha1::Note

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/containeranalysis_v1alpha1/classes.rb,
lib/google/apis/containeranalysis_v1alpha1/representations.rb,
lib/google/apis/containeranalysis_v1alpha1/representations.rb

Overview

Provides a detailed description of a Note.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Note

Returns a new instance of Note.



5104
5105
5106
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5104

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#attestation_authorityGoogle::Apis::ContaineranalysisV1alpha1::AttestationAuthority

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



4966
4967
4968
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 4966

def attestation_authority
  @attestation_authority
end

#base_imageGoogle::Apis::ContaineranalysisV1alpha1::Basis

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



4973
4974
4975
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 4973

def base_image
  @base_image
end

#build_typeGoogle::Apis::ContaineranalysisV1alpha1::BuildType

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



4979
4980
4981
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 4979

def build_type
  @build_type
end

#complianceGoogle::Apis::ContaineranalysisV1alpha1::ComplianceNote

ComplianceNote encapsulates all information about a specific compliance check. Corresponds to the JSON property compliance



4984
4985
4986
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 4984

def compliance
  @compliance
end

#create_timeString

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

Returns:

  • (String)


4990
4991
4992
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 4990

def create_time
  @create_time
end

#deployableGoogle::Apis::ContaineranalysisV1alpha1::Deployable

An artifact that can be deployed in some runtime. Corresponds to the JSON property deployable



4995
4996
4997
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 4995

def deployable
  @deployable
end

#discoveryGoogle::Apis::ContaineranalysisV1alpha1::Discovery

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



5004
5005
5006
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5004

def discovery
  @discovery
end

#dsse_attestationGoogle::Apis::ContaineranalysisV1alpha1::DsseAttestationNote

A note describing an attestation Corresponds to the JSON property dsseAttestation



5009
5010
5011
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5009

def dsse_attestation
  @dsse_attestation
end

#expiration_timeString

Time of expiration for this note, null if note does not expire. Corresponds to the JSON property expirationTime

Returns:

  • (String)


5014
5015
5016
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5014

def expiration_time
  @expiration_time
end

#kindString

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

Returns:

  • (String)


5020
5021
5022
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5020

def kind
  @kind
end

#long_descriptionString

A detailed description of this Note. Corresponds to the JSON property longDescription

Returns:

  • (String)


5025
5026
5027
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5025

def long_description
  @long_description
end

#nameString

The name of the note in the form "projects/provider_project_id/notes/ NOTE_ID" Corresponds to the JSON property name

Returns:

  • (String)


5031
5032
5033
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5031

def name
  @name
end

#packageGoogle::Apis::ContaineranalysisV1alpha1::Package

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



5037
5038
5039
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5037

def package
  @package
end

URLs associated with this note Corresponds to the JSON property relatedUrl



5042
5043
5044
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5042

def related_url
  @related_url
end

#sbomGoogle::Apis::ContaineranalysisV1alpha1::DocumentNote

DocumentNote represents an SPDX Document Creation Infromation section: https:// spdx.github.io/spdx-spec/2-document-creation-information/ Corresponds to the JSON property sbom



5048
5049
5050
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5048

def sbom
  @sbom
end

#sbom_referenceGoogle::Apis::ContaineranalysisV1alpha1::SbomReferenceNote

The note representing an SBOM reference. Corresponds to the JSON property sbomReference



5053
5054
5055
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5053

def sbom_reference
  @sbom_reference
end

#short_descriptionString

A one sentence description of this Note. Corresponds to the JSON property shortDescription

Returns:

  • (String)


5058
5059
5060
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5058

def short_description
  @short_description
end

#spdx_fileGoogle::Apis::ContaineranalysisV1alpha1::FileNote

FileNote represents an SPDX File Information section: https://spdx.github.io/ spdx-spec/4-file-information/ Corresponds to the JSON property spdxFile



5064
5065
5066
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5064

def spdx_file
  @spdx_file
end

#spdx_packageGoogle::Apis::ContaineranalysisV1alpha1::PackageInfoNote

PackageInfoNote represents an SPDX Package Information section: https://spdx. github.io/spdx-spec/3-package-information/ Corresponds to the JSON property spdxPackage



5070
5071
5072
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5070

def spdx_package
  @spdx_package
end

#spdx_relationshipGoogle::Apis::ContaineranalysisV1alpha1::RelationshipNote

RelationshipNote represents an SPDX Relationship section: https://spdx.github. io/spdx-spec/7-relationships-between-SPDX-elements/ Corresponds to the JSON property spdxRelationship



5076
5077
5078
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5076

def spdx_relationship
  @spdx_relationship
end

#update_timeString

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

Returns:

  • (String)


5082
5083
5084
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5082

def update_time
  @update_time
end

#upgradeGoogle::Apis::ContaineranalysisV1alpha1::UpgradeNote

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



5089
5090
5091
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5089

def upgrade
  @upgrade
end

#vulnerability_assessmentGoogle::Apis::ContaineranalysisV1alpha1::VulnerabilityAssessmentNote

A single VulnerabilityAssessmentNote represents one particular product's vulnerability assessment for one CVE. Multiple VulnerabilityAssessmentNotes together form a Vex statement. Please go/sds-vex-example for a sample Vex statement in the CSAF format. Corresponds to the JSON property vulnerabilityAssessment



5097
5098
5099
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5097

def vulnerability_assessment
  @vulnerability_assessment
end

#vulnerability_typeGoogle::Apis::ContaineranalysisV1alpha1::VulnerabilityType

VulnerabilityType provides metadata about a security vulnerability. Corresponds to the JSON property vulnerabilityType



5102
5103
5104
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5102

def vulnerability_type
  @vulnerability_type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5109

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)
  @sbom_reference = args[:sbom_reference] if args.key?(:sbom_reference)
  @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_assessment = args[:vulnerability_assessment] if args.key?(:vulnerability_assessment)
  @vulnerability_type = args[:vulnerability_type] if args.key?(:vulnerability_type)
end