HashiCorp Terraform 0.10

HashiCorp Terraform 0.10

Aug 02 2017 Clint Shryock

We're happy to announce the release of HashiCorp Terraform 0.10. Terraform is a tool to safely and efficiently build, combine, and launch any infrastructure. This release includes many new features and improvements.

Since our last major Terraform release, we’ve had 11 minor releases, adding 6 new Providers, 24 new Data Sources, and over 60 new Resources! In addition to all this, the Terraform project has now received contributions from over 1,100 contributors.

Terraform 0.10 adds major new functionality to Terraform. Highlights include:

Terraform Core and Terraform Providers are now split

With Terraform 0.10, we have split the project into two logical components: Terraform Core and Terraform Providers. Terraform Core will continue to live at the original hashicorp/terraform repository on GitHub, and the providers are now hosted in their repositories in the new Terraform Providers organization on GitHub. The Terraform Providers binaries will also be released separately from Terraform Core. All releases can be downloaded from releases.hashicorp.com.

The goal of putting providers into separate GitHub repositories and deliverable binaries is to increase the velocity of Terraform improvements by giving more ownership and contribution access to community members.

Provider plugins are no longer included with the main Terraform binary distribution. Instead,they are distributed separately and are fetched and installed on-demand by the terraform init

provider fastly { api_key = "exampleapikey" }

Here, we declare two provider blocks, and specify that the AWS provider should be at least v0.1.3. We omit the version constraint in the Fastly provider declaration, so Terraform will fetch the latest release. You can see in the image above that Terraform reads the configuration on terraform init and then fetches the required provider binaries dynamically.

Provider Improvements

Terraform Providers have received numerous improvements and additions, including new Resources, new Data Sources, and bug fixes. Going forward, the Terraform Core Changelog will no longer record the changes to Terraform Providers. Each Provider now has its own independent repository on GitHub, complete with their own issue tracker and Changelog. For example:

View all the providers and their respective Changelogs in the Terraform Providers GitHub organization repository listing.

To further expand the Terraform ecosystem, we have also created the Terraform Provider Development Program. This is intended for vendors and users who would like to build a Terraform provider to support their infrastructure. The Terraform Provider Development Program is intended to be mostly self-serve, with links to information sources, clearly defined steps, and checkpoints.

State Environments are now Workspaces

Terraform 0.9 introduced “State Environments”, a way of using namespaces with state files to allow a single folder of Terraform configurations to manage multiple distinct sets of infrastructure resources. After the initial release, we received community feedback that this terminology was confusing. Terraform 0.10 introduces the concept of “workspaces” to replace the“State Environments” terminology. The terraform env family of commands have been renamed to terraform workspace. The env

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now