// decorateAndWriteInfo decorates the info struct with information // from the given cfg, and the writes that out to the filesystem. func decorateAndWriteInfo( store jujuclient.ClientStore, details prepareDetails, controllerName, modelName string, ) error { accountName := details.User if err := store.UpdateController(controllerName, details.ControllerDetails); err != nil { return errors.Trace(err) } if err := store.UpdateBootstrapConfig(controllerName, details.BootstrapConfig); err != nil { return errors.Trace(err) } if err := store.UpdateAccount(controllerName, accountName, details.AccountDetails); err != nil { return errors.Trace(err) } if err := store.SetCurrentAccount(controllerName, accountName); err != nil { return errors.Trace(err) } if err := store.UpdateModel(controllerName, accountName, modelName, details.ModelDetails); err != nil { return errors.Trace(err) } if err := store.SetCurrentModel(controllerName, accountName, modelName); err != nil { return errors.Trace(err) } return nil }