drpcli triggers¶
drpcli triggers¶
Manage DRP triggers (event-driven rules that run workflows automatically)
Synopsis¶
Triggers define rules for automatically responding to DRP events.
When a DRP event occurs (such as a machine entering a stage, a parameter changing, or an external event fired by a trigger provider), DRP evaluates all defined triggers. Any trigger whose event pattern and filter conditions match will fire its associated action - typically running a workflow on one or more machines.
A trigger consists of:
- EventType - the DRP event type to match (e.g.
machines.update.complete) - Filter - an optional expression to match specific objects or conditions
- Workflow - the workflow to run on matched machines when the trigger fires
- Priority - controls evaluation order when multiple triggers match
Triggers enable fully automated, event-driven provisioning pipelines without requiring external orchestration.
Common operations:
drpcli triggers list- list all defined triggersdrpcli triggers show <name>- display a specific triggerdrpcli triggers create <json>- create a new triggerdrpcli triggers update <name> <json>- update an existing triggerdrpcli triggers destroy <name>- remove a trigger
Examples¶
# List all triggers
drpcli triggers list
# Show a specific trigger by name
drpcli triggers show auto-deploy-trigger
# Create a trigger that runs a workflow when a machine enters a stage
drpcli triggers create '{"Name":"auto-deploy","EventType":"machines.update.complete","Workflow":"deploy-workflow"}'
# Create a trigger from a JSON file
drpcli triggers create - < trigger.json
# Update a trigger's workflow assignment
drpcli triggers update auto-deploy-trigger '{"Workflow":"new-workflow"}'
# Destroy a trigger
drpcli triggers destroy auto-deploy-trigger
Options¶
Options inherited from parent commands¶
--ca-cert string CA certificate used to verify the server certs (with the system set)
-c, --catalog string The catalog file to use to get product information (default "https://repo.rackn.io")
--catalog-path string The path to where the catalog file exists on the drp server. By default and historically this has been /files/rebar-catalog. For example, if no catalog urls are provided, the complete path will be https://drp-ip:8090/files/rebar-catalog (default "/files/rebar-catalog")
-S, --catalog-source string A location from which catalog items can be downloaded. For example, in airgapped mode it would be the local catalog
--client-cert string Client certificate to use for communicating to the server - replaces RS_KEY, RS_TOKEN, RS_USERNAME, RS_PASSWORD
--client-key string Client key to use for communicating to the server - replaces RS_KEY, RS_TOKEN, RS_USERNAME, RS_PASSWORD
-C, --colors string The colors for JSON and Table/Text colorization. 8 values in the for 0=val,val;1=val,val2... (default "0=32;1=33;2=36;3=90;4=34,1;5=35;6=95;7=32;8=92")
-d, --debug Whether the CLI should run in debug mode
-D, --download-proxy string HTTP Proxy to use for downloading catalog and content
-E, --endpoint string The Digital Rebar Provision API endpoint to talk to (default "https://127.0.0.1:8092")
-X, --exit-early Cause drpcli to exit if a command results in an object that has errors
--fetch-catalogs all Determines which catalog urls to use to fetch the catalog. If set to all, all the catalog urls defined with catalog_url and catalog_urls as well as the default catalog will be used. If set to server, only the catalog urls defined on the server will be used. If set to cli, then the specific url specified with the -c flag will be used. It defaults to `all`. Allowed values `all, `server`, `cli`. (default "all")
-f, --force When needed, attempt to force the operation - used on some update/patch calls
--force-new-session Should the client always create a new session
-F, --format string The serialization we expect for output. Can be "json" or "yaml" or "text" or "table" (default "json")
--http-request-retry-count int Specifies the number of retries for downloads in case of failure
--http-request-retry-delay-max int Specifies the maximum delay (in seconds) between HTTP/HTTPS retry attempts (default 60)
--ignore-unix-proxy Should the client ignore unix proxies
-N, --no-color Whether the CLI should output colorized strings
-H, --no-header Should header be shown in "text" or "table" mode
-x, --no-token Do not use token auth or token cache
-P, --password string password of the Digital Rebar Provision user (default "r0cketsk8ts")
-p, --platform string Platform to filter details by. Defaults to current system. Format: arch/os
-J, --print-fields string The fields of the object to display in "text" or "table" mode. Comma separated
-r, --ref string A reference object for update commands that can be a file name, yaml, or json blob
--server-verify Should the client verify the server cert
-G, --show-global-help-flags Show global flags in help message
-T, --token string token of the Digital Rebar Provision access
-t, --trace string The log level API requests should be logged at on the server side
-Z, --trace-token string A token that individual traced requests should report in the server logs
-j, --truncate-length int Truncate columns at this length (default 40)
-u, --url-proxy string URL Proxy for passing actions through another DRP
-U, --username string Name of the Digital Rebar Provision user to talk to (default "rocketskates")
SEE ALSO¶
- drpcli - A CLI application for interacting with the DigitalRebar Provision API
- drpcli triggers action - Show details for a specific action on the trigger
- drpcli triggers actions - List all available actions for the trigger
- drpcli triggers add - Add a parameter to a trigger, failing if the key already exists
- drpcli triggers addprofile - Add one or more profiles to a trigger's profile list
- drpcli triggers await - Wait for a trigger's field to become a value within a number of seconds
- drpcli triggers count - Count all triggers
- drpcli triggers create - Create a new trigger with the passed-in JSON or string key
- drpcli triggers destroy - Destroy trigger by id
- drpcli triggers etag - Get the etag for a triggers by id
- drpcli triggers exists - See if a triggers exists by id
- drpcli triggers fieldinfo - Return the documentation for all the fields or the provided field
- drpcli triggers generate - Generate an object of triggers type in the content directory
- drpcli triggers get - Get a single parameter value from a trigger
- drpcli triggers indexes - Get indexes for triggers
- drpcli triggers list - List all triggers
- drpcli triggers meta - Get all metadata key/value pairs for a trigger
- drpcli triggers params - Get or set all parameters for a trigger
- drpcli triggers patch - Patch trigger by ID using the passed-in JSON Patch
- drpcli triggers remove - Remove a parameter from a trigger
- drpcli triggers removeprofile - Remove one or more profiles from a trigger's profile list
- drpcli triggers runaction - Run a plugin action on a trigger
- drpcli triggers set - Set a parameter on a trigger, creating or replacing the value
- drpcli triggers show - Show a single triggers by id
- drpcli triggers update - Unsafely update trigger by id with the passed-in JSON
- drpcli triggers uploadiso - This will attempt to upload the ISO from the specified ISO URL.
- drpcli triggers wait - Wait for a trigger's field to become a value within a number of seconds