**General**
- Variable support:
- `${var.}` to be used with the `--var-file` command line option
- `${component.}` to use component output values
- `${env.}` to include environment variables in the configuration file
**AWS**
- Upgraded Terraform AWS provider to [`3.66.0`](https://github.com/hashicorp/terraform-provider-aws/blob/main/CHANGELOG.md#3660-november-18-2021)
- Add AWS specific endpoint options;
- `enable_cdn` creates a CDN in front of an endpoint
- `throttling_burst_limit` and `throttling_rate_limit` controls throttling on the API gateway
**Azure**
- Upgraded Terraform Azure provider to [`2.86.0`](https://github.com/hashicorp/terraform-provider-azurerm/blob/main/CHANGELOG.md#2860-november-19-2021)
- Add extra Frontdoor frontend_endpoint options:
- session affinity
- waf policy support
- Add extra Frontdoor routing options to components such as:
- Custom routing paths
- Health probe settings
- Custom host address and ports
- Caching options
- Include `frontend_endpoint` in ignore list when `suppress_changes` is used
- Add Frontdoor `ssl_key_vault` option to supply your own SSL certificate for your endpoints
- Add Azure specific endpoint options:
- `internal_name` Overwrites the frontend endpoint name
- `waf_policy_id` Defines the Web Application Firewall policy ID for the endpoint
- `session_affinity_enabled` Whether to allow session affinity
- `session_affinity_ttl_seconds` The TTL to use in seconds for session affinity
- Add new `service_plans` option `per_site_scaling`
- Fix: set correct root-level DNS record (``) when endpoint URL is the same as the zone
**Commercetools**
- Upgraded Terraform commercetools provider to [`0.25.3`](https://github.com/labd/terraform-provider-commercetools/blob/master/CHANGELOG.md#v0293-2021-06-16)
- Add `tax_categories` to allow more complex tax setups. Does not work in conjunction with `taxes`
Upgrade notes
**For Azure**
- Each component that has an `endpoint` defined needs to have an Terraform output defined for that endpoint. For example:<br>
terraform
output "azure_endpoint_main" {
value = {
address = azurerm_function_app.main.default_hostname
}
}
Read more about the [configuration options](https://docs.machcomposer.io/reference/components/azure.html#defining-outputs).
- Remove endpoints restrictions: Azure components can now use multiple endpoints.
- Changes have been made in the Frontdoor configuration in the underlying Terraform Azure provider.<br>
If you are using endpoints with a custom domain, you'll need to import the new [`azurerm_frontdoor_custom_https_configuration`](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/frontdoor_custom_https_configuration#import) into your Terraform state.<br>
More on how to work with the Terraform state in [our troubleshooting guide](https://docs.machcomposer.io/topics/development/troubleshooting.html).