**Declarative** describes expected state of environment. Tools using declarative approach determine implementation details.
With declarative approach there is zero chance of misconfiguration because tools enforcing the user to use specific syntax. No programming logic is involved.
Examples of tools that adheres to declarative approach: Terraform, Azure Blueprints, CloudFormation, Cloud Deployment Manager, ARM Templates.
### See also
1. [[Terraform]]
2. [[Azure Blueprints]]
3. [[CloudFormation]]
4. [[Cloud Deployment Manager]]
5. [[ARM Templates]]