This is the repository of official Upstash Terraform provider.
terraform {
required_providers {
upstash = {
source = "upstash/upstash"
version = "x.x.x"
}
}
}
provider "upstash" {
email = var.email
api_key = var.api_key
}
email
is your registered email in Upstash.
api_key
can be generated from Upstash Console. For more information please check our docs.
Here example code snippet that creates database:
resource "upstash_redis_database" "redis" {
database_name = "db-name"
region = "eu-west-1"
tls = "true"
multi_zone = "false"
}
To import resources created outside of the terraform provider, simply create the resource in .tf file as follows:
resource "upstash_redis_database" "redis" {}
after this, you can run the command:
terraform import upstash_redis_database.redis <db-id>
Above example is given for an Upstash Redis database. You can import all of the resources by changing the resource type and providing the resource id.
You can check full spec and doc from here.
If you need support then you can ask your questions Upstash Team in upstash.com chat widget.
There is also discord channel available for community. Please check here for more information.
- Terraform v0.13 and above
- Go 1.16 (to build the provider)
If you want to locally build/test the provider then follow these steps:
- Build the provider using:
go build .
command, it will create executable in same directory - create
terraform.rc
file that contains following configuration. - export
TF_CLI_CONFIG_FILE
env variable that locatesterraform.rc
file. - Now your
terraform
commands will use local Upstash provider.
provider_installation {
dev_overrides {
"upstash" = "[PATH THAT CONTAINS CUSTOM PROVIDER]"
}
direct {}
}
This provider uses tfplugindocs
to generate its documentation. Run the command below, and the docs will be automatically generated from the provider code and examples
tfplugindocs
- First set your environment variables using the
envSetters.txt
file.
source envSetters.txt
- Then, navigate to
integrationtesting
folder, and un the tests using the following command:
go test -v
If you want to run a specific test, you can use the -run
flag. To run the test, first navigate to integrationtesting
folder, and then run the following command. You can replace TestUpstashVectorIndexMAIN
with the name of the test you want to run.
go test -v . -run TestUpstashVectorIndexMAIN