Skip to content

cub function exec

cub function exec

Invoke a list of functions

Synopsis

Invoke functions on units. Functions can be used to modify, validate, or query unit configurations.

To display a list of supported functions, run:

  cub function list

To display usage details of a specific function, run:

  cub function explain --toolchain TOOLCHAIN_TYPE FUNCTION_NAME

Example Functions:

  • set-container-image: Update container image in a deployment
  • set-int-path: Set an integer value at a specific path in the configuration
  • get-replicas: Get the number of replicas for deployments
  • set-replicas: Set the number of replicas for deployments
  • where-filter: Filter units based on a condition
  • vet-cel: Validate resources using CEL expressions

The syntax is the same as the cub function do command line, but without "cub function do" and without flags.

Like do, exec accepts any kind of function and applies no kind restriction to the list, which is the point of it: one request can inspect, mutate, and validate. For a single invocation, prefer cub function get/set/vet.

Example:

  cub function exec functions.txt --where "Slug = 'mydeployment'

Where functions.txt contains:

set-replicas 3
set-container-image nginx nginx:v234
set-namespace myns
cub function exec file [flags]

Options

      --change-desc string      change description
      --changeset string        changeset to associate units with
      --dry-run                 dry run mode: execute functions but skip updating configuration data
      --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"
  -h, --help                    help for exec
      --invocation strings      execute invocations by UUID, slug, or space/slug (can be repeated or comma-separated)
  -o, --output string           Output format. One of: json, yaml, name, wide, mutations, jq=<expr>, yq=<expr>, custom-columns=<spec>
  -O, --output-file string      Write payload to FILE. Accepts {space}, {unit}, {section} placeholders.
      --quiet                   No default output.
      --resource-type string    resource-type filter
      --revision string         target a specific revision (format: unit-slug/revision-number, e.g. mydeployment/3)
      --show string             Select which part of the function response to display. One of: output, values, data
      --timeout string          completion timeout as a duration with units, such as 10s or 2m (default "10m0s")
      --toolchain string        Toolchain type for the function invocations (default "Kubernetes/YAML")
      --trigger strings         execute triggers by UUID, slug, or space/slug (can be repeated or comma-separated)
      --unit strings            target specific units by slug or UUID (can be repeated or comma-separated)
      --verbose                 Detailed output, additive with default output
      --wait                    wait for completion (default true)
      --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-data string       where data filter
      --where-resource string   filter which resources the function operates on
      --worker string           worker to execute the function

Options inherited from parent commands

      --context string          The context to use for this command
      --debug                   Debug output
      --executor-space string   Space ID or slug whose executor to use for builtin functions (org-level only)
      --space string            space ID to perform command on

SEE ALSO