Skip to content

cub component update

cub component update

Update a component or multiple components

Synopsis

Update a Component entity.

Changing which ChangeWorkflows a component allows, whether one is required, or its permissions requires Manage permission on the component. ChangeWorkflows are addressed as / or by UUID; prefix one with '-' to stop allowing it.

Examples:

  # Allow another ChangeWorkflow and stop allowing one
  cub component update --patch my-app \
    --allowed-change-workflow platform/canary-rollout \
    --allowed-change-workflow -platform/hotfix

  # Stop requiring a ChangeWorkflow to promote and release
  cub component update --patch my-app --change-workflow-required=false

  # Replace the component from a JSON definition
  cub component update my-app --from-stdin --replace < component.json

  # Give every component a backing Unit, in the platform space, holding its configuration
  cub component update --patch --where "Slug LIKE '%'" --with-backing-units --backing-unit-space platform

With no name, --patch updates every component --where selects.

cub component update [<name or id>] [flags]

Options

      --allowed-change-workflow strings   ChangeWorkflow, as <space>/<slug> or UUID, to allow, or -<ChangeWorkflow> to stop allowing (can be repeated or comma-separated)
      --annotation strings                annotations in key=value format; can separate by commas and/or use multiple instances of the flag
      --backing-unit-space string         space, by slug or UUID, for the backing Units --with-backing-units creates; required with it, since a Component is in no space of its own
      --change-workflow-required          require a ChangeWorkflow to promote and release
      --delete-gate strings               delete gates in key[=true] format; can separate by commas and/or use multiple instances of the flag
      --dry-run                           report what the command would write, and write nothing
      --filename string                   Read the ConfigHub entity JSON from file, URL (https://), or stdin (-); mutually exclusive with --from-stdin
      --from-backing-units                patch each Component 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 JSON (e.g., retrieved with cub <entity> get --quiet --json) from stdin; merged with command arguments on create, and merged with command arguments and existing entity on update
  -h, --help                              help for update
      --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
      --label strings                     labels in key=value format; can separate by commas and/or use multiple instances of the flag
  -o, --output string                     Output format. One of: json, yaml, name, wide, mutations, jq=<expr>, yq=<expr>, custom-columns=<spec>
      --patch                             use patch API
      --permission strings                permission in format Action:UserIDOrUsername to add, or -Action:UserIDOrUsername to remove (e.g., Manage:user@example.com, -View:user@example.com, can be repeated)
      --quiet                             No default output.
      --replace                           Replace entity instead of merging when using --from-stdin or --filename
      --verbose                           Detailed output, additive with default output
      --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]+$'"
      --with-backing-units                give each Component the bulk operation writes a backing Unit if it has none: a ConfigHub/YAML Unit holding its configuration, kept in step with it

Options inherited from parent commands

      --context string   The context to use for this command
      --debug            Debug output

SEE ALSO