com.google.cloud.kms.v1.resources

Members list

Type members

Classlikes

final case class CryptoKey(name: String, primary: Option[CryptoKeyVersion], purpose: CryptoKeyPurpose, createTime: Option[Timestamp], nextRotationTime: Option[Timestamp], rotationSchedule: RotationSchedule, versionTemplate: Option[CryptoKeyVersionTemplate], labels: Map[String, String], importOnly: Boolean, destroyScheduledDuration: Option[Duration], cryptoKeyBackend: String, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[CryptoKey]

A [CryptoKey][google.cloud.kms.v1.CryptoKey] represents a logical key that can be used for cryptographic operations.

A [CryptoKey][google.cloud.kms.v1.CryptoKey] represents a logical key that can be used for cryptographic operations.

A [CryptoKey][google.cloud.kms.v1.CryptoKey] is made up of zero or more [versions][google.cloud.kms.v1.CryptoKeyVersion], which represent the actual key material used in cryptographic operations.

Value parameters

createTime

Output only. The time at which this [CryptoKey][google.cloud.kms.v1.CryptoKey] was created.

cryptoKeyBackend

Immutable. The resource name of the backend environment where the key material for all [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] associated with this [CryptoKey][google.cloud.kms.v1.CryptoKey] reside and where all related cryptographic operations are performed. Only applicable if [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] have a [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of [EXTERNAL_VPC][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC], with the resource name in the format projects/*/locations/*/ekmConnections/*. Note, this list is non-exhaustive and may apply to additional [ProtectionLevels][google.cloud.kms.v1.ProtectionLevel] in the future.

destroyScheduledDuration

Immutable. The period of time that versions of this key spend in the [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] state before transitioning to [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]. If not specified at creation time, the default duration is 24 hours.

importOnly

Immutable. Whether this key may contain imported versions only.

labels

Labels with user-defined metadata. For more information, see Labeling Keys.

name

Output only. The resource name for this [CryptoKey][google.cloud.kms.v1.CryptoKey] in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.

nextRotationTime

At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time], the Key Management Service will automatically:

  1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey].
  2. Mark the new version as primary. Key rotations performed manually via [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] and [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion] do not affect [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]. Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] support automatic rotation. For other keys, this field must be omitted.
primary

Output only. A copy of the "primary" [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this [CryptoKey][google.cloud.kms.v1.CryptoKey] is given in [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name]. The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be updated via [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]. Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] may have a primary. For other keys, this field will be omitted.

purpose

Immutable. The immutable purpose of this [CryptoKey][google.cloud.kms.v1.CryptoKey].

versionTemplate

A template describing settings for new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. The properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances created by either [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or auto-rotation are controlled by this template.

Attributes

Companion
object
Source
CryptoKey.scala
Supertypes
trait Updatable[CryptoKey]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object CryptoKey extends GeneratedMessageCompanion[CryptoKey]

Attributes

Companion
class
Source
CryptoKey.scala
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[CryptoKey]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
CryptoKey.type
final case class CryptoKeyVersion(name: String, state: CryptoKeyVersionState, protectionLevel: ProtectionLevel, algorithm: CryptoKeyVersionAlgorithm, attestation: Option[KeyOperationAttestation], createTime: Option[Timestamp], generateTime: Option[Timestamp], destroyTime: Option[Timestamp], destroyEventTime: Option[Timestamp], importJob: String, importTime: Option[Timestamp], importFailureReason: String, generationFailureReason: String, externalDestructionFailureReason: String, externalProtectionLevelOptions: Option[ExternalProtectionLevelOptions], reimportEligible: Boolean, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[CryptoKeyVersion]

A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents an individual cryptographic key, and the associated key material.

A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents an individual cryptographic key, and the associated key material.

An [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] version can be used for cryptographic operations.

For security reasons, the raw cryptographic key material represented by a [CryptoKeyVersion][google.cloud.kms.v1.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.

Value parameters

algorithm

Output only. The [CryptoKeyVersionAlgorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] that this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] supports.

attestation

Output only. Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with [protection_level][google.cloud.kms.v1.CryptoKeyVersion.protection_level] [HSM][google.cloud.kms.v1.ProtectionLevel.HSM].

createTime

Output only. The time at which this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] was created.

destroyEventTime

Output only. The time this CryptoKeyVersion's key material was destroyed. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED].

destroyTime

Output only. The time this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material is scheduled for destruction. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED].

externalDestructionFailureReason

Output only. The root cause of the most recent external destruction failure. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is [EXTERNAL_DESTRUCTION_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.EXTERNAL_DESTRUCTION_FAILED].

externalProtectionLevelOptions

ExternalProtectionLevelOptions stores a group of additional fields for configuring a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that are specific to the [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] protection level and [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC] protection levels.

generateTime

Output only. The time this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material was generated.

generationFailureReason

Output only. The root cause of the most recent generation failure. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is [GENERATION_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.GENERATION_FAILED].

importFailureReason

Output only. The root cause of the most recent import failure. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is [IMPORT_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.IMPORT_FAILED].

importJob

Output only. The name of the [ImportJob][google.cloud.kms.v1.ImportJob] used in the most recent import of this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Only present if the underlying key material was imported.

importTime

Output only. The time at which this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material was most recently imported.

name

Output only. The resource name for this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the format projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*.

protectionLevel

Output only. The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] describing how crypto operations are performed with this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].

reimportEligible

Output only. Whether or not this key version is eligible for reimport, by being specified as a target in [ImportCryptoKeyVersionRequest.crypto_key_version][google.cloud.kms.v1.ImportCryptoKeyVersionRequest.crypto_key_version].

state

The current state of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].

Attributes

Companion
object
Source
CryptoKeyVersion.scala
Supertypes
trait Updatable[CryptoKeyVersion]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object CryptoKeyVersion extends GeneratedMessageCompanion[CryptoKeyVersion]

Attributes

Companion
class
Source
CryptoKeyVersion.scala
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[CryptoKeyVersion]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
final case class CryptoKeyVersionTemplate(protectionLevel: ProtectionLevel, algorithm: CryptoKeyVersionAlgorithm, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[CryptoKeyVersionTemplate]

A [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTemplate] specifies the properties to use when creating a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], either manually with [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or automatically as a result of auto-rotation.

A [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTemplate] specifies the properties to use when creating a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], either manually with [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or automatically as a result of auto-rotation.

Value parameters

algorithm

Required. [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] to use when creating a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].

protectionLevel

[ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this template. Immutable. Defaults to [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].

Attributes

Companion
object
Source
CryptoKeyVersionTemplate.scala
Supertypes
trait Updatable[CryptoKeyVersionTemplate]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object CryptoKeyVersionTemplate extends GeneratedMessageCompanion[CryptoKeyVersionTemplate]

Attributes

Companion
class
Source
CryptoKeyVersionTemplate.scala
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[CryptoKeyVersionTemplate]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
final case class ExternalProtectionLevelOptions(externalKeyUri: String, ekmConnectionKeyPath: String, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[ExternalProtectionLevelOptions]

ExternalProtectionLevelOptions stores a group of additional fields for configuring a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that are specific to the [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] protection level and [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC] protection levels.

ExternalProtectionLevelOptions stores a group of additional fields for configuring a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that are specific to the [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] protection level and [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC] protection levels.

Value parameters

ekmConnectionKeyPath

The path to the external key material on the EKM when using [EkmConnection][google.cloud.kms.v1.EkmConnection] e.g., "v0/my/key". Set this field instead of external_key_uri when using an [EkmConnection][google.cloud.kms.v1.EkmConnection].

externalKeyUri

The URI for an external resource that this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents.

Attributes

Companion
object
Source
ExternalProtectionLevelOptions.scala
Supertypes
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object ExternalProtectionLevelOptions extends GeneratedMessageCompanion[ExternalProtectionLevelOptions]

Attributes

Companion
class
Source
ExternalProtectionLevelOptions.scala
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[ExternalProtectionLevelOptions]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
final case class ImportJob(name: String, importMethod: ImportMethod, protectionLevel: ProtectionLevel, createTime: Option[Timestamp], generateTime: Option[Timestamp], expireTime: Option[Timestamp], expireEventTime: Option[Timestamp], state: ImportJobState, publicKey: Option[WrappingPublicKey], attestation: Option[KeyOperationAttestation], unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[ImportJob]

An [ImportJob][google.cloud.kms.v1.ImportJob] can be used to create [CryptoKeys][google.cloud.kms.v1.CryptoKey] and [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] using pre-existing key material, generated outside of Cloud KMS.

An [ImportJob][google.cloud.kms.v1.ImportJob] can be used to create [CryptoKeys][google.cloud.kms.v1.CryptoKey] and [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] using pre-existing key material, generated outside of Cloud KMS.

When an [ImportJob][google.cloud.kms.v1.ImportJob] is created, Cloud KMS will generate a "wrapping key", which is a public/private key pair. You use the wrapping key to encrypt (also known as wrap) the pre-existing key material to protect it during the import process. The nature of the wrapping key depends on the choice of [import_method][google.cloud.kms.v1.ImportJob.import_method]. When the wrapping key generation is complete, the [state][google.cloud.kms.v1.ImportJob.state] will be set to [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE] and the [public_key][google.cloud.kms.v1.ImportJob.public_key] can be fetched. The fetched public key can then be used to wrap your pre-existing key material.

Once the key material is wrapped, it can be imported into a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in an existing [CryptoKey][google.cloud.kms.v1.CryptoKey] by calling [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]. Multiple [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can be imported with a single [ImportJob][google.cloud.kms.v1.ImportJob]. Cloud KMS uses the private key portion of the wrapping key to unwrap the key material. Only Cloud KMS has access to the private key.

An [ImportJob][google.cloud.kms.v1.ImportJob] expires 3 days after it is created. Once expired, Cloud KMS will no longer be able to import or unwrap any key material that was wrapped with the [ImportJob][google.cloud.kms.v1.ImportJob]'s public key.

For more information, see Importing a key.

Value parameters

attestation

Output only. Statement that was generated and signed by the key creator (for example, an HSM) at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only present if the chosen [ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod] is one with a protection level of [HSM][google.cloud.kms.v1.ProtectionLevel.HSM].

createTime

Output only. The time at which this [ImportJob][google.cloud.kms.v1.ImportJob] was created.

expireEventTime

Output only. The time this [ImportJob][google.cloud.kms.v1.ImportJob] expired. Only present if [state][google.cloud.kms.v1.ImportJob.state] is [EXPIRED][google.cloud.kms.v1.ImportJob.ImportJobState.EXPIRED].

expireTime

Output only. The time at which this [ImportJob][google.cloud.kms.v1.ImportJob] is scheduled for expiration and can no longer be used to import key material.

generateTime

Output only. The time this [ImportJob][google.cloud.kms.v1.ImportJob]'s key material was generated.

importMethod

Required. Immutable. The wrapping method to be used for incoming key material.

name

Output only. The resource name for this [ImportJob][google.cloud.kms.v1.ImportJob] in the format projects/*/locations/*/keyRings/*/importJobs/*.

protectionLevel

Required. Immutable. The protection level of the [ImportJob][google.cloud.kms.v1.ImportJob]. This must match the [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level] of the [version_template][google.cloud.kms.v1.CryptoKey.version_template] on the [CryptoKey][google.cloud.kms.v1.CryptoKey] you attempt to import into.

publicKey

Output only. The public key with which to wrap key material prior to import. Only returned if [state][google.cloud.kms.v1.ImportJob.state] is [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE].

state

Output only. The current state of the [ImportJob][google.cloud.kms.v1.ImportJob], indicating if it can be used.

Attributes

Companion
object
Source
ImportJob.scala
Supertypes
trait Updatable[ImportJob]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object ImportJob extends GeneratedMessageCompanion[ImportJob]

Attributes

Companion
class
Source
ImportJob.scala
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[ImportJob]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
ImportJob.type
final case class KeyOperationAttestation(format: AttestationFormat, content: ByteString, certChains: Option[CertificateChains], unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[KeyOperationAttestation]

Contains an HSM-generated attestation about a key operation. For more information, see [Verifying attestations] (https://cloud.google.com/kms/docs/attest-key).

Contains an HSM-generated attestation about a key operation. For more information, see [Verifying attestations] (https://cloud.google.com/kms/docs/attest-key).

Value parameters

certChains

Output only. The certificate chains needed to validate the attestation

content

Output only. The attestation data provided by the HSM when the key operation was performed.

format

Output only. The format of the attestation data.

Attributes

Companion
object
Source
KeyOperationAttestation.scala
Supertypes
trait Updatable[KeyOperationAttestation]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object KeyOperationAttestation extends GeneratedMessageCompanion[KeyOperationAttestation]

Attributes

Companion
class
Source
KeyOperationAttestation.scala
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[KeyOperationAttestation]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
final case class KeyRing(name: String, createTime: Option[Timestamp], unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[KeyRing]

A [KeyRing][google.cloud.kms.v1.KeyRing] is a toplevel logical grouping of [CryptoKeys][google.cloud.kms.v1.CryptoKey].

A [KeyRing][google.cloud.kms.v1.KeyRing] is a toplevel logical grouping of [CryptoKeys][google.cloud.kms.v1.CryptoKey].

Value parameters

createTime

Output only. The time at which this [KeyRing][google.cloud.kms.v1.KeyRing] was created.

name

Output only. The resource name for the [KeyRing][google.cloud.kms.v1.KeyRing] in the format projects/*/locations/*/keyRings/*.

Attributes

Companion
object
Source
KeyRing.scala
Supertypes
trait Updatable[KeyRing]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object KeyRing extends GeneratedMessageCompanion[KeyRing]

Attributes

Companion
class
Source
KeyRing.scala
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[KeyRing]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
KeyRing.type
sealed abstract class ProtectionLevel(val value: Int) extends GeneratedEnum

[ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] specifies how cryptographic operations are performed. For more information, see [Protection levels] (https://cloud.google.com/kms/docs/algorithms#protection_levels).

[ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] specifies how cryptographic operations are performed. For more information, see [Protection levels] (https://cloud.google.com/kms/docs/algorithms#protection_levels).

Attributes

Companion
object
Source
ProtectionLevel.scala
Supertypes
trait GeneratedEnum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
object EXTERNAL.type
object EXTERNAL_VPC.type
object HSM.type
trait Recognized
object SOFTWARE.type
class Unrecognized
Show all
object ProtectionLevel extends GeneratedEnumCompanion[ProtectionLevel]

Attributes

Companion
class
Source
ProtectionLevel.scala
Supertypes
trait Sum
trait Mirror
trait GeneratedEnumCompanion[ProtectionLevel]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
final case class PublicKey(pem: String, algorithm: CryptoKeyVersionAlgorithm, pemCrc32C: Option[Long], name: String, protectionLevel: ProtectionLevel, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[PublicKey]

The public key for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Obtained via [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].

The public key for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Obtained via [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].

Value parameters

algorithm

The [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] associated with this key.

name

The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key. Provided here for verification. NOTE: This field is in Beta.

pem

The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13).

pemCrc32C

Integrity verification field. A CRC32C checksum of the returned [PublicKey.pem][google.cloud.kms.v1.PublicKey.pem]. An integrity check of [PublicKey.pem][google.cloud.kms.v1.PublicKey.pem] can be performed by computing the CRC32C checksum of [PublicKey.pem][google.cloud.kms.v1.PublicKey.pem] and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type. NOTE: This field is in Beta.

protectionLevel

The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key.

Attributes

Companion
object
Source
PublicKey.scala
Supertypes
trait Updatable[PublicKey]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object PublicKey extends GeneratedMessageCompanion[PublicKey]

Attributes

Companion
class
Source
PublicKey.scala
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[PublicKey]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
PublicKey.type
object ResourcesProto extends GeneratedFileObject

Attributes

Source
ResourcesProto.scala
Supertypes
class GeneratedFileObject
class Object
trait Matchable
class Any
Self type