Files
virtual-kubelet/vendor/github.com/hyperhq/hyper-api/client/sg.go
2017-12-05 17:53:58 -06:00

70 lines
1.5 KiB
Go

package client
import (
"context"
"encoding/json"
"io"
"net/url"
"github.com/hyperhq/hyper-api/types"
)
func (cli *Client) SgCreate(ctx context.Context, name string, data io.Reader) error {
var v = url.Values{}
serverResp, err := cli.postRaw(ctx, "/sg/"+name, v, data, nil)
if err != nil {
return err
}
ensureReaderClosed(serverResp)
return nil
}
func (cli *Client) SgRm(ctx context.Context, name string) error {
var v = url.Values{}
serverResp, err := cli.delete(ctx, "/sg/"+name, v, nil)
if err != nil {
return err
}
ensureReaderClosed(serverResp)
return nil
}
func (cli *Client) SgUpdate(ctx context.Context, name string, data io.Reader) error {
var v = url.Values{}
serverResp, err := cli.putRaw(ctx, "/sg/"+name, v, data, nil)
if err != nil {
return err
}
ensureReaderClosed(serverResp)
return nil
}
func (cli *Client) SgInspect(ctx context.Context, name string) (*types.SecurityGroup, error) {
var v = url.Values{}
serverResp, err := cli.get(ctx, "/sg/"+name, v, nil)
if err != nil {
return nil, err
}
var sg types.SecurityGroup
err = json.NewDecoder(serverResp.body).Decode(&sg)
ensureReaderClosed(serverResp)
return &sg, nil
}
func (cli *Client) SgLs(ctx context.Context) ([]types.SecurityGroup, error) {
var v = url.Values{}
serverResp, err := cli.get(ctx, "/sg", v, nil)
if err != nil {
return nil, err
}
var sgs []types.SecurityGroup
err = json.NewDecoder(serverResp.body).Decode(&sgs)
ensureReaderClosed(serverResp)
return sgs, nil
}