github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/api/backups/client.go (about)

     1  // Copyright 2014 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package backups
     5  
     6  import (
     7  	"github.com/juju/errors"
     8  	"github.com/juju/httprequest"
     9  	"github.com/juju/loggo"
    10  
    11  	"github.com/juju/juju/api/base"
    12  )
    13  
    14  var logger = loggo.GetLogger("juju.api.backups")
    15  
    16  // Client wraps the backups API for the client.
    17  type Client struct {
    18  	base.ClientFacade
    19  	facade base.FacadeCaller
    20  	client *httprequest.Client
    21  }
    22  
    23  // NewClient returns a new backups API client.
    24  func NewClient(st base.APICallCloser) (*Client, error) {
    25  	frontend, backend := base.NewClientFacade(st, "Backups")
    26  	client, err := st.HTTPClient()
    27  	if err != nil {
    28  		return nil, errors.Trace(err)
    29  	}
    30  	return &Client{
    31  		ClientFacade: frontend,
    32  		facade:       backend,
    33  		client:       client,
    34  	}, nil
    35  }