func (c *Client) AddCharmWithAuthorization(curl *charm.URL, channel csparams.Channel, csMac *macaroon.Macaroon, force bool) error {
	args := params.AddCharmWithAuthorization{
		URL:                curl.String(),
		Channel:            string(channel),
		CharmStoreMacaroon: csMac,
		Force:              force,
	}
	if err := c.facade.FacadeCall("AddCharmWithAuthorization", args, nil); err != nil {
		return errors.Trace(err)
	}
	return nil
}
// AddCharmWithAuthorization is like AddCharm except it also provides
// the given charmstore macaroon for the juju server to use when
// obtaining the charm from the charm store. The macaroon is
// conventionally obtained from the /delegatable-macaroon endpoint in
// the charm store.
//
// If the AddCharmWithAuthorization API call fails because of an
// authorization error when retrieving the charm from the charm store,
// an error satisfying params.IsCodeUnauthorized will be returned.
// Force is used to overload any validation errors that could occur during
// a deploy
AddCharmWithAuthorization is like AddCharm except it also provides
the given charmstore macaroon for the juju server to use when
obtaining the charm from the charm store. The macaroon is
conventionally obtained from the /delegatable-macaroon endpoint in
the charm store.

If the AddCharmWithAuthorization API call fails because of an
authorization error when retrieving the charm from the charm store,
an error satisfying params.IsCodeUnauthorized will be returned.
Force is used to overload any validation errors that could occur during
a deploy
// AddCharmWithAuthorization is like AddCharm except it also provides // the given charmstore macaroon for the juju server to use when // obtaining the charm from the charm store . The macaroon is // conventionally obtained from the / delegatable - macaroon endpoint in // the charm store . // // If the AddCharmWithAuthorization API call fails because of an // authorization error when retrieving the charm from the charm store // an error satisfying params . IsCodeUnauthorized will be returned . // Force is used to overload any validation errors that could occur during // a deploy
func (c *Client) AddCharmWithAuthorization(curl *charm.URL, channel csparams.Channel, csMac *macaroon.Macaroon, force bool) error {
	args := params.AddCharmWithAuthorization{
		URL:                curl.String(),
		Channel:            string(channel),
		CharmStoreMacaroon: csMac,
		Force:              force,
	}
	if err := c.facade.FacadeCall("AddCharmWithAuthorization", args, nil); err != nil {
		return errors.Trace(err)
	}
	return nil
}
func ( c * Client ) AddCharmWithAuthorization ( curl * charm . URL , channel csparams . Channel , csMac * macaroon . Macaroon , force bool ) error { args := params . AddCharmWithAuthorization { URL : curl . String ( ) , Channel : string ( channel ) , CharmStoreMacaroon : csMac , Force : force , } if err := c . facade . FacadeCall ( " " , args , nil ) ; err != nil { return errors . Trace ( err ) } return nil }
AddCharmWithAuthorization is like AddCharm except it also provides
the given charmstore macaroon for the juju server to use when
obtaining the charm from the charm store.
AddCharmWithAuthorization is like AddCharm except it also provides the given charmstore macaroon for the juju server to use when obtaining the charm from the charm store .