Terraform As A Service(TAS)

Terraform allows to build, version and manage your infrastructure within the Infrastructure as a Code approach. The infrastructure it is able to manage can include both low-level and high-level components. This provides a wide range of opportunities for EPAM Cloud users.

You can find more details on Terraform product on the Terraform official page.

In EPAM Cloud, there are two Terraform usage options:

  • 1. Using EPAM Orchestrator as a Terraform provider (Terraform unified). This approach is applied for working with services and is going to replace Maestro stacks one day. Within this approach cloud native services are not available. Only templates provided by EPAM Orchestrator are supported. The benefit of this approach is that it is provided out of the box.
  • 2. Using Terraform native cloud provider (Terraform native). This approach requires activation of Terraform as a service. Terraform user will be created in your account for the Terraform service in the respective public provider. All actions will be performed using the created Terraform user. The advantage of this approach is an opportunity to address and describe cloud native services such as EKS, Lambda, etc. The disadvantage of this approach is that this service is available and can be activated only by the users with respective permissions - managers and developers.

Terraform as a Service is available in public clouds only.

In EPAM Cloud, there are two Terraform usage options:

Have a Question?

The current page gives the general information on the service and the main workflows. However, while working with the services, our users encounter new questions they need assistance with. The most frequently asked questions on EPAM Cloud Services are gathered on the Cloud Services FAQ page.
Visit the page to check whether we have a ready answer for your question.

Related CLI Commands

The table below provides the list of service-related commands and their descriptions:

Command Short Command Description
or2-manage-service...-s terraform -a or2ms...-s terraform -a Activates the Terraform service in the specified project and region
or2-terraform (or2ter) ...-a action or2ter ...-a action Manages and applies Terraform templates

Service Activation

To start the Terraform service, run the or2-manage-service (or2ms) Maestro CLI command with the --action activate, indicating the -p project and the -r region where you want to activate it.

or2ms -s terraform -p project -r region -a activate

Once the command is invoked, Orchestrator configures your project account in the selected cloud so that the Terraform could be used properly.

Service Manipulations

EPAM Orchestrator supports the following commands for Terraform manipulations:

  • To upload and validate a terraform template, use the or2ter command with the --action upload parameter::
or2ter -a upload -p project -n template_name -f file_path -r region -d description

The template is stored in EPAM Orchestrator's S3 bucket in AWS.

If you do not need the template to be validated, add the -v/--skip-validation flag to the command.

If you want to change anything in the infrastructure created with a Terraform template, you have to change the template. After that, upload the template file again with the -o/--override-existing-template flag and repeat the applying procedure. Terraform templates for AWS must have virtualization zone specified explicitly.
  • To describe the templates, run the or2-terraform command with the --action describe parameter
or2ter -a describe -p project
  • To plan the template running, run the or2-terraform command with the --action plan parameter:
or2ter -a plan -p project -n template_name
  • To apply the template, run the or2ter command with the --action apply parameter:
or2ter -a apply -p project -n template_name
  • To review the events related to Terraform events, use the or2audit command with the --group TERRAFORM parameter:
or2audit -p project -g terraform
  • To destroy the created infrastructure, run the or2-terraform command with the --action destroy parameter:
or2ter -a destroy -p project -n template_name
  • To delete a template, run the or2-terraform command with the --action delete parameter:
or2ter -a delete -p project -n template_name
  • To deactivate the service in the region, run the or2ms command with the --action deactivate parameter:
or2ms -a deactivate -p project -s terraform -r region

Web UI

The Terraform wizard on the Cloud Dashboard allows performing almost the same set of actions, as the Maestro CLI, except for activating and deactivating the service. You can upload and and manage templates as well as plan, apply them, and destroy the environment created by Terraform.

After the infrastructure has been deployed, you can browse the instances on the Management page, clicking Find by and choosing Terraform template. Here, you can specify the full template name or its part.

The Audit page allows to see all events in your infrastructure. You can use the TERRAFORM group in the Find By filter to retrieve Terraform-related events.


The service is provided for free. Project costs are only affected by the changes in resources managed with the help of Terraform.


Below is a list of documents related to this section. You can find the full list of our documents in the Documentation Storage.

Please select a required document:

Terraform Service

The document gives the detailed instructions on Terraform service usage in EPAM Cloud.