@@ -40,14 +40,49 @@ var args struct {
40
40
}
41
41
42
42
var Cmd = & cobra.Command {
43
- Use : "delete [flags] PATH" ,
43
+ Use : "delete [flags] ( PATH | RESOURCE_ALIAS RESOURCE_ID) " ,
44
44
Short : "Send a DELETE request" ,
45
45
Long : "Send a DELETE request to the given path." ,
46
46
RunE : run ,
47
47
ValidArgs : urls .Resources (),
48
48
}
49
49
50
+ // for template format refer: https://pkg.go.dev/text/template
51
+ var usageTemplate = `
52
+ Usage:{{if .Runnable}}
53
+ {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}}
54
+ {{.CommandPath}} [command]{{end}}{{if .HasExample}}
55
+
56
+ Resource Alias:
57
+ {{.Example}}{{end}}{{if .HasAvailableSubCommands}}{{$cmds := .Commands}}{{if eq (len .Groups) 0}}
58
+
59
+ Available Commands:{{range $cmds}}{{if (or .IsAvailableCommand (eq .Name "help"))}}
60
+ {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{else}}{{range $group := .Groups}}
61
+ {{.Title}}{{range $cmds}}{{if (and (eq .GroupID $group.ID) (or .IsAvailableCommand (eq .Name "help")))}}
62
+ {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if not .AllChildCommandsHaveGroup}}
63
+
64
+ Additional Commands:{{range $cmds}}{{if (and (eq .GroupID "") (or .IsAvailableCommand (eq .Name "help")))}}
65
+ {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{end}}{{end}}{{if .HasAvailableLocalFlags}}
66
+
67
+ Flags:
68
+ {{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasAvailableInheritedFlags}}
69
+
70
+ Global Flags:
71
+ {{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasHelpSubCommands}}
72
+
73
+ Additional help topics:{{range .Commands}}{{if .IsAdditionalHelpTopicCommand}}
74
+ {{rpad .CommandPath .CommandPathPadding}} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableSubCommands}}
75
+
76
+ Use "{{.CommandPath}} [command] --help" for more information about a command.{{end}}
77
+ `
78
+
79
+ var helpTemplate = `{{with (or .Long .Short)}}{{. | trimTrailingWhitespaces}}
80
+ {{end}}{{if or .Runnable .HasSubCommands}}{{.UsageString}}{{end}}`
81
+
50
82
func init () {
83
+ Cmd .SetUsageTemplate (usageTemplate )
84
+ Cmd .SetHelpTemplate (helpTemplate )
85
+ Cmd .Example = " account\n addon\n cluster\n role_binding\n sku_rule\n subscription"
51
86
fs := Cmd .Flags ()
52
87
arguments .AddParameterFlag (fs , & args .parameter )
53
88
arguments .AddHeaderFlag (fs , & args .header )
@@ -61,13 +96,13 @@ func init() {
61
96
func run (cmd * cobra.Command , argv []string ) error {
62
97
path , err := urls .Expand (argv )
63
98
if err != nil {
64
- return fmt .Errorf ("Could not create URI: %v " , err )
99
+ return fmt .Errorf ("could not create URI: %w " , err )
65
100
}
66
101
67
102
// Create the client for the OCM API:
68
103
connection , err := ocm .NewConnection ().Build ()
69
104
if err != nil {
70
- return fmt .Errorf ("Failed to create OCM connection: %v " , err )
105
+ return fmt .Errorf ("failed to create OCM connection: %w " , err )
71
106
}
72
107
defer connection .Close ()
73
108
@@ -84,7 +119,7 @@ func run(cmd *cobra.Command, argv []string) error {
84
119
// Send the request:
85
120
response , err := request .Send ()
86
121
if err != nil {
87
- return fmt .Errorf ("Can 't send request: %v " , err )
122
+ return fmt .Errorf ("can 't send request: %w " , err )
88
123
}
89
124
status := response .Status ()
90
125
body := response .Bytes ()
@@ -94,26 +129,26 @@ func run(cmd *cobra.Command, argv []string) error {
94
129
err = dump .Pretty (os .Stderr , body )
95
130
}
96
131
if err != nil {
97
- return fmt .Errorf ("Can 't print body: %v " , err )
132
+ return fmt .Errorf ("can 't print body: %w " , err )
98
133
}
99
134
100
135
// Load the configuration file:
101
136
cfg , err := config .Load ()
102
137
if err != nil {
103
- return fmt .Errorf ("Can 't load config file: %v " , err )
138
+ return fmt .Errorf ("can 't load config file: %w " , err )
104
139
}
105
140
if cfg == nil {
106
- return fmt .Errorf ("Not logged in, run the 'login' command" )
141
+ return fmt .Errorf ("not logged in, run the 'login' command" )
107
142
}
108
143
109
144
// Save the configuration:
110
145
cfg .AccessToken , cfg .RefreshToken , err = connection .Tokens ()
111
146
if err != nil {
112
- return fmt .Errorf ("Can 't get tokens: %v " , err )
147
+ return fmt .Errorf ("can 't get tokens: %w " , err )
113
148
}
114
149
err = config .Save (cfg )
115
150
if err != nil {
116
- return fmt .Errorf ("Can 't save config file: %v " , err )
151
+ return fmt .Errorf ("can 't save config file: %w " , err )
117
152
}
118
153
119
154
// Bye:
0 commit comments