netmaker/cli/functions/network.go

41 lines
1.2 KiB
Go
Raw Normal View History

2022-11-18 05:22:44 +08:00
package functions
import (
"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
}
// 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
}
// DeleteNetwork - delete a network
func DeleteNetwork(name string) *string {
return request[string](http.MethodDelete, "/api/networks/"+name, nil)
}