cub trigger update
cub trigger update
Update a trigger or multiple triggers
Synopsis
Update a trigger or multiple triggers using bulk operations.
Single trigger update:
A whole update names the trigger's event, config type and function, as create does. With --patch, the slug alone patches only the fields the flags set:
cub trigger update --space my-space --patch my-trigger --label owner=platform --warn
Function arguments can be provided as positional arguments or as named arguments using --argumentname=value syntax. Once a named argument is used, all subsequent arguments must be named. Use "--" to separate command flags from function arguments when using named function arguments.
Example with named arguments:
cub trigger update --space my-space my-trigger Mutation Kubernetes/YAML -- set-annotation --annotation-key=cloned --annotation-value=true
Bulk update with --patch:
Update multiple triggers at once based on search criteria. Requires --patch flag with no positional arguments.
Examples:
# Disable all triggers for a specific function
cub trigger update --space my-space --patch --where "FunctionName = 'vet-cel'" --disable
# Enable all disabled triggers
cub trigger update --space my-space --patch --where "Disabled = true" --enable
# Point the triggers that run an external function at another worker serving it
cub trigger update --space my-space --patch --where "FunctionName = 'vet-team-policy'" --worker new-worker
# Mark triggers as warn mode
cub trigger update --space my-space --patch --where "Event = 'Mutation'" --warn
# Update specific triggers by slug
cub trigger update --space my-space --patch --trigger my-trigger,another-trigger --disable
cub trigger update [<slug or id> [<event> <config type> <function> [<arg1> ...]]] [flags]
Options
--annotation strings annotations in key=value format; can separate by commas and/or use multiple instances of the flag
--clearance stringArray class of guarded reason this trigger's function is cleared for, as KEY, KEY=VALUE[;VALUE...], KEY!=VALUE[;VALUE...], or !KEY to refuse any path carrying KEY (repeatable). Part of the trigger's Hash, unlike --protect: changing it changes what a re-run lands
--delete-gate strings delete gates in key[=true] format; can separate by commas and/or use multiple instances of the flag
--description string description explaining the trigger's purpose and how to fix failures
--disable Disable trigger
--display-name string friendly name for the entity, which need not be unique or URL-safe; an entity without one is shown by its slug
--dry-run report what the command would write, and write nothing
--enable Enable trigger (use with --patch for bulk)
--fail-open-after string duration after which disconnected worker triggers fail open (e.g., 6h, 30m)
--filename string Read the ConfigHub entity's fields, as YAML or JSON, from file, URL (https://), or stdin (-), as --from-stdin does; mutually exclusive with --from-stdin
--filter string Filter entity to apply to the list. Specify as 'space/filter' for cross-space filters or just 'filter' for current space. Supports both slugs and UUIDs. The filter will be combined with any --where clause using AND logic. Examples: "production-filters/security-check", "my-filter-uuid", "validation-rules"
--from-backing-units patch each Trigger selected with what its backing Unit holds that it has not taken yet; the patch the other flags make is applied after it
--from-stdin Read the ConfigHub entity's fields, as YAML or JSON, from stdin; merged with command arguments on create, and merged with command arguments and existing entity on update. A field the entity does not have, or one only the server sets, is refused; cub <entity> explain lists the fields
--guard stringArray reason to record on the paths this trigger's function writes, as KEY=VALUE (repeatable). A later operation must be cleared for it before overwriting those paths, the trigger's next run included, so --clearance has to cover it. Part of the trigger's Hash, unlike --protect: changing it changes what a re-run leaves behind
-h, --help help for update
--hidden-reason string hide the entity, giving the reason as a name such as Archived: lists and bulk operations leave it out unless --include-hidden names the reason (use '-' to clear, which shows the entity again)
--include-hidden string[="*"] Also select hidden entities, to list or to act on: those hidden for the given HiddenReasons, comma-separated, as in --include-hidden=BackingUnit, or for any reason when given no value or "*". ConfigHub/YAML Units, which hold the configuration of other entities, are hidden with the reason BackingUnit. A --where naming entities by Slug or ID selects them whether hidden or not
--invocation string invocation to execute (alternative to specifying function and arguments)
--label strings labels in key=value format; can separate by commas and/or use multiple instances of the flag
--other-data-source string source of additional data to pass to the function (e.g., LastReleasedRevisionNum); defaults to the sources the function expects
-o, --output string Output format. One of: json, yaml, name, wide, mutations, jq=<expr>, yq=<expr>, custom-columns=<spec>
--patch use patch API for individual or bulk operations
--permission strings permission in format Action:UserIDOrUsername, Action:group:GroupSlugOrID or Action:serviceaccount:ServiceAccountSlugOrID to add, or the same prefixed with - to remove (e.g., Manage:user@example.com, View:group:platform, View:serviceaccount:deploy-bot, -View:user@example.com, can be repeated)
--protect record the paths this trigger's function writes as protected local overrides, so a later merge from upstream does not overwrite them; for a trigger that decides a value the unit then owns, such as a PostClone trigger customizing a variant
--quiet No default output.
--replace Replace entity instead of merging when using --from-stdin or --filename
--set stringArray set a field of the Trigger by its path, as <path>=<value> (repeatable). A path is field names separated by dots; a list element is addressed as ?<key>=<value> or by position, as in Stages.?Name=prod.WhereSpace, and is added if it is not there. A list of plain values separates them with ';'; an object or a list of objects is given as YAML or JSON. A reference is given as it is elsewhere, by slug, <space>/<slug> or ID. With --patch, only a path with no list element in it
--trigger strings target specific triggers by slug or UUID for bulk patch (can be repeated or comma-separated)
--unit-filter string filter entity (slug or UUID) to restrict which Units this trigger applies to
--unprotect return this trigger to the default: it claims nothing it writes
--unset stringArray clear a field of the Trigger by its path, or remove the list element the path ends at (repeatable)
--unwarn Set trigger to produce ValidationErrors (default, use with --patch for bulk)
--verbose Detailed output, additive with default output
--warn Set trigger to produce ValidationWarnings instead of ValidationErrors
--where string Filter expression using SQL-inspired syntax. Supports conjunctions with AND. String operators: =, !=, <, >, <=, >=, LIKE, NOT LIKE, ILIKE, ~~, !~~, ~, ~*, !~, !~*. Pattern matching with LIKE/ILIKE uses % and _ wildcards. Regex operators (~, ~*, !~, !~*) support POSIX regular expressions. A related entity is referenced by prefix, as in "UpstreamUnit.Slug = 'base'"; when the reference names a list, a * segment matches any element, as in "FromLink.*.Slug = 'upgrade-app'". Examples: "Slug LIKE 'app-%'", "DisplayName ILIKE '%backend%'", "Slug ~ '^[a-z]+-[0-9]+$'"
--where-resource string metadata path expression to restrict which resources the trigger operates on
--where-unit-field string filter expression to restrict which Units this trigger applies to (its WhereUnit). It takes what --where does on unit list, attributes of what a unit refers to included, as in "Space.Labels.Environment = 'prod'"
--with-backing-units give each Trigger the bulk operation writes a backing Unit if it has none: a ConfigHub/YAML Unit holding its configuration, kept in step with it
--worker string worker to execute the trigger function
Options inherited from parent commands
--component string the Component of --variant, when that names the variant alone; --variant <component>/<variant> says the same in one flag
--context string The context to use for this command
--debug Debug output
--space string space to operate in, by slug or UUID. Omitted, a list or bulk operation spans the organization and a single entity is named as <space>/<slug>; "*" means the same as omitting it
--variant string variant to operate in, as <component>/<variant>, or as <variant> with --component: the space naming that Component whose Variant label is <variant>. The same scope as --space, named by what it is rather than by the space's slug; the two cannot be combined
SEE ALSO
- cub trigger - Trigger commands