// EnvironConfig returns the current environment's configuration. func (e *EnvironWatcher) EnvironConfig() (params.EnvironConfigResult, error) { result := params.EnvironConfigResult{} config, err := e.st.EnvironConfig() if err != nil { return result, err } allAttrs := config.AllAttrs() if !e.authorizer.AuthEnvironManager() { // Mask out any secrets in the environment configuration // with values of the same type, so it'll pass validation. // // TODO(dimitern) 201309-26 bug #1231384 // Delete the code below and mark the bug as fixed, // once it's live tested on MAAS and 1.16 compatibility // is dropped. provider, err := environs.Provider(config.Type()) if err != nil { return result, err } secretAttrs, err := provider.SecretAttrs(config) for k := range secretAttrs { allAttrs[k] = "not available" } } result.Config = allAttrs return result, nil }
// EnvironConfig returns the environment's configuration. func (u *UndertakerAPI) EnvironConfig() (params.EnvironConfigResult, error) { result := params.EnvironConfigResult{} config, err := u.st.EnvironConfig() if err != nil { return result, err } allAttrs := config.AllAttrs() result.Config = allAttrs return result, nil }
// ConfigSkeleton returns config values to be used as a starting point for the // API caller to construct a valid environment specific config. The provider // and region params are there for future use, and current behaviour expects // both of these to be empty. func (em *EnvironmentManagerAPI) ConfigSkeleton(args params.EnvironmentSkeletonConfigArgs) (params.EnvironConfigResult, error) { var result params.EnvironConfigResult if args.Provider != "" { return result, errors.NotValidf("provider value %q", args.Provider) } if args.Region != "" { return result, errors.NotValidf("region value %q", args.Region) } stateServerEnv, err := em.state.StateServerEnvironment() if err != nil { return result, errors.Trace(err) } config, err := em.configSkeleton(stateServerEnv) if err != nil { return result, errors.Trace(err) } result.Config = config return result, nil }