[MM-59503] export: enable exporting configuration with mmctl (#28412)

Этот коммит содержится в:
Ibrahim Serdar Acikgoz
2024-12-17 10:23:52 +01:00
коммит произвёл GitHub
родитель ca72cdb445
Коммит 424ce2b8db
15 изменённых файлов: 577 добавлений и 11 удалений

Просмотреть файл

@@ -4886,6 +4886,30 @@ func (c *Client4) GetConfig(ctx context.Context) (*Config, *Response, error) {
return cfg, BuildResponse(r), d.Decode(&cfg)
}
// GetConfig will retrieve the server config with some sanitized items.
func (c *Client4) GetConfigWithOptions(ctx context.Context, options GetConfigOptions) (map[string]any, *Response, error) {
v := url.Values{}
if options.RemoveDefaults {
v.Set("remove_defaults", "true")
}
if options.RemoveMasked {
v.Set("remove_masked", "true")
}
url := c.configRoute()
if len(v) > 0 {
url += "?" + v.Encode()
}
r, err := c.DoAPIGet(ctx, url, "")
if err != nil {
return nil, BuildResponse(r), err
}
defer closeBody(r)
var cfg map[string]any
return cfg, BuildResponse(r), json.NewDecoder(r.Body).Decode(&cfg)
}
// ReloadConfig will reload the server configuration.
func (c *Client4) ReloadConfig(ctx context.Context) (*Response, error) {
r, err := c.DoAPIPost(ctx, c.configRoute()+"/reload", "")