Skip to main content

KeySource

Enum KeySource 

Source
pub enum KeySource<'a> {
    File(&'a Path),
    Material(&'a str),
}
Expand description

Where the key comes from, when one is offered at all.

A type rather than two Options so the two cannot both be set, and so the call site reads as the choice it is. Both go through the same parser and the same refusals; only the reading differs.

Variants§

§

File(&'a Path)

A file written by export-key.

§

Material(&'a str)

The text of such a file, handed over directly.

Visible in the process list for as long as the command runs, and kept for ever in the shell’s history — measured on macOS: ps -ww -o command -p <pid> prints the material verbatim. That is the price of the one thing a file cannot do, which is arrive from a CI secret without ever being written to disk, and it is the caller’s to pay knowingly. The binary says so on stderr every time.

Trait Implementations§

Source§

impl<'a> Clone for KeySource<'a>

Source§

fn clone(&self) -> KeySource<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<'a> Copy for KeySource<'a>

Source§

impl<'a> Debug for KeySource<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for KeySource<'a>

§

impl<'a> RefUnwindSafe for KeySource<'a>

§

impl<'a> Send for KeySource<'a>

§

impl<'a> Sync for KeySource<'a>

§

impl<'a> Unpin for KeySource<'a>

§

impl<'a> UnsafeUnpin for KeySource<'a>

§

impl<'a> UnwindSafe for KeySource<'a>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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>,

Source§

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>,

Source§

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.