pub struct SecretConfig {
pub name: String,
pub backend: String,
pub key: String,
pub field: Option<String>,
pub version: Option<String>,
pub policy: Policy,
pub secret_type: String,
}
Expand description
The representation of a secret reference in the config store.
Fields§
§name: String
The name of the secret when referred to by a component or provider.
backend: String
The backend to use for retrieving the secret.
key: String
The key to use for retrieving the secret from the backend.
field: Option<String>
The field to retrieve from the secret. If not supplied, the entire secret will be returned.
version: Option<String>
The version of the secret to retrieve. If not supplied, the latest version will be used.
policy: Policy
The policy that defines configuration options for the backend. This is a serialized JSON object that will be passed to the backend as a string for policy evaluation.
secret_type: String
The type of secret. This is used to inform wadm or anything else that is consuming the secret about how to deserialize the payload.
Implementations§
source§impl SecretConfig
impl SecretConfig
pub fn new( name: String, backend: String, key: String, field: Option<String>, version: Option<String>, policy_properties: HashMap<String, Value>, ) -> Self
sourcepub fn try_into_request(
self,
entity_jwt: &str,
host_jwt: &str,
application_name: Option<&String>,
) -> Result<SecretRequest, Error>
pub fn try_into_request( self, entity_jwt: &str, host_jwt: &str, application_name: Option<&String>, ) -> Result<SecretRequest, Error>
Given an entity JWT, host JWT, and optional application name, convert this SecretConfig into a SecretRequest that can be used to fetch the secret from a secrets backend.
This is not a true TryInto
implementation as we need additional information to create
the SecretRequest
. This returns an error if the policy field cannot be serialized to a JSON
string.
Trait Implementations§
source§impl Clone for SecretConfig
impl Clone for SecretConfig
source§fn clone(&self) -> SecretConfig
fn clone(&self) -> SecretConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SecretConfig
impl Debug for SecretConfig
source§impl<'de> Deserialize<'de> for SecretConfig
impl<'de> Deserialize<'de> for SecretConfig
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>,
source§impl PartialEq for SecretConfig
impl PartialEq for SecretConfig
source§impl Serialize for SecretConfig
impl Serialize for SecretConfig
source§impl TryInto<HashMap<String, String>> for SecretConfig
impl TryInto<HashMap<String, String>> for SecretConfig
Helper function to convert a SecretConfig into a HashMap. This is only intended to be used by wash or anything else that needs to interact directly with the config KV bucket to manipulate secrets.
source§fn try_into(self) -> Result<HashMap<String, String>, Self::Error>
fn try_into(self) -> Result<HashMap<String, String>, Self::Error>
Convert this SecretConfig into a HashMap of the form:
{
"name": "secret-name",
"type": "secret.wasmcloud.dev/v1alpha1",
"backend": "baobun",
"key": "/path/to/secret",
"version": "vX.Y.Z",
"policy": "{\"type\":\"properties.secret.wasmcloud.dev/v1alpha1\",\"properties\":{\"key\":\"value\"}}"
}
impl Eq for SecretConfig
impl StructuralPartialEq for SecretConfig
Auto Trait Implementations§
impl Freeze for SecretConfig
impl RefUnwindSafe for SecretConfig
impl Send for SecretConfig
impl Sync for SecretConfig
impl Unpin for SecretConfig
impl UnwindSafe for SecretConfig
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)