cloudflare/cloudflared

Public

mirrored from https://github.com/cloudflare/cloudflaredAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
2021.12.4

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

cfapi/client.go

39lines · modecode

1package cfapi
2
3import (
4 "github.com/google/uuid"
5)
6
7type TunnelClient interface {
8 CreateTunnel(name string, tunnelSecret []byte) (*Tunnel, error)
9 GetTunnel(tunnelID uuid.UUID) (*Tunnel, error)
10 DeleteTunnel(tunnelID uuid.UUID) error
11 ListTunnels(filter *TunnelFilter) ([]*Tunnel, error)
12 ListActiveClients(tunnelID uuid.UUID) ([]*ActiveClient, error)
13 CleanupConnections(tunnelID uuid.UUID, params *CleanupParams) error
14}
15
16type HostnameClient interface {
17 RouteTunnel(tunnelID uuid.UUID, route HostnameRoute) (HostnameRouteResult, error)
18}
19
20type IPRouteClient interface {
21 ListRoutes(filter *IpRouteFilter) ([]*DetailedRoute, error)
22 AddRoute(newRoute NewRoute) (Route, error)
23 DeleteRoute(params DeleteRouteParams) error
24 GetByIP(params GetRouteByIpParams) (DetailedRoute, error)
25}
26
27type VnetClient interface {
28 CreateVirtualNetwork(newVnet NewVirtualNetwork) (VirtualNetwork, error)
29 ListVirtualNetworks(filter *VnetFilter) ([]*VirtualNetwork, error)
30 DeleteVirtualNetwork(id uuid.UUID) error
31 UpdateVirtualNetwork(id uuid.UUID, updates UpdateVirtualNetwork) error
32}
33
34type Client interface {
35 TunnelClient
36 HostnameClient
37 IPRouteClient
38 VnetClient
39}
40