Skip to main content

CustomerEncryptionKey

Struct CustomerEncryptionKey 

Source
#[non_exhaustive]
pub struct CustomerEncryptionKey { pub kms_key_name: Option<String>, pub kms_key_service_account: Option<String>, pub raw_key: Option<String>, pub rsa_encrypted_key: Option<String>, pub sha256: Option<String>, /* private fields */ }
Available on crate features disks or image-family-views or images or instance-templates or instances or machine-images or region-disks or region-instance-templates or region-instances or snapshots only.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§kms_key_name: Option<String>

The name of the encryption key that is stored in Google Cloud KMS. For example:

“kmsKeyName”: “projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key

The fully-qualifed key name may be returned for resource GET requests. For example:

“kmsKeyName”: “projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeyVersions/1

§kms_key_service_account: Option<String>

The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used. For example:

“kmsKeyServiceAccount”: “name@project_id.iam.gserviceaccount.com/

§raw_key: Option<String>

Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. You can provide either the rawKey or thersaEncryptedKey. For example:

“rawKey”: “SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=”

§rsa_encrypted_key: Option<String>

Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. You can provide either the rawKey or thersaEncryptedKey. For example:

“rsaEncryptedKey”: “ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==”

The key must meet the following requirements before you can provide it to Compute Engine:

  1. The key is wrapped using a RSA public key certificate provided by Google.
  2. After being wrapped, the key must be encoded in RFC 4648 base64 encoding.

Gets the RSA public key certificate provided by Google at:

https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem

§sha256: Option<String>

[Output only] TheRFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.

Implementations§

Source§

impl CustomerEncryptionKey

Source

pub fn new() -> Self

Source

pub fn set_kms_key_name<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of kms_key_name.

§Example
let x = CustomerEncryptionKey::new().set_kms_key_name("example");
Source

pub fn set_or_clear_kms_key_name<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of kms_key_name.

§Example
let x = CustomerEncryptionKey::new().set_or_clear_kms_key_name(Some("example"));
let x = CustomerEncryptionKey::new().set_or_clear_kms_key_name(None::<String>);
Source

pub fn set_kms_key_service_account<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of kms_key_service_account.

§Example
let x = CustomerEncryptionKey::new().set_kms_key_service_account("example");
Source

pub fn set_or_clear_kms_key_service_account<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of kms_key_service_account.

§Example
let x = CustomerEncryptionKey::new().set_or_clear_kms_key_service_account(Some("example"));
let x = CustomerEncryptionKey::new().set_or_clear_kms_key_service_account(None::<String>);
Source

pub fn set_raw_key<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of raw_key.

§Example
let x = CustomerEncryptionKey::new().set_raw_key("example");
Source

pub fn set_or_clear_raw_key<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of raw_key.

§Example
let x = CustomerEncryptionKey::new().set_or_clear_raw_key(Some("example"));
let x = CustomerEncryptionKey::new().set_or_clear_raw_key(None::<String>);
Source

pub fn set_rsa_encrypted_key<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of rsa_encrypted_key.

§Example
let x = CustomerEncryptionKey::new().set_rsa_encrypted_key("example");
Source

pub fn set_or_clear_rsa_encrypted_key<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of rsa_encrypted_key.

§Example
let x = CustomerEncryptionKey::new().set_or_clear_rsa_encrypted_key(Some("example"));
let x = CustomerEncryptionKey::new().set_or_clear_rsa_encrypted_key(None::<String>);
Source

pub fn set_sha256<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of sha256.

§Example
let x = CustomerEncryptionKey::new().set_sha256("example");
Source

pub fn set_or_clear_sha256<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of sha256.

§Example
let x = CustomerEncryptionKey::new().set_or_clear_sha256(Some("example"));
let x = CustomerEncryptionKey::new().set_or_clear_sha256(None::<String>);

Trait Implementations§

Source§

impl Clone for CustomerEncryptionKey

Source§

fn clone(&self) -> CustomerEncryptionKey

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CustomerEncryptionKey

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CustomerEncryptionKey

Source§

fn default() -> CustomerEncryptionKey

Returns the “default value” for a type. Read more
Source§

impl Message for CustomerEncryptionKey

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for CustomerEncryptionKey

Source§

fn eq(&self, other: &CustomerEncryptionKey) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for CustomerEncryptionKey

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

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