diff options
Diffstat (limited to 'types')
| -rw-r--r-- | types/dnstype/dnstype.go | 1 | ||||
| -rw-r--r-- | types/dnstype/dnstype_view.go | 30 | ||||
| -rw-r--r-- | types/netmap/netmap.go | 6 | ||||
| -rw-r--r-- | types/netmap/netmap_view.go | 95 |
4 files changed, 130 insertions, 2 deletions
diff --git a/types/dnstype/dnstype.go b/types/dnstype/dnstype.go index e1f9e9fdb..9bef2c039 100644 --- a/types/dnstype/dnstype.go +++ b/types/dnstype/dnstype.go @@ -6,6 +6,7 @@ package dnstype //go:generate go run tailscale.com/cmd/cloner --type=Resolver --clonefunc=true --output=dnstype_clone.go +//go:generate go run tailscale.com/cmd/viewer --type=Resolver --output=dnstype_view.go import "inet.af/netaddr" diff --git a/types/dnstype/dnstype_view.go b/types/dnstype/dnstype_view.go new file mode 100644 index 000000000..fe63bb2a5 --- /dev/null +++ b/types/dnstype/dnstype_view.go @@ -0,0 +1,30 @@ +// Copyright (c) 2021 Tailscale Inc & AUTHORS All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by the following command; DO NOT EDIT. +// tailscale.com/cmd/viewer -type Resolver + +package dnstype + +import ( + "inet.af/netaddr" +) + +// View makes a readonly view of Resolver. +func (src *Resolver) View() ResolverView { + return ResolverView{src} +} + +// ResolverView is a readonly view of Resolver. +type ResolverView struct{ ж *Resolver } + +func (v ResolverView) Valid() bool { return v.ж != nil } +func (v ResolverView) Addr() string { return v.ж.Addr } +func (v ResolverView) BootstrapResolution() []netaddr.IP { return v.ж.BootstrapResolution } + +// A compilation failure here means this code must be regenerated, with the command at the top of this file. +var _ResolverViewNeedsRegeneration = Resolver(struct { + Addr string + BootstrapResolution []netaddr.IP +}{}) diff --git a/types/netmap/netmap.go b/types/netmap/netmap.go index 556ed5d06..c22683819 100644 --- a/types/netmap/netmap.go +++ b/types/netmap/netmap.go @@ -5,6 +5,8 @@ // Package netmap contains the netmap.NetworkMap type. package netmap +//go:generate go run tailscale.com/cmd/viewer --type=NetworkMap --output=netmap_view.go + import ( "encoding/json" "fmt" @@ -66,8 +68,8 @@ type NetworkMap struct { // MagicDNS isn't necessarily in use). // // It will neither start nor end with a period. -func (nm *NetworkMap) MagicDNSSuffix() string { - name := strings.Trim(nm.Name, ".") +func (nm NetworkMapView) MagicDNSSuffix() string { + name := strings.Trim(nm.Name(), ".") if i := strings.Index(name, "."); i != -1 { name = name[i+1:] } diff --git a/types/netmap/netmap_view.go b/types/netmap/netmap_view.go new file mode 100644 index 000000000..2fb88292e --- /dev/null +++ b/types/netmap/netmap_view.go @@ -0,0 +1,95 @@ +// Copyright (c) 2021 Tailscale Inc & AUTHORS All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by the following command; DO NOT EDIT. +// tailscale.com/cmd/viewer -type NetworkMap + +package netmap + +import ( + "inet.af/netaddr" + "tailscale.com/tailcfg" + "tailscale.com/types/key" + "tailscale.com/types/wgkey" + "tailscale.com/wgengine/filter" + "time" +) + +// View makes a readonly view of NetworkMap. +func (src *NetworkMap) View() NetworkMapView { + return NetworkMapView{src} +} + +// NetworkMapView is a readonly view of NetworkMap. +type NetworkMapView struct{ ж *NetworkMap } + +func (v NetworkMapView) Valid() bool { return v.ж != nil } +func (v NetworkMapView) SelfNode() tailcfg.NodeView { return v.ж.SelfNode.View() } +func (v NetworkMapView) NodeKey() tailcfg.NodeKey { return v.ж.NodeKey } +func (v NetworkMapView) PrivateKey() wgkey.Private { return v.ж.PrivateKey } +func (v NetworkMapView) Expiry() time.Time { return v.ж.Expiry } +func (v NetworkMapView) Name() string { return v.ж.Name } +func (v NetworkMapView) Addresses() []netaddr.IPPrefix { return v.ж.Addresses } +func (v NetworkMapView) LocalPort() uint16 { return v.ж.LocalPort } +func (v NetworkMapView) MachineStatus() tailcfg.MachineStatus { return v.ж.MachineStatus } +func (v NetworkMapView) MachineKey() key.MachinePublic { return v.ж.MachineKey } + +type _NetworkMapView_Peers []*tailcfg.Node + +func (s _NetworkMapView_Peers) Len() int { return len(s) } +func (s _NetworkMapView_Peers) At(i int) tailcfg.NodeView { return s[i].View() } +func (v NetworkMapView) Peers() interface { + Len() int + At(int) tailcfg.NodeView +} { + return _NetworkMapView_Peers(v.ж.Peers) +} +func (v NetworkMapView) DNS() tailcfg.DNSConfigView { return v.ж.DNS.View() } +func (v NetworkMapView) Hostinfo() tailcfg.HostinfoView { return v.ж.Hostinfo.View() } + +type _NetworkMapView_PacketFilter []filter.Match + +func (s _NetworkMapView_PacketFilter) Len() int { return len(s) } +func (s _NetworkMapView_PacketFilter) At(i int) filter.MatchView { return s[i].View() } +func (v NetworkMapView) PacketFilter() interface { + Len() int + At(int) filter.MatchView +} { + return _NetworkMapView_PacketFilter(v.ж.PacketFilter) +} +func (v NetworkMapView) CollectServices() bool { return v.ж.CollectServices } +func (v NetworkMapView) DERPMap() tailcfg.DERPMapView { return v.ж.DERPMap.View() } +func (v NetworkMapView) Debug() *tailcfg.Debug { + ptr := v.ж.Debug + if ptr == nil { + return nil + } + cp := *ptr + return &cp +} +func (v NetworkMapView) User() tailcfg.UserID { return v.ж.User } +func (v NetworkMapView) Domain() string { return v.ж.Domain } + +// A compilation failure here means this code must be regenerated, with the command at the top of this file. +var _NetworkMapViewNeedsRegeneration = NetworkMap(struct { + SelfNode *tailcfg.Node + NodeKey tailcfg.NodeKey + PrivateKey wgkey.Private + Expiry time.Time + Name string + Addresses []netaddr.IPPrefix + LocalPort uint16 + MachineStatus tailcfg.MachineStatus + MachineKey key.MachinePublic + Peers []*tailcfg.Node + DNS tailcfg.DNSConfig + Hostinfo tailcfg.Hostinfo + PacketFilter []filter.Match + CollectServices bool + DERPMap *tailcfg.DERPMap + Debug *tailcfg.Debug + User tailcfg.UserID + Domain string + UserProfiles map[tailcfg.UserID]tailcfg.UserProfile +}{}) |
