@dishantlangayan/sc-plugin-queue 0.1.0 → 0.1.1
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 +81 -335
- package/dist/commands/broker/queue/create.d.ts +33 -8
- package/dist/commands/broker/queue/create.js +216 -16
- package/dist/types/msgvpn-queue.d.ts +33 -0
- package/dist/types/msgvpn-queue.js +1 -0
- package/oclif.manifest.json +236 -16
- package/package.json +9 -11
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ $ npm install -g @dishantlangayan/sc-plugin-queue
|
|
|
20
20
|
$ sc COMMAND
|
|
21
21
|
running command...
|
|
22
22
|
$ sc (--version)
|
|
23
|
-
@dishantlangayan/sc-plugin-queue/0.1.
|
|
23
|
+
@dishantlangayan/sc-plugin-queue/0.1.1 darwin-arm64 node-v24.1.0
|
|
24
24
|
$ sc --help [COMMAND]
|
|
25
25
|
USAGE
|
|
26
26
|
$ sc COMMAND
|
|
@@ -29,43 +29,99 @@ USAGE
|
|
|
29
29
|
<!-- usagestop -->
|
|
30
30
|
# Commands
|
|
31
31
|
<!-- commands -->
|
|
32
|
-
* [`sc broker queue create
|
|
32
|
+
* [`sc broker queue create`](#sc-broker-queue-create)
|
|
33
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
34
|
|
|
46
|
-
## `sc broker queue create
|
|
35
|
+
## `sc broker queue create`
|
|
47
36
|
|
|
48
|
-
|
|
37
|
+
Create a Queue on a Solace Cloud Broker.
|
|
49
38
|
|
|
50
39
|
```
|
|
51
40
|
USAGE
|
|
52
|
-
$ sc broker queue create [
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
41
|
+
$ sc broker queue create -q <value> [--json] [--log-level debug|warn|error|info|trace] [-a exclusive|non-exclusive] [-b
|
|
42
|
+
<value>] [-n <value>] [--consumer-ack-propagation-enabled] [--dead-msg-queue <value>] [--delivery-count-enabled]
|
|
43
|
+
[--delivery-delay <value>] [--egress-enabled] [--ingress-enabled] [--max-bind-count <value>]
|
|
44
|
+
[--max-delivered-unacked-msgs-per-flow <value>] [--max-msg-size <value>] [-s <value>] [--max-redelivery-count
|
|
45
|
+
<value>] [--max-ttl <value>] [-o <value>] [-p consume|delete|modify-topic|no-access|read-only]
|
|
46
|
+
[--redelivery-delay-enabled] [--redelivery-delay-initial-interval <value>] [--redelivery-delay-max-interval <value>]
|
|
47
|
+
[--redelivery-delay-multiplier <value>] [--redelivery-enabled] [--reject-low-priority-msg-enabled]
|
|
48
|
+
[--reject-low-priority-msg-limit <value>] [--reject-msg-to-sender-on-discard-behavior
|
|
49
|
+
always|never|when-queue-enabled] [--respect-msg-priority-enabled] [--respect-ttl-enabled]
|
|
56
50
|
|
|
57
51
|
FLAGS
|
|
58
|
-
-
|
|
59
|
-
|
|
52
|
+
-a, --access-type=<option> [default: exclusive] The access type for the queue.
|
|
53
|
+
<options: exclusive|non-exclusive>
|
|
54
|
+
-b, --broker-id=<value> Id of the event broker service.
|
|
55
|
+
-n, --broker-name=<value> Name of the event broker service.
|
|
56
|
+
-o, --owner=<value> The client username that owns the queue and has permission
|
|
57
|
+
equivalent to delete.
|
|
58
|
+
-p, --permission=<option> [default: no-access] The permission level for all consumers
|
|
59
|
+
of the queue, excluding the owner.
|
|
60
|
+
<options: consume|delete|modify-topic|no-access|read-only>
|
|
61
|
+
-q, --queue-name=<value> (required) The name of the queue to create.
|
|
62
|
+
-s, --max-msg-spool-usage=<value> The maximum message spool usage allowed by the queue, in
|
|
63
|
+
megabytes (MB).
|
|
64
|
+
--[no-]consumer-ack-propagation-enabled Enable or disable the propagation of consumer
|
|
65
|
+
acknowledgments.
|
|
66
|
+
--dead-msg-queue=<value> The name of the Dead Message Queue.
|
|
67
|
+
--[no-]delivery-count-enabled Enable or disable delivery count on the messages.
|
|
68
|
+
--delivery-delay=<value> The delay, in seconds, to apply to messages arriving on the
|
|
69
|
+
queue before the messages are eligible for delivery.
|
|
70
|
+
--[no-]egress-enabled Enable or disable egress (message consumption) from the
|
|
71
|
+
queue.
|
|
72
|
+
--[no-]ingress-enabled Enable or disable ingress (message reception) to the queue.
|
|
73
|
+
--max-bind-count=<value> The maximum number of consumer flows that can bind to the
|
|
74
|
+
queue.
|
|
75
|
+
--max-delivered-unacked-msgs-per-flow=<value> The maximum number of messages delivered but not acknowledged
|
|
76
|
+
per flow.
|
|
77
|
+
--max-msg-size=<value> The maximum message size allowed in the queue, in bytes.
|
|
78
|
+
--max-redelivery-count=<value> The maximum number of times a message will be redelivered
|
|
79
|
+
before it is discarded or moved to the DMQ.
|
|
80
|
+
--max-ttl=<value> The maximum time in seconds a message can stay in the queue
|
|
81
|
+
when respect-ttl-enabled is true.
|
|
82
|
+
--[no-]redelivery-delay-enabled Enable or disable a message redelivery delay.
|
|
83
|
+
--redelivery-delay-initial-interval=<value> The delay to be used between the first 2 redelivery attempts,
|
|
84
|
+
in milliseconds.
|
|
85
|
+
--redelivery-delay-max-interval=<value> The maximum delay to be used between any 2 redelivery
|
|
86
|
+
attempts, in milliseconds.
|
|
87
|
+
--redelivery-delay-multiplier=<value> The amount each delay interval is multiplied by after each
|
|
88
|
+
failed delivery attempt.
|
|
89
|
+
--[no-]redelivery-enabled Enable or disable message redelivery.
|
|
90
|
+
--[no-]reject-low-priority-msg-enabled Enable or disable the checking of low priority messages
|
|
91
|
+
against the reject-low-priority-msg-limit.
|
|
92
|
+
--reject-low-priority-msg-limit=<value> The number of messages of any priority above which low
|
|
93
|
+
priority messages are not admitted.
|
|
94
|
+
--reject-msg-to-sender-on-discard-behavior=<option> Determines when to return negative acknowledgments (NACKs) to
|
|
95
|
+
sending clients on message discards.
|
|
96
|
+
<options: always|never|when-queue-enabled>
|
|
97
|
+
--[no-]respect-msg-priority-enabled Enable or disable the respecting of message priority.
|
|
98
|
+
--[no-]respect-ttl-enabled Enable or disable the respecting of the time-to-live (TTL)
|
|
99
|
+
for messages.
|
|
100
|
+
|
|
101
|
+
GLOBAL FLAGS
|
|
102
|
+
--json Format output as json.
|
|
103
|
+
--log-level=<option> [default: info] Specify level for logging.
|
|
104
|
+
<options: debug|warn|error|info|trace>
|
|
60
105
|
|
|
61
106
|
DESCRIPTION
|
|
62
|
-
|
|
107
|
+
Create a Queue on a Solace Cloud Broker.
|
|
108
|
+
|
|
109
|
+
Your token must have one of the permissions listed in the Token Permissions.
|
|
110
|
+
|
|
111
|
+
Token Permissions: [ mission_control:access or services:get or services:get:self or services:view or
|
|
112
|
+
services:view:self ]
|
|
63
113
|
|
|
64
114
|
EXAMPLES
|
|
65
|
-
$ sc broker queue create
|
|
115
|
+
$ sc broker queue create --broker-id=MyBrokerId --queue-name=myQueue
|
|
116
|
+
|
|
117
|
+
$ sc broker queue create --broker-name=MyBrokerName --queue-name=myQueue --access-type=exclusive
|
|
118
|
+
|
|
119
|
+
$ sc broker queue create --broker-name=MyBrokerName --queue-name=myQueue --owner=user1 --permission=consume
|
|
120
|
+
|
|
121
|
+
$ sc broker queue create --broker-id=MyBrokerId --queue-name=myQueue --max-spool-usage=100 --ingress-enabled --egress-enabled
|
|
66
122
|
```
|
|
67
123
|
|
|
68
|
-
_See code: [src/commands/broker/queue/create.ts](https://github.com/dishantlangayan/sc-plugin-queue/blob/v0.1.
|
|
124
|
+
_See code: [src/commands/broker/queue/create.ts](https://github.com/dishantlangayan/sc-plugin-queue/blob/v0.1.1/src/commands/broker/queue/create.ts)_
|
|
69
125
|
|
|
70
126
|
## `sc broker queue list`
|
|
71
127
|
|
|
@@ -103,315 +159,5 @@ EXAMPLES
|
|
|
103
159
|
$ sc broker queue list --broker-name=MyBrokerName --queue-name=test*"
|
|
104
160
|
```
|
|
105
161
|
|
|
106
|
-
_See code: [src/commands/broker/queue/list.ts](https://github.com/dishantlangayan/sc-plugin-queue/blob/v0.1.
|
|
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)_
|
|
162
|
+
_See code: [src/commands/broker/queue/list.ts](https://github.com/dishantlangayan/sc-plugin-queue/blob/v0.1.1/src/commands/broker/queue/list.ts)_
|
|
417
163
|
<!-- commandsstop -->
|
|
@@ -1,13 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
1
|
+
import { ScCommand } from '@dishantlangayan/sc-cli-core';
|
|
2
|
+
import { MsgVpnQueueCreateResponse } from '../../../types/msgvpn-queue.js';
|
|
3
|
+
export default class BrokerQueueCreate extends ScCommand<typeof BrokerQueueCreate> {
|
|
4
|
+
static args: {};
|
|
6
5
|
static description: string;
|
|
7
6
|
static examples: string[];
|
|
8
7
|
static flags: {
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
'access-type': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'broker-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'broker-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'consumer-ack-propagation-enabled': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
'dead-msg-queue': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'delivery-count-enabled': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
'delivery-delay': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'egress-enabled': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
'ingress-enabled': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
'max-bind-count': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
'max-delivered-unacked-msgs-per-flow': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
'max-msg-size': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
'max-msg-spool-usage': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
'max-redelivery-count': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
'max-ttl': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
owner: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
permission: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
'queue-name': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
'redelivery-delay-enabled': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
27
|
+
'redelivery-delay-initial-interval': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
|
+
'redelivery-delay-max-interval': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
29
|
+
'redelivery-delay-multiplier': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
|
+
'redelivery-enabled': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
31
|
+
'reject-low-priority-msg-enabled': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
32
|
+
'reject-low-priority-msg-limit': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
33
|
+
'reject-msg-to-sender-on-discard-behavior': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
34
|
+
'respect-msg-priority-enabled': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
35
|
+
'respect-ttl-enabled': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
36
|
};
|
|
12
|
-
run(): Promise<
|
|
37
|
+
run(): Promise<MsgVpnQueueCreateResponse>;
|
|
13
38
|
}
|
|
@@ -1,24 +1,224 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { printObjectAsKeyValueTable, ScCommand, ScConnection } from '@dishantlangayan/sc-cli-core';
|
|
2
|
+
import { Flags } from '@oclif/core';
|
|
3
|
+
export default class BrokerQueueCreate extends ScCommand {
|
|
4
|
+
static args = {};
|
|
5
|
+
static description = `Create a Queue on a Solace Cloud Broker.
|
|
6
|
+
|
|
7
|
+
Your token must have one of the permissions listed in the Token Permissions.
|
|
8
|
+
|
|
9
|
+
Token Permissions: [ mission_control:access or services:get or services:get:self or services:view or services:view:self ]`;
|
|
7
10
|
static examples = [
|
|
8
|
-
'<%= config.bin %> <%= command.id %>',
|
|
11
|
+
'<%= config.bin %> <%= command.id %> --broker-id=MyBrokerId --queue-name=myQueue',
|
|
12
|
+
'<%= config.bin %> <%= command.id %> --broker-name=MyBrokerName --queue-name=myQueue --access-type=exclusive',
|
|
13
|
+
'<%= config.bin %> <%= command.id %> --broker-name=MyBrokerName --queue-name=myQueue --owner=user1 --permission=consume',
|
|
14
|
+
'<%= config.bin %> <%= command.id %> --broker-id=MyBrokerId --queue-name=myQueue --max-spool-usage=100 --ingress-enabled --egress-enabled',
|
|
9
15
|
];
|
|
10
16
|
static flags = {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
17
|
+
'access-type': Flags.string({
|
|
18
|
+
char: 'a',
|
|
19
|
+
default: 'exclusive',
|
|
20
|
+
description: 'The access type for the queue.',
|
|
21
|
+
options: ['exclusive', 'non-exclusive'],
|
|
22
|
+
}),
|
|
23
|
+
'broker-id': Flags.string({
|
|
24
|
+
char: 'b',
|
|
25
|
+
description: 'Id of the event broker service.',
|
|
26
|
+
exactlyOne: ['broker-id', 'broker-name'],
|
|
27
|
+
}),
|
|
28
|
+
'broker-name': Flags.string({
|
|
29
|
+
char: 'n',
|
|
30
|
+
description: 'Name of the event broker service.',
|
|
31
|
+
exactlyOne: ['broker-id', 'broker-name'],
|
|
32
|
+
}),
|
|
33
|
+
'consumer-ack-propagation-enabled': Flags.boolean({
|
|
34
|
+
allowNo: true,
|
|
35
|
+
description: 'Enable or disable the propagation of consumer acknowledgments.',
|
|
36
|
+
}),
|
|
37
|
+
'dead-msg-queue': Flags.string({
|
|
38
|
+
description: 'The name of the Dead Message Queue.',
|
|
39
|
+
}),
|
|
40
|
+
'delivery-count-enabled': Flags.boolean({
|
|
41
|
+
allowNo: true,
|
|
42
|
+
description: 'Enable or disable delivery count on the messages.',
|
|
43
|
+
}),
|
|
44
|
+
'delivery-delay': Flags.integer({
|
|
45
|
+
description: 'The delay, in seconds, to apply to messages arriving on the queue before the messages are eligible for delivery.',
|
|
46
|
+
min: 0,
|
|
47
|
+
}),
|
|
48
|
+
'egress-enabled': Flags.boolean({
|
|
49
|
+
allowNo: true,
|
|
50
|
+
default: true,
|
|
51
|
+
description: 'Enable or disable egress (message consumption) from the queue.',
|
|
52
|
+
}),
|
|
53
|
+
'ingress-enabled': Flags.boolean({
|
|
54
|
+
allowNo: true,
|
|
55
|
+
default: true,
|
|
56
|
+
description: 'Enable or disable ingress (message reception) to the queue.',
|
|
57
|
+
}),
|
|
58
|
+
'max-bind-count': Flags.integer({
|
|
59
|
+
description: 'The maximum number of consumer flows that can bind to the queue.',
|
|
60
|
+
min: 0,
|
|
61
|
+
}),
|
|
62
|
+
'max-delivered-unacked-msgs-per-flow': Flags.integer({
|
|
63
|
+
description: 'The maximum number of messages delivered but not acknowledged per flow.',
|
|
64
|
+
min: 0,
|
|
65
|
+
}),
|
|
66
|
+
'max-msg-size': Flags.integer({
|
|
67
|
+
description: 'The maximum message size allowed in the queue, in bytes.',
|
|
68
|
+
min: 0,
|
|
69
|
+
}),
|
|
70
|
+
'max-msg-spool-usage': Flags.integer({
|
|
71
|
+
char: 's',
|
|
72
|
+
description: 'The maximum message spool usage allowed by the queue, in megabytes (MB).',
|
|
73
|
+
min: 0,
|
|
74
|
+
}),
|
|
75
|
+
'max-redelivery-count': Flags.integer({
|
|
76
|
+
description: 'The maximum number of times a message will be redelivered before it is discarded or moved to the DMQ.',
|
|
77
|
+
min: 0,
|
|
78
|
+
}),
|
|
79
|
+
'max-ttl': Flags.integer({
|
|
80
|
+
description: 'The maximum time in seconds a message can stay in the queue when respect-ttl-enabled is true.',
|
|
81
|
+
min: 0,
|
|
82
|
+
}),
|
|
83
|
+
owner: Flags.string({
|
|
84
|
+
char: 'o',
|
|
85
|
+
description: 'The client username that owns the queue and has permission equivalent to delete.',
|
|
86
|
+
}),
|
|
87
|
+
permission: Flags.string({
|
|
88
|
+
char: 'p',
|
|
89
|
+
default: 'no-access',
|
|
90
|
+
description: 'The permission level for all consumers of the queue, excluding the owner.',
|
|
91
|
+
options: ['consume', 'delete', 'modify-topic', 'no-access', 'read-only'],
|
|
92
|
+
}),
|
|
93
|
+
'queue-name': Flags.string({
|
|
94
|
+
char: 'q',
|
|
95
|
+
description: 'The name of the queue to create.',
|
|
96
|
+
required: true,
|
|
97
|
+
}),
|
|
98
|
+
'redelivery-delay-enabled': Flags.boolean({
|
|
99
|
+
allowNo: true,
|
|
100
|
+
description: 'Enable or disable a message redelivery delay.',
|
|
101
|
+
}),
|
|
102
|
+
'redelivery-delay-initial-interval': Flags.integer({
|
|
103
|
+
description: 'The delay to be used between the first 2 redelivery attempts, in milliseconds.',
|
|
104
|
+
min: 0,
|
|
105
|
+
}),
|
|
106
|
+
'redelivery-delay-max-interval': Flags.integer({
|
|
107
|
+
description: 'The maximum delay to be used between any 2 redelivery attempts, in milliseconds.',
|
|
108
|
+
min: 0,
|
|
109
|
+
}),
|
|
110
|
+
'redelivery-delay-multiplier': Flags.integer({
|
|
111
|
+
description: 'The amount each delay interval is multiplied by after each failed delivery attempt.',
|
|
112
|
+
min: 0,
|
|
113
|
+
}),
|
|
114
|
+
'redelivery-enabled': Flags.boolean({
|
|
115
|
+
allowNo: true,
|
|
116
|
+
description: 'Enable or disable message redelivery.',
|
|
117
|
+
}),
|
|
118
|
+
'reject-low-priority-msg-enabled': Flags.boolean({
|
|
119
|
+
allowNo: true,
|
|
120
|
+
description: 'Enable or disable the checking of low priority messages against the reject-low-priority-msg-limit.',
|
|
121
|
+
}),
|
|
122
|
+
'reject-low-priority-msg-limit': Flags.integer({
|
|
123
|
+
description: 'The number of messages of any priority above which low priority messages are not admitted.',
|
|
124
|
+
min: 0,
|
|
125
|
+
}),
|
|
126
|
+
'reject-msg-to-sender-on-discard-behavior': Flags.string({
|
|
127
|
+
description: 'Determines when to return negative acknowledgments (NACKs) to sending clients on message discards.',
|
|
128
|
+
options: ['always', 'never', 'when-queue-enabled'],
|
|
129
|
+
}),
|
|
130
|
+
'respect-msg-priority-enabled': Flags.boolean({
|
|
131
|
+
allowNo: true,
|
|
132
|
+
description: 'Enable or disable the respecting of message priority.',
|
|
133
|
+
}),
|
|
134
|
+
'respect-ttl-enabled': Flags.boolean({
|
|
135
|
+
allowNo: true,
|
|
136
|
+
description: 'Enable or disable the respecting of the time-to-live (TTL) for messages.',
|
|
137
|
+
}),
|
|
15
138
|
};
|
|
16
139
|
async run() {
|
|
17
|
-
const {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
140
|
+
const { flags } = await this.parse(BrokerQueueCreate);
|
|
141
|
+
// Create ScConnection instance
|
|
142
|
+
const conn = new ScConnection();
|
|
143
|
+
const brokerName = flags['broker-name'] ?? '';
|
|
144
|
+
let brokerId = flags['broker-id'] ?? '';
|
|
145
|
+
// API url
|
|
146
|
+
let apiUrl = `/missionControl/eventBrokerServices`;
|
|
147
|
+
// If broker name was provided then retrieve the broker Id first
|
|
148
|
+
if (brokerName) {
|
|
149
|
+
const searchByNameApiUrl = `${apiUrl}?customAttributes=name=="${brokerName}"`;
|
|
150
|
+
const brokerResp = await conn.get(searchByNameApiUrl);
|
|
151
|
+
if (brokerResp.data.length === 0) {
|
|
152
|
+
this.error(`No broker found with the name ${brokerName}`);
|
|
153
|
+
}
|
|
154
|
+
// Set the Broker Id
|
|
155
|
+
brokerId = brokerResp.data[0].id;
|
|
22
156
|
}
|
|
157
|
+
// Retrieve the broker details to get the SEMP port, msgVpn and other fields
|
|
158
|
+
apiUrl += `/${brokerId}?expand=broker&expand=serviceConnectionEndpoints`;
|
|
159
|
+
const brokerResp = await conn.get(apiUrl);
|
|
160
|
+
const { msgVpnName } = brokerResp.data;
|
|
161
|
+
const sempHostName = brokerResp.data.defaultManagementHostname;
|
|
162
|
+
const sempPort = brokerResp.data.serviceConnectionEndpoints[0].ports.find((p) => p.protocol === 'serviceManagementTlsListenPort')?.port;
|
|
163
|
+
const sempUsername = brokerResp.data.broker.msgVpns[0].managementAdminLoginCredential.username;
|
|
164
|
+
const sempPassword = brokerResp.data.broker.msgVpns[0].managementAdminLoginCredential.password;
|
|
165
|
+
const encodedAuthToken = Buffer.from(`${sempUsername}:${sempPassword}`, 'utf8').toString('base64');
|
|
166
|
+
// Create a SEMP connection for Config API
|
|
167
|
+
const sempConn = new ScConnection(`https://${sempHostName}:${sempPort}`, encodedAuthToken, undefined, true);
|
|
168
|
+
// Build the queue creation request body
|
|
169
|
+
const queueBody = {
|
|
170
|
+
queueName: flags['queue-name'],
|
|
171
|
+
...(flags['access-type'] && { accessType: flags['access-type'] }),
|
|
172
|
+
...(flags['consumer-ack-propagation-enabled'] !== undefined && {
|
|
173
|
+
consumerAckPropagationEnabled: flags['consumer-ack-propagation-enabled'],
|
|
174
|
+
}),
|
|
175
|
+
...(flags['dead-msg-queue'] && { deadMsgQueue: flags['dead-msg-queue'] }),
|
|
176
|
+
...(flags['delivery-count-enabled'] !== undefined && { deliveryCountEnabled: flags['delivery-count-enabled'] }),
|
|
177
|
+
...(flags['delivery-delay'] !== undefined && { deliveryDelay: flags['delivery-delay'] }),
|
|
178
|
+
...(flags['egress-enabled'] !== undefined && { egressEnabled: flags['egress-enabled'] }),
|
|
179
|
+
...(flags['ingress-enabled'] !== undefined && { ingressEnabled: flags['ingress-enabled'] }),
|
|
180
|
+
...(flags['max-bind-count'] !== undefined && { maxBindCount: flags['max-bind-count'] }),
|
|
181
|
+
...(flags['max-delivered-unacked-msgs-per-flow'] !== undefined && {
|
|
182
|
+
maxDeliveredUnackedMsgsPerFlow: flags['max-delivered-unacked-msgs-per-flow'],
|
|
183
|
+
}),
|
|
184
|
+
...(flags['max-msg-size'] !== undefined && { maxMsgSize: flags['max-msg-size'] }),
|
|
185
|
+
...(flags['max-msg-spool-usage'] !== undefined && { maxMsgSpoolUsage: flags['max-msg-spool-usage'] }),
|
|
186
|
+
...(flags['max-redelivery-count'] !== undefined && { maxRedeliveryCount: flags['max-redelivery-count'] }),
|
|
187
|
+
...(flags['max-ttl'] !== undefined && { maxTtl: flags['max-ttl'] }),
|
|
188
|
+
...(flags.owner && { owner: flags.owner }),
|
|
189
|
+
...(flags.permission && { permission: flags.permission }),
|
|
190
|
+
...(flags['redelivery-delay-enabled'] !== undefined && {
|
|
191
|
+
redeliveryDelayEnabled: flags['redelivery-delay-enabled'],
|
|
192
|
+
}),
|
|
193
|
+
...(flags['redelivery-delay-initial-interval'] !== undefined && {
|
|
194
|
+
redeliveryDelayInitialInterval: flags['redelivery-delay-initial-interval'],
|
|
195
|
+
}),
|
|
196
|
+
...(flags['redelivery-delay-max-interval'] !== undefined && {
|
|
197
|
+
redeliveryDelayMaxInterval: flags['redelivery-delay-max-interval'],
|
|
198
|
+
}),
|
|
199
|
+
...(flags['redelivery-delay-multiplier'] !== undefined && {
|
|
200
|
+
redeliveryDelayMultiplier: flags['redelivery-delay-multiplier'],
|
|
201
|
+
}),
|
|
202
|
+
...(flags['redelivery-enabled'] !== undefined && { redeliveryEnabled: flags['redelivery-enabled'] }),
|
|
203
|
+
...(flags['reject-low-priority-msg-enabled'] !== undefined && {
|
|
204
|
+
rejectLowPriorityMsgEnabled: flags['reject-low-priority-msg-enabled'],
|
|
205
|
+
}),
|
|
206
|
+
...(flags['reject-low-priority-msg-limit'] !== undefined && {
|
|
207
|
+
rejectLowPriorityMsgLimit: flags['reject-low-priority-msg-limit'],
|
|
208
|
+
}),
|
|
209
|
+
...(flags['reject-msg-to-sender-on-discard-behavior'] && {
|
|
210
|
+
rejectMsgToSenderOnDiscardBehavior: flags['reject-msg-to-sender-on-discard-behavior'],
|
|
211
|
+
}),
|
|
212
|
+
...(flags['respect-msg-priority-enabled'] !== undefined && {
|
|
213
|
+
respectMsgPriorityEnabled: flags['respect-msg-priority-enabled'],
|
|
214
|
+
}),
|
|
215
|
+
...(flags['respect-ttl-enabled'] !== undefined && { respectTtlEnabled: flags['respect-ttl-enabled'] }),
|
|
216
|
+
};
|
|
217
|
+
// Make SEMP Config API call to create the queue
|
|
218
|
+
const endpoint = `/config/msgVpns/${msgVpnName}/queues`;
|
|
219
|
+
const sempResp = await sempConn.post(endpoint, queueBody);
|
|
220
|
+
// Display results
|
|
221
|
+
this.log(printObjectAsKeyValueTable(sempResp.data));
|
|
222
|
+
return sempResp;
|
|
23
223
|
}
|
|
24
224
|
}
|
|
@@ -1,3 +1,36 @@
|
|
|
1
|
+
export interface MsgVpnQueueCreateRequest {
|
|
2
|
+
accessType?: 'exclusive' | 'non-exclusive';
|
|
3
|
+
consumerAckPropagationEnabled?: boolean;
|
|
4
|
+
deadMsgQueue?: string;
|
|
5
|
+
deliveryCountEnabled?: boolean;
|
|
6
|
+
deliveryDelay?: number;
|
|
7
|
+
egressEnabled?: boolean;
|
|
8
|
+
ingressEnabled?: boolean;
|
|
9
|
+
maxBindCount?: number;
|
|
10
|
+
maxDeliveredUnackedMsgsPerFlow?: number;
|
|
11
|
+
maxMsgSize?: number;
|
|
12
|
+
maxMsgSpoolUsage?: number;
|
|
13
|
+
maxRedeliveryCount?: number;
|
|
14
|
+
maxTtl?: number;
|
|
15
|
+
owner?: string;
|
|
16
|
+
permission?: 'consume' | 'delete' | 'modify-topic' | 'no-access' | 'read-only';
|
|
17
|
+
queueName: string;
|
|
18
|
+
redeliveryDelayEnabled?: boolean;
|
|
19
|
+
redeliveryDelayInitialInterval?: number;
|
|
20
|
+
redeliveryDelayMaxInterval?: number;
|
|
21
|
+
redeliveryDelayMultiplier?: number;
|
|
22
|
+
redeliveryEnabled?: boolean;
|
|
23
|
+
rejectLowPriorityMsgEnabled?: boolean;
|
|
24
|
+
rejectLowPriorityMsgLimit?: number;
|
|
25
|
+
rejectMsgToSenderOnDiscardBehavior?: 'always' | 'never' | 'when-queue-enabled';
|
|
26
|
+
respectMsgPriorityEnabled?: boolean;
|
|
27
|
+
respectTtlEnabled?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface MsgVpnQueueCreateResponse {
|
|
30
|
+
data: MsgVpnQueue;
|
|
31
|
+
links?: MsgVpnQueueLink;
|
|
32
|
+
meta: SempMeta;
|
|
33
|
+
}
|
|
1
34
|
export interface MsgVpnQueuesResponse {
|
|
2
35
|
collections?: MsgVpnQueueCollection[];
|
|
3
36
|
data: MsgVpnQueue[];
|
package/oclif.manifest.json
CHANGED
|
@@ -2,30 +2,250 @@
|
|
|
2
2
|
"commands": {
|
|
3
3
|
"broker:queue:create": {
|
|
4
4
|
"aliases": [],
|
|
5
|
-
"args": {
|
|
6
|
-
|
|
7
|
-
"description": "file to read",
|
|
8
|
-
"name": "file"
|
|
9
|
-
}
|
|
10
|
-
},
|
|
11
|
-
"description": "describe the command here",
|
|
5
|
+
"args": {},
|
|
6
|
+
"description": "Create a Queue on a Solace Cloud Broker.\n\nYour token must have one of the permissions listed in the Token Permissions.\n\nToken Permissions: [ mission_control:access or services:get or services:get:self or services:view or services:view:self ]",
|
|
12
7
|
"examples": [
|
|
13
|
-
"<%= config.bin %> <%= command.id %>"
|
|
8
|
+
"<%= config.bin %> <%= command.id %> --broker-id=MyBrokerId --queue-name=myQueue",
|
|
9
|
+
"<%= config.bin %> <%= command.id %> --broker-name=MyBrokerName --queue-name=myQueue --access-type=exclusive",
|
|
10
|
+
"<%= config.bin %> <%= command.id %> --broker-name=MyBrokerName --queue-name=myQueue --owner=user1 --permission=consume",
|
|
11
|
+
"<%= config.bin %> <%= command.id %> --broker-id=MyBrokerId --queue-name=myQueue --max-spool-usage=100 --ingress-enabled --egress-enabled"
|
|
14
12
|
],
|
|
15
13
|
"flags": {
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
14
|
+
"json": {
|
|
15
|
+
"description": "Format output as json.",
|
|
16
|
+
"helpGroup": "GLOBAL",
|
|
17
|
+
"name": "json",
|
|
19
18
|
"allowNo": false,
|
|
20
19
|
"type": "boolean"
|
|
21
20
|
},
|
|
22
|
-
"
|
|
21
|
+
"log-level": {
|
|
22
|
+
"helpGroup": "GLOBAL",
|
|
23
|
+
"name": "log-level",
|
|
24
|
+
"summary": "Specify level for logging.",
|
|
25
|
+
"default": "info",
|
|
26
|
+
"hasDynamicHelp": false,
|
|
27
|
+
"multiple": false,
|
|
28
|
+
"options": [
|
|
29
|
+
"debug",
|
|
30
|
+
"warn",
|
|
31
|
+
"error",
|
|
32
|
+
"info",
|
|
33
|
+
"trace"
|
|
34
|
+
],
|
|
35
|
+
"type": "option"
|
|
36
|
+
},
|
|
37
|
+
"access-type": {
|
|
38
|
+
"char": "a",
|
|
39
|
+
"description": "The access type for the queue.",
|
|
40
|
+
"name": "access-type",
|
|
41
|
+
"default": "exclusive",
|
|
42
|
+
"hasDynamicHelp": false,
|
|
43
|
+
"multiple": false,
|
|
44
|
+
"options": [
|
|
45
|
+
"exclusive",
|
|
46
|
+
"non-exclusive"
|
|
47
|
+
],
|
|
48
|
+
"type": "option"
|
|
49
|
+
},
|
|
50
|
+
"broker-id": {
|
|
51
|
+
"char": "b",
|
|
52
|
+
"description": "Id of the event broker service.",
|
|
53
|
+
"name": "broker-id",
|
|
54
|
+
"hasDynamicHelp": false,
|
|
55
|
+
"multiple": false,
|
|
56
|
+
"type": "option"
|
|
57
|
+
},
|
|
58
|
+
"broker-name": {
|
|
23
59
|
"char": "n",
|
|
24
|
-
"description": "
|
|
25
|
-
"name": "name",
|
|
60
|
+
"description": "Name of the event broker service.",
|
|
61
|
+
"name": "broker-name",
|
|
62
|
+
"hasDynamicHelp": false,
|
|
63
|
+
"multiple": false,
|
|
64
|
+
"type": "option"
|
|
65
|
+
},
|
|
66
|
+
"consumer-ack-propagation-enabled": {
|
|
67
|
+
"description": "Enable or disable the propagation of consumer acknowledgments.",
|
|
68
|
+
"name": "consumer-ack-propagation-enabled",
|
|
69
|
+
"allowNo": true,
|
|
70
|
+
"type": "boolean"
|
|
71
|
+
},
|
|
72
|
+
"dead-msg-queue": {
|
|
73
|
+
"description": "The name of the Dead Message Queue.",
|
|
74
|
+
"name": "dead-msg-queue",
|
|
75
|
+
"hasDynamicHelp": false,
|
|
76
|
+
"multiple": false,
|
|
77
|
+
"type": "option"
|
|
78
|
+
},
|
|
79
|
+
"delivery-count-enabled": {
|
|
80
|
+
"description": "Enable or disable delivery count on the messages.",
|
|
81
|
+
"name": "delivery-count-enabled",
|
|
82
|
+
"allowNo": true,
|
|
83
|
+
"type": "boolean"
|
|
84
|
+
},
|
|
85
|
+
"delivery-delay": {
|
|
86
|
+
"description": "The delay, in seconds, to apply to messages arriving on the queue before the messages are eligible for delivery.",
|
|
87
|
+
"name": "delivery-delay",
|
|
88
|
+
"hasDynamicHelp": false,
|
|
89
|
+
"multiple": false,
|
|
90
|
+
"type": "option"
|
|
91
|
+
},
|
|
92
|
+
"egress-enabled": {
|
|
93
|
+
"description": "Enable or disable egress (message consumption) from the queue.",
|
|
94
|
+
"name": "egress-enabled",
|
|
95
|
+
"allowNo": true,
|
|
96
|
+
"type": "boolean"
|
|
97
|
+
},
|
|
98
|
+
"ingress-enabled": {
|
|
99
|
+
"description": "Enable or disable ingress (message reception) to the queue.",
|
|
100
|
+
"name": "ingress-enabled",
|
|
101
|
+
"allowNo": true,
|
|
102
|
+
"type": "boolean"
|
|
103
|
+
},
|
|
104
|
+
"max-bind-count": {
|
|
105
|
+
"description": "The maximum number of consumer flows that can bind to the queue.",
|
|
106
|
+
"name": "max-bind-count",
|
|
107
|
+
"hasDynamicHelp": false,
|
|
108
|
+
"multiple": false,
|
|
109
|
+
"type": "option"
|
|
110
|
+
},
|
|
111
|
+
"max-delivered-unacked-msgs-per-flow": {
|
|
112
|
+
"description": "The maximum number of messages delivered but not acknowledged per flow.",
|
|
113
|
+
"name": "max-delivered-unacked-msgs-per-flow",
|
|
114
|
+
"hasDynamicHelp": false,
|
|
115
|
+
"multiple": false,
|
|
116
|
+
"type": "option"
|
|
117
|
+
},
|
|
118
|
+
"max-msg-size": {
|
|
119
|
+
"description": "The maximum message size allowed in the queue, in bytes.",
|
|
120
|
+
"name": "max-msg-size",
|
|
26
121
|
"hasDynamicHelp": false,
|
|
27
122
|
"multiple": false,
|
|
28
123
|
"type": "option"
|
|
124
|
+
},
|
|
125
|
+
"max-msg-spool-usage": {
|
|
126
|
+
"char": "s",
|
|
127
|
+
"description": "The maximum message spool usage allowed by the queue, in megabytes (MB).",
|
|
128
|
+
"name": "max-msg-spool-usage",
|
|
129
|
+
"hasDynamicHelp": false,
|
|
130
|
+
"multiple": false,
|
|
131
|
+
"type": "option"
|
|
132
|
+
},
|
|
133
|
+
"max-redelivery-count": {
|
|
134
|
+
"description": "The maximum number of times a message will be redelivered before it is discarded or moved to the DMQ.",
|
|
135
|
+
"name": "max-redelivery-count",
|
|
136
|
+
"hasDynamicHelp": false,
|
|
137
|
+
"multiple": false,
|
|
138
|
+
"type": "option"
|
|
139
|
+
},
|
|
140
|
+
"max-ttl": {
|
|
141
|
+
"description": "The maximum time in seconds a message can stay in the queue when respect-ttl-enabled is true.",
|
|
142
|
+
"name": "max-ttl",
|
|
143
|
+
"hasDynamicHelp": false,
|
|
144
|
+
"multiple": false,
|
|
145
|
+
"type": "option"
|
|
146
|
+
},
|
|
147
|
+
"owner": {
|
|
148
|
+
"char": "o",
|
|
149
|
+
"description": "The client username that owns the queue and has permission equivalent to delete.",
|
|
150
|
+
"name": "owner",
|
|
151
|
+
"hasDynamicHelp": false,
|
|
152
|
+
"multiple": false,
|
|
153
|
+
"type": "option"
|
|
154
|
+
},
|
|
155
|
+
"permission": {
|
|
156
|
+
"char": "p",
|
|
157
|
+
"description": "The permission level for all consumers of the queue, excluding the owner.",
|
|
158
|
+
"name": "permission",
|
|
159
|
+
"default": "no-access",
|
|
160
|
+
"hasDynamicHelp": false,
|
|
161
|
+
"multiple": false,
|
|
162
|
+
"options": [
|
|
163
|
+
"consume",
|
|
164
|
+
"delete",
|
|
165
|
+
"modify-topic",
|
|
166
|
+
"no-access",
|
|
167
|
+
"read-only"
|
|
168
|
+
],
|
|
169
|
+
"type": "option"
|
|
170
|
+
},
|
|
171
|
+
"queue-name": {
|
|
172
|
+
"char": "q",
|
|
173
|
+
"description": "The name of the queue to create.",
|
|
174
|
+
"name": "queue-name",
|
|
175
|
+
"required": true,
|
|
176
|
+
"hasDynamicHelp": false,
|
|
177
|
+
"multiple": false,
|
|
178
|
+
"type": "option"
|
|
179
|
+
},
|
|
180
|
+
"redelivery-delay-enabled": {
|
|
181
|
+
"description": "Enable or disable a message redelivery delay.",
|
|
182
|
+
"name": "redelivery-delay-enabled",
|
|
183
|
+
"allowNo": true,
|
|
184
|
+
"type": "boolean"
|
|
185
|
+
},
|
|
186
|
+
"redelivery-delay-initial-interval": {
|
|
187
|
+
"description": "The delay to be used between the first 2 redelivery attempts, in milliseconds.",
|
|
188
|
+
"name": "redelivery-delay-initial-interval",
|
|
189
|
+
"hasDynamicHelp": false,
|
|
190
|
+
"multiple": false,
|
|
191
|
+
"type": "option"
|
|
192
|
+
},
|
|
193
|
+
"redelivery-delay-max-interval": {
|
|
194
|
+
"description": "The maximum delay to be used between any 2 redelivery attempts, in milliseconds.",
|
|
195
|
+
"name": "redelivery-delay-max-interval",
|
|
196
|
+
"hasDynamicHelp": false,
|
|
197
|
+
"multiple": false,
|
|
198
|
+
"type": "option"
|
|
199
|
+
},
|
|
200
|
+
"redelivery-delay-multiplier": {
|
|
201
|
+
"description": "The amount each delay interval is multiplied by after each failed delivery attempt.",
|
|
202
|
+
"name": "redelivery-delay-multiplier",
|
|
203
|
+
"hasDynamicHelp": false,
|
|
204
|
+
"multiple": false,
|
|
205
|
+
"type": "option"
|
|
206
|
+
},
|
|
207
|
+
"redelivery-enabled": {
|
|
208
|
+
"description": "Enable or disable message redelivery.",
|
|
209
|
+
"name": "redelivery-enabled",
|
|
210
|
+
"allowNo": true,
|
|
211
|
+
"type": "boolean"
|
|
212
|
+
},
|
|
213
|
+
"reject-low-priority-msg-enabled": {
|
|
214
|
+
"description": "Enable or disable the checking of low priority messages against the reject-low-priority-msg-limit.",
|
|
215
|
+
"name": "reject-low-priority-msg-enabled",
|
|
216
|
+
"allowNo": true,
|
|
217
|
+
"type": "boolean"
|
|
218
|
+
},
|
|
219
|
+
"reject-low-priority-msg-limit": {
|
|
220
|
+
"description": "The number of messages of any priority above which low priority messages are not admitted.",
|
|
221
|
+
"name": "reject-low-priority-msg-limit",
|
|
222
|
+
"hasDynamicHelp": false,
|
|
223
|
+
"multiple": false,
|
|
224
|
+
"type": "option"
|
|
225
|
+
},
|
|
226
|
+
"reject-msg-to-sender-on-discard-behavior": {
|
|
227
|
+
"description": "Determines when to return negative acknowledgments (NACKs) to sending clients on message discards.",
|
|
228
|
+
"name": "reject-msg-to-sender-on-discard-behavior",
|
|
229
|
+
"hasDynamicHelp": false,
|
|
230
|
+
"multiple": false,
|
|
231
|
+
"options": [
|
|
232
|
+
"always",
|
|
233
|
+
"never",
|
|
234
|
+
"when-queue-enabled"
|
|
235
|
+
],
|
|
236
|
+
"type": "option"
|
|
237
|
+
},
|
|
238
|
+
"respect-msg-priority-enabled": {
|
|
239
|
+
"description": "Enable or disable the respecting of message priority.",
|
|
240
|
+
"name": "respect-msg-priority-enabled",
|
|
241
|
+
"allowNo": true,
|
|
242
|
+
"type": "boolean"
|
|
243
|
+
},
|
|
244
|
+
"respect-ttl-enabled": {
|
|
245
|
+
"description": "Enable or disable the respecting of the time-to-live (TTL) for messages.",
|
|
246
|
+
"name": "respect-ttl-enabled",
|
|
247
|
+
"allowNo": true,
|
|
248
|
+
"type": "boolean"
|
|
29
249
|
}
|
|
30
250
|
},
|
|
31
251
|
"hasDynamicHelp": false,
|
|
@@ -35,7 +255,7 @@
|
|
|
35
255
|
"pluginName": "@dishantlangayan/sc-plugin-queue",
|
|
36
256
|
"pluginType": "core",
|
|
37
257
|
"strict": true,
|
|
38
|
-
"enableJsonFlag":
|
|
258
|
+
"enableJsonFlag": true,
|
|
39
259
|
"isESM": true,
|
|
40
260
|
"relativePath": [
|
|
41
261
|
"dist",
|
|
@@ -131,5 +351,5 @@
|
|
|
131
351
|
]
|
|
132
352
|
}
|
|
133
353
|
},
|
|
134
|
-
"version": "0.1.
|
|
354
|
+
"version": "0.1.1"
|
|
135
355
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dishantlangayan/sc-plugin-queue",
|
|
3
3
|
"description": "Commands to interact with queues on a Solace Cloud broker",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.1",
|
|
5
5
|
"author": "Dishant Langayan",
|
|
6
6
|
"bin": {
|
|
7
7
|
"sc": "./bin/run.js"
|
|
@@ -42,7 +42,11 @@
|
|
|
42
42
|
],
|
|
43
43
|
"homepage": "https://github.com/dishantlangayan/sc-plugin-queue",
|
|
44
44
|
"keywords": [
|
|
45
|
-
"oclif"
|
|
45
|
+
"oclif",
|
|
46
|
+
"solace",
|
|
47
|
+
"cli",
|
|
48
|
+
"sc",
|
|
49
|
+
"sc-plugin"
|
|
46
50
|
],
|
|
47
51
|
"license": "Apache-2.0",
|
|
48
52
|
"main": "dist/index.js",
|
|
@@ -51,16 +55,10 @@
|
|
|
51
55
|
"bin": "sc",
|
|
52
56
|
"dirname": "sc",
|
|
53
57
|
"commands": "./dist/commands",
|
|
54
|
-
"
|
|
55
|
-
"@oclif/plugin-help"
|
|
56
|
-
"@oclif/plugin-plugins"
|
|
58
|
+
"devPlugins": [
|
|
59
|
+
"@oclif/plugin-help"
|
|
57
60
|
],
|
|
58
|
-
"topicSeparator": " "
|
|
59
|
-
"topics": {
|
|
60
|
-
"hello": {
|
|
61
|
-
"description": "Say hello to the world and others"
|
|
62
|
-
}
|
|
63
|
-
}
|
|
61
|
+
"topicSeparator": " "
|
|
64
62
|
},
|
|
65
63
|
"repository": "dishantlangayan/sc-plugin-queue",
|
|
66
64
|
"scripts": {
|