ImportJob

Struct ImportJob 

Source
#[non_exhaustive]
pub struct ImportJob { pub name: String, pub import_method: ImportMethod, pub protection_level: ProtectionLevel, pub create_time: Option<Timestamp>, pub generate_time: Option<Timestamp>, pub expire_time: Option<Timestamp>, pub expire_event_time: Option<Timestamp>, pub state: ImportJobState, pub public_key: Option<WrappingPublicKey>, pub attestation: Option<KeyOperationAttestation>, /* private fields */ }
Expand description

An ImportJob can be used to create CryptoKeys and CryptoKeyVersions using pre-existing key material, generated outside of Cloud KMS.

When an 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. When the wrapping key generation is complete, the state will be set to ACTIVE and the 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 in an existing CryptoKey by calling ImportCryptoKeyVersion. Multiple CryptoKeyVersions can be imported with a single 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 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’s public key.

For more information, see Importing a key.

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.
§name: String

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

§import_method: ImportMethod

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

§protection_level: ProtectionLevel

Required. Immutable. The protection level of the ImportJob. This must match the protection_level of the version_template on the CryptoKey you attempt to import into.

§create_time: Option<Timestamp>

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

§generate_time: Option<Timestamp>

Output only. The time this ImportJob’s key material was generated.

§expire_time: Option<Timestamp>

Output only. The time at which this ImportJob is scheduled for expiration and can no longer be used to import key material.

§expire_event_time: Option<Timestamp>

Output only. The time this ImportJob expired. Only present if state is EXPIRED.

§state: ImportJobState

Output only. The current state of the ImportJob, indicating if it can be used.

§public_key: Option<WrappingPublicKey>

Output only. The public key with which to wrap key material prior to import. Only returned if state is ACTIVE.

§attestation: Option<KeyOperationAttestation>

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 is one with a protection level of HSM.

Implementations§

Source§

impl ImportJob

Source

pub fn new() -> Self

Source

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

Sets the value of name.

Source

pub fn set_import_method<T: Into<ImportMethod>>(self, v: T) -> Self

Sets the value of import_method.

Source

pub fn set_protection_level<T: Into<ProtectionLevel>>(self, v: T) -> Self

Sets the value of protection_level.

Source

pub fn set_create_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of create_time.

Source

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

Sets or clears the value of create_time.

Source

pub fn set_generate_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of generate_time.

Source

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

Sets or clears the value of generate_time.

Source

pub fn set_expire_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of expire_time.

Source

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

Sets or clears the value of expire_time.

Source

pub fn set_expire_event_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of expire_event_time.

Source

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

Sets or clears the value of expire_event_time.

Source

pub fn set_state<T: Into<ImportJobState>>(self, v: T) -> Self

Sets the value of state.

Source

pub fn set_public_key<T>(self, v: T) -> Self

Sets the value of public_key.

Source

pub fn set_or_clear_public_key<T>(self, v: Option<T>) -> Self

Sets or clears the value of public_key.

Source

pub fn set_attestation<T>(self, v: T) -> Self

Sets the value of attestation.

Source

pub fn set_or_clear_attestation<T>(self, v: Option<T>) -> Self

Sets or clears the value of attestation.

Trait Implementations§

Source§

impl Clone for ImportJob

Source§

fn clone(&self) -> ImportJob

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 ImportJob

Source§

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

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

impl Default for ImportJob

Source§

fn default() -> ImportJob

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

impl Message for ImportJob

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for ImportJob

Source§

fn eq(&self, other: &ImportJob) -> 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 ImportJob

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>,