generated

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package generated provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EdgeHistory

type EdgeHistory struct {
	BucketDurationMs    int64                `json:"bucketDurationMs"`
	EdgeId              string               `json:"edgeId"`
	From                time.Time            `json:"from"`
	PathAnchor          *PathEvent           `json:"pathAnchor,omitempty"`
	PathEvents          []PathEvent          `json:"pathEvents"`
	PathEventsTruncated bool                 `json:"pathEventsTruncated"`
	Source              HistoryNodeReference `json:"source"`
	Target              HistoryNodeReference `json:"target"`
	To                  time.Time            `json:"to"`
	Traffic             []TrafficBucket      `json:"traffic"`
	TrafficTruncated    bool                 `json:"trafficTruncated"`
}

EdgeHistory defines model for EdgeHistory.

type GetEdgeHistoryParams

type GetEdgeHistoryParams struct {
	Window HistoryWindow `form:"window" json:"window"`
}

GetEdgeHistoryParams defines parameters for GetEdgeHistory.

type GetHistoryNodesParams

type GetHistoryNodesParams struct {
	Window HistoryWindow `form:"window" json:"window"`
}

GetHistoryNodesParams defines parameters for GetHistoryNodes.

type HistoryEdgePage

type HistoryEdgePage struct {
	Edges      []HistoryEdgeSummary `json:"edges"`
	NextCursor *string              `json:"nextCursor,omitempty"`
}

HistoryEdgePage defines model for HistoryEdgePage.

type HistoryEdgeSummary

type HistoryEdgeSummary struct {
	AToBBytes     int64                `json:"aToBBytes"`
	BToABytes     int64                `json:"bToABytes"`
	EdgeId        string               `json:"edgeId"`
	LastTrafficAt time.Time            `json:"lastTrafficAt"`
	Paths         []PathKind           `json:"paths"`
	Source        HistoryNodeReference `json:"source"`
	Target        HistoryNodeReference `json:"target"`
}

HistoryEdgeSummary defines model for HistoryEdgeSummary.

type HistoryNodeReference

type HistoryNodeReference struct {
	DnsName  *string `json:"dnsName,omitempty"`
	Hostname *string `json:"hostname,omitempty"`
	Id       string  `json:"id"`
	Label    string  `json:"label"`
	Os       *string `json:"os,omitempty"`
}

HistoryNodeReference defines model for HistoryNodeReference.

type HistoryNodes

type HistoryNodes struct {
	Nodes []HistoryNodeReference `json:"nodes"`
}

HistoryNodes defines model for HistoryNodes.

type HistoryWindow

type HistoryWindow string

HistoryWindow defines model for HistoryWindow.

const (
	N15m HistoryWindow = "15m"
	N1h  HistoryWindow = "1h"
	N24h HistoryWindow = "24h"
	N6h  HistoryWindow = "6h"
	N7d  HistoryWindow = "7d"
)

Defines values for HistoryWindow.

type ListHistoryEdgesParams

type ListHistoryEdgesParams struct {
	Window HistoryWindow `form:"window" json:"window"`
	NodeId *string       `form:"nodeId,omitempty" json:"nodeId,omitempty"`

	// Path Match when the path appeared at any point in the window.
	Path   *PathKind `form:"path,omitempty" json:"path,omitempty"`
	Cursor *string   `form:"cursor,omitempty" json:"cursor,omitempty"`
	Limit  *int      `form:"limit,omitempty" json:"limit,omitempty"`
}

ListHistoryEdgesParams defines parameters for ListHistoryEdges.

type NodeIdentity

type NodeIdentity struct {
	DiscoKey *string `json:"discoKey,omitempty"`
	DnsName  *string `json:"dnsName,omitempty"`
	Hostname *string `json:"hostname,omitempty"`
	NodeId   *string `json:"nodeId,omitempty"`
	NodeKey  *string `json:"nodeKey,omitempty"`

	// Os Reported operating system for display only; never identity evidence.
	Os           *string   `json:"os,omitempty"`
	StableNodeId *string   `json:"stableNodeId,omitempty"`
	TailscaleIps *[]string `json:"tailscaleIps,omitempty"`
}

NodeIdentity At least one stableNodeId, nodeId, nodeKey, discoKey, or Tailscale IP is required. Names are display fields and never merge nodes.

type ObservationProvenance

