Skip to content

cub run get-starlark

cub run get-starlark

Extracts attribute values from configuration resources using a Starlark program that defines an extract(r) function returning an AttributeValueList. Called once per resource. Supported toolchains: AppConfig/Env, AppConfig/INI, AppConfig/JSON, AppConfig/Properties, AppConfig/TOML, AppConfig/Text, AppConfig/YAML, ConfigHub/YAML, Kubernetes/YAML

cub run get-starlark [flags]

Options

  -h, --help             help for get-starlark
      --param string     Parameters passed to the Starlark program as key=value strings, accessible via the 'params' dict
      --program string   (required) Starlark program that extracts values from resources. Must define an 'extract(r)' function that takes a resource dict and returns a list of dicts, each with fields: ResourceName (string), ResourceType (string), Path (string), Value (any), and optionally AttributeName (string), DataType (string). The function is called once per resource. The 'json', 're' modules, 'params' dict, and 'functionContext' dict (ConfigHub metadata, e.g. functionContext["TargetID"]) are available.

Options inherited from parent commands

      --change-desc string      change description
      --changeset string        changeset to associate units with
      --clearance stringArray   class of guarded reason this change is cleared for, as KEY, KEY=VALUE[,VALUE...], KEY!=VALUE[,VALUE...], or !KEY to refuse any path carrying KEY (repeatable). A guarded path this does not cover is not written, and the withheld change is reported as a conflict
      --context string          The context to use for this command
      --debug                   Debug output
      --dry-run                 dry run mode: execute functions but skip updating configuration data
      --executor-space string   Space ID or slug whose executor to use for builtin functions (org-level only)
      --filter string           filter to apply (slug, space/filter, or UUID)
      --guard stringArray       reason to record on the paths this change writes, as KEY=VALUE (repeatable). A later operation must be cleared for it before overwriting those paths. Adds and overwrites only; retiring a guard is cub unit set-guard --remove-guard
  -o, --output string           Output format. One of: json, yaml, name, wide, mutations, jq=<expr>, yq=<expr>, custom-columns=<spec>
      --protect                 record the paths this change writes as protected local overrides, so a later merge from upstream does not overwrite them; by default a change claims nothing and each path keeps the protection it already has
      --quiet                   No output
      --resource-type string    resource-type filter
      --show string             Select which part of the function response to display. One of: output, values, data
      --space string            space ID to perform command on
      --toolchain string        Toolchain type for the function invocations (default "Kubernetes/YAML")
      --unit strings            target specific units by slug or UUID (can be repeated or comma-separated)
      --wait                    wait for completion
      --where string            where filter
      --where-data string       where data filter
      --where-resource string   filter which resources the function operates on
      --worker string           worker to execute the function

SEE ALSO