tailscale/tailcfg/tailcfg_equal.go

245 lines
8.0 KiB
Go

// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by tailscale.com/cmd/equaler; DO NOT EDIT.
package tailcfg
import (
"net/netip"
"time"
"golang.org/x/exp/slices"
"tailscale.com/types/key"
"tailscale.com/types/opt"
"tailscale.com/types/structs"
"tailscale.com/types/tkatype"
)
// Equal reports whether a and b are equal.
func (a *Node) Equal(b *Node) bool {
if a == b {
return true
}
return a != nil && b != nil &&
a.ID == b.ID &&
a.StableID == b.StableID &&
a.Name == b.Name &&
a.User == b.User &&
a.Sharer == b.Sharer &&
a.Key == b.Key &&
a.KeyExpiry.Equal(b.KeyExpiry) &&
((a.KeySignature == nil) == (b.KeySignature == nil)) &&
slices.Equal(a.KeySignature, b.KeySignature) &&
a.Machine == b.Machine &&
a.DiscoKey == b.DiscoKey &&
((a.Addresses == nil) == (b.Addresses == nil)) &&
slices.Equal(a.Addresses, b.Addresses) &&
((a.AllowedIPs == nil) == (b.AllowedIPs == nil)) &&
slices.Equal(a.AllowedIPs, b.AllowedIPs) &&
((a.Endpoints == nil) == (b.Endpoints == nil)) &&
slices.Equal(a.Endpoints, b.Endpoints) &&
a.DERP == b.DERP &&
a.Hostinfo.Equal(b.Hostinfo) &&
a.Created.Equal(b.Created) &&
a.Cap == b.Cap &&
((a.Tags == nil) == (b.Tags == nil)) &&
slices.Equal(a.Tags, b.Tags) &&
((a.PrimaryRoutes == nil) == (b.PrimaryRoutes == nil)) &&
slices.Equal(a.PrimaryRoutes, b.PrimaryRoutes) &&
((a.LastSeen == nil) == (b.LastSeen == nil)) && (a.LastSeen == nil || a.LastSeen.Equal(*b.LastSeen)) &&
((a.Online == nil) == (b.Online == nil)) && (a.Online == nil || *a.Online == *b.Online) &&
a.KeepAlive == b.KeepAlive &&
a.MachineAuthorized == b.MachineAuthorized &&
((a.Capabilities == nil) == (b.Capabilities == nil)) &&
slices.Equal(a.Capabilities, b.Capabilities) &&
a.UnsignedPeerAPIOnly == b.UnsignedPeerAPIOnly &&
a.ComputedName == b.ComputedName &&
a.computedHostIfDifferent == b.computedHostIfDifferent &&
a.ComputedNameWithHost == b.ComputedNameWithHost &&
a.DataPlaneAuditLogID == b.DataPlaneAuditLogID &&
a.Expired == b.Expired &&
((a.SelfNodeV4MasqAddrForThisPeer == nil) == (b.SelfNodeV4MasqAddrForThisPeer == nil)) && (a.SelfNodeV4MasqAddrForThisPeer == nil || *a.SelfNodeV4MasqAddrForThisPeer == *b.SelfNodeV4MasqAddrForThisPeer) &&
a.IsWireGuardOnly == b.IsWireGuardOnly &&
true
}
// A compilation failure here means this code must be regenerated, with the command at the top of this file.
var _NodeEqualNeedsRegeneration = Node(struct {
ID NodeID
StableID StableNodeID
Name string
User UserID
Sharer UserID
Key key.NodePublic
KeyExpiry time.Time
KeySignature tkatype.MarshaledSignature
Machine key.MachinePublic
DiscoKey key.DiscoPublic
Addresses []netip.Prefix
AllowedIPs []netip.Prefix
Endpoints []string
DERP string
Hostinfo HostinfoView
Created time.Time
Cap CapabilityVersion
Tags []string
PrimaryRoutes []netip.Prefix
LastSeen *time.Time
Online *bool
KeepAlive bool
MachineAuthorized bool
Capabilities []string
UnsignedPeerAPIOnly bool
ComputedName string
computedHostIfDifferent string
ComputedNameWithHost string
DataPlaneAuditLogID string
Expired bool
SelfNodeV4MasqAddrForThisPeer *netip.Addr
IsWireGuardOnly bool
}{})
// Equal reports whether a and b are equal.
func (a *Hostinfo) Equal(b *Hostinfo) bool {
if a == b {
return true
}
return a != nil && b != nil &&
a.IPNVersion == b.IPNVersion &&
a.FrontendLogID == b.FrontendLogID &&
a.BackendLogID == b.BackendLogID &&
a.OS == b.OS &&
a.OSVersion == b.OSVersion &&
a.Container == b.Container &&
a.Env == b.Env &&
a.Distro == b.Distro &&
a.DistroVersion == b.DistroVersion &&
a.DistroCodeName == b.DistroCodeName &&
a.App == b.App &&
a.Desktop == b.Desktop &&
a.Package == b.Package &&
a.DeviceModel == b.DeviceModel &&
a.PushDeviceToken == b.PushDeviceToken &&
a.Hostname == b.Hostname &&
a.ShieldsUp == b.ShieldsUp &&
a.ShareeNode == b.ShareeNode &&
a.NoLogsNoSupport == b.NoLogsNoSupport &&
a.WireIngress == b.WireIngress &&
a.AllowsUpdate == b.AllowsUpdate &&
a.Machine == b.Machine &&
a.GoArch == b.GoArch &&
a.GoArchVar == b.GoArchVar &&
a.GoVersion == b.GoVersion &&
((a.RoutableIPs == nil) == (b.RoutableIPs == nil)) &&
slices.Equal(a.RoutableIPs, b.RoutableIPs) &&
((a.RequestTags == nil) == (b.RequestTags == nil)) &&
slices.Equal(a.RequestTags, b.RequestTags) &&
((a.Services == nil) == (b.Services == nil)) &&
slices.EqualFunc(a.Services, b.Services, func(aa Service, bb Service) bool { return aa.Equal(&bb) }) &&
((a.NetInfo == nil) == (b.NetInfo == nil)) && (a.NetInfo == nil || a.NetInfo.Equal(b.NetInfo)) &&
((a.SSH_HostKeys == nil) == (b.SSH_HostKeys == nil)) &&
slices.Equal(a.SSH_HostKeys, b.SSH_HostKeys) &&
a.Cloud == b.Cloud &&
a.Userspace == b.Userspace &&
a.UserspaceRouter == b.UserspaceRouter &&
true
}
// A compilation failure here means this code must be regenerated, with the command at the top of this file.
var _HostinfoEqualNeedsRegeneration = Hostinfo(struct {
IPNVersion string
FrontendLogID string
BackendLogID string
OS string
OSVersion string
Container opt.Bool
Env string
Distro string
DistroVersion string
DistroCodeName string
App string
Desktop opt.Bool
Package string
DeviceModel string
PushDeviceToken string
Hostname string
ShieldsUp bool
ShareeNode bool
NoLogsNoSupport bool
WireIngress bool
AllowsUpdate bool
Machine string
GoArch string
GoArchVar string
GoVersion string
RoutableIPs []netip.Prefix
RequestTags []string
Services []Service
NetInfo *NetInfo
SSH_HostKeys []string
Cloud string
Userspace opt.Bool
UserspaceRouter opt.Bool
}{})
// Equal reports whether a and b are equal.
func (a *NetInfo) Equal(b *NetInfo) bool {
if a == b {
return true
}
return a != nil && b != nil &&
a.MappingVariesByDestIP == b.MappingVariesByDestIP &&
a.HairPinning == b.HairPinning &&
a.WorkingIPv6 == b.WorkingIPv6 &&
a.OSHasIPv6 == b.OSHasIPv6 &&
a.WorkingUDP == b.WorkingUDP &&
a.WorkingICMPv4 == b.WorkingICMPv4 &&
a.HavePortMap == b.HavePortMap &&
a.UPnP == b.UPnP &&
a.PMP == b.PMP &&
a.PCP == b.PCP &&
a.PreferredDERP == b.PreferredDERP &&
a.LinkType == b.LinkType &&
// Skipping DERPLatency because of codegen:noequal
true
}
// A compilation failure here means this code must be regenerated, with the command at the top of this file.
var _NetInfoEqualNeedsRegeneration = NetInfo(struct {
MappingVariesByDestIP opt.Bool
HairPinning opt.Bool
WorkingIPv6 opt.Bool
OSHasIPv6 opt.Bool
WorkingUDP opt.Bool
WorkingICMPv4 opt.Bool
HavePortMap bool
UPnP opt.Bool
PMP opt.Bool
PCP opt.Bool
PreferredDERP int
LinkType string
DERPLatency map[string]float64
}{})
// Equal reports whether a and b are equal.
func (a *Service) Equal(b *Service) bool {
if a == b {
return true
}
return a != nil && b != nil &&
// Skipping _ because of codegen:noequal
a.Proto == b.Proto &&
a.Port == b.Port &&
a.Description == b.Description &&
true
}
// A compilation failure here means this code must be regenerated, with the command at the top of this file.
var _ServiceEqualNeedsRegeneration = Service(struct {
_ structs.Incomparable
Proto ServiceProto
Port uint16
Description string
}{})