type ObservationProvenance struct {
	ClockSkewed bool            `json:"clockSkewed"`
	CollectedAt time.Time       `json:"collectedAt"`
	ObserverId  string          `json:"observerId"`
	Path        PathObservation `json:"path"`
	ReceivedAt  time.Time       `json:"receivedAt"`
}

ObservationProvenance defines model for ObservationProvenance.

type ObserverReport

type ObserverReport struct {
	InventoryGeneration string `json:"inventoryGeneration"`

	// Observer At least one stableNodeId, nodeId, nodeKey, discoKey, or Tailscale IP is required. Names are display fields and never merge nodes.
	Observer NodeIdentity       `json:"observer"`
	Peers    *[]PeerObservation `json:"peers,omitempty"`
}

ObserverReport For hello and inventory_update, peers is the observer's complete current runtime peer view. For traffic_sample it is sparse and contains only peers with business byte deltas.

type ObserverState

type ObserverState struct {
	ClockSkewMs     int64     `json:"clockSkewMs"`
	ClockSkewed     bool      `json:"clockSkewed"`
	Hostname        string    `json:"hostname"`
	Id              string    `json:"id"`
	LastCollectedAt time.Time `json:"lastCollectedAt"`
	LastSeen        time.Time `json:"lastSeen"`
	Online          bool      `json:"online"`
}

ObserverState defines model for ObserverState.

type PathEvent

type PathEvent struct {
	Observations []ObservationProvenance `json:"observations"`
	ObservedAt   time.Time               `json:"observedAt"`
	Path         PathObservation         `json:"path"`
}

PathEvent defines model for PathEvent.

type PathKind

type PathKind string

PathKind defines model for PathKind.

const (
	Derp      PathKind = "derp"
	Direct    PathKind = "direct"
	PeerRelay PathKind = "peer_relay"
	Unknown   PathKind = "unknown"
)

Defines values for PathKind.

type PathObservation

type PathObservation struct {
	DerpRegion            *string  `json:"derpRegion,omitempty"`
	DirectEndpoint        *string  `json:"directEndpoint,omitempty"`
	Kind                  PathKind `json:"kind"`
	PeerRelayStableNodeId *string  `json:"peerRelayStableNodeId,omitempty"`
}

PathObservation defines model for PathObservation.

type PeerObservation

type PeerObservation struct {
	LastActive time.Time       `json:"lastActive"`
	Path       PathObservation `json:"path"`

	// Peer At least one stableNodeId, nodeId, nodeKey, discoKey, or Tailscale IP is required. Names are display fields and never merge nodes.
	Peer    NodeIdentity `json:"peer"`
	RxBytes int64        `json:"rxBytes"`
	RxDelta int64        `json:"rxDelta"`

	// SampleDurationMs Zero for hello/inventory baselines; positive for traffic samples.
	SampleDurationMs int64 `json:"sampleDurationMs"`
	TxBytes          int64 `json:"txBytes"`
	TxDelta          int64 `json:"txDelta"`
}

PeerObservation defines model for PeerObservation.

type Problem

type Problem struct {
	Detail *string `json:"detail,omitempty"`
	Status int     `json:"status"`
	Title  string  `json:"title"`
}

Problem defines model for Problem.

type RelaySessionObservation

type RelaySessionObservation struct {
	LastActive time.Time `json:"lastActive"`

	// Relay At least one stableNodeId, nodeId, nodeKey, discoKey, or Tailscale IP is required. Names are display fields and never merge nodes.
	Relay            NodeIdentity `json:"relay"`
	SampleDurationMs int64        `json:"sampleDurationMs"`
	SessionId        string       `json:"sessionId"`

	// Source At least one stableNodeId, nodeId, nodeKey, discoKey, or Tailscale IP is required. Names are display fields and never merge nodes.
	Source              NodeIdentity `json:"source"`
	SourceEndpoint      *string      `json:"sourceEndpoint,omitempty"`
	SourceToTargetBytes int64        `json:"sourceToTargetBytes"`
	SourceToTargetDelta int64        `json:"sourceToTargetDelta"`

	// Target At least one stableNodeId, nodeId, nodeKey, discoKey, or Tailscale IP is required. Names are display fields and never merge nodes.
	Target              NodeIdentity `json:"target"`
	TargetEndpoint      *string      `json:"targetEndpoint,omitempty"`
	TargetToSourceBytes int64        `json:"targetToSourceBytes"`
	TargetToSourceDelta int64        `json:"targetToSourceDelta"`
	Vni                 int64        `json:"vni"`
}

