Control-M for Terraform
Terraform is an open-source Infrastructure as Code (IaC) tool that enables you to create, configure, test, and manage your infrastructure on multiple platforms in a declarative way, using configuration files that describe the desired state of your infrastructure.
Control-M for Terraform enables you to do the following:
- Connect to the Terraform Cloud with OAuth 2.0 authentication
- Trigger a Terraform workspace and pass variables
- Create a Terraform workspace and create a variable on a workspace
- Integrate Terraform jobs with other Control-M jobs into a single orchestrated flow.
- Monitor the Terraform workspace run status.
- Attach an SLA job to your entire Terraform service.
Control-M for Terraform Compatibility
The following table lists the Control-M for Terraform plug-in prerequisites, each with its minimum required version.
Component | Version |
---|---|
Control-M/EM | 9.0.21.100 |
Control-M/Agent | 9.0.21.100 |
Control-M Application Integrator | 9.0.21.100 |
Control-M Automation API | 9.0.21.100 |
Control-M for Terraform is supported on Control-M Web and Control-M Automation API, but not on Control-M client.
To download the required installation files for each prerequisite, see Obtaining-Control-M-Installation-Files.
Setting Up Control-M for Terraform
This procedure describes how to deploy the Terraform plug-in, create a connection profile, and define a Terraform job in Control-M Web and Automation API.
Before You Begin
- Verify that Automation API is installed, as described in Automation API Installation.
- Ensure that the Apply Method in the general settings in Terraform is set to Auto apply.
Begin
- Create a temporary directory to save the downloaded files.
- Download the Terraform plug-in from the Control-M for Terraform download page in the EPD site.
- Install the Terraform plug-in via one of the following methods:
- Log in to the Control-M/EM Server machine as an Administrator and store the downloaded zip file in the one of the following locations (within several minutes, the job type appears in Control-M Web):
- Linux: $HOME/ctm_em/AUTO_DEPLOY
- Windows: <EM_HOME>\AUTO_DEPLOY
- Log in to the Control-M/Agent machine and run the provision image command, as follows:
- Linux: ctm provision image Terraform_plugin.Linux
- Windows: ctm provision image Terraform_plugin.Windows
- Log in to the Control-M/EM Server machine as an Administrator and store the downloaded zip file in the one of the following locations (within several minutes, the job type appears in Control-M Web):
- Create a Terraform connection profile in Control-M Web or Automation API, as follows:
- Web: Creating a Centralized Connection Profile with Terraform Connection Profile Parameters.
- Automation API: ConnectionProfile:Terraform
- Define a Terraform job in Control-M Web or Automation API, as follows:
- Web: Creating a Job with Terraform Job parameters.
- Automation API: Job:Terraform