Struct cipherstash_client::config::Config
source · pub struct Config { /* private fields */ }Expand description
The main data structure used for interacting with client configuration.
This structure is guaranteed to contain all necessary parameters for interacting with the CipherStash Data Service.
Implementations
sourceimpl Config
impl Config
sourcepub fn load(opts: LoadOpts) -> Result<Self, ConfigError>
pub fn load(opts: LoadOpts) -> Result<Self, ConfigError>
Loads and returns configuration for a CipherStash client.
This function respects the behaviour documented in the CipherStash configuration docs. Configuration parameters may be defined in any location (i.e. a JSON configuration file, environment variables, or an argument to this function call). Configuration at any specific level is not required (e.g. a JSON configuration file is not required) as long as the minimum amount of configuration can be resolved across all levels.
load optionally accepts a profile_name and config_path for specifying where to look for configuration
files. Note that config_path is the root of all CipherStash config and that the path for
profile-config.json files is resolved as <config_path>/<profile_name>/profile-config.json. If not provided,
profile_name defaults to "default" and config_path defaults to ~/.cipherstash. If profile_name is
provided and profile-config.json does not exist for the profile, load will fail and return an error.
pub async fn create_profile(
workspace: String,
region: String,
profile_name: Option<String>,
force: bool
) -> Result<PathBuf, ConfigError>
pub fn data_service_credentials_provider(
&self
) -> Box<dyn AsyncAccessor<Value = DataServiceCredentials, Error = StdError>>
pub fn key_provider(&self) -> Box<dyn KeyProvider>
pub fn naming_key_provider(
&self
) -> Box<dyn AsyncAccessor<Value = Vec<u8>, Error = GetNamingKeyError>>
pub fn create_client(
&self
) -> Result<Stash<Channel, NativeClientData>, CreateClientError>
pub fn endpoint(&self) -> String
Trait Implementations
impl StructuralPartialEq for Config
Auto Trait Implementations
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations
sourceimpl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
sourcefn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
sourceimpl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
sourcefn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
sourcefn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, DefaultApprox>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, DefaultApprox>,
sourcefn approx_by<Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_by<Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
sourceimpl<T> ConvUtil for T
impl<T> ConvUtil for T
sourcefn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, DefaultApprox>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, DefaultApprox>,
sourcefn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
sourcefn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request