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.



5548
5549
5550
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5548

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



5405
5406
5407
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5405

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



5412
5413
5414
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5412

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



5418
5419
5420
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5418

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



5423
5424
5425
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5423

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)


5429
5430
5431
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5429

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



5434
5435
5436
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5434

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



5443
5444
5445
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5443

def discovery
  @discovery
end

#dsse_attestationGoogle::Apis::ContaineranalysisV1alpha1::DsseAttestationNote

A note describing an attestation Corresponds to the JSON property dsseAttestation



5448
5449
5450
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5448

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)


5453
5454
5455
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5453

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)


5459
5460
5461
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5459

def kind
  @kind
end

#long_descriptionString

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

Returns:

  • (String)


5464
5465
5466
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5464

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)


5470
5471
5472
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5470

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



5476
5477
5478
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5476

def package
  @package
end

URLs associated with this note Corresponds to the JSON property relatedUrl



5481
5482
5483
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5481

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



5487
5488
5489
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5487

def sbom
  @sbom
end

#sbom_referenceGoogle::Apis::ContaineranalysisV1alpha1::SbomReferenceNote

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



5492
5493
5494
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5492

def sbom_reference
  @sbom_reference
end

#secretGoogle::Apis::ContaineranalysisV1alpha1::SecretNote

The note representing a secret. Corresponds to the JSON property secret



5497
5498
5499
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5497

def secret
  @secret
end

#short_descriptionString

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

Returns:

  • (String)


5502
5503
5504
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5502

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



5508
5509
5510
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5508

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



5514
5515
5516
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5514

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



5520
5521
5522
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5520

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)


5526
5527
5528
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5526

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



5533
5534
5535
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5533

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



5541
5542
5543
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5541

def vulnerability_assessment
  @vulnerability_assessment
end

#vulnerability_typeGoogle::Apis::ContaineranalysisV1alpha1::VulnerabilityType

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



5546
5547
5548
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5546

def vulnerability_type
  @vulnerability_type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
# File 'lib/google/apis/containeranalysis_v1alpha1/classes.rb', line 5553

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)
  @secret = args[:secret] if args.key?(:secret)
  @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