7
7
"golang.org/x/xerrors"
8
8
9
9
"cdr.dev/coder-cli/coder-sdk"
10
- "cdr.dev/coder-cli/internal/x/xcobra"
11
10
"cdr.dev/coder-cli/pkg/clog"
12
11
"cdr.dev/coder-cli/pkg/tablewriter"
13
12
)
@@ -29,13 +28,18 @@ func providersCmd() *cobra.Command {
29
28
}
30
29
31
30
func createProviderCmd () * cobra.Command {
31
+ var (
32
+ name string
33
+ hostname string
34
+ clusterAddress string
35
+ )
32
36
cmd := & cobra.Command {
33
- Use : "create [workspace_provider_name ]" ,
37
+ Use : "create --name=[name] --hostname=[hostname] --clusterAddress=[clusterAddress ]" ,
34
38
Short : "create a new workspace provider." ,
35
- Args : xcobra .ExactArgs (1 ),
36
39
Long : "Create a new Coder workspace provider." ,
37
40
Example : `# create a new workspace provider in a pending state
38
- coder providers create my-new-workspace-provider` ,
41
+
42
+ coder providers create --name=my-provider --hostname=provider.example.com --clusterAddress=255.255.255.255` ,
39
43
RunE : func (cmd * cobra.Command , args []string ) error {
40
44
ctx := cmd .Context ()
41
45
@@ -44,9 +48,11 @@ coder providers create my-new-workspace-provider`,
44
48
return err
45
49
}
46
50
47
- // ExactArgs(1) ensures our name value can't panic on an out of bounds.
48
51
createReq := & coder.CreateWorkspaceProviderReq {
49
- Name : args [0 ],
52
+ Name : name ,
53
+ Type : coder .WorkspaceProviderKubernetes ,
54
+ Hostname : hostname ,
55
+ ClusterAddress : clusterAddress ,
50
56
}
51
57
52
58
wp , err := client .CreateWorkspaceProvider (ctx , * createReq )
@@ -63,6 +69,13 @@ coder providers create my-new-workspace-provider`,
63
69
return nil
64
70
},
65
71
}
72
+
73
+ cmd .Flags ().StringVar (& name , "name" , "" , "workspace provider name" )
74
+ cmd .Flags ().StringVar (& hostname , "hostname" , "" , "workspace provider hostname" )
75
+ cmd .Flags ().StringVar (& clusterAddress , "clusterAddress" , "" , "kubernetes cluster apiserver endpoint" )
76
+ _ = cmd .MarkFlagRequired ("name" )
77
+ _ = cmd .MarkFlagRequired ("hostname" )
78
+ _ = cmd .MarkFlagRequired ("clusterAdress" )
66
79
return cmd
67
80
}
68
81
0 commit comments