- v1.3.x (latest)
- v1.2.x
- v1.1 and earlier
- Overview
- Attributes as Blocks - Configuration Language
- Data Sources
- Overview
- abs
- abspath
- alltrue
- anytrue
- base64decode
- base64encode
- base64gzip
- base64sha256
- base64sha512
- basename
- bcrypt
- can
- ceil
- chomp
- chunklist
- cidrhost
- cidrnetmask
- cidrsubnet
- cidrsubnets
- coalesce
- coalescelist
- compact
- concat
- contains
- csvdecode
- dirname
- distinct
- element
- endswith
- file
- filebase64
- filebase64sha256
- filebase64sha512
- fileexists
- filemd5
- fileset
- filesha1
- filesha256
- filesha512
- flatten
- floor
- format
- formatdate
- formatlist
- indent
- index
- join
- jsondecode
- jsonencode
- keys
- length
- list
- log
- lookup
- lower
- map
- matchkeys
- max
- md5
- merge
- min
- nonsensitive
- one
- parseint
- pathexpand
- pow
- range
- regex
- regexall
- replace
- reverse
- rsadecrypt
- sensitive
- setintersection
- setproduct
- setsubtract
- setunion
- sha1
- sha256
- sha512
- signum
- slice
- sort
- split
- startswith
- strrev
- substr
- sum
- templatefile
- textdecodebase64
- textencodebase64
- timeadd
- timecmp
- timestamp
- title
- tobool
- tolist
- tomap
- tonumber
- toset
- tostring
- transpose
- trim
- trimprefix
- trimspace
- trimsuffix
- try
- type
- upper
- urlencode
- uuid
- uuidv5
- values
- yamldecode
- yamlencode
- zipmap
- Upgrading to Terraform v1.3
- v1.x Compatibility Promises
- Terraform Internals
- Intro to Terraform
- Configuration Language
- Terraform CLI
- Terraform Cloud
- Terraform Enterprise
- Provider Use
- Plugin Development
- Registry Publishing
- Integration Program
- Terraform Tools
- CDK for Terraform
- Glossary
Terraform Language
Other Docs
A new platform for documentation and tutorials is launching soon.
We are migrating Terraform documentation into HashiCorp Developer, our new developer experience.
»tobool
Function
tobool
converts its argument to a boolean value.
Explicit type conversions are rarely necessary in Terraform because it will convert types automatically where required. Use the explicit type conversion functions only to normalize types returned in module outputs.
Only boolean values, null
, and the exact strings "true"
and "false"
can be
converted to boolean. All other values will produce an error.
»Examples
> tobool(true) true > tobool("true") true > tobool(null) null > tobool("no") Error: Invalid function argument Invalid value for "v" parameter: cannot convert "no" to bool: only the strings "true" or "false" are allowed. > tobool(1) Error: Invalid function argument Invalid value for "v" parameter: cannot convert number to bool.
> tobool(true)
true
> tobool("true")
true
> tobool(null)
null
> tobool("no")
Error: Invalid function argument
Invalid value for "v" parameter: cannot convert "no" to bool: only the strings
"true" or "false" are allowed.
> tobool(1)
Error: Invalid function argument
Invalid value for "v" parameter: cannot convert number to bool.