@dishantlangayan/sc-plugin-queue 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +417 -0
- package/bin/dev.cmd +3 -0
- package/bin/dev.js +5 -0
- package/bin/run.cmd +3 -0
- package/bin/run.js +5 -0
- package/dist/commands/broker/queue/create.d.ts +13 -0
- package/dist/commands/broker/queue/create.js +24 -0
- package/dist/commands/broker/queue/list.d.ts +14 -0
- package/dist/commands/broker/queue/list.js +99 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/types/broker.d.ts +109 -0
- package/dist/types/broker.js +1 -0
- package/dist/types/msgvpn-queue.d.ts +141 -0
- package/dist/types/msgvpn-queue.js +1 -0
- package/oclif.manifest.json +135 -0
- package/package.json +76 -0
package/README.md
ADDED
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
@dishantlangayan/sc-plugin-queue
|
|
2
|
+
=================
|
|
3
|
+
|
|
4
|
+
Commands to interact with queues on a Solace Cloud broker
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
[](https://oclif.io)
|
|
8
|
+
[](https://npmjs.org/package/@dishantlangayan/sc-plugin-queue)
|
|
9
|
+
[](https://npmjs.org/package/@dishantlangayan/sc-plugin-queue)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
<!-- toc -->
|
|
13
|
+
* [Usage](#usage)
|
|
14
|
+
* [Commands](#commands)
|
|
15
|
+
<!-- tocstop -->
|
|
16
|
+
# Usage
|
|
17
|
+
<!-- usage -->
|
|
18
|
+
```sh-session
|
|
19
|
+
$ npm install -g @dishantlangayan/sc-plugin-queue
|
|
20
|
+
$ sc COMMAND
|
|
21
|
+
running command...
|
|
22
|
+
$ sc (--version)
|
|
23
|
+
@dishantlangayan/sc-plugin-queue/0.1.0 darwin-arm64 node-v24.1.0
|
|
24
|
+
$ sc --help [COMMAND]
|
|
25
|
+
USAGE
|
|
26
|
+
$ sc COMMAND
|
|
27
|
+
...
|
|
28
|
+
```
|
|
29
|
+
<!-- usagestop -->
|
|
30
|
+
# Commands
|
|
31
|
+
<!-- commands -->
|
|
32
|
+
* [`sc broker queue create [FILE]`](#sc-broker-queue-create-file)
|
|
33
|
+
* [`sc broker queue list`](#sc-broker-queue-list)
|
|
34
|
+
* [`sc help [COMMAND]`](#sc-help-command)
|
|
35
|
+
* [`sc plugins`](#sc-plugins)
|
|
36
|
+
* [`sc plugins add PLUGIN`](#sc-plugins-add-plugin)
|
|
37
|
+
* [`sc plugins:inspect PLUGIN...`](#sc-pluginsinspect-plugin)
|
|
38
|
+
* [`sc plugins install PLUGIN`](#sc-plugins-install-plugin)
|
|
39
|
+
* [`sc plugins link PATH`](#sc-plugins-link-path)
|
|
40
|
+
* [`sc plugins remove [PLUGIN]`](#sc-plugins-remove-plugin)
|
|
41
|
+
* [`sc plugins reset`](#sc-plugins-reset)
|
|
42
|
+
* [`sc plugins uninstall [PLUGIN]`](#sc-plugins-uninstall-plugin)
|
|
43
|
+
* [`sc plugins unlink [PLUGIN]`](#sc-plugins-unlink-plugin)
|
|
44
|
+
* [`sc plugins update`](#sc-plugins-update)
|
|
45
|
+
|
|
46
|
+
## `sc broker queue create [FILE]`
|
|
47
|
+
|
|
48
|
+
describe the command here
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
USAGE
|
|
52
|
+
$ sc broker queue create [FILE] [-f] [-n <value>]
|
|
53
|
+
|
|
54
|
+
ARGUMENTS
|
|
55
|
+
[FILE] file to read
|
|
56
|
+
|
|
57
|
+
FLAGS
|
|
58
|
+
-f, --force
|
|
59
|
+
-n, --name=<value> name to print
|
|
60
|
+
|
|
61
|
+
DESCRIPTION
|
|
62
|
+
describe the command here
|
|
63
|
+
|
|
64
|
+
EXAMPLES
|
|
65
|
+
$ sc broker queue create
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
_See code: [src/commands/broker/queue/create.ts](https://github.com/dishantlangayan/sc-plugin-queue/blob/v0.1.0/src/commands/broker/queue/create.ts)_
|
|
69
|
+
|
|
70
|
+
## `sc broker queue list`
|
|
71
|
+
|
|
72
|
+
Get a list of Queue objects from the Solace Cloud Broker.
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
USAGE
|
|
76
|
+
$ sc broker queue list [--json] [--log-level debug|warn|error|info|trace] [-b <value>] [-n <value>] [-c <value>] [-q
|
|
77
|
+
<value>]
|
|
78
|
+
|
|
79
|
+
FLAGS
|
|
80
|
+
-b, --broker-id=<value> Id of the event broker service.
|
|
81
|
+
-c, --count=<value> [default: 10] Limit the number of queues returned
|
|
82
|
+
-n, --broker-name=<value> Name of the event broker service.
|
|
83
|
+
-q, --queue-name=<value> Name of the queue(s) to filter.
|
|
84
|
+
|
|
85
|
+
GLOBAL FLAGS
|
|
86
|
+
--json Format output as json.
|
|
87
|
+
--log-level=<option> [default: info] Specify level for logging.
|
|
88
|
+
<options: debug|warn|error|info|trace>
|
|
89
|
+
|
|
90
|
+
DESCRIPTION
|
|
91
|
+
Get a list of Queue objects from the Solace Cloud Broker.
|
|
92
|
+
|
|
93
|
+
Token Permissions: [ mission_control:access or services:get or services:get:self or services:view or
|
|
94
|
+
services:view:self ]
|
|
95
|
+
|
|
96
|
+
EXAMPLES
|
|
97
|
+
$ sc broker queue list --broker-id=MyBrokerId
|
|
98
|
+
|
|
99
|
+
$ sc broker queue list --broker-name=MyBrokerName
|
|
100
|
+
|
|
101
|
+
$ sc broker queue list --broker-name=MyBrokerName --count=10
|
|
102
|
+
|
|
103
|
+
$ sc broker queue list --broker-name=MyBrokerName --queue-name=test*"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
_See code: [src/commands/broker/queue/list.ts](https://github.com/dishantlangayan/sc-plugin-queue/blob/v0.1.0/src/commands/broker/queue/list.ts)_
|
|
107
|
+
|
|
108
|
+
## `sc help [COMMAND]`
|
|
109
|
+
|
|
110
|
+
Display help for sc.
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
USAGE
|
|
114
|
+
$ sc help [COMMAND...] [-n]
|
|
115
|
+
|
|
116
|
+
ARGUMENTS
|
|
117
|
+
[COMMAND...] Command to show help for.
|
|
118
|
+
|
|
119
|
+
FLAGS
|
|
120
|
+
-n, --nested-commands Include all nested commands in the output.
|
|
121
|
+
|
|
122
|
+
DESCRIPTION
|
|
123
|
+
Display help for sc.
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.2.37/src/commands/help.ts)_
|
|
127
|
+
|
|
128
|
+
## `sc plugins`
|
|
129
|
+
|
|
130
|
+
List installed plugins.
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
USAGE
|
|
134
|
+
$ sc plugins [--json] [--core]
|
|
135
|
+
|
|
136
|
+
FLAGS
|
|
137
|
+
--core Show core plugins.
|
|
138
|
+
|
|
139
|
+
GLOBAL FLAGS
|
|
140
|
+
--json Format output as json.
|
|
141
|
+
|
|
142
|
+
DESCRIPTION
|
|
143
|
+
List installed plugins.
|
|
144
|
+
|
|
145
|
+
EXAMPLES
|
|
146
|
+
$ sc plugins
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/index.ts)_
|
|
150
|
+
|
|
151
|
+
## `sc plugins add PLUGIN`
|
|
152
|
+
|
|
153
|
+
Installs a plugin into sc.
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
USAGE
|
|
157
|
+
$ sc plugins add PLUGIN... [--json] [-f] [-h] [-s | -v]
|
|
158
|
+
|
|
159
|
+
ARGUMENTS
|
|
160
|
+
PLUGIN... Plugin to install.
|
|
161
|
+
|
|
162
|
+
FLAGS
|
|
163
|
+
-f, --force Force npm to fetch remote resources even if a local copy exists on disk.
|
|
164
|
+
-h, --help Show CLI help.
|
|
165
|
+
-s, --silent Silences npm output.
|
|
166
|
+
-v, --verbose Show verbose npm output.
|
|
167
|
+
|
|
168
|
+
GLOBAL FLAGS
|
|
169
|
+
--json Format output as json.
|
|
170
|
+
|
|
171
|
+
DESCRIPTION
|
|
172
|
+
Installs a plugin into sc.
|
|
173
|
+
|
|
174
|
+
Uses npm to install plugins.
|
|
175
|
+
|
|
176
|
+
Installation of a user-installed plugin will override a core plugin.
|
|
177
|
+
|
|
178
|
+
Use the SC_NPM_LOG_LEVEL environment variable to set the npm loglevel.
|
|
179
|
+
Use the SC_NPM_REGISTRY environment variable to set the npm registry.
|
|
180
|
+
|
|
181
|
+
ALIASES
|
|
182
|
+
$ sc plugins add
|
|
183
|
+
|
|
184
|
+
EXAMPLES
|
|
185
|
+
Install a plugin from npm registry.
|
|
186
|
+
|
|
187
|
+
$ sc plugins add myplugin
|
|
188
|
+
|
|
189
|
+
Install a plugin from a github url.
|
|
190
|
+
|
|
191
|
+
$ sc plugins add https://github.com/someuser/someplugin
|
|
192
|
+
|
|
193
|
+
Install a plugin from a github slug.
|
|
194
|
+
|
|
195
|
+
$ sc plugins add someuser/someplugin
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## `sc plugins:inspect PLUGIN...`
|
|
199
|
+
|
|
200
|
+
Displays installation properties of a plugin.
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
USAGE
|
|
204
|
+
$ sc plugins inspect PLUGIN...
|
|
205
|
+
|
|
206
|
+
ARGUMENTS
|
|
207
|
+
PLUGIN... [default: .] Plugin to inspect.
|
|
208
|
+
|
|
209
|
+
FLAGS
|
|
210
|
+
-h, --help Show CLI help.
|
|
211
|
+
-v, --verbose
|
|
212
|
+
|
|
213
|
+
GLOBAL FLAGS
|
|
214
|
+
--json Format output as json.
|
|
215
|
+
|
|
216
|
+
DESCRIPTION
|
|
217
|
+
Displays installation properties of a plugin.
|
|
218
|
+
|
|
219
|
+
EXAMPLES
|
|
220
|
+
$ sc plugins inspect myplugin
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/inspect.ts)_
|
|
224
|
+
|
|
225
|
+
## `sc plugins install PLUGIN`
|
|
226
|
+
|
|
227
|
+
Installs a plugin into sc.
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
USAGE
|
|
231
|
+
$ sc plugins install PLUGIN... [--json] [-f] [-h] [-s | -v]
|
|
232
|
+
|
|
233
|
+
ARGUMENTS
|
|
234
|
+
PLUGIN... Plugin to install.
|
|
235
|
+
|
|
236
|
+
FLAGS
|
|
237
|
+
-f, --force Force npm to fetch remote resources even if a local copy exists on disk.
|
|
238
|
+
-h, --help Show CLI help.
|
|
239
|
+
-s, --silent Silences npm output.
|
|
240
|
+
-v, --verbose Show verbose npm output.
|
|
241
|
+
|
|
242
|
+
GLOBAL FLAGS
|
|
243
|
+
--json Format output as json.
|
|
244
|
+
|
|
245
|
+
DESCRIPTION
|
|
246
|
+
Installs a plugin into sc.
|
|
247
|
+
|
|
248
|
+
Uses npm to install plugins.
|
|
249
|
+
|
|
250
|
+
Installation of a user-installed plugin will override a core plugin.
|
|
251
|
+
|
|
252
|
+
Use the SC_NPM_LOG_LEVEL environment variable to set the npm loglevel.
|
|
253
|
+
Use the SC_NPM_REGISTRY environment variable to set the npm registry.
|
|
254
|
+
|
|
255
|
+
ALIASES
|
|
256
|
+
$ sc plugins add
|
|
257
|
+
|
|
258
|
+
EXAMPLES
|
|
259
|
+
Install a plugin from npm registry.
|
|
260
|
+
|
|
261
|
+
$ sc plugins install myplugin
|
|
262
|
+
|
|
263
|
+
Install a plugin from a github url.
|
|
264
|
+
|
|
265
|
+
$ sc plugins install https://github.com/someuser/someplugin
|
|
266
|
+
|
|
267
|
+
Install a plugin from a github slug.
|
|
268
|
+
|
|
269
|
+
$ sc plugins install someuser/someplugin
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/install.ts)_
|
|
273
|
+
|
|
274
|
+
## `sc plugins link PATH`
|
|
275
|
+
|
|
276
|
+
Links a plugin into the CLI for development.
|
|
277
|
+
|
|
278
|
+
```
|
|
279
|
+
USAGE
|
|
280
|
+
$ sc plugins link PATH [-h] [--install] [-v]
|
|
281
|
+
|
|
282
|
+
ARGUMENTS
|
|
283
|
+
PATH [default: .] path to plugin
|
|
284
|
+
|
|
285
|
+
FLAGS
|
|
286
|
+
-h, --help Show CLI help.
|
|
287
|
+
-v, --verbose
|
|
288
|
+
--[no-]install Install dependencies after linking the plugin.
|
|
289
|
+
|
|
290
|
+
DESCRIPTION
|
|
291
|
+
Links a plugin into the CLI for development.
|
|
292
|
+
|
|
293
|
+
Installation of a linked plugin will override a user-installed or core plugin.
|
|
294
|
+
|
|
295
|
+
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
|
|
296
|
+
command will override the user-installed or core plugin implementation. This is useful for development work.
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
EXAMPLES
|
|
300
|
+
$ sc plugins link myplugin
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/link.ts)_
|
|
304
|
+
|
|
305
|
+
## `sc plugins remove [PLUGIN]`
|
|
306
|
+
|
|
307
|
+
Removes a plugin from the CLI.
|
|
308
|
+
|
|
309
|
+
```
|
|
310
|
+
USAGE
|
|
311
|
+
$ sc plugins remove [PLUGIN...] [-h] [-v]
|
|
312
|
+
|
|
313
|
+
ARGUMENTS
|
|
314
|
+
[PLUGIN...] plugin to uninstall
|
|
315
|
+
|
|
316
|
+
FLAGS
|
|
317
|
+
-h, --help Show CLI help.
|
|
318
|
+
-v, --verbose
|
|
319
|
+
|
|
320
|
+
DESCRIPTION
|
|
321
|
+
Removes a plugin from the CLI.
|
|
322
|
+
|
|
323
|
+
ALIASES
|
|
324
|
+
$ sc plugins unlink
|
|
325
|
+
$ sc plugins remove
|
|
326
|
+
|
|
327
|
+
EXAMPLES
|
|
328
|
+
$ sc plugins remove myplugin
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
## `sc plugins reset`
|
|
332
|
+
|
|
333
|
+
Remove all user-installed and linked plugins.
|
|
334
|
+
|
|
335
|
+
```
|
|
336
|
+
USAGE
|
|
337
|
+
$ sc plugins reset [--hard] [--reinstall]
|
|
338
|
+
|
|
339
|
+
FLAGS
|
|
340
|
+
--hard Delete node_modules and package manager related files in addition to uninstalling plugins.
|
|
341
|
+
--reinstall Reinstall all plugins after uninstalling.
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/reset.ts)_
|
|
345
|
+
|
|
346
|
+
## `sc plugins uninstall [PLUGIN]`
|
|
347
|
+
|
|
348
|
+
Removes a plugin from the CLI.
|
|
349
|
+
|
|
350
|
+
```
|
|
351
|
+
USAGE
|
|
352
|
+
$ sc plugins uninstall [PLUGIN...] [-h] [-v]
|
|
353
|
+
|
|
354
|
+
ARGUMENTS
|
|
355
|
+
[PLUGIN...] plugin to uninstall
|
|
356
|
+
|
|
357
|
+
FLAGS
|
|
358
|
+
-h, --help Show CLI help.
|
|
359
|
+
-v, --verbose
|
|
360
|
+
|
|
361
|
+
DESCRIPTION
|
|
362
|
+
Removes a plugin from the CLI.
|
|
363
|
+
|
|
364
|
+
ALIASES
|
|
365
|
+
$ sc plugins unlink
|
|
366
|
+
$ sc plugins remove
|
|
367
|
+
|
|
368
|
+
EXAMPLES
|
|
369
|
+
$ sc plugins uninstall myplugin
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/uninstall.ts)_
|
|
373
|
+
|
|
374
|
+
## `sc plugins unlink [PLUGIN]`
|
|
375
|
+
|
|
376
|
+
Removes a plugin from the CLI.
|
|
377
|
+
|
|
378
|
+
```
|
|
379
|
+
USAGE
|
|
380
|
+
$ sc plugins unlink [PLUGIN...] [-h] [-v]
|
|
381
|
+
|
|
382
|
+
ARGUMENTS
|
|
383
|
+
[PLUGIN...] plugin to uninstall
|
|
384
|
+
|
|
385
|
+
FLAGS
|
|
386
|
+
-h, --help Show CLI help.
|
|
387
|
+
-v, --verbose
|
|
388
|
+
|
|
389
|
+
DESCRIPTION
|
|
390
|
+
Removes a plugin from the CLI.
|
|
391
|
+
|
|
392
|
+
ALIASES
|
|
393
|
+
$ sc plugins unlink
|
|
394
|
+
$ sc plugins remove
|
|
395
|
+
|
|
396
|
+
EXAMPLES
|
|
397
|
+
$ sc plugins unlink myplugin
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
## `sc plugins update`
|
|
401
|
+
|
|
402
|
+
Update installed plugins.
|
|
403
|
+
|
|
404
|
+
```
|
|
405
|
+
USAGE
|
|
406
|
+
$ sc plugins update [-h] [-v]
|
|
407
|
+
|
|
408
|
+
FLAGS
|
|
409
|
+
-h, --help Show CLI help.
|
|
410
|
+
-v, --verbose
|
|
411
|
+
|
|
412
|
+
DESCRIPTION
|
|
413
|
+
Update installed plugins.
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/update.ts)_
|
|
417
|
+
<!-- commandsstop -->
|
package/bin/dev.cmd
ADDED
package/bin/dev.js
ADDED
package/bin/run.cmd
ADDED
package/bin/run.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class BrokerQueueCreate extends Command {
|
|
3
|
+
static args: {
|
|
4
|
+
file: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
2
|
+
export default class BrokerQueueCreate extends Command {
|
|
3
|
+
static args = {
|
|
4
|
+
file: Args.string({ description: 'file to read' }),
|
|
5
|
+
};
|
|
6
|
+
static description = 'describe the command here';
|
|
7
|
+
static examples = [
|
|
8
|
+
'<%= config.bin %> <%= command.id %>',
|
|
9
|
+
];
|
|
10
|
+
static flags = {
|
|
11
|
+
// flag with no value (-f, --force)
|
|
12
|
+
force: Flags.boolean({ char: 'f' }),
|
|
13
|
+
// flag with a value (-n, --name=VALUE)
|
|
14
|
+
name: Flags.string({ char: 'n', description: 'name to print' }),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
const { args, flags } = await this.parse(BrokerQueueCreate);
|
|
18
|
+
const name = flags.name ?? 'world';
|
|
19
|
+
this.log(`hello ${name} from /Users/dishantlangayan/git/sc-plugins/sc-plugin-queue/src/commands/broker/queue/create.ts`);
|
|
20
|
+
if (args.file && flags.force) {
|
|
21
|
+
this.log(`you input --force and --file: ${args.file}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ScCommand } from '@dishantlangayan/sc-cli-core';
|
|
2
|
+
import { MsgVpnQueuesResponse } from '../../../types/msgvpn-queue.js';
|
|
3
|
+
export default class BrokerQueueList extends ScCommand<typeof BrokerQueueList> {
|
|
4
|
+
static args: {};
|
|
5
|
+
static description: string;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static flags: {
|
|
8
|
+
'broker-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'broker-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
count: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'queue-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<MsgVpnQueuesResponse>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { renderTable, ScCommand, ScConnection } from '@dishantlangayan/sc-cli-core';
|
|
2
|
+
import { Flags } from '@oclif/core';
|
|
3
|
+
export default class BrokerQueueList extends ScCommand {
|
|
4
|
+
static args = {};
|
|
5
|
+
static description = `Get a list of Queue objects from the Solace Cloud Broker.
|
|
6
|
+
|
|
7
|
+
Token Permissions: [ mission_control:access or services:get or services:get:self or services:view or services:view:self ]`;
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> <%= command.id %> --broker-id=MyBrokerId',
|
|
10
|
+
'<%= config.bin %> <%= command.id %> --broker-name=MyBrokerName',
|
|
11
|
+
'<%= config.bin %> <%= command.id %> --broker-name=MyBrokerName --count=10',
|
|
12
|
+
'<%= config.bin %> <%= command.id %> --broker-name=MyBrokerName --queue-name=test*"',
|
|
13
|
+
];
|
|
14
|
+
static flags = {
|
|
15
|
+
'broker-id': Flags.string({
|
|
16
|
+
char: 'b',
|
|
17
|
+
description: 'Id of the event broker service.',
|
|
18
|
+
exactlyOne: ['broker-id', 'broker-name'],
|
|
19
|
+
}),
|
|
20
|
+
'broker-name': Flags.string({
|
|
21
|
+
char: 'n',
|
|
22
|
+
description: 'Name of the event broker service.',
|
|
23
|
+
exactlyOne: ['broker-id', 'broker-name'],
|
|
24
|
+
}),
|
|
25
|
+
count: Flags.integer({
|
|
26
|
+
char: 'c',
|
|
27
|
+
default: 10,
|
|
28
|
+
description: 'Limit the number of queues returned',
|
|
29
|
+
min: 1,
|
|
30
|
+
}),
|
|
31
|
+
'queue-name': Flags.string({
|
|
32
|
+
char: 'q',
|
|
33
|
+
description: 'Name of the queue(s) to filter.',
|
|
34
|
+
}),
|
|
35
|
+
};
|
|
36
|
+
async run() {
|
|
37
|
+
const { flags } = await this.parse(BrokerQueueList);
|
|
38
|
+
// Create ScConnection instance
|
|
39
|
+
const conn = new ScConnection();
|
|
40
|
+
const brokerName = flags['broker-name'] ?? '';
|
|
41
|
+
let brokerId = flags['broker-id'] ?? '';
|
|
42
|
+
// API url
|
|
43
|
+
let apiUrl = `/missionControl/eventBrokerServices`;
|
|
44
|
+
// If broker name was provided then retrieve the broker Id first
|
|
45
|
+
if (brokerName) {
|
|
46
|
+
const searchByNameApiUrl = `${apiUrl}?customAttributes=name=="${brokerName}"`;
|
|
47
|
+
const brokerResp = await conn.get(searchByNameApiUrl);
|
|
48
|
+
if (brokerResp.data.length === 0) {
|
|
49
|
+
this.error(`No broker found with the name ${brokerName}`);
|
|
50
|
+
}
|
|
51
|
+
// Set the Broker Id
|
|
52
|
+
brokerId = brokerResp.data[0].id;
|
|
53
|
+
}
|
|
54
|
+
// Retrieve the broker details to get the SEMP port, msgVpn and other fields
|
|
55
|
+
apiUrl += `/${brokerId}?expand=broker&expand=serviceConnectionEndpoints`;
|
|
56
|
+
const brokerResp = await conn.get(apiUrl);
|
|
57
|
+
const { msgVpnName } = brokerResp.data;
|
|
58
|
+
const sempHostName = brokerResp.data.defaultManagementHostname;
|
|
59
|
+
const sempPort = brokerResp.data.serviceConnectionEndpoints[0].ports.find((p) => p.protocol === 'serviceManagementTlsListenPort')?.port;
|
|
60
|
+
const sempUsername = brokerResp.data.broker.msgVpns[0].managementAdminLoginCredential.username;
|
|
61
|
+
const sempPassword = brokerResp.data.broker.msgVpns[0].managementAdminLoginCredential.password;
|
|
62
|
+
const encodedAuthToken = Buffer.from(`${sempUsername}:${sempPassword}`, 'utf8').toString('base64');
|
|
63
|
+
// Use the information and make the SEMP API call to retrieve the queues
|
|
64
|
+
// Create a SEMP connection
|
|
65
|
+
const sempConn = new ScConnection(`https://${sempHostName}:${sempPort}`, encodedAuthToken, undefined, true);
|
|
66
|
+
// Build API endpoint with query parameters
|
|
67
|
+
const endpoint = `/monitor/msgVpns/${msgVpnName}/queues`;
|
|
68
|
+
const params = { count: flags.count };
|
|
69
|
+
if (flags['queue-name'])
|
|
70
|
+
params.where = `queueName==${flags['queue-name']}`;
|
|
71
|
+
// Make API call
|
|
72
|
+
const sempResp = await sempConn.get(endpoint, { params });
|
|
73
|
+
// Format data as table
|
|
74
|
+
const tableData = [
|
|
75
|
+
['Queue Name', 'Access Type', 'Owner', 'Permission', 'Ingress', 'Egress', 'Quota (MB)'],
|
|
76
|
+
...sempResp.data.map((queue) => [
|
|
77
|
+
queue.queueName || '',
|
|
78
|
+
queue.accessType || '',
|
|
79
|
+
queue.owner || '',
|
|
80
|
+
queue.permission || '',
|
|
81
|
+
queue.ingressEnabled ? 'Enabled' : 'Disabled',
|
|
82
|
+
queue.egressEnabled ? 'Enabled' : 'Disabled',
|
|
83
|
+
(queue.maxMsgSpoolUsage ?? 0).toString(),
|
|
84
|
+
]),
|
|
85
|
+
];
|
|
86
|
+
// Render table
|
|
87
|
+
const output = renderTable(tableData, {
|
|
88
|
+
0: { width: 25 }, // Queue Name
|
|
89
|
+
1: { width: 15 }, // Access Type
|
|
90
|
+
2: { width: 20 }, // Owner
|
|
91
|
+
3: { width: 15 }, // Permission
|
|
92
|
+
4: { width: 10 }, // Ingress
|
|
93
|
+
5: { width: 10 }, // Egress
|
|
94
|
+
6: { width: 12 }, // Quota (MB)
|
|
95
|
+
});
|
|
96
|
+
this.log(output);
|
|
97
|
+
return sempResp;
|
|
98
|
+
}
|
|
99
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { run } from '@oclif/core';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { run } from '@oclif/core';
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export interface BrokerGetResponse {
|
|
2
|
+
data: BrokerData;
|
|
3
|
+
meta: Record<string, unknown>;
|
|
4
|
+
}
|
|
5
|
+
export interface BrokerNameGetResponse {
|
|
6
|
+
data: BrokerData[];
|
|
7
|
+
meta: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export interface BrokerData {
|
|
10
|
+
adminState: string;
|
|
11
|
+
broker: Broker;
|
|
12
|
+
createdTime: string;
|
|
13
|
+
creationState: string;
|
|
14
|
+
datacenterId: string;
|
|
15
|
+
defaultManagementHostname: string;
|
|
16
|
+
endOfFullSupport: string;
|
|
17
|
+
environmentId: string;
|
|
18
|
+
eventBrokerServiceVersion: string;
|
|
19
|
+
id: string;
|
|
20
|
+
infrastructureId: string;
|
|
21
|
+
locked: boolean;
|
|
22
|
+
msgVpnName: string;
|
|
23
|
+
name: string;
|
|
24
|
+
ownedBy: string;
|
|
25
|
+
selfServeUpgradesEnabled: boolean;
|
|
26
|
+
serviceClassId: string;
|
|
27
|
+
serviceConnectionEndpoints: ServiceConnectionEndpoint[];
|
|
28
|
+
type: string;
|
|
29
|
+
}
|
|
30
|
+
export interface ServiceConnectionEndpoint {
|
|
31
|
+
accessType: string;
|
|
32
|
+
creationState: string;
|
|
33
|
+
description: string;
|
|
34
|
+
hostNames: string[];
|
|
35
|
+
id: string;
|
|
36
|
+
k8sServiceId: string;
|
|
37
|
+
k8sServiceType: string;
|
|
38
|
+
name: string;
|
|
39
|
+
ports: Port[];
|
|
40
|
+
type: string;
|
|
41
|
+
}
|
|
42
|
+
export interface Port {
|
|
43
|
+
port: number;
|
|
44
|
+
protocol: string;
|
|
45
|
+
}
|
|
46
|
+
export interface Broker {
|
|
47
|
+
cluster: Cluster;
|
|
48
|
+
configSyncSslEnabled: boolean;
|
|
49
|
+
diskSize: number;
|
|
50
|
+
managementReadOnlyLoginCredential: Credential;
|
|
51
|
+
maxSpoolUsage: number;
|
|
52
|
+
monitoringAgentEnabled: boolean;
|
|
53
|
+
monitoringMode: string;
|
|
54
|
+
msgVpns: MsgVpn[];
|
|
55
|
+
redundancyGroupSslEnabled: boolean;
|
|
56
|
+
solaceDatadogAgentImage: string;
|
|
57
|
+
tlsStandardDomainCertificateAuthoritiesEnabled: boolean;
|
|
58
|
+
version: string;
|
|
59
|
+
versionFamily: string;
|
|
60
|
+
}
|
|
61
|
+
export interface Cluster {
|
|
62
|
+
name: string;
|
|
63
|
+
password: string;
|
|
64
|
+
primaryRouterName: string;
|
|
65
|
+
remoteAddress: string;
|
|
66
|
+
supportedAuthenticationMode: string[];
|
|
67
|
+
}
|
|
68
|
+
export interface Credential {
|
|
69
|
+
password: string;
|
|
70
|
+
token?: string;
|
|
71
|
+
username: string;
|
|
72
|
+
}
|
|
73
|
+
export interface MsgVpn {
|
|
74
|
+
authenticationBasicEnabled: boolean;
|
|
75
|
+
authenticationBasicType: string;
|
|
76
|
+
authenticationClientCertAllowApiProvidedUsernameEnabled: boolean;
|
|
77
|
+
authenticationClientCertEnabled: boolean;
|
|
78
|
+
authenticationClientCertUsernameSource: string;
|
|
79
|
+
authenticationClientCertValidateDateEnabled: boolean;
|
|
80
|
+
authenticationOauthEnabled: boolean;
|
|
81
|
+
clientProfiles: ClientProfile[];
|
|
82
|
+
enabled: boolean;
|
|
83
|
+
eventLargeMsgThreshold: number;
|
|
84
|
+
managementAdminLoginCredential: Credential;
|
|
85
|
+
maxConnectionCount: number;
|
|
86
|
+
maxEgressFlowCount: number;
|
|
87
|
+
maxEndpointCount: number;
|
|
88
|
+
maxIngressFlowCount: number;
|
|
89
|
+
maxMsgSpoolUsage: number;
|
|
90
|
+
maxSubscriptionCount: number;
|
|
91
|
+
maxTransactedSessionCount: number;
|
|
92
|
+
maxTransactionCount: number;
|
|
93
|
+
missionControlManagerLoginCredential: Credential;
|
|
94
|
+
msgVpnName: string;
|
|
95
|
+
sempOverMessageBus: SempOverMessageBus;
|
|
96
|
+
serviceLoginCredential: Credential;
|
|
97
|
+
subDomainName: string;
|
|
98
|
+
truststoreUri: string;
|
|
99
|
+
}
|
|
100
|
+
export interface ClientProfile {
|
|
101
|
+
name: string;
|
|
102
|
+
}
|
|
103
|
+
export interface SempOverMessageBus {
|
|
104
|
+
sempAccessToAdminCmdsEnabled: boolean;
|
|
105
|
+
sempAccessToCacheCmdsEnabled: boolean;
|
|
106
|
+
sempAccessToClientAdminCmdsEnabled: boolean;
|
|
107
|
+
sempAccessToShowCmdsEnabled: boolean;
|
|
108
|
+
sempOverMsgBusEnabled: boolean;
|
|
109
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
export interface MsgVpnQueuesResponse {
|
|
2
|
+
collections?: MsgVpnQueueCollection[];
|
|
3
|
+
data: MsgVpnQueue[];
|
|
4
|
+
links?: MsgVpnQueueLink[];
|
|
5
|
+
meta: SempMeta;
|
|
6
|
+
}
|
|
7
|
+
export interface MsgVpnQueue {
|
|
8
|
+
accessType?: 'exclusive' | 'non-exclusive';
|
|
9
|
+
alreadyBoundBindFailureCount?: number;
|
|
10
|
+
averageBindRequestRate?: number;
|
|
11
|
+
averageRxByteRate?: number;
|
|
12
|
+
averageRxMsgRate?: number;
|
|
13
|
+
averageTxByteRate?: number;
|
|
14
|
+
averageTxMsgRate?: number;
|
|
15
|
+
bindRequestCount?: number;
|
|
16
|
+
bindRequestRate?: number;
|
|
17
|
+
bindSuccessCount?: number;
|
|
18
|
+
bindTimeForwardingMode?: 'cut-through' | 'store-and-forward';
|
|
19
|
+
clientProfileDeniedDiscardedMsgCount?: number;
|
|
20
|
+
consumerAckPropagationEnabled?: boolean;
|
|
21
|
+
createdByManagement?: boolean;
|
|
22
|
+
deadMsgQueue?: string;
|
|
23
|
+
deletedMsgCount?: number;
|
|
24
|
+
deliveryCountEnabled?: boolean;
|
|
25
|
+
deliveryDelay?: number;
|
|
26
|
+
destinationGroupErrorDiscardedMsgCount?: number;
|
|
27
|
+
disabledBindFailureCount?: number;
|
|
28
|
+
disabledDiscardedMsgCount?: number;
|
|
29
|
+
durable?: boolean;
|
|
30
|
+
egressEnabled?: boolean;
|
|
31
|
+
eventBindCountThreshold?: {
|
|
32
|
+
clearPercent?: number;
|
|
33
|
+
setPercent?: number;
|
|
34
|
+
};
|
|
35
|
+
eventMsgSpoolUsageThreshold?: {
|
|
36
|
+
clearPercent?: number;
|
|
37
|
+
setPercent?: number;
|
|
38
|
+
};
|
|
39
|
+
eventRejectLowPriorityMsgLimitThreshold?: {
|
|
40
|
+
clearPercent?: number;
|
|
41
|
+
setPercent?: number;
|
|
42
|
+
};
|
|
43
|
+
highestAckedMsgId?: number;
|
|
44
|
+
ingressEnabled?: boolean;
|
|
45
|
+
inProgressAckMsgCount?: number;
|
|
46
|
+
invalidSelectorBindFailureCount?: number;
|
|
47
|
+
lastReplayFailureReason?: string;
|
|
48
|
+
lastSpooledMsgId?: number;
|
|
49
|
+
lowestAckedMsgId?: number;
|
|
50
|
+
lowPriorityMsgCongestionDiscardedMsgCount?: number;
|
|
51
|
+
lowPriorityMsgCongestionState?: string;
|
|
52
|
+
maxBindCount?: number;
|
|
53
|
+
maxBindCountExceededBindFailureCount?: number;
|
|
54
|
+
maxDeliveredUnackedMsgsPerFlow?: number;
|
|
55
|
+
maxMsgSize?: number;
|
|
56
|
+
maxMsgSizeExceededDiscardedMsgCount?: number;
|
|
57
|
+
maxMsgSpoolUsage?: number;
|
|
58
|
+
maxMsgSpoolUsageExceededDiscardedMsgCount?: number;
|
|
59
|
+
maxRedeliveryCount?: number;
|
|
60
|
+
maxRedeliveryExceededDiscardedMsgCount?: number;
|
|
61
|
+
maxRedeliveryExceededToDmqFailedMsgCount?: number;
|
|
62
|
+
maxRedeliveryExceededToDmqMsgCount?: number;
|
|
63
|
+
maxTtl?: number;
|
|
64
|
+
maxTtlExceededDiscardedMsgCount?: number;
|
|
65
|
+
maxTtlExpiredDiscardedMsgCount?: number;
|
|
66
|
+
maxTtlExpiredToDmqFailedMsgCount?: number;
|
|
67
|
+
maxTtlExpiredToDmqMsgCount?: number;
|
|
68
|
+
msgSpoolPeakUsage?: number;
|
|
69
|
+
msgSpoolUsage?: number;
|
|
70
|
+
msgVpnName: string;
|
|
71
|
+
networkTopic?: string;
|
|
72
|
+
noLocalDeliveryDiscardedMsgCount?: number;
|
|
73
|
+
otherBindFailureCount?: number;
|
|
74
|
+
owner?: string;
|
|
75
|
+
partitionCount?: number;
|
|
76
|
+
partitionOperationalCount?: number;
|
|
77
|
+
partitionRebalanceDelay?: number;
|
|
78
|
+
partitionRebalanceMaxHandoffTime?: number;
|
|
79
|
+
partitionRebalanceStatus?: string;
|
|
80
|
+
partitionScaleStatus?: string;
|
|
81
|
+
permission?: 'consume' | 'delete' | 'modify-topic' | 'no-access' | 'read-only';
|
|
82
|
+
queueName: string;
|
|
83
|
+
redeliveredMsgCount?: number;
|
|
84
|
+
redeliveryDelayEnabled?: boolean;
|
|
85
|
+
redeliveryDelayInitialInterval?: number;
|
|
86
|
+
redeliveryDelayMaxInterval?: number;
|
|
87
|
+
redeliveryDelayMultiplier?: number;
|
|
88
|
+
redeliveryEnabled?: boolean;
|
|
89
|
+
rejectLowPriorityMsgEnabled?: boolean;
|
|
90
|
+
rejectLowPriorityMsgLimit?: number;
|
|
91
|
+
rejectMsgToSenderOnDiscardBehavior?: 'always' | 'never' | 'when-queue-enabled';
|
|
92
|
+
replayedAckedMsgCount?: number;
|
|
93
|
+
replayedTxMsgCount?: number;
|
|
94
|
+
replayFailureCount?: number;
|
|
95
|
+
replayStartCount?: number;
|
|
96
|
+
replaySuccessCount?: number;
|
|
97
|
+
replicationActiveAckPropTxMsgCount?: number;
|
|
98
|
+
replicationStandbyAckedByAckPropMsgCount?: number;
|
|
99
|
+
replicationStandbyAckPropRxMsgCount?: number;
|
|
100
|
+
replicationStandbyRxMsgCount?: number;
|
|
101
|
+
respectMsgPriorityEnabled?: boolean;
|
|
102
|
+
respectTtlEnabled?: boolean;
|
|
103
|
+
rxByteRate?: number;
|
|
104
|
+
rxMsgRate?: number;
|
|
105
|
+
spooledByteCount?: number;
|
|
106
|
+
spooledMsgCount?: number;
|
|
107
|
+
transportRetransmitMsgCount?: number;
|
|
108
|
+
txByteRate?: number;
|
|
109
|
+
txMsgRate?: number;
|
|
110
|
+
txSelector?: boolean;
|
|
111
|
+
txUnackedMsgCount?: number;
|
|
112
|
+
virtualRouter?: 'auto' | 'backup' | 'primary';
|
|
113
|
+
xaTransactionNotSupportedDiscardedMsgCount?: number;
|
|
114
|
+
}
|
|
115
|
+
export interface MsgVpnQueueCollection {
|
|
116
|
+
msgs?: {
|
|
117
|
+
count?: number;
|
|
118
|
+
};
|
|
119
|
+
priorities?: Record<string, unknown>;
|
|
120
|
+
subscriptions?: Record<string, unknown>;
|
|
121
|
+
txFlows?: Record<string, unknown>;
|
|
122
|
+
}
|
|
123
|
+
export interface MsgVpnQueueLink {
|
|
124
|
+
msgsUri?: string;
|
|
125
|
+
prioritiesUri?: string;
|
|
126
|
+
subscriptionsUri?: string;
|
|
127
|
+
txFlowsUri?: string;
|
|
128
|
+
uri?: string;
|
|
129
|
+
}
|
|
130
|
+
export interface SempMeta {
|
|
131
|
+
count?: number;
|
|
132
|
+
paging?: {
|
|
133
|
+
cursorQuery?: string;
|
|
134
|
+
nextPageUri?: string;
|
|
135
|
+
};
|
|
136
|
+
request?: {
|
|
137
|
+
method?: string;
|
|
138
|
+
uri?: string;
|
|
139
|
+
};
|
|
140
|
+
responseCode?: number;
|
|
141
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
{
|
|
2
|
+
"commands": {
|
|
3
|
+
"broker:queue:create": {
|
|
4
|
+
"aliases": [],
|
|
5
|
+
"args": {
|
|
6
|
+
"file": {
|
|
7
|
+
"description": "file to read",
|
|
8
|
+
"name": "file"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"description": "describe the command here",
|
|
12
|
+
"examples": [
|
|
13
|
+
"<%= config.bin %> <%= command.id %>"
|
|
14
|
+
],
|
|
15
|
+
"flags": {
|
|
16
|
+
"force": {
|
|
17
|
+
"char": "f",
|
|
18
|
+
"name": "force",
|
|
19
|
+
"allowNo": false,
|
|
20
|
+
"type": "boolean"
|
|
21
|
+
},
|
|
22
|
+
"name": {
|
|
23
|
+
"char": "n",
|
|
24
|
+
"description": "name to print",
|
|
25
|
+
"name": "name",
|
|
26
|
+
"hasDynamicHelp": false,
|
|
27
|
+
"multiple": false,
|
|
28
|
+
"type": "option"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"hasDynamicHelp": false,
|
|
32
|
+
"hiddenAliases": [],
|
|
33
|
+
"id": "broker:queue:create",
|
|
34
|
+
"pluginAlias": "@dishantlangayan/sc-plugin-queue",
|
|
35
|
+
"pluginName": "@dishantlangayan/sc-plugin-queue",
|
|
36
|
+
"pluginType": "core",
|
|
37
|
+
"strict": true,
|
|
38
|
+
"enableJsonFlag": false,
|
|
39
|
+
"isESM": true,
|
|
40
|
+
"relativePath": [
|
|
41
|
+
"dist",
|
|
42
|
+
"commands",
|
|
43
|
+
"broker",
|
|
44
|
+
"queue",
|
|
45
|
+
"create.js"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"broker:queue:list": {
|
|
49
|
+
"aliases": [],
|
|
50
|
+
"args": {},
|
|
51
|
+
"description": "Get a list of Queue objects from the Solace Cloud Broker.\n\nToken Permissions: [ mission_control:access or services:get or services:get:self or services:view or services:view:self ]",
|
|
52
|
+
"examples": [
|
|
53
|
+
"<%= config.bin %> <%= command.id %> --broker-id=MyBrokerId",
|
|
54
|
+
"<%= config.bin %> <%= command.id %> --broker-name=MyBrokerName",
|
|
55
|
+
"<%= config.bin %> <%= command.id %> --broker-name=MyBrokerName --count=10",
|
|
56
|
+
"<%= config.bin %> <%= command.id %> --broker-name=MyBrokerName --queue-name=test*\""
|
|
57
|
+
],
|
|
58
|
+
"flags": {
|
|
59
|
+
"json": {
|
|
60
|
+
"description": "Format output as json.",
|
|
61
|
+
"helpGroup": "GLOBAL",
|
|
62
|
+
"name": "json",
|
|
63
|
+
"allowNo": false,
|
|
64
|
+
"type": "boolean"
|
|
65
|
+
},
|
|
66
|
+
"log-level": {
|
|
67
|
+
"helpGroup": "GLOBAL",
|
|
68
|
+
"name": "log-level",
|
|
69
|
+
"summary": "Specify level for logging.",
|
|
70
|
+
"default": "info",
|
|
71
|
+
"hasDynamicHelp": false,
|
|
72
|
+
"multiple": false,
|
|
73
|
+
"options": [
|
|
74
|
+
"debug",
|
|
75
|
+
"warn",
|
|
76
|
+
"error",
|
|
77
|
+
"info",
|
|
78
|
+
"trace"
|
|
79
|
+
],
|
|
80
|
+
"type": "option"
|
|
81
|
+
},
|
|
82
|
+
"broker-id": {
|
|
83
|
+
"char": "b",
|
|
84
|
+
"description": "Id of the event broker service.",
|
|
85
|
+
"name": "broker-id",
|
|
86
|
+
"hasDynamicHelp": false,
|
|
87
|
+
"multiple": false,
|
|
88
|
+
"type": "option"
|
|
89
|
+
},
|
|
90
|
+
"broker-name": {
|
|
91
|
+
"char": "n",
|
|
92
|
+
"description": "Name of the event broker service.",
|
|
93
|
+
"name": "broker-name",
|
|
94
|
+
"hasDynamicHelp": false,
|
|
95
|
+
"multiple": false,
|
|
96
|
+
"type": "option"
|
|
97
|
+
},
|
|
98
|
+
"count": {
|
|
99
|
+
"char": "c",
|
|
100
|
+
"description": "Limit the number of queues returned",
|
|
101
|
+
"name": "count",
|
|
102
|
+
"default": 10,
|
|
103
|
+
"hasDynamicHelp": false,
|
|
104
|
+
"multiple": false,
|
|
105
|
+
"type": "option"
|
|
106
|
+
},
|
|
107
|
+
"queue-name": {
|
|
108
|
+
"char": "q",
|
|
109
|
+
"description": "Name of the queue(s) to filter.",
|
|
110
|
+
"name": "queue-name",
|
|
111
|
+
"hasDynamicHelp": false,
|
|
112
|
+
"multiple": false,
|
|
113
|
+
"type": "option"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"hasDynamicHelp": false,
|
|
117
|
+
"hiddenAliases": [],
|
|
118
|
+
"id": "broker:queue:list",
|
|
119
|
+
"pluginAlias": "@dishantlangayan/sc-plugin-queue",
|
|
120
|
+
"pluginName": "@dishantlangayan/sc-plugin-queue",
|
|
121
|
+
"pluginType": "core",
|
|
122
|
+
"strict": true,
|
|
123
|
+
"enableJsonFlag": true,
|
|
124
|
+
"isESM": true,
|
|
125
|
+
"relativePath": [
|
|
126
|
+
"dist",
|
|
127
|
+
"commands",
|
|
128
|
+
"broker",
|
|
129
|
+
"queue",
|
|
130
|
+
"list.js"
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"version": "0.1.0"
|
|
135
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dishantlangayan/sc-plugin-queue",
|
|
3
|
+
"description": "Commands to interact with queues on a Solace Cloud broker",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"author": "Dishant Langayan",
|
|
6
|
+
"bin": {
|
|
7
|
+
"sc": "./bin/run.js"
|
|
8
|
+
},
|
|
9
|
+
"bugs": "https://github.com/dishantlangayan/sc-plugin-queue/issues",
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@dishantlangayan/sc-cli-core": "^0.1.2",
|
|
12
|
+
"@oclif/core": "^4",
|
|
13
|
+
"@oclif/plugin-help": "^6",
|
|
14
|
+
"@oclif/plugin-plugins": "^5"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@eslint/compat": "^1",
|
|
18
|
+
"@oclif/prettier-config": "^0.2.1",
|
|
19
|
+
"@oclif/test": "^4",
|
|
20
|
+
"@types/chai": "^4",
|
|
21
|
+
"@types/mocha": "^10",
|
|
22
|
+
"@types/node": "^18",
|
|
23
|
+
"@types/sinon": "^21.0.0",
|
|
24
|
+
"chai": "^4",
|
|
25
|
+
"eslint": "^9",
|
|
26
|
+
"eslint-config-oclif": "^6",
|
|
27
|
+
"eslint-config-prettier": "^10",
|
|
28
|
+
"mocha": "^10",
|
|
29
|
+
"oclif": "^4",
|
|
30
|
+
"shx": "^0.3.3",
|
|
31
|
+
"sinon": "^21.0.1",
|
|
32
|
+
"ts-node": "^10",
|
|
33
|
+
"typescript": "^5"
|
|
34
|
+
},
|
|
35
|
+
"engines": {
|
|
36
|
+
"node": ">=18.0.0"
|
|
37
|
+
},
|
|
38
|
+
"files": [
|
|
39
|
+
"./bin",
|
|
40
|
+
"./dist",
|
|
41
|
+
"./oclif.manifest.json"
|
|
42
|
+
],
|
|
43
|
+
"homepage": "https://github.com/dishantlangayan/sc-plugin-queue",
|
|
44
|
+
"keywords": [
|
|
45
|
+
"oclif"
|
|
46
|
+
],
|
|
47
|
+
"license": "Apache-2.0",
|
|
48
|
+
"main": "dist/index.js",
|
|
49
|
+
"type": "module",
|
|
50
|
+
"oclif": {
|
|
51
|
+
"bin": "sc",
|
|
52
|
+
"dirname": "sc",
|
|
53
|
+
"commands": "./dist/commands",
|
|
54
|
+
"plugins": [
|
|
55
|
+
"@oclif/plugin-help",
|
|
56
|
+
"@oclif/plugin-plugins"
|
|
57
|
+
],
|
|
58
|
+
"topicSeparator": " ",
|
|
59
|
+
"topics": {
|
|
60
|
+
"hello": {
|
|
61
|
+
"description": "Say hello to the world and others"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"repository": "dishantlangayan/sc-plugin-queue",
|
|
66
|
+
"scripts": {
|
|
67
|
+
"build": "shx rm -rf dist && tsc -b",
|
|
68
|
+
"lint": "eslint",
|
|
69
|
+
"postpack": "shx rm -f oclif.manifest.json",
|
|
70
|
+
"posttest": "npm run lint",
|
|
71
|
+
"prepack": "oclif manifest && oclif readme",
|
|
72
|
+
"test": "mocha --forbid-only \"test/**/*.test.ts\"",
|
|
73
|
+
"version": "oclif readme && git add README.md"
|
|
74
|
+
},
|
|
75
|
+
"types": "dist/index.d.ts"
|
|
76
|
+
}
|