2022-11-18 05:22:44 +08:00
|
|
|
package functions
|
|
|
|
|
|
|
|
import (
|
2022-11-18 20:58:52 +08:00
|
|
|
"fmt"
|
2022-11-18 05:22:44 +08:00
|
|
|
"net/http"
|
|
|
|
|
|
|
|
"github.com/gravitl/netmaker/models"
|
|
|
|
)
|
|
|
|
|
|
|
|
// CreateNetwork - creates a network
|
|
|
|
func CreateNetwork(payload *models.Network) *models.Network {
|
2022-11-18 20:12:40 +08:00
|
|
|
return request[models.Network](http.MethodPost, "/api/networks", payload)
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateNetwork - updates a network
|
|
|
|
func UpdateNetwork(name string, payload *models.Network) *models.Network {
|
|
|
|
return request[models.Network](http.MethodPut, "/api/networks/"+name, payload)
|
2022-11-18 05:22:44 +08:00
|
|
|
}
|
|
|
|
|
2022-11-18 20:58:52 +08:00
|
|
|
// UpdateNetworkNodeLimit - updates a network
|
|
|
|
func UpdateNetworkNodeLimit(name string, nodeLimit int32) *models.Network {
|
|
|
|
return request[models.Network](http.MethodPut, fmt.Sprintf("/api/networks/%s/nodelimit", name), &models.Network{
|
|
|
|
NodeLimit: nodeLimit,
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2022-11-18 05:22:44 +08:00
|
|
|
// GetNetworks - fetch all networks
|
2022-11-18 20:12:40 +08:00
|
|
|
func GetNetworks() *[]models.Network {
|
|
|
|
return request[[]models.Network](http.MethodGet, "/api/networks", nil)
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetNetwork - fetch a single network
|
|
|
|
func GetNetwork(name string) *models.Network {
|
|
|
|
return request[models.Network](http.MethodGet, "/api/networks/"+name, nil)
|
2022-11-18 05:22:44 +08:00
|
|
|
}
|
2022-11-18 20:58:52 +08:00
|
|
|
|
|
|
|
// DeleteNetwork - delete a network
|
|
|
|
func DeleteNetwork(name string) *string {
|
|
|
|
return request[string](http.MethodDelete, "/api/networks/"+name, nil)
|
|
|
|
}
|