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

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ CryptoKeyVersion

Returns a new instance of CryptoKeyVersion



425
426
427
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 425

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)


374
375
376
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 374

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



381
382
383
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 381

def attestation
  @attestation
end

#create_timeString

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

Returns:

  • (String)


386
387
388
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 386

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)


393
394
395
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 393

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)


400
401
402
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 400

def destroy_time
  @destroy_time
end

#generate_timeString

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

Returns:

  • (String)


406
407
408
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 406

def generate_time
  @generate_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)


412
413
414
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 412

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)


418
419
420
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 418

def protection_level
  @protection_level
end

#stateString

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

Returns:

  • (String)


423
424
425
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 423

def state
  @state
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



430
431
432
433
434
435
436
437
438
439
440
# File 'generated/google/apis/cloudkms_v1/classes.rb', line 430

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