github.com/naphatkrit/deis@v1.12.3/client/controller/models/certs/certs.go (about) 1 package certs 2 3 import ( 4 "encoding/json" 5 "fmt" 6 7 "github.com/deis/deis/client/controller/api" 8 "github.com/deis/deis/client/controller/client" 9 ) 10 11 // List certs registered with the controller. 12 func List(c *client.Client, results int) ([]api.Cert, int, error) { 13 body, count, err := c.LimitedRequest("/v1/certs/", results) 14 15 if err != nil { 16 return []api.Cert{}, -1, err 17 } 18 19 var res []api.Cert 20 if err = json.Unmarshal([]byte(body), &res); err != nil { 21 return []api.Cert{}, -1, err 22 } 23 24 return res, count, nil 25 } 26 27 // New creates a new cert. 28 func New(c *client.Client, cert string, key string, commonName string) (api.Cert, error) { 29 req := api.CertCreateRequest{Certificate: cert, Key: key, Name: commonName} 30 reqBody, err := json.Marshal(req) 31 32 if err != nil { 33 return api.Cert{}, err 34 } 35 36 resBody, err := c.BasicRequest("POST", "/v1/certs/", reqBody) 37 38 if err != nil { 39 return api.Cert{}, err 40 } 41 42 resCert := api.Cert{} 43 if err = json.Unmarshal([]byte(resBody), &resCert); err != nil { 44 return api.Cert{}, err 45 } 46 47 return resCert, nil 48 } 49 50 // Delete removes a cert. 51 func Delete(c *client.Client, commonName string) error { 52 u := fmt.Sprintf("/v1/certs/%s", commonName) 53 54 _, err := c.BasicRequest("DELETE", u, nil) 55 return err 56 }