rest

package
v0.59.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 2, 2025 License: BSD-3-Clause Imports: 10 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithAuthHeader

func WithAuthHeader(value string) option

WithAuthHeader overrides auth header completely, this should generally not be used and WithBearerToken or WithPAT should be used instead

func WithBearerToken

func WithBearerToken(token string) option

WithBearerToken uses provided bearer token acquired from SSO for authentication

func WithHttpClient

func WithHttpClient(client HttpClient) option

WithHTTPClient overrides HTTPClient used

func WithManagementURL

func WithManagementURL(url string) option

WithManagementURL overrides target NetBird Management server

func WithPAT

func WithPAT(token string) option

WithPAT uses provided Personal Access Token (created from NetBird Management Dashboard) for authentication

Types

type AccountsAPI

type AccountsAPI struct {
	// contains filtered or unexported fields
}

AccountsAPI APIs for accounts, do not use directly

func (*AccountsAPI) Delete

func (a *AccountsAPI) Delete(ctx context.Context, accountID string) error

Delete delete account See more: https://docs.netbird.io/api/resources/accounts#delete-an-account

func (*AccountsAPI) List

func (a *AccountsAPI) List(ctx context.Context) ([]api.Account, error)

List list all accounts, only returns one account always See more: https://docs.netbird.io/api/resources/accounts#list-all-accounts

func (*AccountsAPI) Update

Update update account settings See more: https://docs.netbird.io/api/resources/accounts#update-an-account

type Client

type Client struct {

	// Accounts NetBird account APIs
	// see more: https://docs.netbird.io/api/resources/accounts
	Accounts *AccountsAPI

	// Users NetBird users APIs
	// see more: https://docs.netbird.io/api/resources/users
	Users *UsersAPI

	// Tokens NetBird tokens APIs
	// see more: https://docs.netbird.io/api/resources/tokens
	Tokens *TokensAPI

	// Peers NetBird peers APIs
	// see more: https://docs.netbird.io/api/resources/peers
	Peers *PeersAPI

	// SetupKeys NetBird setup keys APIs
	// see more: https://docs.netbird.io/api/resources/setup-keys
	SetupKeys *SetupKeysAPI

	// Groups NetBird groups APIs
	// see more: https://docs.netbird.io/api/resources/groups
	Groups *GroupsAPI

	// Policies NetBird policies APIs
	// see more: https://docs.netbird.io/api/resources/policies
	Policies *PoliciesAPI

	// PostureChecks NetBird posture checks APIs
	// see more: https://docs.netbird.io/api/resources/posture-checks
	PostureChecks *PostureChecksAPI

	// Networks NetBird networks APIs
	// see more: https://docs.netbird.io/api/resources/networks
	Networks *NetworksAPI

	// Routes NetBird routes APIs
	// see more: https://docs.netbird.io/api/resources/routes
	Routes *RoutesAPI

	// DNS NetBird DNS APIs
	// see more: https://docs.netbird.io/api/resources/routes
	DNS *DNSAPI

	// GeoLocation NetBird Geo Location APIs
	// see more: https://docs.netbird.io/api/resources/geo-locations
	GeoLocation *GeoLocationAPI

	// Events NetBird Events APIs
	// see more: https://docs.netbird.io/api/resources/events
	Events *EventsAPI
	// contains filtered or unexported fields
}

Client Management service HTTP REST API Client

func New

func New(managementURL, token string) *Client

New initialize new Client instance using PAT token

func NewWithBearerToken

func NewWithBearerToken(managementURL, token string) *Client

NewWithBearerToken initialize new Client instance using Bearer token type

func NewWithOptions

func NewWithOptions(opts ...option) *Client

NewWithOptions initialize new Client instance with options

func (*Client) Impersonate

func (c *Client) Impersonate(account string) *Client

Impersonate returns a Client impersonated for a specific account

func (*Client) NewRequest

func (c *Client) NewRequest(ctx context.Context, method, path string, body io.Reader, query map[string]string) (*http.Response, error)

NewRequest creates and executes new management API request

type DNSAPI

type DNSAPI struct {
	// contains filtered or unexported fields
}

