77 "golang.org/x/xerrors"
88
99 "cdr.dev/coder-cli/coder-sdk"
10- "cdr.dev/coder-cli/internal/x/xcobra"
1110 "cdr.dev/coder-cli/pkg/clog"
1211 "cdr.dev/coder-cli/pkg/tablewriter"
1312)
@@ -29,13 +28,18 @@ func providersCmd() *cobra.Command {
2928}
3029
3130func createProviderCmd () * cobra.Command {
31+ var (
32+ name string
33+ hostname string
34+ clusterAddress string
35+ )
3236 cmd := & cobra.Command {
33- Use : "create [workspace_provider_name ]" ,
37+ Use : "create --name=[name] --hostname=[hostname] --clusterAddress=[clusterAddress ]" ,
3438 Short : "create a new workspace provider." ,
35- Args : xcobra .ExactArgs (1 ),
3639 Long : "Create a new Coder workspace provider." ,
3740 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` ,
3943 RunE : func (cmd * cobra.Command , args []string ) error {
4044 ctx := cmd .Context ()
4145
@@ -44,9 +48,11 @@ coder providers create my-new-workspace-provider`,
4448 return err
4549 }
4650
47- // ExactArgs(1) ensures our name value can't panic on an out of bounds.
4851 createReq := & coder.CreateWorkspaceProviderReq {
49- Name : args [0 ],
52+ Name : name ,
53+ Type : coder .WorkspaceProviderKubernetes ,
54+ Hostname : hostname ,
55+ ClusterAddress : clusterAddress ,
5056 }
5157
5258 wp , err := client .CreateWorkspaceProvider (ctx , * createReq )
@@ -63,6 +69,13 @@ coder providers create my-new-workspace-provider`,
6369 return nil
6470 },
6571 }
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" )
6679 return cmd
6780}
6881
0 commit comments