Documentation ¶
Index ¶
- func DeleteDevice(tsApiKey, id string) error
- func PromptYesNo(question string) (bool, error)
- func RunTailscaleUpCommand(command string, nonInteractive bool) error
- func SelectRegion() (string, error)
- func UpdatePolicy(tsApiKey, tailnet string, config Policy) error
- func ValidatePolicy(tsApiKey, tailnet string, config Policy) error
- type ACL
- type AutoApprovers
- type DerpMap
- type DerpRegion
- type Device
- func FindActiveXitDevices(tsApiKey, tailnet string) ([]Device, error)
- func FindDeviceByHostname(tsApiKey, hostname, tailnet string) (Device, error)
- func FindDevicesByHostname(tsApiKey, tailnet string, hostnames []string) ([]Device, error)
- func GetDevice(tsApiKey, id string) (Device, error)
- func GetDevices(tsApiKey, tailnet string) ([]Device, error)
- type Policy
- type SSHConfiguration
- type TailscaleStatus
- type Test
- type UserDevices
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeleteDevice ¶
func PromptYesNo ¶
Function that uses promptui to return a boolean value
func RunTailscaleUpCommand ¶
func SelectRegion ¶
Function that uses promptui to return an AWS region fetched from the aws sdk
func UpdatePolicy ¶
func ValidatePolicy ¶
Types ¶
type AutoApprovers ¶
type DerpMap ¶
type DerpMap struct {
Regions map[string]DerpRegion `json:"regions,omitempty"`
}
type DerpRegion ¶
type Device ¶
type Device struct { Addresses []string `json:"addresses"` Authorized bool `json:"authorized"` BlocksIncomingConnections bool `json:"blocksIncomingConnections"` ClientVersion string `json:"clientVersion"` Created string `json:"created"` Expires string `json:"expires"` Hostname string `json:"hostname"` ID string `json:"id"` IsExternal bool `json:"isExternal"` KeyExpiryDisabled bool `json:"keyExpiryDisabled"` LastSeen string `json:"lastSeen"` MachineKey string `json:"machineKey,omitempty"` Name string `json:"name,omitempty"` NodeID string `json:"nodeId"` NodeKey string `json:"nodeKey"` OS string `json:"os"` TailnetLockError string `json:"tailnetLockError,omitempty"` TailnetLockKey string `json:"tailnetLockKey,omitempty"` UpdateAvailable bool `json:"updateAvailable"` User string `json:"user,omitempty"` Tags []string `json:"tags,omitempty"` }
func FindActiveXitDevices ¶
func FindDeviceByHostname ¶
func FindDevicesByHostname ¶
func GetDevices ¶
type Policy ¶
type Policy struct { ACLs []ACL `json:"acls,omitempty"` Hosts map[string]string `json:"hosts,omitempty"` Groups map[string][]string `json:"groups,omitempty"` Tests []Test `json:"tests,omitempty"` TagOwners map[string][]string `json:"tagOwners,omitempty"` AutoApprovers AutoApprovers `json:"autoApprovers,omitempty"` SSH []SSHConfiguration `json:"ssh,omitempty"` DerpMap DerpMap `json:"derpMap,omitempty"` DisableIPv4 bool `json:"disableIPv4,omitempty"` RandomizeClientPort bool `json:"randomizeClientPort,omitempty"` }
type SSHConfiguration ¶
type TailscaleStatus ¶
type TailscaleStatus struct { ControlURL string `json:"ControlURL"` RouteAll bool `json:"RouteAll"` AllowSingleHosts bool `json:"AllowSingleHosts"` ExitNodeID string `json:"ExitNodeID"` ExitNodeIP string `json:"ExitNodeIP"` ExitNodeAllowLANAccess bool `json:"ExitNodeAllowLANAccess"` CorpDNS bool `json:"CorpDNS"` RunSSH bool `json:"RunSSH"` WantRunning bool `json:"WantRunning"` LoggedOut bool `json:"LoggedOut"` ShieldsUp bool `json:"ShieldsUp"` AdvertiseTags string `json:"AdvertiseTags"` Hostname string `json:"Hostname"` NotepadURLs bool `json:"NotepadURLs"` AdvertiseRoutes string `json:"AdvertiseRoutes"` NoSNAT bool `json:"NoSNAT"` NetfilterMode int `json:"NetfilterMode"` Config struct { PrivateMachineKey string `json:"PrivateMachineKey"` PrivateNodeKey string `json:"PrivateNodeKey"` OldPrivateNodeKey string `json:"OldPrivateNodeKey"` Provider string `json:"Provider"` LoginName string `json:"LoginName"` UserProfile struct { ID int64 `json:"ID"` LoginName string `json:"LoginName"` DisplayName string `json:"DisplayName"` ProfilePicURL string `json:"ProfilePicURL"` Roles []string `json:"Roles"` } `json:"UserProfile"` NetworkLockKey string `json:"NetworkLockKey"` NodeID string `json:"NodeID"` } `json:"Config"` }
type UserDevices ¶
Click to show internal directories.
Click to hide internal directories.