Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Aiven Terraform Provider

The Terraform provider for, an open source data platform as a service.

See the official documentation to learn about all the possible services and resources.

Quick start

terraform {
  required_providers {
    aiven = {
      source  = "aiven/aiven"
      version = "x.y.z" # check out the latest version in the release section

provider "aiven" {
  api_token = "your-api-token"

resource "aiven_pg" "postgresql" {
  project                = "your-project-name"
  service_name           = "postgresql"
  cloud_name             = "google-europe-west3"
  plan                   = "startup-4"

  termination_protection = true

output "postgresql_service_uri" {
  value     = aiven_pg.postgresql.service_uri
  sensitive = true
  • Run these commands in your terminal:
terraform init
terraform plan
terraform apply
psql "$(terraform output -raw postgresql_service_uri)"

Voilà, a PostgreSQL database.

A word of caution

Recreating stateful services with Terraform will possibly delete the service and all its data before creating it again. Whenever the Terraform plan indicates that a service will be deleted or replaced, a catastrophic action is possibly about to happen.

Some properties, like project and the resource name, cannot be changed and it will trigger a resource replacement.

To avoid any issues, please set the termination_protection property to true on all production services, it will prevent Terraform to remove the service until the flag is set back to false again. While it prevents a service to be deleted, any logical databases, topics or other configurations may be removed even when this section is enabled. Be very careful!


Bug reports and patches are very welcome, please post them as GitHub issues and pull requests at Please review the guides below.

Please see our security policy to report any possible vulnerabilities or serious issues.


terraform-provider-aiven is licensed under the MIT license. Full license text is available in the LICENSE file. Please note that the project explicitly does not require a CLA (Contributor License Agreement) from its contributors.


The original version of the Aiven Terraform provider was written and maintained by Jelmer Snoeck.