// 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 }
// 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 { qualifiedModelName := jujuclient.JoinOwnerModelName( names.NewUserTag(details.AccountDetails.User), modelName, ) if err := store.AddController(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, details.AccountDetails); err != nil { return errors.Trace(err) } if err := store.UpdateModel(controllerName, qualifiedModelName, details.ModelDetails); err != nil { return errors.Trace(err) } if err := store.SetCurrentModel(controllerName, qualifiedModelName); err != nil { return errors.Trace(err) } return nil }