// AddPendingResources adds the provided resources (info) to the Juju // model in a pending state, meaning they are not available until // resolved. func (f Facade) AddPendingResources(args api.AddPendingResourcesArgs) (api.AddPendingResourcesResult, error) { var result api.AddPendingResourcesResult tag, apiErr := parseServiceTag(args.Tag) if apiErr != nil { result.Error = apiErr return result, nil } serviceID := tag.Id() var ids []string for _, apiRes := range args.Resources { pendingID, err := f.addPendingResource(serviceID, apiRes) if err != nil { result.Error = common.ServerError(err) // We don't bother aggregating errors since a partial // completion is disruptive and a retry of this endpoint // is not expensive. return result, nil } ids = append(ids, pendingID) } result.PendingIDs = ids return result, nil }
// AddPendingResources adds the provided resources (info) to the Juju // model in a pending state, meaning they are not available until // resolved. func (f Facade) AddPendingResources(args api.AddPendingResourcesArgs) (api.AddPendingResourcesResult, error) { var result api.AddPendingResourcesResult tag, apiErr := parseApplicationTag(args.Tag) if apiErr != nil { result.Error = apiErr return result, nil } applicationID := tag.Id() channel := csparams.Channel(args.Channel) ids, err := f.addPendingResources(applicationID, args.URL, channel, args.CharmStoreMacaroon, args.Resources) if err != nil { result.Error = common.ServerError(err) return result, nil } result.PendingIDs = ids return result, nil }