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.