ext_client.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package functions
  2. import (
  3. "fmt"
  4. "net/http"
  5. "github.com/gravitl/netmaker/models"
  6. )
  7. func GetAllExtClients() *[]models.ExtClient {
  8. return request[[]models.ExtClient](http.MethodGet, "/api/extclients", nil)
  9. }
  10. func GetNetworkExtClients(networkName string) *[]models.ExtClient {
  11. return request[[]models.ExtClient](http.MethodGet, "/api/extclients/"+networkName, nil)
  12. }
  13. func GetExtClient(networkName, clientID string) *models.ExtClient {
  14. return request[models.ExtClient](http.MethodGet, fmt.Sprintf("/api/extclients/%s/%s", networkName, clientID), nil)
  15. }
  16. func GetExtClientConfig(networkName, clientID, configType string) *models.ExtClient {
  17. return request[models.ExtClient](http.MethodGet, fmt.Sprintf("/api/extclients/%s/%s/%s", networkName, clientID, configType), nil)
  18. }
  19. func CreateExtClient(networkName, nodeID, extClientID string) {
  20. if extClientID != "" {
  21. request[any](http.MethodPost, fmt.Sprintf("/api/extclients/%s/%s", networkName, nodeID), &models.CustomExtClient{
  22. ClientID: extClientID,
  23. })
  24. } else {
  25. request[any](http.MethodPost, fmt.Sprintf("/api/extclients/%s/%s", networkName, nodeID), nil)
  26. }
  27. }
  28. func DeleteExtClient(networkName, clientID string) *models.SuccessResponse {
  29. return request[models.SuccessResponse](http.MethodDelete, fmt.Sprintf("/api/extclients/%s/%s", networkName, clientID), nil)
  30. }