-
Notifications
You must be signed in to change notification settings - Fork 13
/
secrets.go
118 lines (102 loc) · 2.85 KB
/
secrets.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
package cmdtree
import (
"strings"
"github.com/ActiveState/cli/internal/captain"
"github.com/ActiveState/cli/internal/locale"
"github.com/ActiveState/cli/internal/primer"
"github.com/ActiveState/cli/internal/runners/secrets"
secretsapi "github.com/ActiveState/cli/pkg/platform/api/secrets"
)
func newSecretsCommand(secretsClient *secretsapi.Client, prime *primer.Values) *captain.Command {
runner := secrets.NewList(secretsClient, prime)
params := secrets.ListRunParams{}
ccmd := captain.NewCommand(
"secrets",
locale.Tl("secrets_title", "Secrets"),
locale.T("secrets_cmd_description"),
prime,
[]*captain.Flag{
{
Name: "filter-usedby",
Description: locale.T("secrets_flag_filter"),
Value: ¶ms.Filter,
},
},
nil,
func(_ *captain.Command, args []string) error {
if len(args) > 0 && strings.HasPrefix(args[0], "var") {
prime.Output().Error(locale.T("secrets_warn_deprecated_var"))
}
return runner.Run(params)
},
)
ccmd.SetGroup(PlatformGroup)
ccmd.SetAliases("variables", "vars")
ccmd.SetSupportsStructuredOutput()
ccmd.SetUnstable(true)
return ccmd
}
func newSecretsGetCommand(prime *primer.Values) *captain.Command {
runner := secrets.NewGet(prime)
params := secrets.GetRunParams{}
return captain.NewCommand(
"get",
locale.Tl("secrets_get_title", "Getting Secret"),
locale.T("secrets_get_cmd_description"),
prime,
nil,
[]*captain.Argument{
{
Name: locale.T("secrets_get_arg_name_name"),
Description: locale.T("secrets_get_arg_name_description"),
Value: ¶ms.Name,
Required: true,
},
},
func(_ *captain.Command, _ []string) error {
return runner.Run(params)
},
).SetSupportsStructuredOutput()
}
func newSecretsSetCommand(prime *primer.Values) *captain.Command {
runner := secrets.NewSet(prime)
params := secrets.SetRunParams{}
return captain.NewCommand(
"set",
locale.Tl("secrets_set_title", "Setting Secret"),
locale.T("secrets_set_cmd_description"),
prime,
nil,
[]*captain.Argument{
{
Name: locale.T("secrets_set_arg_name_name"),
Description: locale.T("secrets_set_arg_name_description"),
Value: ¶ms.Name,
Required: true,
},
{
Name: locale.T("secrets_set_arg_value_name"),
Description: locale.T("secrets_set_arg_value_description"),
Value: ¶ms.Value,
Required: true,
},
},
func(_ *captain.Command, _ []string) error {
return runner.Run(params)
},
)
}
func newSecretsSyncCommand(secretsClient *secretsapi.Client, prime *primer.Values) *captain.Command {
runner := secrets.NewSync(secretsClient, prime)
return captain.NewCommand(
"sync",
locale.Tl("secrets_sync_title", "Synchronizing Secrets"),
locale.T("secrets_sync_cmd_description"),
prime,
nil,
nil,
func(_ *captain.Command, _ []string) error {
return runner.Run()
},
)
}