| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | package functionsimport (	"fmt"	"net/http"	"github.com/gravitl/netmaker/models")type hostNetworksUpdatePayload struct {	Networks []string `json:"networks"`}// GetHosts - fetch all host entriesfunc GetHosts() *[]models.ApiHost {	return request[[]models.ApiHost](http.MethodGet, "/api/hosts", nil)}// DeleteHost - delete a hostfunc DeleteHost(hostID string) *models.ApiHost {	return request[models.ApiHost](http.MethodDelete, "/api/hosts/"+hostID, nil)}// UpdateHost - update a hostfunc UpdateHost(hostID string, body *models.ApiHost) *models.ApiHost {	return request[models.ApiHost](http.MethodPut, "/api/hosts/"+hostID, body)}// UpdateHostNetworks - update a host's networksfunc UpdateHostNetworks(hostID string, networks []string) *hostNetworksUpdatePayload {	return request[hostNetworksUpdatePayload](http.MethodPut, "/api/hosts/"+hostID+"/networks", &hostNetworksUpdatePayload{		Networks: networks,	})}// CreateRelay - turn a host into a relayfunc CreateRelay(hostID string, relayedHosts []string) *models.ApiHost {	return request[models.ApiHost](http.MethodPost, fmt.Sprintf("/api/hosts/%s/relay", hostID), &models.HostRelayRequest{		HostID:       hostID,		RelayedHosts: relayedHosts,	})}// DeleteRelay - remove relay role from a hostfunc DeleteRelay(hostID string) *models.ApiHost {	return request[models.ApiHost](http.MethodDelete, fmt.Sprintf("/api/hosts/%s/relay", hostID), nil)}
 |