pub struct ImportJob {
pub attestation: Option<KeyOperationAttestation>,
pub create_time: Option<DateTime<Utc>>,
pub expire_event_time: Option<DateTime<Utc>>,
pub expire_time: Option<DateTime<Utc>>,
pub generate_time: Option<DateTime<Utc>>,
pub import_method: Option<String>,
pub name: Option<String>,
pub protection_level: Option<String>,
pub public_key: Option<WrappingPublicKey>,
pub state: Option<String>,
}
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.
§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).
- locations key rings import jobs create projects (request|response)
- locations key rings import jobs get projects (response)
Fields§
§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.
create_time: Option<DateTime<Utc>>
Output only. The time at which this ImportJob was created.
expire_event_time: Option<DateTime<Utc>>
Output only. The time this ImportJob expired. Only present if state is EXPIRED.
expire_time: Option<DateTime<Utc>>
Output only. The time at which this ImportJob is scheduled for expiration and can no longer be used to import key material.
generate_time: Option<DateTime<Utc>>
Output only. The time this ImportJob’s key material was generated.
import_method: Option<String>
Required. Immutable. The wrapping method to be used for incoming key material.
name: Option<String>
Output only. The resource name for this ImportJob in the format projects/*/locations/*/keyRings/*/importJobs/*
.
protection_level: Option<String>
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.
public_key: Option<WrappingPublicKey>
Output only. The public key with which to wrap key material prior to import. Only returned if state is ACTIVE.
state: Option<String>
Output only. The current state of the ImportJob, indicating if it can be used.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ImportJob
impl<'de> Deserialize<'de> for ImportJob
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl RequestValue for ImportJob
impl ResponseResult for ImportJob
Auto Trait Implementations§
impl Freeze for ImportJob
impl RefUnwindSafe for ImportJob
impl Send for ImportJob
impl Sync for ImportJob
impl Unpin for ImportJob
impl UnwindSafe for ImportJob
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more