Terraform Provider

Terraform is an open-source "infrastructure as code" tool that allows you to manage resources in a variety of services. Prismatic provides a Terraform Provider for Prismatic users to manage resources within the Prismatic platform.

Installing the Prismatic Terraform Provider#

The Prismatic Terraform provider binary file files are available here:

After downloading the correct binary for your desired OS / Architecture combination you will need to place it in a location for Terraform to find. For Terraform 0.12, this is in terraform.d/plugins/<os>_<arch>/<binary> and for Terraform 0.13+ it is terraform.d/plugins/terraform.prismatic.io/prismatic-io/prismatic/<version>/<os>_<arch>/<binary>. The plugin file can also be located at other directories if desired.

Example Usage#

terraform {
required_providers {
prismatic = {
source = "terraform.prismatic.io/prismatic-io/prismatic"
version = "~> 0.1.0"
}
}
}
# Configure the Prismatic Provider
provider "prismatic" {
token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik5lVV9aYzFNdFRrSE93bXB1T2ZlUCJ9.eyJodHRwczovL3ByaXNtYXRpYy5pby9lbWFpbCI6InRlc3QudXNlckBlbWFpbC5jb20iLCJodHRwczovL3ByaXNtYXRpYy5pby9sYXN0X2xvZ2luIjoiMzAyMS0wMS0wMVQwMDowMDowMC4wMDFaIiwiaXNzIjoiaHR0cHM6Ly9wcmlzbWF0aWMtaW8udXMuYXV0aDAuY29tLyIsImF1ZCI6WyJodHRwczovL3ByaXNtYXRpYy5pby9hcGkiLCJodHRwczovL3ByaXNtYXRpYy1pby51cy5hdXRoMC5jb20vdXNlcmluZm8iXSwiaWF0IjoxNjEyMjA4NjQyLCJleHAiOjE2MTIyOTUwNDIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwgb2ZmbGluZV9hY2Nlc3MifQ.iKQWx95vUWTxF62O3-mZFqHPgfapH7TQjsy-BunqWWDJrhk88byJpJQYy__hJE779qAahkEtZD914zgpZ8UnjGW0i_PUcCf5nZsDJBR-jfTEARCLmeVYge3Hy40BAFzj3eCcCouDFqxMNaD3oeXSjfizO9Cy_P-XKEkDdIOJ-rk"
}
# Create a Prismatic Integration Distro
resource "prismatic_integration" "rocket_fuel_data_integration" {
definition = file("${path.module}/../integrations/rocket-fuel-data.yaml")
}

Authentication#

The Prismatic Terraform provider uses an access token to authenticate against Prismatic's API. We strongly recommend that you either set the access token as an environment variable named PRISMATIC_TOKEN. If you do that, you can simply create a provider with no arguments,

provider "prismatic" {}

Argument Reference#

In addition to generic provider arguments (e.g. alias and version), the following arguments are supported in the Prismatic provider block:

  • url - (Optional) This is the base URL of Prismatic, and defaults to https://app.prismatic.io.
  • token - (Required) A valid access token for the Prismatic API. For information on getting an API token, see our API docs. This can optionally be sourced from a PRISMATIC_TOKEN environment variable.