pub struct NetboxConfig {
pub url: String,
pub token: String,
pub custom_field: String,
pub sources: Vec<String>,
pub vip_roles: Vec<String>,
pub ca_cert_path: String,
pub insecure_skip_verify: bool,
}Expand description
Configuration for the netbox IPAM backend.
token is a secret, so it belongs in ACME_PROXY_IPAM__NETBOX__TOKEN
rather than in a file on disk — the same advice
super::signer::Rfc2136Config::tsig_key_secret carries.
Fields§
§url: StringBase URL of the NetBox instance, e.g. https://netbox.example.com. Any
path is kept, so an instance served under a subpath works.
token: StringNetBox API token. Both generations are accepted and the scheme
follows the token itself: a v2 one (nbt_<key>.<secret>, the
default since NetBox 4.5) is sent as Authorization: Bearer …,
a legacy v1 one as Authorization: Token ….
custom_field: StringCustom field, on the IP address or on its device/VM, holding the extra names that address may have certified.
sources: Vec<String>Which places a permitted name may come from. Empty, or an unknown
entry, is a startup error; order is meaningless, since the result is a
union. See crate::ipam::Source.
vip_roles: Vec<String>Which NetBox address roles count as a service address for the vip
source. Read only when vip is in sources, so this is which roles
rather than whether to look at all.
ca_cert_path: StringExtra CA certificates (PEM) to trust on top of the public roots, for a
NetBox behind an internal PKI. Ignored when insecure_skip_verify is on.
insecure_skip_verify: boolSkip verification of NetBox’s TLS certificate entirely.
Off by default and meant as a temporary way out of an expired NetBox certificate: with it on, the answers this backend trusts could come from anyone able to intercept the connection. Startup logs a warning for as long as it is set.
Trait Implementations§
Source§impl Clone for NetboxConfig
impl Clone for NetboxConfig
Source§fn clone(&self) -> NetboxConfig
fn clone(&self) -> NetboxConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NetboxConfig
impl Debug for NetboxConfig
Source§impl Default for NetboxConfig
impl Default for NetboxConfig
Source§impl<'de> Deserialize<'de> for NetboxConfigwhere
NetboxConfig: Default,
impl<'de> Deserialize<'de> for NetboxConfigwhere
NetboxConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for NetboxConfig
impl RefUnwindSafe for NetboxConfig
impl Send for NetboxConfig
impl Sync for NetboxConfig
impl Unpin for NetboxConfig
impl UnsafeUnpin for NetboxConfig
impl UnwindSafe for NetboxConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more