vaultrs::api::transit::requests

Struct GenerateDataKeyRequest

source
pub struct GenerateDataKeyRequest {
    pub mount: String,
    pub key_type: DataKeyType,
    pub name: String,
    pub context: Option<String>,
    pub nonce: Option<String>,
    pub bits: Option<u16>,
}
Expand description

§Generate Data Key

This endpoint generates a new high-entropy key and the value encrypted with the named key. Optionally return the plaintext of the key as well. Whether plaintext is returned depends on the path; as a result, you can use Vault ACL policies to control whether a user is allowed to retrieve the plaintext value of a key. This is useful if you want an untrusted user or operation to generate keys that are then made available to trusted users.

Fields§

§mount: String§key_type: DataKeyType

Specifies the type of key to generate. If plaintext, the plaintext key will be returned along with the ciphertext. If wrapped, only the ciphertext value will be returned.

§name: String

Specifies the name of the encryption key to use to encrypt the datakey.

§context: Option<String>

Specifies the key derivation context, provided as a base64-encoded string. This must be provided if derivation is enabled.

§nonce: Option<String>

Specifies a nonce value, provided as base64 encoded. Must be provided if convergent encryption is enabled for this key and the key was generated with Vault 0.6.1. Not required for keys created in 0.6.2+. The value must be exactly 96 bits (12 bytes) long and the user must ensure that for any given context (and thus, any given encryption key) this nonce value is never reused.

§bits: Option<u16>

Specifies the number of bits in the desired key. Can be 128, 256, or 512. Default is 256 bits.

Implementations§

Trait Implementations§

source§

impl Debug for GenerateDataKeyRequest

source§

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

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

impl Default for GenerateDataKeyRequest

source§

fn default() -> GenerateDataKeyRequest

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

impl Endpoint for GenerateDataKeyRequest

source§

const REQUEST_BODY_TYPE: RequestType = RequestType::JSON

The content type of the request body
source§

const RESPONSE_BODY_TYPE: ResponseType = ResponseType::JSON

The content type of the response body
source§

type Response = GenerateDataKeyResponse

The type that the raw response from executing this endpoint will deserialized into. This type is passed on to the EndpointResult and is used to determine the type returned when the parse() method is called.
source§

fn path(&self) -> String

The relative URL path that represents the location of this Endpoint. This is combined with the base URL from a Client instance to create the fully qualified URL.
source§

fn method(&self) -> RequestMethod

The HTTP method to be used when executing this Endpoint.
source§

fn body(&self) -> Result<Option<Vec<u8>>, ClientError>

Optional data to add to the body of the request.
source§

fn query(&self) -> Result<Option<String>, ClientError>

Optional query parameters to add to the request.
source§

fn url(&self, base: &str) -> Result<Uri, ClientError>

Returns the full URL address of the endpoint using the base address.
source§

fn request(&self, base: &str) -> Result<Request<Vec<u8>>, ClientError>

Returns a Request containing all data necessary to execute against this endpoint.
source§

fn exec<'life0, 'life1, 'async_trait>( &'life0 self, client: &'life1 (impl Client + 'async_trait), ) -> Pin<Box<dyn Future<Output = Result<EndpointResult<Self::Response>, ClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

Executes the Endpoint using the given Client.
source§

fn with_middleware<M>(self, middleware: &M) -> MutatedEndpoint<'_, Self, M>
where M: MiddleWare,

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> 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<E> ResponseWrapper for E
where E: Endpoint,

source§

fn wrap<'life0, 'async_trait>( self, client: &'life0 (impl 'async_trait + Client), ) -> Pin<Box<dyn Future<Output = Result<WrappedResponse<Self>, ClientError>> + Send + 'async_trait>>
where Self: Send + 'async_trait, 'life0: 'async_trait,

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<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> ErasedDestructor for T
where T: 'static,

source§

impl<T> MaybeSendSync for T