December 12, 2019 By Eric Juel 4 min read

In this post, I’m going to show you how to install Terraform, a tool for building, changing, and versioning infrastructure safely and efficiently.

Terraform enables predictable and consistent provisioning of IBM Cloud platform, classic infrastructure, and VPC infrastructure resources by using a high-level scripting language while enabling Infrastructure as Code

During your journey to the cloud, Terraform will greatly help you manage your IT resources and assist in building cloud native infrastructure by offering Infrastructure as Code. Infrastructure is described using a high-level configuration syntax. This allows a blueprint of your data center to be versioned and treated as you would any other code. Additionally, infrastructure can be shared and re-used.

To learn more about Infrastructure as code, see the following video:

How to install Terraform on a Linux Virtual Server Instance in IBM Cloud

The installation has four main components:

  1. Install the Terraform executable
  2. Install the IBM Cloud Plugin
  3. Install the IBM Cloud Command Line Interface (or CLI)
  4. Install the IBM Cloud CLI VPC Plugin


Create a Linux Virtual Server Instance (VSI) to use as our system that we want to install Terraform. The advantage of using the VSI as your system to perform Terraform work is that you do not need to install products onto your local machine. Moreover, you can share the VSI with peers who need to do Terraform work without forcing them to install Terraform on their local machines. Lastly, the VSI we will create will cost pennies a day to own in IBM Cloud.

  1. Log into your IBM Cloud account and provision a new VSI with the following specifications:
    • Balanced Profile with 2vCPUs and 4GB RAM
    • Centos 7.x Operating System
  2. SSH into the VSI to begin installing Terraform as guided below. If you are using Windows, you can use a great freeware program called Putty.

Note: We will install Terraform version 0.11.14 and the IBM Cloud Plugin version 0.17.3 because those are the versions as of this writing.

Step 1: Install Terraform

  1. Create the directory with the following command: mkdir terraform && cd terraform
  2. Then, download Terraform using this command: wget
  3. Install a program called ‘unzip’ in order to unpack the download by entering the following: Sudo yum install unzip
  4. Once installed, unpack the Terraform download: unzip
  5. Set the Linux path to point to Terraform with the following command: export PATH=$PATH:$HOME/terraform
  6. Test that Terraform is installed by typing this command: terraform

Step 2: Install IBM Cloud Plugin v0.17.3

  1. Download the IBM Cloud Plugin v0.17.3 for Linux: wget
  2. Unpack the download: unzip
  3. Create a hidden directory for the IBM Cloud Plugin: mkdir -p $HOME/.terraform.d/plugins
  4. Move the IBM Cloud Plugin to that new hidden directory: mv terraform-provider-ibm* $HOME/.terraform.d/plugins/
  5. Move to that hidden directory and run the IBM Cloud Plugin to be sure it is installed: cd $HOME/.terraform.d/plugins && ./terraform-provider-ibm_v0.17.3

Step 3: Install IBM Cloud Command Line Interface (CLI)

  1. Use the following command to install the IBM Cloud CLI: curl -fsSL | sh

Step 4: Install IBM Cloud Plugin

  1. Run the following command to install the IBM Cloud Plugin: ibmcloud plugin install vpc-infrastructure
  2. Set the IBM Cloud Plugin to use our IBM Cloud Account by giving it your API Key: ibmcloud login --apikey <your key>
    • Note: To create an API Key, go to the IBM Cloud account and choose Manage > Access(IAM) and click the Create an IBM Cloud API Key button.
  3. Set the IBM Cloud Plugin to use either Gen1 or Gen2 of IBM Cloud VPC: ibmcloud is target --gen 1 OR ibmcloud is target --gen 2

Learn more

To learn how to use Terraform, please visit the IBM Demos site on Virtual Private Cloud (VPC) on IBM Cloud for videos and product tours.

To install Terraform on a different Operating System, please follow the links below for each step.

Was this article helpful?

More from Cloud

Enhance your data security posture with a no-code approach to application-level encryption

4 min read - Data is the lifeblood of every organization. As your organization’s data footprint expands across the clouds and between your own business lines to drive value, it is essential to secure data at all stages of the cloud adoption and throughout the data lifecycle. While there are different mechanisms available to encrypt data throughout its lifecycle (in transit, at rest and in use), application-level encryption (ALE) provides an additional layer of protection by encrypting data at its source. ALE can enhance…

Attention new clients: exciting financial incentives for VMware Cloud Foundation on IBM Cloud

4 min read - New client specials: Get up to 50% off when you commit to a 1- or 3-year term contract on new VCF-as-a-Service offerings, plus an additional value of up to USD 200K in credits through 30 June 2025 when you migrate your VMware workloads to IBM Cloud®.1 Low starting prices: On-demand VCF-as-a-Service deployments begin under USD 200 per month.2 The IBM Cloud benefit: See the potential for a 201%3 return on investment (ROI) over 3 years with reduced downtime, cost and…

The history of the central processing unit (CPU)

10 min read - The central processing unit (CPU) is the computer’s brain. It handles the assignment and processing of tasks, in addition to functions that make a computer run. There’s no way to overstate the importance of the CPU to computing. Virtually all computer systems contain, at the least, some type of basic CPU. Regardless of whether they’re used in personal computers (PCs), laptops, tablets, smartphones or even in supercomputers whose output is so strong it must be measured in floating-point operations per…

IBM Newsletters

Get our newsletters and topic updates that deliver the latest thought leadership and insights on emerging trends.
Subscribe now More newsletters