Struct encrypt_config::Config

source ·
pub struct Config { /* private fields */ }
Expand description

A struct that can be used to store configuration values.

Example

See Source, PersistSource, SecretSource

Implementations§

source§

impl Config

source

pub fn new(secret_name: impl AsRef<str>) -> Self

Create a new Config struct.

Arguments
  • config_name - The name of the rsa private key stored by keyring. Only needed when feature secret is on.

To avoid entering the password during testing, you can enable mock feature. This can always return Configs with the same Encrypter during each test.

source

pub fn get<K, R>(&self, key: K) -> ConfigResult<R>
where K: AsRef<str>, R: DeserializeOwned,

Get a value from the config.

Arguments
  • key - The key of the value to get.

R must implement serde::de::DeserializeOwned, because this crate stores seriliazed data.

source

pub fn add_source(&mut self, source: impl Source) -> ConfigResult<()>

Add a source to the config. The source must implement Source trait, which is for normal config that does not need to be encrypted or persisted.

source

pub fn add_persist_source( &mut self, source: impl PersistSource ) -> ConfigResult<()>

Available on crate feature persist only.

Add a persist source to the config. The source must implement PersistSource trait, which is for config that needs to be persisted.

source

pub fn add_secret_source( &mut self, source: impl SecretSource ) -> ConfigResult<()>

Available on crate feature secret only.

Add a secret source to the config. The source must implement SecretSource trait, which is for config that needs to be encrypted and persisted.

source

pub fn upgrade_all<'v, K, V, KV>(&mut self, kv: KV) -> ConfigResult<()>
where K: AsRef<str>, V: Serialize + 'v, KV: IntoIterator<Item = (K, &'v V)>,

Upgrade all values in the config. The keys must already exist. If not, those key-values before the first not existing one will be upgraded, and those after will be omitted.

source

pub fn upgrade<K, V>(&mut self, key: K, value: &V) -> ConfigResult<()>
where K: AsRef<str>, V: Serialize,

Available on crate feature persist only.

Upgrade a value in the config. The key must already exist.

Trait Implementations§

source§

impl Default for Config

source§

fn default() -> Config

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

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.

§

impl<T> Instrument for T

§

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

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

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.

§

impl<T> NoneValue for T
where T: Default,

§

type NoneType = T

§

fn null_value() -> T

The none-equivalent value.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more