//go:generate go run tailscale.com/cmd/viewer --type=User,Node,Hostinfo,NetInfo,Login,DNSConfig,RegisterResponse,DERPRegion,DERPMap,DERPNode,SSHRule,SSHPrincipal --clonefunc
//go:generate go run tailscale.com/cmd/viewer --type=User,Node,Hostinfo,NetInfo,Login,DNSConfig,RegisterResponse,DERPRegion,DERPMap,DERPNode,SSHRule,SSHPrincipal,ControlDialPlan --clonefunc
//go:generate go run tailscale.com/cmd/cloner -clonefunc=true -type=User,Node,Hostinfo,NetInfo,Login,DNSConfig,RegisterResponse,DERPRegion,DERPMap,DERPNode,SSHRule,SSHPrincipal
//go:generate go run tailscale.com/cmd/cloner -clonefunc=true -type=User,Node,Hostinfo,NetInfo,Login,DNSConfig,RegisterResponse,DERPRegion,DERPMap,DERPNode,SSHRule,SSHPrincipal,ControlDialPlan
// View returns a readonly view of User.
// View returns a readonly view of User.
func(p*User)View()UserView{
func(p*User)View()UserView{
@ -923,3 +923,57 @@ var _SSHPrincipalViewNeedsRegeneration = SSHPrincipal(struct {
Anybool
Anybool
PubKeys[]string
PubKeys[]string
}{})
}{})
// View returns a readonly view of ControlDialPlan.
func(p*ControlDialPlan)View()ControlDialPlanView{
returnControlDialPlanView{ж:p}
}
// ControlDialPlanView provides a read-only view over ControlDialPlan.
//
// Its methods should only be called if `Valid()` returns true.
typeControlDialPlanViewstruct{
// ж is the underlying mutable value, named with a hard-to-type
// character that looks pointy like a pointer.
// It is named distinctively to make you think of how dangerous it is to escape
// to callers. You must not let callers be able to mutate it.
ж*ControlDialPlan
}
// Valid reports whether underlying value is non-nil.