pub struct Config {
    pub chain_id: ChainId,
    pub json_server: String,
    pub shared_backend: SecureBackend,
    pub validator_backend: SecureBackend,
}
Expand description

A config file for working with management tooling.

Example:

use diem_management::config::ConfigPath;
use structopt::StructOpt;

#[derive(Clone, Debug, StructOpt)]
struct TestCommandLine {
    #[structopt(long, required_unless("config"))]
    test: Option<String>,
    #[structopt(flatten)]
    config: ConfigPath,
}

let config = "cmd --config test";
TestCommandLine::from_iter(config.split_whitespace());

let data  = "cmd --test test";
TestCommandLine::from_iter(data.split_whitespace());

// Unfortunately there's no easy way to catch these, so these are here purley for demo:

// let help = "cmd --help";
// let result = TestCommandLine::from_iter(help.split_whitespace());

// Output:
// ...
// OPTIONS:
//         --config <config>    Path to a diem-management configuration file
//         --test <test>

// let none  = "cmd";
// let result = TestCommandLine::from_iter(none.split_whitespace());

// Output:
// error: The following required arguments were not provided:
//     --test <test>
//
// USAGE:
//     cmd [OPTIONS] --test <test>

Config for diem management tools

Fields§

§chain_id: ChainId§json_server: String§shared_backend: SecureBackend§validator_backend: SecureBackend

Implementations§

source§

impl Config

source

pub fn load(path: &Path) -> Result<Config, Error>

source

pub fn override_chain_id(self, chain_id: Option<ChainId>) -> Self

source

pub fn override_json_server(self, json_server: &Option<String>) -> Self

source

pub fn override_shared_backend( self, shared_backend: &Option<SecureBackend> ) -> Result<Self, Error>

source

pub fn override_validator_backend( self, validator_backend: &Option<SecureBackend> ) -> Result<Self, Error>

source

pub fn shared_backend(&self) -> StorageWrapper

source

pub fn shared_backend_with_namespace(&self, namespace: String) -> StorageWrapper

source

pub fn validator_backend(&self) -> StorageWrapper

Trait Implementations§

source§

impl Clone for Config

source§

fn clone(&self) -> Config

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Config

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for Config

source§

fn default() -> Self

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

impl<'de> Deserialize<'de> for Config

source§

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

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq<Config> for Config

source§

fn eq(&self, other: &Config) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Config

source§

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

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for Config

source§

impl StructuralEq for Config

source§

impl StructuralPartialEq for Config

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

const: unstable · 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 Twhere U: From<T>,

const: unstable · 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> PersistableConfig for Twhere T: Serialize + DeserializeOwned + ?Sized,

§

fn load_config<P>(path: P) -> Result<Self, Error>where P: AsRef<Path>,

§

fn save_config<P>(&self, output_file: P) -> Result<(), Error>where P: AsRef<Path>,

§

fn parse(serialized: &str) -> Result<Self, Error>

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> Serialize for Twhere T: Serialize + ?Sized,

source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>

§

impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,

§

fn test_only_hash(&self) -> HashValue

Generates a hash used only for tests.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

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
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,