RelaySessionObservation A Peer Relay observer's view of traffic between two Tailnet nodes. The logical edge is source-target while relay supplies third-party provenance.

type ReportEnvelope

type ReportEnvelope struct {
	CollectedAt        time.Time                  `json:"collectedAt"`
	Kind               ReportKind                 `json:"kind"`
	Observers          *[]ObserverReport          `json:"observers,omitempty"`
	RelaySessions      *[]RelaySessionObservation `json:"relaySessions,omitempty"`
	ReportId           openapi_types.UUID         `json:"reportId"`
	ReporterInstanceId openapi_types.UUID         `json:"reporterInstanceId"`
	Sequence           int64                      `json:"sequence"`
	Version            int                        `json:"version"`
}

ReportEnvelope Normal observer messages contain observers. relay_session_update contains relaySessions instead; the server rejects envelopes that mix the two forms.

type ReportKind

type ReportKind string

ReportKind defines model for ReportKind.

const (
	InventoryUpdate    ReportKind = "inventory_update"
	ObserverHeartbeat  ReportKind = "observer_heartbeat"
	ObserverHello      ReportKind = "observer_hello"
	RelaySessionUpdate ReportKind = "relay_session_update"
	TrafficSample      ReportKind = "traffic_sample"
)

Defines values for ReportKind.

type ReportReceipt

type ReportReceipt struct {
	Accepted             bool     `json:"accepted"`
	ControlStableNodeIds []string `json:"controlStableNodeIds"`
	HeartbeatIntervalMs  int64    `json:"heartbeatIntervalMs"`
	ResyncRequired       bool     `json:"resyncRequired"`
}

ReportReceipt defines model for ReportReceipt.

type SubmitReportJSONRequestBody

type SubmitReportJSONRequestBody = ReportEnvelope

SubmitReportJSONRequestBody defines body for SubmitReport for application/json ContentType.

type Topology

type Topology struct {
	Edges       []TopologyEdge `json:"edges"`
	GeneratedAt time.Time      `json:"generatedAt"`

	// NextChangeAt Earliest known lifecycle deadline that can change this snapshot.
	NextChangeAt *time.Time      `json:"nextChangeAt,omitempty"`
	Nodes        []TopologyNode  `json:"nodes"`
	Observers    []ObserverState `json:"observers"`
}

Topology defines model for Topology.

type TopologyEdge

type TopologyEdge struct {
	AToBBytesPerSecond float64                 `json:"aToBBytesPerSecond"`
	BToABytesPerSecond float64                 `json:"bToABytesPerSecond"`
	Conflicts          *[]PathObservation      `json:"conflicts,omitempty"`
	Id                 string                  `json:"id"`
	LastActive         time.Time               `json:"lastActive"`
	Observations       []ObservationProvenance `json:"observations"`
	Path               PathObservation         `json:"path"`
	Source             string                  `json:"source"`
	State              TopologyEdgeState       `json:"state"`
	Target             string                  `json:"target"`
}

TopologyEdge defines model for TopologyEdge.

type TopologyEdgeState

type TopologyEdgeState string

TopologyEdgeState defines model for TopologyEdge.State.

const (
	Active TopologyEdgeState = "active"
	Recent TopologyEdgeState = "recent"
)

Defines values for TopologyEdgeState.

type TopologyNode

type TopologyNode struct {
	ClockSkewed    bool      `json:"clockSkewed"`
	DiscoKey       *string   `json:"discoKey,omitempty"`
	DnsName        *string   `json:"dnsName,omitempty"`
	Hostname       *string   `json:"hostname,omitempty"`
	Id             string    `json:"id"`
	LastEvidenceAt time.Time `json:"lastEvidenceAt"`
	NodeId         *string   `json:"nodeId,omitempty"`
	NodeKey        *string   `json:"nodeKey,omitempty"`
	Observable     bool      `json:"observable"`
	Online         bool      `json:"online"`

	// Os Reported operating system for display only; never identity evidence.
	Os           *string   `json:"os,omitempty"`
	StableNodeId *string   `json:"stableNodeId,omitempty"`
	TailscaleIps *[]string `json:"tailscaleIps,omitempty"`
}

TopologyNode defines model for TopologyNode.

type TrafficBucket

type TrafficBucket struct {
	AToBBytes   int64     `json:"aToBBytes"`
	BToABytes   int64     `json:"bToABytes"`
	BucketStart time.Time `json:"bucketStart"`
}

TrafficBucket defines model for TrafficBucket.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL