#[non_exhaustive]pub enum Auth {
Token(String),
AppRole {
mount: String,
role_id: String,
secret_id: String,
},
Kubernetes {
mount: String,
role: String,
token_path: String,
},
Jwt {
mount: String,
role: Option<String>,
jwt: String,
},
Userpass {
mount: String,
username: String,
password: String,
},
Ldap {
mount: String,
username: String,
password: String,
},
Certificate {
mount: String,
name: Option<String>,
},
}Expand description
How to obtain a Vault token.
The variants that take a mount take the auth method’s mount path, which is
its type by default — approle for AppRole, kubernetes for Kubernetes.
Mounting the same method twice under different paths is ordinary Vault
practice, which is why it is a parameter rather than a constant.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Token(String)
A token somebody already obtained.
The simplest thing that works, and the only one that cannot recover on its own: there are no credentials here to log in again with. A renewable token is still renewed.
AppRole
AppRole: a role id and a secret id.
The usual choice for a service outside Kubernetes.
Fields
Kubernetes
Kubernetes: the pod’s service-account token, plus a Vault role.
The JWT is read from disk at every login rather than once, because the kubelet rotates projected service-account tokens and a copy taken at startup expires with the pod still running.
Fields
Jwt
A JWT or OIDC token, with an optional role.
Fields
Userpass
Username and password against the userpass method.
Fields
Ldap
Username and password against an LDAP directory.
Fields
Certificate
A TLS client certificate, with an optional role.
The certificate itself is configured on the HTTP client, not here: build
a ureq::Agent that presents it and hand it over with
Vault::with_agent. This variant only says
log in with it, which is the part Vault needs told.
Implementations§
Source§impl Auth
impl Auth
Sourcepub fn app_role(
role_id: impl Into<String>,
secret_id: impl Into<String>,
) -> Self
pub fn app_role( role_id: impl Into<String>, secret_id: impl Into<String>, ) -> Self
AppRole, on the default approle mount.
Sourcepub fn kubernetes(role: impl Into<String>) -> Self
pub fn kubernetes(role: impl Into<String>) -> Self
Kubernetes, on the default kubernetes mount, reading the pod’s own
service-account token.
Sourcepub fn userpass(
username: impl Into<String>,
password: impl Into<String>,
) -> Self
pub fn userpass( username: impl Into<String>, password: impl Into<String>, ) -> Self
Username and password, on the default userpass mount.
Sourcepub fn ldap(username: impl Into<String>, password: impl Into<String>) -> Self
pub fn ldap(username: impl Into<String>, password: impl Into<String>) -> Self
Username and password against LDAP, on the default ldap mount.
Sourcepub fn certificate() -> Self
pub fn certificate() -> Self
A TLS client certificate, on the default cert mount.
Sourcepub fn at_mount(self, path: impl Into<String>) -> Self
pub fn at_mount(self, path: impl Into<String>) -> Self
Puts this method on a different mount path.
No effect on Auth::Token, which has no mount.
Sourcepub fn with_role(self, role: impl Into<String>) -> Self
pub fn with_role(self, role: impl Into<String>) -> Self
Names the role, for the methods that take one.
Sourcepub fn with_token_path(self, path: impl Into<String>) -> Self
pub fn with_token_path(self, path: impl Into<String>) -> Self
Reads the service-account token from somewhere other than the conventional path.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Auth
impl RefUnwindSafe for Auth
impl Send for Auth
impl Sync for Auth
impl Unpin for Auth
impl UnsafeUnpin for Auth
impl UnwindSafe for Auth
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);