Downloads of v 0.7.1:


Last Update:

25 Aug 2016

Package Maintainer(s):

Software Author(s):

  • Mitchell Hashimoto
  • HashiCorp




This is not the latest version of Terraform available.

  • 1
  • 2
  • 3

0.7.1 | Updated: 25 Aug 2016



Downloads of v 0.7.1:



Software Author(s):

  • Mitchell Hashimoto
  • HashiCorp



  • 1
  • 2
  • 3
Terraform 0.7.1

This is not the latest version of Terraform available.

  • 1
  • 2
  • 3

Some Checks Have Failed or Are Not Yet Complete

Not All Tests Have Passed

Validation Testing Passed

Verification Testing Passed


Scan Testing Resulted in Flagged:

This package was submitted (and approved) prior to automated virus scanning integration into the package moderation processs.

We recommend clicking the "Details" link to make your own decision on installing this package.


Deployment Method: Individual Install, Upgrade, & Uninstall

To install Terraform, run the following command from the command line or from PowerShell:


To upgrade Terraform, run the following command from the command line or from PowerShell:


To uninstall Terraform, run the following command from the command line or from PowerShell:


Deployment Method:

📝 NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to

2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade terraform -y --source="'INTERNAL REPO URL'" --version="'0.7.1'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:

choco upgrade terraform -y --source="'INTERNAL REPO URL'" --version="'0.7.1'" 

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0

Exit $exitCode

- name: Install terraform
    name: terraform
    version: '0.7.1'
    state: present

See docs at

chocolatey_package 'terraform' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '0.7.1'

See docs at

cChocoPackageInstaller terraform
    Name     = "terraform"
    Version  = "0.7.1"
    Source   = "INTERNAL REPO URL"

Requires cChoco DSC Resource. See docs at

