This section is empty.


This section is empty.


This section is empty.


type AddPendingResourcesArgs

type AddPendingResourcesArgs struct {
	// ApplicationID identifies the application being deployed.
	ApplicationID string

	// CharmID identifies the application's charm.
	CharmID charmstore.CharmID

	// CharmStoreMacaroon is the macaroon to use for the charm when
	// interacting with the charm store.
	CharmStoreMacaroon *macaroon.Macaroon

	// Resources holds the charm store info for each of the resources
	// that should be added/updated on the controller.
	Resources []charmresource.Resource

AddPendingResourcesArgs holds the arguments to AddPendingResources().

type Client

type Client struct {
	// contains filtered or unexported fields

Client is the public client for the resources API facade.

func NewClient

func NewClient(ctx context.Context, caller FacadeCaller, doer Doer, closer io.Closer) *Client

NewClient returns a new Client for the given raw API caller.

func (Client) AddPendingResources

func (c Client) AddPendingResources(args AddPendingResourcesArgs) (pendingIDs []string, err error)

AddPendingResources sends the provided resource info up to Juju without making it available yet.

func (Client) ListResources

func (c Client) ListResources(applications []string) ([]resource.ApplicationResources, error)

ListResources calls the ListResources API server method with the given application names.

func (Client) Upload

func (c Client) Upload(application, name, filename string, reader io.ReadSeeker) error

Upload sends the provided resource blob up to Juju.

func (Client) UploadPendingResource

func (c Client) UploadPendingResource(applicationID string, res charmresource.Resource, filename string, reader io.ReadSeeker) (pendingID string, err error)

UploadPendingResource sends the provided resource blob up to Juju and makes it available.

type Doer

type Doer interface {
	Do(ctx context.Context, req *http.Request, resp interface{}) error


type FacadeCaller

type FacadeCaller interface {
	FacadeCall(request string, params, response interface{}) error

FacadeCaller has the api/base.FacadeCaller methods needed for the component.

Source Files