| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | package models// ExtClient - struct for external clientstype ExtClient struct {	ClientID               string              `json:"clientid" bson:"clientid"`	PrivateKey             string              `json:"privatekey" bson:"privatekey"`	PublicKey              string              `json:"publickey" bson:"publickey"`	Network                string              `json:"network" bson:"network"`	DNS                    string              `json:"dns" bson:"dns"`	Address                string              `json:"address" bson:"address"`	Address6               string              `json:"address6" bson:"address6"`	ExtraAllowedIPs        []string            `json:"extraallowedips" bson:"extraallowedips"`	AllowedIPs             []string            `json:"allowed_ips"`	IngressGatewayID       string              `json:"ingressgatewayid" bson:"ingressgatewayid"`	IngressGatewayEndpoint string              `json:"ingressgatewayendpoint" bson:"ingressgatewayendpoint"`	LastModified           int64               `json:"lastmodified" bson:"lastmodified"`	Enabled                bool                `json:"enabled" bson:"enabled"`	OwnerID                string              `json:"ownerid" bson:"ownerid"`	DeniedACLs             map[string]struct{} `json:"deniednodeacls" bson:"acls,omitempty"`	RemoteAccessClientID   string              `json:"remote_access_client_id"` // unique ID (MAC address) of RAC machine	PostUp                 string              `json:"postup" bson:"postup"`	PostDown               string              `json:"postdown" bson:"postdown"`	Tags                   map[TagID]struct{}  `json:"tags"`}// CustomExtClient - struct for CustomExtClient paramstype CustomExtClient struct {	ClientID             string              `json:"clientid,omitempty"`	PublicKey            string              `json:"publickey,omitempty"`	DNS                  string              `json:"dns,omitempty"`	ExtraAllowedIPs      []string            `json:"extraallowedips,omitempty"`	Enabled              bool                `json:"enabled,omitempty"`	DeniedACLs           map[string]struct{} `json:"deniednodeacls" bson:"acls,omitempty"`	RemoteAccessClientID string              `json:"remote_access_client_id"` // unique ID (MAC address) of RAC machine	PostUp               string              `json:"postup" bson:"postup" validate:"max=1024"`	PostDown             string              `json:"postdown" bson:"postdown" validate:"max=1024"`	Tags                 map[TagID]struct{}  `json:"tags"`}func (ext *ExtClient) ConvertToStaticNode() Node {	return Node{		CommonNode: CommonNode{			Network: ext.Network,		},		Tags:       ext.Tags,		IsStatic:   true,		StaticNode: *ext,	}}
 |