DNSAPI APIs for DNS Management, do not use directly

func (*DNSAPI) CreateNameserverGroup

func (a *DNSAPI) CreateNameserverGroup(ctx context.Context, request api.PostApiDnsNameserversJSONRequestBody) (*api.NameserverGroup, error)

CreateNameserverGroup create new nameserver group See more: https://docs.netbird.io/api/resources/dns#create-a-nameserver-group

func (*DNSAPI) DeleteNameserverGroup

func (a *DNSAPI) DeleteNameserverGroup(ctx context.Context, nameserverGroupID string) error

DeleteNameserverGroup delete nameserver group See more: https://docs.netbird.io/api/resources/dns#delete-a-nameserver-group

func (*DNSAPI) GetNameserverGroup

func (a *DNSAPI) GetNameserverGroup(ctx context.Context, nameserverGroupID string) (*api.NameserverGroup, error)

GetNameserverGroup get nameserver group info See more: https://docs.netbird.io/api/resources/dns#retrieve-a-nameserver-group

func (*DNSAPI) GetSettings

func (a *DNSAPI) GetSettings(ctx context.Context) (*api.DNSSettings, error)

GetSettings get DNS settings See more: https://docs.netbird.io/api/resources/dns#retrieve-dns-settings

func (*DNSAPI) ListNameserverGroups

func (a *DNSAPI) ListNameserverGroups(ctx context.Context) ([]api.NameserverGroup, error)

ListNameserverGroups list all nameserver groups See more: https://docs.netbird.io/api/resources/dns#list-all-nameserver-groups

func (*DNSAPI) UpdateNameserverGroup

func (a *DNSAPI) UpdateNameserverGroup(ctx context.Context, nameserverGroupID string, request api.PutApiDnsNameserversNsgroupIdJSONRequestBody) (*api.NameserverGroup, error)

UpdateNameserverGroup update nameserver group info See more: https://docs.netbird.io/api/resources/dns#update-a-nameserver-group

func (*DNSAPI) UpdateSettings

func (a *DNSAPI) UpdateSettings(ctx context.Context, request api.PutApiDnsSettingsJSONRequestBody) (*api.DNSSettings, error)

UpdateSettings update DNS settings See more: https://docs.netbird.io/api/resources/dns#update-dns-settings

type EventsAPI

type EventsAPI struct {
	// contains filtered or unexported fields
}

EventsAPI APIs for Events, do not use directly

func (*EventsAPI) List

func (a *EventsAPI) List(ctx context.Context) ([]api.Event, error)

List list all events See more: https://docs.netbird.io/api/resources/events#list-all-events

type GeoLocationAPI

type GeoLocationAPI struct {
	// contains filtered or unexported fields
}

GeoLocationAPI APIs for Geo-Location, do not use directly

func (*GeoLocationAPI) ListCountries

func (a *GeoLocationAPI) ListCountries(ctx context.Context) ([]api.Country, error)

ListCountries list all country codes See more: https://docs.netbird.io/api/resources/geo-locations#list-all-country-codes

func (*GeoLocationAPI) ListCountryCities

func (a *GeoLocationAPI) ListCountryCities(ctx context.Context, countryCode string) ([]api.City, error)

ListCountryCities Get a list of all English city names for a given country code See more: https://docs.netbird.io/api/resources/geo-locations#list-all-city-names-by-country

type GroupsAPI

type GroupsAPI struct {
	// contains filtered or unexported fields
}

GroupsAPI APIs for Groups, do not use directly

func (*GroupsAPI) Create

Create create new group See more: https://docs.netbird.io/api/resources/groups#create-a-group

func (*GroupsAPI) Delete

func (a *GroupsAPI) Delete(ctx context.Context, groupID string) error

Delete delete group See more: https://docs.netbird.io/api/resources/groups#delete-a-group

func (*GroupsAPI) Get

func (a *GroupsAPI) Get(ctx context.Context, groupID string) (*api.Group, error)

Get get group info See more: https://docs.netbird.io/api/resources/groups#retrieve-a-group

func (*GroupsAPI) List

func (a *GroupsAPI) List(ctx context.Context) ([]api.Group, error)

