cubefs
49 строк · 1.3 Кб
1// Copyright 2022 The CubeFS Authors.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12// implied. See the License for the specific language governing
13// permissions and limitations under the License.
14
15package clustermgr
16
17import (
18"context"
19
20"github.com/cubefs/cubefs/blobstore/common/rpc"
21)
22
23type ConfigArgs struct {
24Key string `json:"key"`
25}
26
27type ConfigSetArgs struct {
28Key string `json:"key"`
29Value string `json:"value"`
30}
31
32type AllConfig struct {
33Configs map[string]string `json:"configs"`
34}
35
36func (c *Client) GetConfig(ctx context.Context, key string) (ret string, err error) {
37err = c.GetWith(ctx, "/config/get?key="+key, &ret)
38return
39}
40
41func (c *Client) SetConfig(ctx context.Context, args *ConfigSetArgs) (err error) {
42err = c.PostWith(ctx, "/config/set", nil, args)
43return
44}
45
46func (c *Client) DeleteConfig(ctx context.Context, key string) (err error) {
47err = c.PostWith(ctx, "/config/delete?key="+key, nil, rpc.NoneBody)
48return
49}
50