Skip to content

cub space create

cub space create

Create a space

Synopsis

Create a new space as a collaborative context for a project or team.

Single space creation examples:

  # Create a new space named "my-space" with verbose output, reading configuration from stdin
  # Verbose output prints the details of the created entity
  cub space create --verbose --json --from-stdin my-space

  # Create a new space with minimal output
  cub space create my-space

  # Create a space and set it as the default in the current context
  cub space create my-space --set-context

  # Create a space with the well-known Space labels, as shown by "cub space list"
  cub space create website-canary --component website --variant canary --stage Canary \
    --environment Prod --region us-east1

Bulk creation examples:

  # Bulk create spaces by cloning existing spaces with name prefixes
  cub space create --where "Slug IN ('prod', 'staging')" --name-prefix "backup-,test-"

  # Clone specific spaces by identifier with prefixes
  cub space create --space "space1,space2" --name-prefix "new-"
cub space create [space] [flags]

Options

      --allow-exists             Allow creation of resources that already exist
      --annotation strings       annotations in key=value format; can separate by commas and/or use multiple instances of the flag
      --component string         value for the well-known "Component" Space label (e.g. website); shorthand for --label Component=<value>
      --delete-gate strings      delete gates in key[=true] format; can separate by commas and/or use multiple instances of the flag
      --environment string       value for the well-known "Environment" Space label (e.g. Prod); shorthand for --label Environment=<value>
      --filename string          Read the ConfigHub entity JSON from file, URL (https://), or stdin (-); 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-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 create
      --label strings            labels in key=value format; can separate by commas and/or use multiple instances of the flag
      --layer string             value for the well-known "Layer" Space label (e.g. App); shorthand for --label Layer=<value>
      --name-pattern string      a pattern string for name generation of clones, prefix 'template:' to use a Go template with .SourceEntitySlug to access the original Space and .Labels to access variant labels, example: 'template:{{.SourceEntitySlug}}-{{.Labels.env}}'
      --name-prefix strings      name prefixes for bulk create (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>
      --owner string             value for the well-known "Owner" Space label (e.g. Engineering); shorthand for --label Owner=<value>
      --permission strings       permission in format Action:UserIDOrUsername (e.g., Manage:user@example.com, can be repeated)
      --quiet                    No default output.
      --region string            value for the well-known "Region" Space label (e.g. us-east1); shorthand for --label Region=<value>
      --release-target string    Target to use as the default release Target for Units in this Space, addressed as <target-space>/<target-slug> (a bare <target-slug> resolves in the selected or default Space; a Target ID is also accepted)
      --set-context              set the newly created space as the default in the current context
      --space strings            target specific spaces by slug or UUID for bulk create (can be repeated or comma-separated)
      --stage string             value for the well-known "Stage" Space label (e.g. Canary); shorthand for --label Stage=<value>
      --trigger-filter string    Filter slug or UUID to identify Triggers that should be invoked on Units within this Space (use '-' to clear)
      --variant string           value for the well-known "Variant" Space label (e.g. prod); shorthand for --label Variant=<value>
      --variant-labels strings   labels for bulk create in the format of key1=value1|value2,key2=value1|value2|value3
      --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-trigger string     filter expression to identify Triggers that should be invoked on Units within this Space (use '-' to clear)

Options inherited from parent commands

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

SEE ALSO