// SetEnvironAgentVersion sets the environment agent version. func (c *Client) SetEnvironAgentVersion(args params.SetEnvironAgentVersion) error { if err := c.check.ChangeAllowed(); err != nil { return errors.Trace(err) } // Before changing the agent version to trigger an upgrade or downgrade, // we'll do a very basic check to ensure the cfg, err := c.api.stateAccessor.EnvironConfig() if err != nil { return errors.Trace(err) } env, err := getEnvironment(cfg) if err != nil { return errors.Trace(err) } if err := environs.CheckProviderAPI(env); err != nil { return err } return c.api.stateAccessor.SetEnvironAgentVersion(args.Version) }
// SetModelAgentVersion sets the model agent version. func (c *Client) SetModelAgentVersion(args params.SetModelAgentVersion) error { if err := c.checkCanWrite(); err != nil { return err } if err := c.check.ChangeAllowed(); err != nil { return errors.Trace(err) } // Before changing the agent version to trigger an upgrade or downgrade, // we'll do a very basic check to ensure the environment is accessible. env, err := c.newEnviron() if err != nil { return errors.Trace(err) } if err := environs.CheckProviderAPI(env); err != nil { return err } return c.api.stateAccessor.SetModelAgentVersion(args.Version) }