pub struct Connection { /* private fields */ }
Expand description

A connection profile.

See Device::reapply() for the difference between a Connection and an [AppliedConnection].

Implementations§

source§

impl Connection

source

pub async fn update( &self, properties: HashMap<&str, HashMap<&str, Value<'_>>> ) -> Result<(), Error>

Update the connection with new settings and properties and save the connection to disk.

This replaces all previous settings and properties.

Secrets may be part of the update request, and will be either stored in persistent storage or sent to a Secret Agent for storage, depending on the flags associated with each secret.

source

pub async fn update_in_memory( &self, properties: HashMap<&str, HashMap<&str, Value<'_>>> ) -> Result<(), Error>

Update the connection with new settings and properties, but do not immediately save the connection to disk.

This replaces all previous settings and properties.

Secrets may be part of the update request and may sent to a Secret Agent for storage, depending on the flags associated with each secret.

Use the Connection::save() method to save these changes to disk.

Note that unsaved changes will be lost if the connection is reloaded from disk (either automatically on file change or due to an explicit ReloadConnections call).

source

pub async fn delete(&self) -> Result<(), Error>

Delete the connection.

source

pub async fn settings( &self ) -> Result<HashMap<String, HashMap<String, OwnedValue>>, Error>

Get the settings maps describing this network configuration.

This will never include any secrets required for connection to the network, as those are often protected. Secrets must be requested separately using the GetSecrets call.

source

pub async fn secrets( &self ) -> Result<HashMap<String, HashMap<String, OwnedValue>>, Error>

Get the secrets belonging to this network configuration.

Only secrets from persistent storage or a Secret Agent running in the requestor’s session will be returned. The user will never be prompted for secrets as a result of this request.

source

pub async fn secrets_for_setting( &self, setting_name: &str ) -> Result<HashMap<String, HashMap<String, OwnedValue>>, Error>

Get the secrets belonging to this network configuration, for a particular setting.

Only secrets from persistent storage or a Secret Agent running in the requestor’s session will be returned. The user will never be prompted for secrets as a result of this request.

source

pub async fn clear_secrets(&self) -> Result<(), Error>

Clear the secrets belonging to this network connection profile.

source

pub async fn save(&self) -> Result<(), Error>

Save a connection previously updated with Connection::update_in_memory() to persistent storage.

source

pub async fn is_saved(&self) -> Result<bool, Error>

Indicates whether the in-memory state of the connection matches the on-disk state.

This flag will be unset when Connection::update_in_memory() is called or when any connection details change, and set when the connection is saved to disk via Connection::save() or from internal operations.

source

pub async fn flags(&self) -> Result<ConnectionFlags, Error>

Additional flags of the connection profile.

source

pub async fn filename(&self) -> Result<PathBuf, Error>

File that stores the connection when the connection is file-backed.

Trait Implementations§

source§

impl Clone for Connection

source§

fn clone(&self) -> Connection

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 Connection

source§

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

Formats the value using the given formatter. 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.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where 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 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