pub struct NodeInfo {Show 13 fields
pub id: i64,
pub stable_id: StableId,
pub hostname: String,
pub tailnet: Option<String>,
pub tags: Vec<String>,
pub tailnet_address: TailnetAddress,
pub node_key: NodePublicKey,
pub node_key_expiry: Option<DateTime<Utc>>,
pub machine_key: Option<MachinePublicKey>,
pub disco_key: Option<DiscoPublicKey>,
pub accepted_routes: Vec<IpNet>,
pub underlay_addresses: Vec<SocketAddr>,
pub derp_region: Option<RegionId>,
}Expand description
A node in a tailnet.
Fields§
§id: i64The node’s id.
stable_id: StableIdThe node’s stable id.
hostname: StringThis node’s hostname.
tailnet: Option<String>The tailnet this node belongs to.
The tags assigned to this node.
tailnet_address: TailnetAddressThe address of the node in the tailnet.
node_key: NodePublicKeyThe node’s NodePublicKey.
node_key_expiry: Option<DateTime<Utc>>The node key’s expiration.
machine_key: Option<MachinePublicKey>The node’s MachinePublicKey, if known.
disco_key: Option<DiscoPublicKey>The node’s DiscoPublicKey, if known.
accepted_routes: Vec<IpNet>The routes this node accepts traffic for.
underlay_addresses: Vec<SocketAddr>The underlay addresses this node is reachable on (Endpoints in Go).
derp_region: Option<RegionId>The DERP region for this node, if known.
Implementations§
Source§impl Node
impl Node
Sourcepub fn fqdn(&self, trailing_dot: bool) -> String
pub fn fqdn(&self, trailing_dot: bool) -> String
The fully-qualified domain name of the node.
This is a string of the form $HOST.$TAILNET_DOMAIN.. For tailnets controlled by
Tailscale’s control plane, this usually means $HOST.tail1234.ts.net.
The trailing_dot parameter specifies whether to include the trailing dot in the
fqdn. This is included by the definition of FQDN, and is the way the Go codebase
formats this field, but the parameter is included to allow turning it off for use
in contexts that expect it to be absent.
Sourcepub fn matches_name(&self, name: &str) -> bool
pub fn matches_name(&self, name: &str) -> bool
Report whether this node matches the given name.
name is checked for equality with both this node’s bare hostname and its fqdn. A
trailing . may be present.
Trait Implementations§
impl Eq for Node
impl StructuralPartialEq for Node
Auto Trait Implementations§
impl Freeze for Node
impl RefUnwindSafe for Node
impl Send for Node
impl Sync for Node
impl Unpin for Node
impl UnsafeUnpin for Node
impl UnwindSafe for Node
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<A, T> DynMessage<A> for T
impl<A, T> DynMessage<A> for T
Source§fn handle_dyn<'a>(
self: Box<T>,
state: &'a mut A,
actor_ref: ActorRef<A>,
tx: Option<Sender<Result<Box<dyn Any + Send>, SendError<Box<dyn Any + Send>, Box<dyn Any + Send>>>>>,
stop: &'a mut bool,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn ReplyError>>> + Send + 'a>>
fn handle_dyn<'a>( self: Box<T>, state: &'a mut A, actor_ref: ActorRef<A>, tx: Option<Sender<Result<Box<dyn Any + Send>, SendError<Box<dyn Any + Send>, Box<dyn Any + Send>>>>>, stop: &'a mut bool, ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn ReplyError>>> + Send + 'a>>
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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