Struct cloud_storage::hmac_key::HmacKey[][src]

pub struct HmacKey {
    pub kind: String,
    pub metadata: HmacMeta,
    pub secret: String,
}
Expand description

The HmacKey resource represents an HMAC key within Cloud Storage. The resource consists of a secret and HmacMeta. HMAC keys can be used as credentials for service accounts. For more information, see HMAC Keys.

Note that the HmacKey resource is only returned when you use HmacKey::create. Other methods, such as HmacKey::read, return the metadata portion of the HMAC key resource.

Fields

kind: String

The kind of item this is. For HMAC keys, this is always storage#hmacKey.

metadata: HmacMeta

HMAC key metadata.

secret: String

HMAC secret key material.

Implementations

impl HmacKey[src]

pub async fn create() -> Result<Self>[src]

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::hmac_key::HmacKey;

let hmac_key = HmacKey::create().await?;

pub fn create_sync() -> Result<Self>[src]

The synchronous equivalent of HmacKey::create.

Features

This function requires that the feature flag sync is enabled in Cargo.toml.

pub async fn list() -> Result<Vec<HmacMeta>>[src]

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::hmac_key::HmacKey;

let all_hmac_keys = HmacKey::list().await?;

pub fn list_sync() -> Result<Vec<HmacMeta>>[src]

The synchronous equivalent of HmacKey::list.

Features

This function requires that the feature flag sync is enabled in Cargo.toml.

pub async fn read(access_id: &str) -> Result<HmacMeta>[src]

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::hmac_key::HmacKey;

let key = HmacKey::read("some identifier").await?;

pub fn read_sync(access_id: &str) -> Result<HmacMeta>[src]

The synchronous equivalent of HmacKey::read.

Features

This function requires that the feature flag sync is enabled in Cargo.toml.

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

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::hmac_key::{HmacKey, HmacState};

let key = HmacKey::update("your key", HmacState::Active).await?;

pub fn update_sync(access_id: &str, state: HmacState) -> Result<HmacMeta>[src]

The synchronous equivalent of HmacKey::update.

Features

This function requires that the feature flag sync is enabled in Cargo.toml.

pub async fn delete(access_id: &str) -> Result<()>[src]

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::hmac_key::{HmacKey, HmacState};

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

pub fn delete_sync(access_id: &str) -> Result<()>[src]

The synchronous equivalent of HmacKey::delete.

Trait Implementations

impl Debug for HmacKey[src]

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

Formats the value using the given formatter. Read more

impl<'de> Deserialize<'de> for HmacKey[src]

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl PartialEq<HmacKey> for HmacKey[src]

fn eq(&self, other: &HmacKey) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &HmacKey) -> bool[src]

This method tests for !=.

impl Serialize for HmacKey[src]

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

impl StructuralPartialEq for HmacKey[src]

Auto Trait Implementations

impl RefUnwindSafe for HmacKey

impl Send for HmacKey

impl Sync for HmacKey

impl Unpin for HmacKey

impl UnwindSafe for HmacKey

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

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

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

fn in_current_span(self) -> Instrumented<Self>[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

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