// 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 DeployResources(serviceID string, chID charmstore.CharmID, csMac *macaroon.Macaroon, filesAndRevisions map[string]string, resources map[string]charmresource.Meta, conn api.Connection) (ids map[string]string, err error) { client, err := newAPIClient(conn) if err != nil { return nil, errors.Trace(err) } filenames := make(map[string]string) revisions := make(map[string]int) for name, val := range filesAndRevisions { rev, err := strconv.Atoi(val) if err != nil { filenames[name] = val } else { revisions[name] = rev } } ids, err = cmd.DeployResources(cmd.DeployResourcesArgs{ ServiceID: serviceID, CharmID: chID, CharmStoreMacaroon: csMac, Filenames: filenames, Revisions: revisions, ResourcesMeta: resources, Client: &deployClient{client}, }) if err != nil { return nil, errors.Trace(err) } return ids, nil }
// 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 DeployResources(serviceID string, files map[string]string, resources map[string]charmresource.Meta, conn api.Connection) (ids map[string]string, err error) { client, err := newAPIClient(conn) if err != nil { return nil, errors.Trace(err) } ids, err = cmd.DeployResources(serviceID, files, resources, client) if err != nil { return nil, errors.Trace(err) } return ids, nil }
// 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 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) { if len(filesAndRevisions)+len(resources) == 0 { // Nothing to upload. return nil, nil } client, err := NewAPIClient(conn) if err != nil { return nil, errors.Trace(err) } filenames := make(map[string]string) revisions := make(map[string]int) for name, val := range filesAndRevisions { rev, err := strconv.Atoi(val) if err != nil { filenames[name] = val } else { revisions[name] = rev } } ids, err = cmd.DeployResources(cmd.DeployResourcesArgs{ ApplicationID: applicationID, CharmID: chID, CharmStoreMacaroon: csMac, Filenames: filenames, Revisions: revisions, ResourcesMeta: resources, Client: &deployClient{client}, }) if err != nil { return nil, errors.Trace(err) } return ids, nil }