juju: github.com/juju/juju/resource/resourceadapters Index | Files

package resourceadapters

import "github.com/juju/juju/resource/resourceadapters"

Index

Package Files

apiclient.go charmstore.go deploy.go opener.go resourceadapters.go workers.go

func DeployResources Uses

func DeployResources(
    applicationID string,
    chID charmstore.CharmID,
    csMac *macaroon.Macaroon,
    filesAndRevisions map[string]string,
    resources map[string]charmresource.Meta,
    conn base.APICallCloser,
) (ids map[string]string, err error)

DeployResources uploads the bytes for the given files to the server and creates pending resource metadata for the all resource mentioned in the metadata. It returns a map of resource name to pending resource IDs.

func NewAPIClient Uses

func NewAPIClient(apiCaller base.APICallCloser) (*client.Client, error)

NewAPIClient is mostly a copy of the newClient code in component/all/resources.go. It lives here because it simplifies this code immensely.

func NewLatestCharmHandler Uses

func NewLatestCharmHandler(st *state.State) (charmrevisionupdater.LatestCharmHandler, error)

NewLatestCharmHandler returns a LatestCharmHandler that uses the given Juju state.

func NewResourceOpener Uses

func NewResourceOpener(st *corestate.State, unitName string) (opener resource.Opener, err error)

NewResourceOpener returns a new resource.Opener for the given unit.

The caller owns the State provided. It is the caller's responsibility to close it.

TODO(mjs): This is the entry point for a whole lot of untested shim code in this package. At some point this should be sorted out.

type CSRetryClient Uses

type CSRetryClient struct {
    ResourceClient
    // contains filtered or unexported fields
}

CSRetryClient is a wrapper around a Juju charm store client that retries GetResource() calls.

func (CSRetryClient) GetResource Uses

func (client CSRetryClient) GetResource(req charmstore.ResourceRequest) (charmstore.ResourceData, error)

GetResource returns a reader for the resource's data.

type DeployResourcesFunc Uses

type DeployResourcesFunc func(
    applicationID string,
    chID charmstore.CharmID,
    csMac *macaroon.Macaroon,
    filesAndRevisions map[string]string,
    resources map[string]charmresource.Meta,
    conn base.APICallCloser,
) (ids map[string]string, err error)

DeployResourcesFunc is the function type of DeployResources.

type ResourceClient Uses

type ResourceClient interface {
    GetResource(req charmstore.ResourceRequest) (data charmstore.ResourceData, err error)
}

ResourceClient defines a set of functionality that a client needs to define to support resources.

Package resourceadapters imports 19 packages (graph) and is imported by 41 packages. Updated 2019-08-23. Refresh now. Tools for package owners.