Using the Skytap Terraform provider

The Skytap Terraform provider helps you provision and manage Skytap environments, templates, networks, and VMs.

Terraform is a powerful tool for software development. With simple commands, Terraform can quickly provision and manage Skytap environments, templates, networks, and VMs.

Currently, the Skytap Terraform provider supports Terraform v0.14.1.

Contents

Process overview

The Skytap provider creates infrastructure in Skytap based on any existing Skytap environment or template. It can even combine VMs from multiple Skytap templates into a single environment.

To use the Skytap provider, you:

  1. Install Terraform on your local machine.
  2. Prepare one or more Skytap templates to use as “base boxes” with Terraform. You can use any template in your Skytap account. The template should be in the same Skytap region as the other templates you plan to include in the Terraform-created environment.
  3. Build a Terraform configuration file that includes IDs for the Skytap templates you prepared, as well as information about how the VMs should be configured (network, file, and hardware settings).

How it works

The Skytap Terraform provider securely communicates with Skytap; it translates native Terraform commands into Skytap REST API calls.

What you can do with the Terraform provider

The Skytap provider exposes unique Skytap functionality through Terraform. The Skytap provider can perform the following actions:

Environments
  • Create an environment from a template.
  • Add a VM to an environment.
  • List environment properties.
  • Update an environment.
  • Delete an environment.
  • Add labels to an environment.
  • Add tags to an environment.
  • Add metadata to an environment.
  • Define auto-shutdown options for an environment.
VMs
  • Create a VM from a template.
  • Add labels to a VM.
  • List VM properties.
  • Add a network adapter to a VM.
  • View network adapter properties for a VM.
  • Add a virtual disk to a VM.
  • View virtual disk properties for a VM.
  • Update a VM.
  • Delete a VM.
  • Add metadata to a VM.
Networks
  • Create a virtual network.
  • List virtual network properties.
  • Update a virtual network.
  • Delete a virtual network.
  • Connect to a VPN tunnel.
  • Connect multiple environments together using ICNR.
Projects
  • Add an environment to a project.
  • View details for a project.
  • List project members.

These are the most commonly needed actions to provision environment resources during a CI run. These actions are documented in more depth at the Skytap Terraform reference guide.

Getting started

To get started, see Getting started with the Skytap Terraform provider