package { 'terraform':
  ensure   => '0.7.1',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',

Requires Puppet Chocolatey Provider module. See docs at

4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

This package was approved as a trusted package on 25 Aug 2016.


Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions.

The key features of Terraform are:

  • Infrastructure as Code: Infrastructure is described using a high-level configuration syntax. This allows a blueprint of your datacenter to be versioned and treated as you would any other code. Additionally, infrastructure can be shared and re-used.
  • Execution Plans: Terraform has a "planning" step where it generates an execution plan. The execution plan shows what Terraform will do when you call apply. This lets you avoid any surprises when Terraform manipulates infrastructure.
  • Resource Graph: Terraform builds a graph of all your resources, and parallelizes the creation and modification of any non-dependent resources. Because of this, Terraform builds infrastructure as efficiently as possible, and operators get insight into dependencies in their infrastructure.
  • Change Automation: Complex changesets can be applied to your infrastructure with minimal human interaction. With the previously mentioned execution plan and resource graph, you know exactly what Terraform will change and in what order, avoiding many possible human errors.

For more information, see the introduction section of the Terraform website.

$url = ''
$url64bit = ''
$unzipLocation = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"

if ([System.IO.Directory]::Exists("$env:ChocolateyInstall\lib\terraform")) {
  if ([System.IO.Directory]::Exists("$env:ChocolateyInstall\lib\terraform\tools")) {
    # clean old plugins and ignore files
    Write-Host "Removing old terraform plugins"
    Remove-Item "$env:ChocolateyInstall\lib\terraform\tools\terraform-*.*"
} else {
  if ([System.IO.Directory]::Exists("$env:ALLUSERSPROFILE\chocolatey\lib\terraform")) {
    if ([System.IO.Directory]::Exists("$env:ALLUSERSPROFILE\chocolatey\lib\terraform\tools")) {
      # clean old plugins and ignore files
      Write-Host "Removing old terraform plugins"
      Remove-Item "$env:ALLUSERSPROFILE\chocolatey\lib\terraform\tools" -Include "terraform-*.*"

Install-ChocolateyZipPackage "terraform" "$url" "$unzipLocation" "$url64bit"
UnInstall-ChocolateyZipPackage "terraform" ""

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status
Terraform 1.0.10 3092 Tuesday, November 9, 2021 Approved
Terraform 1.0.9 11945 Tuesday, October 19, 2021 Approved
Terraform 1.0.8 10412 Wednesday, September 29, 2021 Approved
Terraform 1.0.7 7153 Thursday, September 16, 2021 Approved
Terraform 1.0.6 5186 Wednesday, September 8, 2021 Approved
Terraform 1.0.5 489 Monday, August 23, 2021 Approved
Terraform 1.0.4 13104 Sunday, August 8, 2021 Approved
Terraform 1.0.3 5386 Thursday, July 29, 2021 Approved
Terraform 1.0.2 8543 Saturday, July 10, 2021 Approved

0.7.1 (August 19, 2016)


  • New Command: terraform state rm (#8200)
  • New Provider: archive (#7322)
  • New Resource: aws_alb (#8254)
  • New Resource: aws_alb_listener (#8269)
  • New Resource: aws_alb_target_group (#8254)
  • New Resource: aws_alb_target_group_attachment (#8254)
  • New Resource: aws_alb_target_group_rule (#8321)
  • New Resource: aws_vpn_gateway_attachment (#7870)
  • New Resource: aws_load_balancer_policy (#7458)
  • New Resource: aws_load_balancer_backend_server_policy (#7458)
  • New Resource: aws_load_balancer_listener_policy (#7458)
  • New Resource: aws_lb_ssl_negotiation_policy (#8084)
  • New Resource: aws_elasticache_replication_groups (#8275)
  • New Resource: azurerm_virtual_network_peering (#8168)
  • New Resource: azurerm_servicebus_namespace (#8195)
  • New Resource: google_compute_image (#7960)
  • New Resource: packet_volume (#8142)
  • New Resource: consul_prepared_query (#7474)
  • New Data Source: aws_ip_ranges (#7984)
  • New Data Source: fastly_ip_ranges (#7984)
  • New Data Source: aws_caller_identity (#8206)
  • New Data Source: aws_elb_service_account (#8221)
  • New Data Source: aws_redshift_service_account (#8224)


  • provider/archive support folders in output_path (#8278)
  • provider/aws: Introduce aws_elasticsearch_domain elasticsearch_version field (to specify ES version) (#7860)
  • provider/aws: Add support for TargetGroups (aws_alb_target_groups) to aws_autoscaling_group [8327]
  • provider/aws: CloudWatch Metrics are now supported for aws_route53_health_check resources (#8319)
  • provider/aws: Query all pages of group membership (#6726)
  • provider/aws: Query all pages of IAM Policy attachments (#7779)
  • provider/aws: Change the way ARNs are built (#7151)
  • provider/aws: Add support for Elasticsearch destination to firehose delivery streams (#7839)
  • provider/aws: Retry AttachInternetGateway and increase timeout on aws_internet_gateway (#7891)
  • provider/aws: Add support for Enhanced monitoring to aws_rds_cluster_instance (#8038)
  • provider/aws: Add ability to set Requests Payer in aws_s3_bucket (#8065)
  • provider/aws: Add ability to set canned ACL in aws_s3_bucket_object (#8091)
  • provider/aws: Allow skipping credentials validation, requesting Account ID and/or metadata API check (#7874)
  • provider/aws: API gateway request/response parameters can now be specified as map, original *_in_json parameters deprecated (#7794)
  • provider/aws: Add support for promotion_tier to aws_rds_cluster_instance (#8087)
  • provider/aws: Allow specifying custom S3 endpoint and enforcing S3 path style URLs via new provider options (#7871)
  • provider/aws: Add ability to set Storage Class in aws_s3_bucket_object (#8174)
  • provider/aws: Treat aws_lambda_function w/ empty subnet_ids & security_groups_ids in vpc_config as VPC-disabled function (#6191)
  • provider/aws: Allow source_ids in aws_db_event_subscription to be Updatable (#7892)
  • provider/aws: Make aws_efs_mount_target creation fail for 2+ targets per AZ (#8205)
  • provider/aws: Add force_destroy option to aws_route53_zone (#8239)
  • provider/aws: Support import of aws_s3_bucket (#8262)
  • provider/aws: Increase timeout for retrying creation of IAM role (#7733)
  • provider/aws: Add ability to set peering options in aws_vpc_peering_connection. (#8310)
  • provider/azure: add custom_data argument for azure_instance resource (#8158)
  • provider/azurerm: Adds support for uploading blobs to azure storage from local source (#7994)
  • provider/azurerm: Storage blob contents can be copied from an existing blob (#8126)
  • provider/datadog: Allow tags to be configured for monitor resources. (#8284)
  • provider/google: allows atomic Cloud DNS record changes (#6575)
  • provider/google: Move URLMap hosts to TypeSet from TypeList (#7472)
  • provider/google: Support static private IP addresses in resource_compute_instance (#6310)
  • provider/google: Add support for using a GCP Image Family (#8083)
  • provider/openstack: Support updating the External Gateway assigned to a Neutron router (#8070)
  • provider/openstack: Support for value_specs param on openstack_networking_network_v2 (#8155)
  • provider/openstack: Add value_specs param on openstack_networking_subnet_v2 (#8181)
  • provider/vsphere: Improved SCSI controller handling in vsphere_virtual_machine (#7908)
  • provider/vsphere: Adding disk type of Thick Lazy to vsphere_virtual_disk and vsphere_virtual_machine (#7916)
  • provider/vsphere: Standardizing datastore references to use builtin Path func (#8075)
  • provider/consul: add tls config support to consul provider (#7015)
  • remote/consul: Support setting datacenter when using consul remote state (#8102)
  • provider/google: Support import of google_compute_instance_template (#8147), google_compute_firewall (#8236), google_compute_target_pool (#8133), google_compute_fowarding_rule (#8122), google_compute_http_health_check (#8121), google_compute_autoscaler (#8115)


  • core: Fix issue preventing taint from working with resources that had no other attributes in their diff (#8167)
  • core: CLI will only run exact match commands (#7983)
  • core: Fix panic when resources ends up null in state file (#8120)
  • core: Fix panic when validating a count with a unprefixed variable (#8243)
  • core: Divide by zero in interpolations no longer panics (#7701)
  • core: Fix panic on some invalid interpolation syntax (#5672)
  • provider/aws: guard against missing image_digest in aws_ecs_task_definition (#7966)
  • provider/aws: aws_cloudformation_stack now respects timeout_in_minutes field when waiting for CF API to finish an update operation (#7997)
  • provider/aws: Prevent errors when aws_s3_bucket acceleration_status is not available in a given region (#7999)
  • provider/aws: Add state filter to aws_availability_zones data source (#7965)
  • provider/aws: Handle lack of snapshot ID for a volume in ami_copy (#7995)
  • provider/aws: Retry association of IAM Role & instance profile (#7938)
  • provider/aws: Fix aws_s3_bucket resource redirect_all_requests_to action (#7883)
  • provider/aws: Fix issue updating ElasticBeanstalk Environment Settings (#7777)
  • provider/aws: aws_rds_cluster creation timeout bumped to 40 minutes (#8052)
  • provider/aws: Update ElasticTranscoder to allow empty notifications, removing notifications, etc (#8207)
  • provider/aws: Fix line ending errors/diffs with IAM Server Certs (#8074)
  • provider/aws: Fixing IAM data source policy generation to prevent spurious diffs (#6956)
  • provider/aws: Correct how CORS rules are handled in aws_s3_bucket (#8096)
  • provider/aws: allow numeric characters in RedshiftClusterDbName (#8178)
  • provider/aws: aws_security_group now creates tags as early as possible in the process (#7849)
  • provider/aws: Defensively code around db_security_group ingress rules (#7893)
  • provider/aws: aws_spot_fleet_request throws panic on missing subnet_id or availability_zone (#8217)
  • provider/aws: Terraform fails during Redshift delete if FinalSnapshot is being taken. (#8270)
  • provider/azurerm: azurerm_storage_account will interrupt for Ctrl-C (#8215)
  • provider/azurerm: Public IP - Setting idle timeout value caused panic. #8283
  • provider/digitalocean: trim whitespace from ssh key (#8173)
  • provider/digitalocean: Enforce Lowercase on IPV6 Addresses (#7652)
  • provider/google: Use resource specific project when making queries/changes (#7029)
  • provider/google: Fix read for the backend service resource (#7476)
  • provider/mysql: mysql_user works with MySQL versions before 5.7.6 (#8251)
  • provider/openstack: Fix typo in OpenStack LBaaSv2 pool resource (#8179)
  • provider/vSphere: Fix for IPv6 only environment creation (#7643)
  • provider/google: Correct update process for authorized networks in google_sql_database_instance (#8290)

Previous Releases

For more information on previous releases, check out the changelog on GitHub.

This package has no dependencies.

Discussion for the Terraform Package

Ground Rules:

  • This discussion is only about Terraform and the Terraform package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Terraform, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus