[][src]Struct google_cloudkms1::CryptoKey

pub struct CryptoKey {
    pub labels: Option<HashMap<String, String>>,
    pub name: Option<String>,
    pub rotation_period: Option<String>,
    pub primary: Option<CryptoKeyVersion>,
    pub create_time: Option<String>,
    pub purpose: Option<String>,
    pub version_template: Option<CryptoKeyVersionTemplate>,
    pub next_rotation_time: Option<String>,
}

A CryptoKey represents a logical key that can be used for cryptographic operations.

A CryptoKey is made up of one or more versions, which represent the actual key material used in cryptographic operations.

Activities

This type is used in activities, which are methods you may call on this type or where this type is involved in. The list links the activity name, along with information about where it is used (one of request and response).

Fields

labels: Option<HashMap<String, String>>

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

name: Option<String>

Output only. The resource name for this CryptoKey in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.

rotation_period: Option<String>

next_rotation_time will be advanced by this period when the service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours.

If rotation_period is set, next_rotation_time must also be set.

Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted.

primary: Option<CryptoKeyVersion>

Output only. A copy of the "primary" CryptoKeyVersion that will be used by Encrypt when this CryptoKey is given in EncryptRequest.name.

The CryptoKey's primary version can be updated via UpdateCryptoKeyPrimaryVersion.

All keys with purpose ENCRYPT_DECRYPT have a primary. For other keys, this field will be omitted.

create_time: Option<String>

Output only. The time at which this CryptoKey was created.

purpose: Option<String>

The immutable purpose of this CryptoKey.

version_template: Option<CryptoKeyVersionTemplate>

A template describing settings for new CryptoKeyVersion instances. The properties of new CryptoKeyVersion instances created by either CreateCryptoKeyVersion or auto-rotation are controlled by this template.

next_rotation_time: Option<String>

At next_rotation_time, the Key Management Service will automatically:

  1. Create a new version of this CryptoKey.
  2. Mark the new version as primary.

Key rotations performed manually via CreateCryptoKeyVersion and UpdateCryptoKeyPrimaryVersion do not affect next_rotation_time.

Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted.

Trait Implementations

impl ResponseResult for CryptoKey[src]

impl RequestValue for CryptoKey[src]

impl Clone for CryptoKey[src]

impl Default for CryptoKey[src]

impl Debug for CryptoKey[src]

impl Serialize for CryptoKey[src]

impl<'de> Deserialize<'de> for CryptoKey[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Typeable for T where
    T: Any

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]