List list all groups See more: https://docs.netbird.io/api/resources/groups#list-all-groups

func (*GroupsAPI) Update

func (a *GroupsAPI) Update(ctx context.Context, groupID string, request api.PutApiGroupsGroupIdJSONRequestBody) (*api.Group, error)

Update update group info See more: https://docs.netbird.io/api/resources/groups#update-a-group

type HttpClient

type HttpClient interface {
	Do(req *http.Request) (*http.Response, error)
}

HTTPClient interface for HTTP client

type NetworkResourcesAPI

type NetworkResourcesAPI struct {
	// contains filtered or unexported fields
}

NetworkResourcesAPI APIs for Network Resources, do not use directly

func (*NetworkResourcesAPI) Delete

func (a *NetworkResourcesAPI) Delete(ctx context.Context, networkResourceID string) error

Delete delete network resource See more: https://docs.netbird.io/api/resources/networks#delete-a-network-resource

func (*NetworkResourcesAPI) Get

func (a *NetworkResourcesAPI) Get(ctx context.Context, networkResourceID string) (*api.NetworkResource, error)

Get get network resource info See more: https://docs.netbird.io/api/resources/networks#retrieve-a-network-resource

func (*NetworkResourcesAPI) List

List list all resources in networks See more: https://docs.netbird.io/api/resources/networks#list-all-network-resources

func (*NetworkResourcesAPI) Update

Update update network resource See more: https://docs.netbird.io/api/resources/networks#update-a-network-resource

type NetworkRoutersAPI

type NetworkRoutersAPI struct {
	// contains filtered or unexported fields
}

NetworkRoutersAPI APIs for Network Routers, do not use directly

func (*NetworkRoutersAPI) Delete

func (a *NetworkRoutersAPI) Delete(ctx context.Context, networkRouterID string) error

Delete delete network router See more: https://docs.netbird.io/api/routers/networks#delete-a-network-router

func (*NetworkRoutersAPI) Get

func (a *NetworkRoutersAPI) Get(ctx context.Context, networkRouterID string) (*api.NetworkRouter, error)

Get get network router info See more: https://docs.netbird.io/api/routers/networks#retrieve-a-network-router

func (*NetworkRoutersAPI) List

List list all routers in networks See more: https://docs.netbird.io/api/routers/networks#list-all-network-routers

func (*NetworkRoutersAPI) Update

Update update network router See more: https://docs.netbird.io/api/routers/networks#update-a-network-router

type NetworksAPI

type NetworksAPI struct {
	// contains filtered or unexported fields
}

NetworksAPI APIs for Networks, do not use directly

func (*NetworksAPI) Create

Create create new network See more: https://docs.netbird.io/api/resources/networks#create-a-network

func (*NetworksAPI) Delete

func (a *NetworksAPI) Delete(ctx context.Context, networkID string) error

Delete delete network See more: https://docs.netbird.io/api/resources/networks#delete-a-network

func (*NetworksAPI) Get

func (a *NetworksAPI) Get(ctx context.Context, networkID string) (*api.Network, error)

Get get network info See more: https://docs.netbird.io/api/resources/networks#retrieve-a-network

func (*NetworksAPI) List

func (a *NetworksAPI) List(ctx context.Context) ([]api.Network, error)

List list all networks See more: https://docs.netbird.io/api/resources/networks#list-all-networks

func (*NetworksAPI) Resources

func (a *NetworksAPI) Resources(networkID string) *NetworkResourcesAPI

Resources APIs for network resources

func (*NetworksAPI) Routers

func (a *NetworksAPI) Routers(networkID string) *NetworkRoutersAPI

Routers APIs for network routers

func (*NetworksAPI) Update

Update update network See more: https://docs.netbird.io/api/resources/networks#update-a-network

type PeersAPI

type PeersAPI struct {
	// contains filtered or unexported fields
}

PeersAPI APIs for peers, do not use directly

func (*PeersAPI) Delete

func (a *PeersAPI) Delete(ctx context.Context, peerID string) error

Delete delete a peer See more: https://docs.netbird.io/api/resources/peers#delete-a-peer

func (*PeersAPI) Get

