Synchronize CLI documentation with management command parity
This commit is contained in:
@@ -48,9 +48,10 @@ The CLI uses a hierarchical subcommand structure mirroring the Management Servic
|
||||
scadabridge <group> <action> [options]
|
||||
```
|
||||
|
||||
All entities are identified by their integer **ID** (via `--id`, `--template-id`,
|
||||
`--site-id`, etc.), not by name. Create/update commands take individual flags — there
|
||||
is no `--file` option. The authoritative, always-current reference is the in-repo
|
||||
Commands identify targets by integer ID, site identifier, connection name, or
|
||||
canonical member name as shown in their help. Most edits use individual flags;
|
||||
CSV imports use `--file`, shared schemas use `--schema-file`, and bundles use
|
||||
`--input`/`--output`. The authoritative, always-current reference is the in-repo
|
||||
`src/ZB.MOM.WW.ScadaBridge.CLI/README.md`; the command lists below mirror the implemented command
|
||||
tree at the time of writing.
|
||||
|
||||
@@ -58,6 +59,8 @@ tree at the time of writing.
|
||||
```
|
||||
scadabridge template list [--detail] [--skip <n>] [--take <n>]
|
||||
scadabridge template get --id <id>
|
||||
scadabridge template resolved-members --id <id>
|
||||
scadabridge template move --id <id> [--folder-id <id>]
|
||||
scadabridge template create --name <name> [--description <desc>] [--parent-id <id>]
|
||||
scadabridge template update --id <id> [--name <name>] [--description <desc>] [--parent-id <id>]
|
||||
scadabridge template validate --id <id>
|
||||
@@ -75,6 +78,7 @@ scadabridge template composition add --template-id <id> --instance-name <name> -
|
||||
scadabridge template composition delete --id <id>
|
||||
scadabridge template native-alarm-source add --template-id <id> --name <name> --connection <name> --source-ref <ref> [--filter <expr>] [--description <desc>] [--locked]
|
||||
scadabridge template native-alarm-source list --template-id <id>
|
||||
scadabridge template native-alarm-source update --id <id> --name <name> --connection <name> --source-ref <ref> [--filter <expr>] [--description <desc>] [--locked]
|
||||
scadabridge template native-alarm-source remove --id <id>
|
||||
```
|
||||
|
||||
@@ -86,6 +90,8 @@ scadabridge instance create --name <name> --template-id <id> --site-id <id> [--a
|
||||
scadabridge instance set-bindings --id <id> --bindings <json>
|
||||
scadabridge instance bind-module --id <id> --module <name> --connection <id> --object <path> [--dry-run]
|
||||
scadabridge instance set-overrides --id <id> --overrides <json>
|
||||
scadabridge instance attribute-override delete --instance-id <id> --attribute <canonical-name>
|
||||
scadabridge instance native-alarm-source list --instance-id <id>
|
||||
scadabridge instance import-overrides --id <id> --file <path.csv>
|
||||
scadabridge instance alarm-override set --instance-id <id> --alarm <name> [--trigger-config <json>] [--priority <n>]
|
||||
scadabridge instance alarm-override delete --instance-id <id> --alarm <name>
|
||||
@@ -172,6 +178,7 @@ scadabridge data-connection get --id <id>
|
||||
scadabridge data-connection create --site-id <id> --name <name> --protocol <protocol> [--primary-config <json>] [--backup-config <json>] [--failover-retry-count <n>]
|
||||
scadabridge data-connection update --id <id> --name <name> --protocol <protocol> [--primary-config <json>] [--backup-config <json>] [--failover-retry-count <n>]
|
||||
scadabridge data-connection delete --id <id>
|
||||
scadabridge data-connection move --id <id> --site-id <destination-site-id>
|
||||
```
|
||||
|
||||
#### Site-routed OPC UA operations (browse / search / verify-endpoint / certs)
|
||||
@@ -210,12 +217,33 @@ scadabridge external-system method delete --id <id>
|
||||
scadabridge notification list
|
||||
scadabridge notification get --id <id>
|
||||
scadabridge notification create --name <name> --emails <comma-separated>
|
||||
scadabridge notification update --id <id> [--name <name>] [--emails <comma-separated>]
|
||||
scadabridge notification update --id <id> --name <name> --emails <comma-separated>
|
||||
scadabridge notification create --name <name> --type sms --phones <comma-separated>
|
||||
scadabridge notification update --id <id> --name <name> --type sms --phones <comma-separated>
|
||||
scadabridge notification rename --id <id> --name <name>
|
||||
scadabridge notification recipient add --list-id <id> --name <name> [--email <email>] [--phone <E.164-number>]
|
||||
scadabridge notification recipient delete --id <recipient-id>
|
||||
scadabridge notification delete --id <id>
|
||||
scadabridge notification smtp list
|
||||
scadabridge notification smtp update --id <id> --server <host> --port <n> --auth-mode <mode> --from-address <email> [--tls-mode <mode>] [--credentials <value>]
|
||||
```
|
||||
|
||||
Notification rename and individual recipient edits preserve unrelated IDs and
|
||||
names. Whole-list update replaces recipients. Recipient add requires at least
|
||||
one contact; the server validates it against the owning list channel.
|
||||
|
||||
```sh
|
||||
scadabridge notification smtp create --server <host> --port <n> --auth-mode <mode> --from-address <email> [--tls-mode <mode>] [--credentials <value>] [--oauth2-authority <url>] [--oauth2-scope <scope>] [--transport <Smtp|Ews>]
|
||||
scadabridge notification sms list
|
||||
scadabridge notification sms create --account-sid <sid> --auth-token <token> [--from-number <number>] [--messaging-service-sid <sid>] [--api-base-url <url>] [--connection-timeout-seconds <n>] [--max-retries <n>] [--retry-delay-seconds <n>]
|
||||
scadabridge notification sms update --id <id> --account-sid <sid> [--from-number <number>] [--messaging-service-sid <sid>] [--api-base-url <url>] [--auth-token <token>] [--connection-timeout-seconds <n>] [--max-retries <n>] [--retry-delay-seconds <n>]
|
||||
```
|
||||
|
||||
SMS requires at least one sender: a From number or a Messaging Service SID.
|
||||
Omitted timeout/retry settings preserve update values; creation uses defaults.
|
||||
Omitted Auth Token preserves the stored token on update; omitted Messaging
|
||||
Service SID clears it. Provider create/update require Administrator access.
|
||||
|
||||
### Security Commands
|
||||
```
|
||||
scadabridge security api-key list
|
||||
@@ -332,6 +360,20 @@ Key behaviors:
|
||||
|
||||
Unlike `debug snapshot` (which uses the HTTP Management API), `debug stream` uses `Microsoft.AspNetCore.SignalR.Client` as a dependency for its WebSocket transport.
|
||||
|
||||
### Shared Schema Commands
|
||||
|
||||
```sh
|
||||
scadabridge shared-schema list
|
||||
scadabridge shared-schema get --id <id>
|
||||
scadabridge shared-schema create --name <name> --schema-file <path.json> [--scope <scope>]
|
||||
scadabridge shared-schema update --id <id> --name <name> --schema-file <path.json> [--scope <scope>]
|
||||
scadabridge shared-schema delete --id <id>
|
||||
```
|
||||
|
||||
Create/update validate JSON syntax locally and schema structure on the server.
|
||||
Update replaces all three fields; omitted scope clears it. Mutations require
|
||||
Designer access; reads require authentication.
|
||||
|
||||
### Shared Script Commands
|
||||
```
|
||||
scadabridge shared-script list
|
||||
@@ -393,22 +435,31 @@ table).
|
||||
|
||||
### Secured-Write Commands (two-person MxGateway writes)
|
||||
|
||||
Query two-person (MxGateway) secured writes — the pending queue plus terminal history.
|
||||
Read-only; gated any-of **Operator** / **Verifier** / **Administrator** (the history
|
||||
exposes process-sensitive tag values, so it is not open to every authenticated user).
|
||||
Manage two-person MxGateway writes. Listing is gated any-of **Operator**,
|
||||
**Verifier**, or **Administrator** because the history exposes process-sensitive
|
||||
tag values. Submission requires Operator; approval/rejection require Verifier,
|
||||
with a different authenticated principal from the submitter.
|
||||
|
||||
```
|
||||
scadabridge secured-write list [--status <status>] [--site <identifier>] [--skip <n>] [--take <n>]
|
||||
scadabridge secured-write submit --site <identifier> --connection <name> --tag-path <path> --value-json <json> --value-type <type> [--comment <text>]
|
||||
scadabridge secured-write approve --id <long> [--comment <text>]
|
||||
scadabridge secured-write reject --id <long> [--comment <text>]
|
||||
```
|
||||
|
||||
`--status` / `--site` filter the results (omit to match all). `--skip` / `--take` provide
|
||||
offset paging (arch-review P3); omitting them uses the historical unpaged default
|
||||
offset paging (arch-review P3); omitting them uses the default page
|
||||
(`--skip 0 --take 200`). `--take` is clamped to `1..500` server-side. The result carries a
|
||||
`totalCount` (rows matching the filters, ignoring paging) alongside the returned page.
|
||||
Overdue `Pending` rows are swept to `Expired` opportunistically each time the list is
|
||||
queried (server-side TTL, arch-review S2).
|
||||
|
||||
The `--format json|table` option is recursive and accepted on every command above.
|
||||
Approval can execute a real device write. Only a server response with status
|
||||
`Executed` exits zero; `Failed` or an invalid approval outcome exits one, with
|
||||
JSON/table details retained. Authorization denial exits two. The server enforces
|
||||
site scope, expiry, separation of duties, and concurrent decisions.
|
||||
|
||||
The `--format json|table` option is recursive and accepted on every management command above; audit export has its own output formats.
|
||||
|
||||
## Configuration
|
||||
|
||||
|
||||
Reference in New Issue
Block a user