diff --git a/cli/cmd/host/add_network.go b/cli/cmd/host/add_network.go new file mode 100644 index 00000000..44bbb5e3 --- /dev/null +++ b/cli/cmd/host/add_network.go @@ -0,0 +1,20 @@ +package host + +import ( + "github.com/gravitl/netmaker/cli/functions" + "github.com/spf13/cobra" +) + +var addHostNetworkCmd = &cobra.Command{ + Use: "add_network HostID Network", + Args: cobra.ExactArgs(2), + Short: "Add a network to a host", + Long: `Add a network to a host`, + Run: func(cmd *cobra.Command, args []string) { + functions.PrettyPrint(functions.AddHostToNetwork(args[0], args[1])) + }, +} + +func init() { + rootCmd.AddCommand(addHostNetworkCmd) +} diff --git a/cli/cmd/host/delete_network.go b/cli/cmd/host/delete_network.go new file mode 100644 index 00000000..1d5bee16 --- /dev/null +++ b/cli/cmd/host/delete_network.go @@ -0,0 +1,20 @@ +package host + +import ( + "github.com/gravitl/netmaker/cli/functions" + "github.com/spf13/cobra" +) + +var deleteHostNetworkCmd = &cobra.Command{ + Use: "delete_network HostID Network", + Args: cobra.ExactArgs(2), + Short: "Delete a network from a host", + Long: `Delete a network from a host`, + Run: func(cmd *cobra.Command, args []string) { + functions.PrettyPrint(functions.DeleteHostFromNetwork(args[0], args[1])) + }, +} + +func init() { + rootCmd.AddCommand(deleteHostNetworkCmd) +} diff --git a/cli/cmd/host/update_networks.go b/cli/cmd/host/update_networks.go deleted file mode 100644 index afe3f747..00000000 --- a/cli/cmd/host/update_networks.go +++ /dev/null @@ -1,22 +0,0 @@ -package host - -import ( - "strings" - - "github.com/gravitl/netmaker/cli/functions" - "github.com/spf13/cobra" -) - -var hostUpdateNetworksCmd = &cobra.Command{ - Use: "update_network HostID Networks(comma separated list)", - Args: cobra.ExactArgs(2), - Short: "Update a host's networks", - Long: `Update a host's networks`, - Run: func(cmd *cobra.Command, args []string) { - functions.PrettyPrint(functions.UpdateHostNetworks(args[0], strings.Split(args[1], ","))) - }, -} - -func init() { - rootCmd.AddCommand(hostUpdateNetworksCmd) -} diff --git a/cli/functions/host.go b/cli/functions/host.go index bfeabd55..553aca0c 100644 --- a/cli/functions/host.go +++ b/cli/functions/host.go @@ -26,11 +26,14 @@ func UpdateHost(hostID string, body *models.ApiHost) *models.ApiHost { return request[models.ApiHost](http.MethodPut, "/api/hosts/"+hostID, body) } -// UpdateHostNetworks - update a host's networks -func UpdateHostNetworks(hostID string, networks []string) *hostNetworksUpdatePayload { - return request[hostNetworksUpdatePayload](http.MethodPut, "/api/hosts/"+hostID+"/networks", &hostNetworksUpdatePayload{ - Networks: networks, - }) +// AddHostToNetwork - add a network to host +func AddHostToNetwork(hostID, network string) *hostNetworksUpdatePayload { + return request[hostNetworksUpdatePayload](http.MethodPost, "/api/hosts/"+hostID+"/networks/"+network, nil) +} + +// DeleteHostFromNetwork - deletes a network from host +func DeleteHostFromNetwork(hostID, network string) *hostNetworksUpdatePayload { + return request[hostNetworksUpdatePayload](http.MethodDelete, "/api/hosts/"+hostID+"/networks/"+network, nil) } // CreateRelay - turn a host into a relay