Skip to main content

Boolean Flags with Default Values for Custom Commands

· One min read
Erik Osterman
Founder @ Cloud Posse

Custom commands now support boolean flags with configurable default values. You can define type: bool flags that default to true or false, making it easier to handle special behavior triggers.

What Changed

Previously, boolean flags in custom commands always defaulted to false. Now you can specify any default value:

commands:
- name: deploy
flags:
- name: auto-approve
type: bool
default: true # Now supported!
- name: dry-run
type: bool
default: false
steps:
- |
{{ if .Flags.auto-approve }}
terraform apply -auto-approve
{{ else }}
terraform apply
{{ end }}

Using Boolean Flags

Boolean values render directly as true or false in templates:

steps:
# Direct usage - renders as "true" or "false"
- echo "Auto-approve is {{ .Flags.auto-approve }}"

# Conditional logic
- |
{{ if .Flags.verbose }}
set -x
{{ end }}

String Flag Defaults

String flags also support default values now:

flags:
- name: environment
default: "development"
- name: format
default: "json"

Documentation

See the updated Custom Commands documentation for more patterns and examples.