Terraform provides a declarative based language through which the desired state of the resources is configured. The configuration comprises of name-value pairs; the name refers to specific configuration elements exposed by the resource, and the value is the desired configuration Terraform does not provide a full blown scripting language and so it is not possible to write imperative scripts that are usually possible in a general scripting language like Bash or PowerShell.
However, Terraform provides few constructs ...