Versions in this module Expand all Collapse all v1 v1.0.0 Oct 10, 2023 Changes in this version + const ChangeNew + const ChangeUnchanged + const ChangeUpdated + const TimeLayout + var ErrAPINoSuccess = errors.New("API call failed") + var ErrBadRequest = errors.New("incorrect request parameters") + var ErrNotFound = errors.New("not found") + var ErrTunnelNameConflict = errors.New("tunnel with name already exists") + var ErrUnauthorized = errors.New("unauthorized") + var IpRouteFilterFlags = []cli.Flag + var VnetFilterFlags = []cli.Flag + type ActiveClient struct + Arch string + Connections []Connection + Features []string + ID uuid.UUID + RunAt time.Time + Version string + type CIDR net.IPNet + func (c *CIDR) UnmarshalJSON(data []byte) error + func (c CIDR) MarshalJSON() ([]byte, error) + func (c CIDR) String() string + type Change = string + type CleanupParams struct + func NewCleanupParams() *CleanupParams + func (cp *CleanupParams) ForClient(clientID uuid.UUID) + type Client interface + type Connection struct + ColoName string + ID uuid.UUID + IsPendingReconnect bool + OpenedAt time.Time + OriginIP net.IP + type DNSRoute struct + func (dr *DNSRoute) MarshalJSON() ([]byte, error) + func (dr *DNSRoute) RecordType() string + func (dr *DNSRoute) String() string + func (dr *DNSRoute) UnmarshalResult(body io.Reader) (HostnameRouteResult, error) + type DNSRouteResult struct + CName Change + Name string + func (res *DNSRouteResult) SuccessSummary() string + type DetailedRoute struct + Comment string + CreatedAt time.Time + DeletedAt time.Time + ID uuid.UUID + Network CIDR + TunnelID uuid.UUID + TunnelName string + VNetID *uuid.UUID + func (r *DetailedRoute) IsZero() bool + func (r DetailedRoute) TableString() string + type GetRouteByIpParams struct + Ip net.IP + VNetID *uuid.UUID + type HostnameClient interface + RouteTunnel func(tunnelID uuid.UUID, route HostnameRoute) (HostnameRouteResult, error) + type HostnameRoute interface + RecordType func() string + String func() string + UnmarshalResult func(body io.Reader) (HostnameRouteResult, error) + func NewDNSRoute(userHostname string, overwriteExisting bool) HostnameRoute + func NewLBRoute(lbName, lbPool string) HostnameRoute + type HostnameRouteResult interface + SuccessSummary func() string + type IPRouteClient interface + AddRoute func(newRoute NewRoute) (Route, error) + DeleteRoute func(id uuid.UUID) error + GetByIP func(params GetRouteByIpParams) (DetailedRoute, error) + ListRoutes func(filter *IpRouteFilter) ([]*DetailedRoute, error) + type IpRouteFilter struct + func NewIPRouteFilter() *IpRouteFilter + func NewIpRouteFilterFromCLI(c *cli.Context) (*IpRouteFilter, error) + func (f *IpRouteFilter) CommentIs(comment string) + func (f *IpRouteFilter) Deleted() + func (f *IpRouteFilter) ExistedAt(existedAt time.Time) + func (f *IpRouteFilter) MaxFetchSize(max uint) + func (f *IpRouteFilter) NetworkIsSubsetOf(superset net.IPNet) + func (f *IpRouteFilter) NetworkIsSupersetOf(subset net.IPNet) + func (f *IpRouteFilter) NotDeleted() + func (f *IpRouteFilter) TunnelID(id uuid.UUID) + func (f *IpRouteFilter) VNetID(id uuid.UUID) + func (f IpRouteFilter) Encode() string + type LBRoute struct + func (lb *LBRoute) String() string + func (lr *LBRoute) MarshalJSON() ([]byte, error) + func (lr *LBRoute) RecordType() string + func (lr *LBRoute) UnmarshalResult(body io.Reader) (HostnameRouteResult, error) + type LBRouteResult struct + LoadBalancer Change + Pool Change + func (res *LBRouteResult) SuccessSummary() string + type NewRoute struct + Comment string + Network net.IPNet + TunnelID uuid.UUID + VNetID *uuid.UUID + func (r NewRoute) MarshalJSON() ([]byte, error) + type NewVirtualNetwork struct + Comment string + IsDefault bool + Name string + type RESTClient struct + func NewRESTClient(baseURL, accountTag, zoneTag, authToken, userAgent string, log *zerolog.Logger) (*RESTClient, error) + func (r *RESTClient) AddRoute(newRoute NewRoute) (Route, error) + func (r *RESTClient) CleanupConnections(tunnelID uuid.UUID, params *CleanupParams) error + func (r *RESTClient) CreateTunnel(name string, tunnelSecret []byte) (*TunnelWithToken, error) + func (r *RESTClient) CreateVirtualNetwork(newVnet NewVirtualNetwork) (VirtualNetwork, error) + func (r *RESTClient) DeleteRoute(id uuid.UUID) error + func (r *RESTClient) DeleteTunnel(tunnelID uuid.UUID, cascade bool) error + func (r *RESTClient) DeleteVirtualNetwork(id uuid.UUID, force bool) error + func (r *RESTClient) GetByIP(params GetRouteByIpParams) (DetailedRoute, error) + func (r *RESTClient) GetManagementToken(tunnelID uuid.UUID) (token string, err error) + func (r *RESTClient) GetTunnel(tunnelID uuid.UUID) (*Tunnel, error) + func (r *RESTClient) GetTunnelToken(tunnelID uuid.UUID) (token string, err error) + func (r *RESTClient) ListActiveClients(tunnelID uuid.UUID) ([]*ActiveClient, error) + func (r *RESTClient) ListRoutes(filter *IpRouteFilter) ([]*DetailedRoute, error) + func (r *RESTClient) ListTunnels(filter *TunnelFilter) ([]*Tunnel, error) + func (r *RESTClient) ListVirtualNetworks(filter *VnetFilter) ([]*VirtualNetwork, error) + func (r *RESTClient) RouteTunnel(tunnelID uuid.UUID, route HostnameRoute) (HostnameRouteResult, error) + func (r *RESTClient) UpdateVirtualNetwork(id uuid.UUID, updates UpdateVirtualNetwork) error + type Route struct + Comment string + CreatedAt time.Time + DeletedAt time.Time + Network CIDR + TunnelID uuid.UUID + VNetID *uuid.UUID + type Tunnel struct + Connections []Connection + CreatedAt time.Time + DeletedAt time.Time + ID uuid.UUID + Name string + type TunnelClient interface + CleanupConnections func(tunnelID uuid.UUID, params *CleanupParams) error + CreateTunnel func(name string, tunnelSecret []byte) (*TunnelWithToken, error) + DeleteTunnel func(tunnelID uuid.UUID, cascade bool) error + GetManagementToken func(tunnelID uuid.UUID) (string, error) + GetTunnel func(tunnelID uuid.UUID) (*Tunnel, error) + GetTunnelToken func(tunnelID uuid.UUID) (string, error) + ListActiveClients func(tunnelID uuid.UUID) ([]*ActiveClient, error) + ListTunnels func(filter *TunnelFilter) ([]*Tunnel, error) + type TunnelFilter struct + func NewTunnelFilter() *TunnelFilter + func (f *TunnelFilter) ByExistedAt(existedAt time.Time) + func (f *TunnelFilter) ByName(name string) + func (f *TunnelFilter) ByNamePrefix(namePrefix string) + func (f *TunnelFilter) ByTunnelID(tunnelID uuid.UUID) + func (f *TunnelFilter) ExcludeNameWithPrefix(excludePrefix string) + func (f *TunnelFilter) MaxFetchSize(max uint) + func (f *TunnelFilter) NoDeleted() + type TunnelWithToken struct + Token string + type UpdateVirtualNetwork struct + Comment *string + IsDefault *bool + Name *string + type VirtualNetwork struct + Comment string + CreatedAt time.Time + DeletedAt time.Time + ID uuid.UUID + IsDefault bool + Name string + func (virtualNetwork VirtualNetwork) TableString() string + type VnetClient interface + CreateVirtualNetwork func(newVnet NewVirtualNetwork) (VirtualNetwork, error) + DeleteVirtualNetwork func(id uuid.UUID, force bool) error + ListVirtualNetworks func(filter *VnetFilter) ([]*VirtualNetwork, error) + UpdateVirtualNetwork func(id uuid.UUID, updates UpdateVirtualNetwork) error + type VnetFilter struct + func NewFromCLI(c *cli.Context) (*VnetFilter, error) + func NewVnetFilter() *VnetFilter + func (f *VnetFilter) ByDefaultStatus(isDefault bool) + func (f *VnetFilter) ById(vnetId uuid.UUID) + func (f *VnetFilter) ByName(name string) + func (f *VnetFilter) MaxFetchSize(max uint) + func (f *VnetFilter) WithDeleted(isDeleted bool) + func (f VnetFilter) Encode() string