pub enum Commands {
Show 35 variants
Version,
Completions {
shell: Shell,
},
Status,
Modules {
quarantined: bool,
},
Metrics {
history: bool,
},
Sessions(SessionsArgs),
Connections {
type: Option<ConnectionType>,
},
Logs(LogsArgs),
Restart {
wait: bool,
timeout: Option<u64>,
interval: Option<u64>,
},
Wait(WaitArgs),
Doctor {
check_write: bool,
webdev_route: Option<String>,
},
Adopt {
user: Option<String>,
key_name: Option<String>,
level: Option<String>,
project: Option<String>,
testing: bool,
checkout: Option<String>,
bake: Option<String>,
},
Session(SessionArgs),
Project(ProjectArgs),
Workspace(WorkspaceArgs),
Edit(EditArgs),
Resource(ResourceArgs),
Webdev(WebdevArgs),
Tags(TagsArgs),
Rig(RigArgs),
Backup(BackupArgs),
Eam(EamArgs),
Script(ScriptArgs),
Testing(TestingArgs),
Lint(LintArgs),
E2e(E2eArgs),
Api(ApiArgs),
License(LicenseArgs),
Redundancy(RedundancyArgs),
Gan(GanArgs),
Diagnostics(DiagnosticsArgs),
Profile(ProfileArgs),
Mcp(McpArgs),
Lsp,
Tui,
}Variants§
Version
Print version information (CLI always; gateway check when a profile resolves)
Completions
Generate shell completions (bash, zsh, fish, …) — the one stdout exception
Status
Gateway status: identity, platform, uptime, license (incl. trial countdown)
Modules
List gateway modules (healthy by default)
Metrics
Gateway performance metrics (current gauges + thread counts)
Sessions(SessionsArgs)
List gateway sessions (designers, Perspective, Vision) — or
terminate one via the terminate subcommand
Connections
List database/OPC connections with healthcheck status as reported
Fields
type: Option<ConnectionType>Filter to one connection family (default: both)
Logs(LogsArgs)
Query, tail, and download gateway logs; manage logger levels
Restart
Restart the gateway — destructive, refused without –yes; –wait polls until RUNNING
Fields
Wait(WaitArgs)
Wait for a gateway state (readiness, restart completion, module)
Doctor
Diagnose the gateway setup: URL, liveness, commissioning, auth, permissions, write, WebDev route, rig — exits 0 whenever the diagnosis completes (failing checks are data)
Fields
Adopt
Adopt this profile’s gateway: native login → mint an Administrator-level API key (idempotent by name) → wire the gateway’s read/write permissions → live-probe the key → persist the credential (OS keyring, env-var fallback). Re-run on an adopted gateway is an all-skip no-op. Composition flags ride the bootstrap: –project deploys the CLI’s WebDev routes, –checkout lands every enabled project locally, –bake saves a restore-ready gwbk
Fields
level: Option<String>The granted security level as a slash path (default: Authenticated/Roles/Administrator)
project: Option<String>Deploy the CLI’s WebDev routes (scriptExec on) into this project after the bootstrap
testing: boolShip the embedded TESTING bundle with the routes (the Jython framework + testing/run|tags routes + the smoke sentinel; the step asserts discover ≥1 module and a green smoke run — the empty-suite trap)
Session(SessionArgs)
Obtain a live gateway login session (the native OIDC dance) —
returns the session cookie name/value, the CSRF token, the
gateway URL, and a ready-to-use Playwright storageState
document. The session material is emitted ONLY under the
global –json flag; the human render prints the cookie name
and the gateway URL and withholds the rest
Project(ProjectArgs)
Manage gateway projects: list with inheritance info, new, copy, rename, set (reparent), delete, export/import (ZIP)
Workspace(WorkspaceArgs)
Check out a project’s resources to a local tree, inspect drift,
push guarded changes — the local edit loop over the
project-export interchange (project RESOURCES only; tag values
never appear in the tree — tags remain ign tags verbs)
Edit(EditArgs)
Fetch a gateway resource, edit it in $EDITOR, push back (guarded) — the kubectl-edit loop over ONE resource: unchanged saves are clean no-ops (nothing pushed, never prompted), a gateway changed since fetch refuses (never force-pushed), a JSON-breaking save refuses fail-closed with the temp tree kept (path printed). Zero stdout in every mode — the editor owns the terminal (see README’s edit section)
Resource(ResourceArgs)
Manage a project’s individual resources: list, get, put, delete — the surgical edit loop (change one view/script without re-importing everything)
Webdev(WebdevArgs)
Manage the CLI’s own WebDev routes on the gateway: deploy the embedded bundle, verify the version handshake
Tags(TagsArgs)
Tag operations: manage providers (native REST) and browse /
read / write tag values (the deployed WebDev routes — run
ign webdev deploy first)
Rig(RigArgs)
Manage a Docker compose rig: up/down/reset/status/logs/trial (snapshot arrives in a later plan) — docker-only, no profile needed
Backup(BackupArgs)
Manage gateway backups (gwbk) on any profiled gateway: download (streamed) and restore (guarded)
Eam(EamArgs)
EAM task orchestration (Enterprise Administration Module): history/definitions reads, guarded task create + force — every verb honestly reports the controller-mode state gate
Script(ScriptArgs)
Run gateway-side Python (Jython) through the secret-gated
scriptExec route — the opt-in is STRUCTURAL (ign webdev deploy --with-script-exec deploys the route + persists its
secret); there is no –yes on this verb by design
Testing(TestingArgs)
Run the gateway’s own Jython test suite through the deployed
testing bundle — the agent/CI verb: a machine verdict without
the Designer (ign webdev deploy --with-testing or
ign adopt --project NAME --testing installs the bundle)
Lint(LintArgs)
Lint local project files by delegating to ignition-lint (PATH discovery) — doctor posture: findings are DATA, exit 0 whenever the tool ran; –strict passes the tool’s exit code through for CI
E2e(E2eArgs)
Browser end-to-end testing: diagnose the host + gateway a
Playwright suite needs (doctor), and scaffold one that logs
in through ign session login and talks to the gateway’s
testing routes (init). There is no e2e run — the
scaffold’s own npm test is the runner
Api(ApiArgs)
Raw passthrough to any gateway REST endpoint — the escape
hatch for the uncurated routes (the envelope’s data is left
gateway-verbatim; see README’s documented contract exception)
License(LicenseArgs)
License inventory + trial state — the morning-check read (trial companion merged into one command)
Redundancy(RedundancyArgs)
Gateway redundancy status — the morning-check read
Gan(GanArgs)
Gateway Area Network (GAN) overview — the morning-check read
Diagnostics(DiagnosticsArgs)
Diagnostics support-bundle operations: generate, check status, download (streamed), wait — the support-bundle slice
Profile(ProfileArgs)
Manage gateway profiles
Mcp(McpArgs)
Serve the Model Context Protocol over stdio (hidden; for MCP clients — the newline-delimited JSON-RPC 2.0 stream IS the stdout product; the routes.rs OutOfBand row lands atomically with this command, 08-06 contract)
Lsp
Serve LSP over stdio (hidden; for ignition-nvim — the Content-Length-framed LSP stream IS the stdout product; the routes.rs OutOfBand row lands atomically with this command, 08-06 contract)
Tui
Interactive TUI cockpit
Trait Implementations§
Source§impl FromArgMatches for Commands
impl FromArgMatches for Commands
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for Commands
impl Subcommand for Commands
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommand