This project is currently under active development. Source code is provided with no assurances, use at your own risk.
Terraform provider for the Elastic Cloud API, including:
- Elasticsearch Service (ESS).
- Elastic Cloud Enterprise (ECE).
- Elasticsearch Service Private (ESSP).
provider "ec" {
# ECE installation endpoint
endpoint = "https://my.ece-environment.corp"
# If the ECE installation has a self-signed certificate
# setting "insecure" to true is required.
insecure = true
# APIKey is the recommended authentication mechanism. When
# Targeting the Elasticsearch Service, APIKeys are the only
# valid authentication mechanism.
apikey = "my-apikey"
# When targeting ECE installations, username and password
# authentication is allowed.
username = "my-username"
password = "my-password"
}
# Create an Elastic Cloud deployment
resource "ec_deployment" "example_minimal" {
# Optional name.
name = "my_example_deployment"
# Mandatory fields
region = "us-east-1"
version = "7.6.2"
deployment_template_id = "aws-io-optimized"
elasticsearch {
topology {
instance_configuration_id = "aws.data.highio.i3"
}
}
kibana {
topology {
instance_configuration_id = "aws.kibana.r4"
}
}
}
If you wish to work on the provider, you'll first need Go installed on your machine.
Note: This project uses Go Modules making it safe to work with it outside of your existing GOPATH. The instructions that follow assume a directory in your home directory outside of the standard GOPATH (i.e $HOME/development/terraform-providers/
).
First, clone the repository to a folder on your machine, for example:
$ mkdir -p ~/development; cd ~/development
$ git clone https://github.com/elastic/terraform-provider-ec
$ cd terraform-provider-ec
$ make install
To generate an API key, follow these steps:
- Navigate to https://cloud.elastic.co/login with your browser
- Log in with your Email and Password.
- Click on Elasticsearch Service.
- Navigate to Account > API Keys and click on Generate API Key.
- Once you Re-Authenticate, you'll have to chose a name for your API key.
- Copy your API key somewhere safe.
After you've generated your API Key, you can make it available to the Terraform provider by exporting it as an environment variable:
$ export EC_API_KEY="<apikey value>"
After doing so, you can navigate to any of our examples in ./examples
and try one.