func (a *PeersAPI) Get(ctx context.Context, peerID string) (*api.Peer, error)

Get retrieve a peer See more: https://docs.netbird.io/api/resources/peers#retrieve-a-peer

func (*PeersAPI) List

func (a *PeersAPI) List(ctx context.Context, opts ...PeersListOption) ([]api.Peer, error)

List list all peers See more: https://docs.netbird.io/api/resources/peers#list-all-peers

func (*PeersAPI) ListAccessiblePeers

func (a *PeersAPI) ListAccessiblePeers(ctx context.Context, peerID string) ([]api.Peer, error)

ListAccessiblePeers list all peers that the specified peer can connect to within the network See more: https://docs.netbird.io/api/resources/peers#list-accessible-peers

func (*PeersAPI) Update

func (a *PeersAPI) Update(ctx context.Context, peerID string, request api.PutApiPeersPeerIdJSONRequestBody) (*api.Peer, error)

Update update information for a peer See more: https://docs.netbird.io/api/resources/peers#update-a-peer

type PeersListOption

type PeersListOption func() (string, string)

PeersListOption options for Peers List API

func PeerIPFilter

func PeerIPFilter(ip string) PeersListOption

func PeerNameFilter

func PeerNameFilter(name string) PeersListOption

type PoliciesAPI

type PoliciesAPI struct {
	// contains filtered or unexported fields
}

PoliciesAPI APIs for Policies, do not use directly

func (*PoliciesAPI) Create

Create create new policy See more: https://docs.netbird.io/api/resources/policies#create-a-policy

func (*PoliciesAPI) Delete

func (a *PoliciesAPI) Delete(ctx context.Context, policyID string) error

Delete delete policy See more: https://docs.netbird.io/api/resources/policies#delete-a-policy

func (*PoliciesAPI) Get

func (a *PoliciesAPI) Get(ctx context.Context, policyID string) (*api.Policy, error)

Get get policy info See more: https://docs.netbird.io/api/resources/policies#retrieve-a-policy

func (*PoliciesAPI) List

func (a *PoliciesAPI) List(ctx context.Context) ([]api.Policy, error)

List list all policies See more: https://docs.netbird.io/api/resources/policies#list-all-policies

func (*PoliciesAPI) Update

Update update policy info See more: https://docs.netbird.io/api/resources/policies#update-a-policy

type PostureChecksAPI

type PostureChecksAPI struct {
	// contains filtered or unexported fields
}

PostureChecksAPI APIs for PostureChecks, do not use directly

func (*PostureChecksAPI) Create

Create create new posture check See more: https://docs.netbird.io/api/resources/posture-checks#create-a-posture-check

func (*PostureChecksAPI) Delete

func (a *PostureChecksAPI) Delete(ctx context.Context, postureCheckID string) error

Delete delete posture check See more: https://docs.netbird.io/api/resources/posture-checks#delete-a-posture-check

func (*PostureChecksAPI) Get

func (a *PostureChecksAPI) Get(ctx context.Context, postureCheckID string) (*api.PostureCheck, error)

Get get posture check info See more: https://docs.netbird.io/api/resources/posture-checks#retrieve-a-posture-check

func (*PostureChecksAPI) List

List list all posture checks See more: https://docs.netbird.io/api/resources/posture-checks#list-all-posture-checks

func (*PostureChecksAPI) Update

Update update posture check info See more: https://docs.netbird.io/api/resources/posture-checks#update-a-posture-check

type RoutesAPI

type RoutesAPI struct {
	// contains filtered or unexported fields
}

RoutesAPI APIs for Routes, do not use directly

func (*RoutesAPI) Create

Create create new route See more: https://docs.netbird.io/api/resources/routes#create-a-route

func (*RoutesAPI) Delete

func (a *RoutesAPI) Delete(ctx context.Context, routeID string) error

Delete delete route See more: https://docs.netbird.io/api/resources/routes#delete-a-route

func (*RoutesAPI) Get

func (a *RoutesAPI) Get(ctx context.Context, routeID string) (*api.Route, error)

Get get route info See more: https://docs.netbird.io/api/resources/routes#retrieve-a-route

