cub filter update
cub filter update
Update a filter or multiple filters
Synopsis
Update a filter or multiple filters using bulk operations.
A filter's From, the entity type it selects, cannot change once the filter is created. It may be given after the slug, as on create, and then has to be the filter's From.
Single filter update:
cub filter update my-filter --where-field "Labels.Environment = 'staging'"
Bulk update with --patch:
Update multiple filters at once based on search criteria. Requires --patch flag with no positional arguments.
Examples:
# Update all filters of Spaces
cub filter update --space my-space --patch --where "From = 'Space'" --from-stdin < patch.json
# Update where clause for specific filters
echo '{"Where": "Labels.Environment = 'production'"}' | cub filter update --patch --filter-entity my-filter,another-filter --from-stdin
# Update resource type for Unit filters
echo '{"ResourceType": "apps/v1/StatefulSet"}' | cub filter update --patch --where "From = 'Unit'" --from-stdin
cub filter update [<slug or id> [<from>]] [options...] [flags]
Options
--annotation strings annotations in key=value format; can separate by commas and/or use multiple instances of the flag
--delete-gate strings delete gates in key[=true] format; can separate by commas and/or use multiple instances of the flag
--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
--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"
--filter-entity strings target specific filters by slug or UUID for bulk patch (can be repeated or comma-separated)
--from-backing-units patch each Filter selected with what its backing Unit holds that it has not taken yet; the patch the other flags make is applied after it
--from-space string space to filter within (slug or UUID, only relevant for spaced entity types)
--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
-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
--include-hidden-field string HiddenReasons, comma-separated, or "*" for any: where the filter is applied to a list or a bulk operation, it also selects entities hidden for those reasons
--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 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)
--quiet No default output.
--replace Replace entity instead of merging when using --from-stdin or --filename
--resource-type string resource type to match (e.g., apps/v1/Deployment, valid only for Units)
--set stringArray set a field of the Filter 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
--unset stringArray clear a field of the Filter by its path, or remove the list element the path ends at (repeatable)
--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]+$'"
--where-data string where filter expression for configuration data (valid only for Units)
--where-field string where expression for filter entity
--with-backing-units give each Filter 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
--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 filter - Filter commands