-
Notifications
You must be signed in to change notification settings - Fork 1
/
config.go
132 lines (102 loc) · 2.95 KB
/
config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package common
import (
"context"
"errors"
gc "github.com/cloud-barista/poc-cicd-tumblebug/src/api/grpc/common"
pb "github.com/cloud-barista/poc-cicd-tumblebug/src/api/grpc/protobuf/cbtumblebug"
)
// ===== [ Constants and Variables ] =====
// ===== [ Types ] =====
// ===== [ Implementations ] =====
// CreateConfig - Config 생성
func (r *UtilityRequest) CreateConfig() (string, error) {
// Check input data
if r.InData == "" {
return "", errors.New("input data required")
}
// Unmarshal (json/yaml -> Request Input)
var item pb.ConfigReq
err := gc.ConvertToMessage(r.InType, r.InData, &item)
if err != nil {
return "", err
}
// Request to server
ctx, cancel := context.WithTimeout(context.Background(), r.Timeout)
defer cancel()
resp, err := r.Client.CreateConfig(ctx, &pb.ConfigCreateRequest{Item: &item})
if err != nil {
return "", err
}
// Marshal (Response -> json/yaml)
return gc.ConvertToOutput(r.OutType, &resp.Item)
}
// ListConfig - Config 목록
func (r *UtilityRequest) ListConfig() (string, error) {
// Request to server
ctx, cancel := context.WithTimeout(context.Background(), r.Timeout)
defer cancel()
resp, err := r.Client.ListConfig(ctx, &pb.Empty{})
if err != nil {
return "", err
}
// Marshal (Response -> json/yaml)
return gc.ConvertToOutput(r.OutType, &resp)
}
// GetConfig - Config 조회
func (r *UtilityRequest) GetConfig() (string, error) {
// Check input data
if r.InData == "" {
return "", errors.New("input data required")
}
// Unmarshal (json/yaml -> Request Input)
var item pb.ConfigQryRequest
err := gc.ConvertToMessage(r.InType, r.InData, &item)
if err != nil {
return "", err
}
// Request to server
ctx, cancel := context.WithTimeout(context.Background(), r.Timeout)
defer cancel()
resp, err := r.Client.GetConfig(ctx, &item)
if err != nil {
return "", err
}
// Marshal (Response -> json/yaml)
return gc.ConvertToOutput(r.OutType, &resp.Item)
}
// InitConfig
func (r *UtilityRequest) InitConfig() (string, error) {
// Check input data
if r.InData == "" {
return "", errors.New("input data required")
}
// Unmarshal (json/yaml -> Request Input)
var item pb.ConfigQryRequest
err := gc.ConvertToMessage(r.InType, r.InData, &item)
if err != nil {
return "", err
}
// Request to server
ctx, cancel := context.WithTimeout(context.Background(), r.Timeout)
defer cancel()
resp, err := r.Client.InitConfig(ctx, &item)
if err != nil {
return "", err
}
// Marshal (Response -> json/yaml)
return gc.ConvertToOutput(r.OutType, &resp)
}
// InitAllConfig - Config 전체 삭제
func (r *UtilityRequest) InitAllConfig() (string, error) {
// Request to server
ctx, cancel := context.WithTimeout(context.Background(), r.Timeout)
defer cancel()
resp, err := r.Client.InitAllConfig(ctx, &pb.Empty{})
if err != nil {
return "", err
}
// Marshal (Response -> json/yaml)
return gc.ConvertToOutput(r.OutType, &resp)
}
// ===== [ Private Functions ] =====
// ===== [ Public Functions ] =====