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  }