pub struct HmacKeyClient<'a>(/* private fields */);
Expand description

Operations on HmacKeys.

Implementations§

source§

impl<'a> HmacKeyClient<'a>

source

pub async fn create(&self) -> Result<HmacKey>

Creates a new HMAC key for the specified service account.

The authenticated user must have storage.hmacKeys.create permission for the project in which the key will be created.

For general information about HMAC keys in Cloud Storage, see HMAC Keys.

Example
use cloud_storage::Client;
use cloud_storage::hmac_key::HmacKey;

let client = Client::default();
let hmac_key = client.hmac_key().create().await?;
source

pub async fn list(&self) -> Result<Vec<HmacMeta>>

Retrieves a list of HMAC keys matching the criteria. Since the HmacKey is secret, this does not return a HmacKey, but a HmacMeta. This is a redacted version of a HmacKey, but with the secret data omitted.

The authenticated user must have storage.hmacKeys.list permission for the project in which the key exists.

For general information about HMAC keys in Cloud Storage, see HMAC Keys.

Example
use cloud_storage::Client;
use cloud_storage::hmac_key::HmacKey;

let client = Client::default();
let all_hmac_keys = client.hmac_key().list().await?;
source

pub async fn read(&self, access_id: &str) -> Result<HmacMeta>

Retrieves an HMAC key’s metadata. Since the HmacKey is secret, this does not return a HmacKey, but a HmacMeta. This is a redacted version of a HmacKey, but with the secret data omitted.

The authenticated user must have storage.hmacKeys.get permission for the project in which the key exists.

For general information about HMAC keys in Cloud Storage, see HMAC Keys.

Example
use cloud_storage::Client;
use cloud_storage::hmac_key::HmacKey;

let client = Client::default();
let key = client.hmac_key().read("some identifier").await?;
source

pub async fn update( &self, access_id: &str, state: HmacState ) -> Result<HmacMeta>

Updates the state of an HMAC key. See the HMAC Key resource descriptor for valid states. Since the HmacKey is secret, this does not return a HmacKey, but a HmacMeta. This is a redacted version of a HmacKey, but with the secret data omitted.

The authenticated user must have storage.hmacKeys.update permission for the project in which the key exists.

For general information about HMAC keys in Cloud Storage, see HMAC Keys.

Example
use cloud_storage::Client;
use cloud_storage::hmac_key::{HmacKey, HmacState};

let client = Client::default();
let key = client.hmac_key().update("your key", HmacState::Active).await?;
source

pub async fn delete(&self, access_id: &str) -> Result<()>

Deletes an HMAC key. Note that a key must be set to Inactive first.

The authenticated user must have storage.hmacKeys.delete permission for the project in which the key exists.

For general information about HMAC keys in Cloud Storage, see HMAC Keys.

Example
use cloud_storage::Client;
use cloud_storage::hmac_key::{HmacKey, HmacState};

let client = Client::default();
let key = client.hmac_key().update("your key", HmacState::Inactive).await?; // this is required.
client.hmac_key().delete(&key.access_id).await?;

Trait Implementations§

source§

impl<'a> Debug for HmacKeyClient<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for HmacKeyClient<'a>

§

impl<'a> Send for HmacKeyClient<'a>

§

impl<'a> Sync for HmacKeyClient<'a>

§

impl<'a> Unpin for HmacKeyClient<'a>

§

impl<'a> !UnwindSafe for HmacKeyClient<'a>

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<T, U> TryFrom<U> for T
where U: Into<T>,

§

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

§

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