-
Notifications
You must be signed in to change notification settings - Fork 414
/
client_project_variable.go
66 lines (56 loc) · 2.14 KB
/
client_project_variable.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
package cdsclient
import (
"context"
"net/url"
"github.com/ovh/cds/sdk"
)
func (c *client) ProjectVariablesList(key string) ([]sdk.Variable, error) {
k := []sdk.Variable{}
if _, err := c.GetJSON(context.Background(), "/project/"+key+"/variable", &k); err != nil {
return nil, err
}
return k, nil
}
func (c *client) ProjectVariableCreate(projectKey string, variable *sdk.Variable) error {
_, err := c.PostJSON(context.Background(), "/project/"+projectKey+"/variable/"+url.QueryEscape(variable.Name), variable, variable)
return err
}
func (c *client) ProjectVariableDelete(projectKey string, varName string) error {
_, _, _, err := c.Request(context.Background(), "DELETE", "/project/"+projectKey+"/variable/"+url.QueryEscape(varName), nil)
return err
}
func (c *client) ProjectVariableUpdate(projectKey string, variable *sdk.Variable) error {
_, err := c.PutJSON(context.Background(), "/project/"+projectKey+"/variable/"+url.QueryEscape(variable.Name), variable, variable, nil)
return err
}
func (c *client) ProjectVariableGet(projectKey string, varName string) (*sdk.Variable, error) {
variable := &sdk.Variable{}
if _, err := c.GetJSON(context.Background(), "/project/"+projectKey+"/variable/"+url.QueryEscape(varName), variable, nil); err != nil {
return nil, err
}
return variable, nil
}
func (c *client) VariableEncrypt(projectKey string, varName string, content string) (*sdk.Variable, error) {
variable := &sdk.Variable{
Name: varName,
Value: content,
Type: sdk.SecretVariable,
}
if _, err := c.PostJSON(context.Background(), "/project/"+projectKey+"/encrypt", variable, variable); err != nil {
return nil, err
}
return variable, nil
}
func (c *client) VariableListEncrypt(projectKey string) ([]sdk.Secret, error) {
secrets := []sdk.Secret{}
if _, err := c.GetJSON(context.Background(), "/project/"+projectKey+"/encrypt/list", &secrets, nil); err != nil {
return nil, err
}
return secrets, nil
}
func (c *client) VariableEncryptDelete(projectKey, name string) error {
if _, err := c.DeleteJSON(context.Background(), "/project/"+projectKey+"/encrypt?name="+url.QueryEscape(name), nil, nil); err != nil {
return err
}
return nil
}