59 lines
2.0 KiB
Go
59 lines
2.0 KiB
Go
// Copyright (c) Tailscale Inc & AUTHORS
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
// Package apitype contains types for the Tailscale LocalAPI and control plane API.
|
|
package apitype
|
|
|
|
import "tailscale.com/tailcfg"
|
|
|
|
// LocalAPIHost is the Host header value used by the LocalAPI.
|
|
const LocalAPIHost = "local-tailscaled.sock"
|
|
|
|
// WhoIsResponse is the JSON type returned by tailscaled debug server's /whois?ip=$IP handler.
|
|
// In successful whois responses, Node and UserProfile are never nil.
|
|
type WhoIsResponse struct {
|
|
Node *tailcfg.Node
|
|
UserProfile *tailcfg.UserProfile
|
|
|
|
// CapMap is a map of capabilities to their values.
|
|
// See tailcfg.PeerCapMap and tailcfg.PeerCapability for details.
|
|
CapMap tailcfg.PeerCapMap
|
|
}
|
|
|
|
// FileTarget is a node to which files can be sent, and the PeerAPI
|
|
// URL base to do so via.
|
|
type FileTarget struct {
|
|
Node *tailcfg.Node
|
|
|
|
// PeerAPI is the http://ip:port URL base of the node's PeerAPI,
|
|
// without any path (not even a single slash).
|
|
PeerAPIURL string
|
|
}
|
|
|
|
// WaitingFiles represent taildrop files sent to the node, ready to be
|
|
// copied to their permenant location by the client. The client may
|
|
// opt to handle these these using either the /files GET and DELETE
|
|
// endpoints or by moving the file if the client has read/write
|
|
// access to the AbsolutePath. The client is responsible for removing
|
|
// the file when they have finished processing it.
|
|
type WaitingFile struct {
|
|
Name string
|
|
Size int64
|
|
AbsolutePath string
|
|
}
|
|
|
|
// SetPushDeviceTokenRequest is the body POSTed to the LocalAPI endpoint /set-device-token.
|
|
type SetPushDeviceTokenRequest struct {
|
|
// PushDeviceToken is the iOS/macOS APNs device token (and any future Android equivalent).
|
|
PushDeviceToken string
|
|
}
|
|
|
|
// ReloadConfigResponse is the response to a LocalAPI reload-config request.
|
|
//
|
|
// There are three possible outcomes: (false, "") if no config mode in use,
|
|
// (true, "") on success, or (false, "error message") on failure.
|
|
type ReloadConfigResponse struct {
|
|
Reloaded bool // whether the config was reloaded
|
|
Err string // any error message
|
|
}
|