func (*RoutesAPI) List

func (a *RoutesAPI) List(ctx context.Context) ([]api.Route, error)

List list all routes See more: https://docs.netbird.io/api/resources/routes#list-all-routes

func (*RoutesAPI) Update

func (a *RoutesAPI) Update(ctx context.Context, routeID string, request api.PutApiRoutesRouteIdJSONRequestBody) (*api.Route, error)

Update update route info See more: https://docs.netbird.io/api/resources/routes#update-a-route

type SetupKeysAPI

type SetupKeysAPI struct {
	// contains filtered or unexported fields
}

SetupKeysAPI APIs for Setup keys, do not use directly

func (*SetupKeysAPI) Create

Create generate new Setup Key See more: https://docs.netbird.io/api/resources/setup-keys#create-a-setup-key

func (*SetupKeysAPI) Delete

func (a *SetupKeysAPI) Delete(ctx context.Context, setupKeyID string) error

Delete delete setup key See more: https://docs.netbird.io/api/resources/setup-keys#delete-a-setup-key

func (*SetupKeysAPI) Get

func (a *SetupKeysAPI) Get(ctx context.Context, setupKeyID string) (*api.SetupKey, error)

Get get setup key info See more: https://docs.netbird.io/api/resources/setup-keys#retrieve-a-setup-key

func (*SetupKeysAPI) List

func (a *SetupKeysAPI) List(ctx context.Context) ([]api.SetupKey, error)

List list all setup keys See more: https://docs.netbird.io/api/resources/setup-keys#list-all-setup-keys

func (*SetupKeysAPI) Update

Update generate new Setup Key See more: https://docs.netbird.io/api/resources/setup-keys#update-a-setup-key

type TokensAPI

type TokensAPI struct {
	// contains filtered or unexported fields
}

TokensAPI APIs for PATs, do not use directly

func (*TokensAPI) Create

Create generate new PAT for user See more: https://docs.netbird.io/api/resources/tokens#create-a-token

func (*TokensAPI) Delete

func (a *TokensAPI) Delete(ctx context.Context, userID, tokenID string) error

Delete delete user token See more: https://docs.netbird.io/api/resources/tokens#delete-a-token

func (*TokensAPI) Get

func (a *TokensAPI) Get(ctx context.Context, userID, tokenID string) (*api.PersonalAccessToken, error)

Get get user token info See more: https://docs.netbird.io/api/resources/tokens#retrieve-a-token

func (*TokensAPI) List

func (a *TokensAPI) List(ctx context.Context, userID string) ([]api.PersonalAccessToken, error)

List list user tokens See more: https://docs.netbird.io/api/resources/tokens#list-all-tokens

type UsersAPI

type UsersAPI struct {
	// contains filtered or unexported fields
}

UsersAPI APIs for users, do not use directly

func (*UsersAPI) Create

func (a *UsersAPI) Create(ctx context.Context, request api.PostApiUsersJSONRequestBody) (*api.User, error)

Create create user See more: https://docs.netbird.io/api/resources/users#create-a-user

func (*UsersAPI) Current

func (a *UsersAPI) Current(ctx context.Context) (*api.User, error)

Current gets the current user info See more: https://docs.netbird.io/api/resources/users#retrieve-current-user

func (*UsersAPI) Delete

func (a *UsersAPI) Delete(ctx context.Context, userID string) error

Delete delete user See more: https://docs.netbird.io/api/resources/users#delete-a-user

func (*UsersAPI) List

func (a *UsersAPI) List(ctx context.Context) ([]api.User, error)

List list all users, only returns one user always See more: https://docs.netbird.io/api/resources/users#list-all-users

func (*UsersAPI) ResendInvitation

func (a *UsersAPI) ResendInvitation(ctx context.Context, userID string) error

ResendInvitation resend user invitation See more: https://docs.netbird.io/api/resources/users#resend-user-invitation

func (*UsersAPI) Update

func (a *UsersAPI) Update(ctx context.Context, userID string, request api.PutApiUsersUserIdJSONRequestBody) (*api.User, error)

Update update user settings See more: https://docs.netbird.io/api/resources/users#update-a-user

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL