Class: Google::Apis::CloudkmsV1::CryptoKeyVersion

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

Overview

A CryptoKeyVersion represents an individual cryptographic key, and the associated key material. An ENABLED version can be used for cryptographic operations. For security reasons, the raw cryptographic key material represented by a CryptoKeyVersion can never be viewed or exported. It can only be used to encrypt, decrypt, or sign data when an authorized user or application invokes Cloud KMS.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ CryptoKeyVersion

Returns a new instance of CryptoKeyVersion.



547
548
549
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 547

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

Instance Attribute Details

#algorithmString

Output only. The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports. Corresponds to the JSON property algorithm

Returns:

  • (String)


474
475
476
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 474

def algorithm
  @algorithm
end

#attestationGoogle::Apis::CloudkmsV1::KeyOperationAttestation

Contains an HSM-generated attestation about a key operation. For more information, see Verifying attestations. Corresponds to the JSON property attestation



481
482
483
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 481

def attestation
  @attestation
end

#create_timeString

Output only. The time at which this CryptoKeyVersion was created. Corresponds to the JSON property createTime

Returns:

  • (String)


486
487
488
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 486

def create_time
  @create_time
end

#destroy_event_timeString

Output only. The time this CryptoKeyVersion's key material was destroyed. Only present if state is DESTROYED. Corresponds to the JSON property destroyEventTime

Returns:

  • (String)


492
493
494
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 492

def destroy_event_time
  @destroy_event_time
end

#destroy_timeString

Output only. The time this CryptoKeyVersion's key material is scheduled for destruction. Only present if state is DESTROY_SCHEDULED. Corresponds to the JSON property destroyTime

Returns:

  • (String)


498
499
500
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 498

def destroy_time
  @destroy_time
end

#external_protection_level_optionsGoogle::Apis::CloudkmsV1::ExternalProtectionLevelOptions

ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level. Corresponds to the JSON property externalProtectionLevelOptions



505
506
507
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 505

def external_protection_level_options
  @external_protection_level_options
end

#generate_timeString

Output only. The time this CryptoKeyVersion's key material was generated. Corresponds to the JSON property generateTime

Returns:

  • (String)


510
511
512
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 510

def generate_time
  @generate_time
end

#import_failure_reasonString

Output only. The root cause of an import failure. Only present if state is IMPORT_FAILED. Corresponds to the JSON property importFailureReason

Returns:

  • (String)


516
517
518
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 516

def import_failure_reason
  @import_failure_reason
end

#import_jobString

Output only. The name of the ImportJob used to import this CryptoKeyVersion. Only present if the underlying key material was imported. Corresponds to the JSON property importJob

Returns:

  • (String)


522
523
524
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 522

def import_job
  @import_job
end

#import_timeString

Output only. The time at which this CryptoKeyVersion's key material was imported. Corresponds to the JSON property importTime

Returns:

  • (String)


528
529
530
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 528

def import_time
  @import_time
end

#nameString

Output only. The resource name for this CryptoKeyVersion in the format projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*. Corresponds to the JSON property name

Returns:

  • (String)


534
535
536
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 534

def name
  @name
end

#protection_levelString

Output only. The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion. Corresponds to the JSON property protectionLevel

Returns:

  • (String)


540
541
542
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 540

def protection_level
  @protection_level
end

#stateString

The current state of the CryptoKeyVersion. Corresponds to the JSON property state

Returns:

  • (String)


545
546
547
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 545

def state
  @state
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 552

def update!(**args)
  @algorithm = args[:algorithm] if args.key?(:algorithm)
  @attestation = args[:attestation] if args.key?(:attestation)
  @create_time = args[:create_time] if args.key?(:create_time)
  @destroy_event_time = args[:destroy_event_time] if args.key?(:destroy_event_time)
  @destroy_time = args[:destroy_time] if args.key?(:destroy_time)
  @external_protection_level_options = args[:external_protection_level_options] if args.key?(:external_protection_level_options)
  @generate_time = args[:generate_time] if args.key?(:generate_time)
  @import_failure_reason = args[:import_failure_reason] if args.key?(:import_failure_reason)
  @import_job = args[:import_job] if args.key?(:import_job)
  @import_time = args[:import_time] if args.key?(:import_time)
  @name = args[:name] if args.key?(:name)
  @protection_level = args[:protection_level] if args.key?(:protection_level)
  @state = args[:state] if args.key?(:state)
end