cloudflare/cloudflared
Publicmirrored from https://github.com/cloudflare/cloudflaredAvailable
cfapi/client.go
41lines · modeblame
6822e4f8Nuno Diegues4 years ago | 1 | package cfapi |
| 2 | | |
| 3 | import ( | |
| 4 | "github.com/google/uuid" | |
| 5 | ) | |
| 6 | | |
| 7 | type TunnelClient interface { | |
b6d70764João Oliveirinha4 years ago | 8 | CreateTunnel(name string, tunnelSecret []byte) (*TunnelWithToken, error) |
6822e4f8Nuno Diegues4 years ago | 9 | GetTunnel(tunnelID uuid.UUID) (*Tunnel, error) |
98736a03Nuno Diegues4 years ago | 10 | GetTunnelToken(tunnelID uuid.UUID) (string, error) |
b89c092cDevin Carr3 years ago | 11 | GetManagementToken(tunnelID uuid.UUID) (string, error) |
958b6f1dJoão "Pisco" Fernandes2 years ago | 12 | DeleteTunnel(tunnelID uuid.UUID, cascade bool) error |
6822e4f8Nuno Diegues4 years ago | 13 | ListTunnels(filter *TunnelFilter) ([]*Tunnel, error) |
| 14 | ListActiveClients(tunnelID uuid.UUID) ([]*ActiveClient, error) | |
| 15 | CleanupConnections(tunnelID uuid.UUID, params *CleanupParams) error | |
| 16 | } | |
| 17 | | |
| 18 | type HostnameClient interface { | |
| 19 | RouteTunnel(tunnelID uuid.UUID, route HostnameRoute) (HostnameRouteResult, error) | |
| 20 | } | |
| 21 | | |
| 22 | type IPRouteClient interface { | |
| 23 | ListRoutes(filter *IpRouteFilter) ([]*DetailedRoute, error) | |
| 24 | AddRoute(newRoute NewRoute) (Route, error) | |
6d1d91d9João Oliveirinha2 years ago | 25 | DeleteRoute(id uuid.UUID) error |
6822e4f8Nuno Diegues4 years ago | 26 | GetByIP(params GetRouteByIpParams) (DetailedRoute, error) |
| 27 | } | |
| 28 | | |
| 29 | type VnetClient interface { | |
| 30 | CreateVirtualNetwork(newVnet NewVirtualNetwork) (VirtualNetwork, error) | |
| 31 | ListVirtualNetworks(filter *VnetFilter) ([]*VirtualNetwork, error) | |
4616e9fcNuno Diegues3 years ago | 32 | DeleteVirtualNetwork(id uuid.UUID, force bool) error |
6822e4f8Nuno Diegues4 years ago | 33 | UpdateVirtualNetwork(id uuid.UUID, updates UpdateVirtualNetwork) error |
| 34 | } | |
| 35 | | |
| 36 | type Client interface { | |
| 37 | TunnelClient | |
| 38 | HostnameClient | |
| 39 | IPRouteClient | |
| 40 | VnetClient | |
| 41 | } |