github.com/darmach/terratest@v0.34.8-0.20210517103231-80931f95e3ff/examples/azure/terraform-azure-postgresql-example/main.tf (about) 1 # --------------------------------------------------------------------------------------------------------------------- 2 # DEPLOY AN PostgreSQL Database 3 # This is an example of how to deploy an Azure PostgreSQL database. 4 # See test/terraform_azure_example_test.go for how to write automated tests for this code. 5 # --------------------------------------------------------------------------------------------------------------------- 6 7 8 # --------------------------------------------------------------------------------------------------------------------- 9 # CONFIGURE OUR AZURE CONNECTION 10 # --------------------------------------------------------------------------------------------------------------------- 11 provider "azurerm" { 12 features {} 13 } 14 15 # --------------------------------------------------------------------------------------------------------------------- 16 # DEPLOY A RESOURCE GROUP 17 # --------------------------------------------------------------------------------------------------------------------- 18 resource "azurerm_resource_group" "rg" { 19 name = "${var.resource_group_name}-${var.postfix}" 20 location = var.location 21 } 22 23 # --------------------------------------------------------------------------------------------------------------------- 24 # DEPLOY AZURE PostgreSQL SERVER 25 # --------------------------------------------------------------------------------------------------------------------- 26 resource "azurerm_postgresql_server" "postgresqlserver" { 27 name = "postgresqlserver-${var.postfix}" 28 location = azurerm_resource_group.rg.location 29 resource_group_name = azurerm_resource_group.rg.name 30 31 sku_name = "B_Gen5_2" 32 33 storage_mb = 5120 34 backup_retention_days = 7 35 geo_redundant_backup_enabled = false 36 auto_grow_enabled = true 37 38 administrator_login = "pgsqladmin" 39 administrator_login_password = random_password.password.result 40 version = "11" 41 ssl_enforcement_enabled = true 42 } 43 44 # --------------------------------------------------------------------------------------------------------------------- 45 # DEPLOY AZURE PostgreSQL Database 46 # --------------------------------------------------------------------------------------------------------------------- 47 resource "azurerm_postgresql_database" "postgresqldb" { 48 name = "postgresqldb" 49 resource_group_name = azurerm_resource_group.rg.name 50 server_name = azurerm_postgresql_server.postgresqlserver.name 51 charset = "UTF8" 52 collation = "English_United States.1252" 53 } 54 55 # --------------------------------------------------------------------------------------------------------------------- 56 # Use a random password geneerator 57 # --------------------------------------------------------------------------------------------------------------------- 58 resource "random_password" "password" { 59 length = 20 60 special = true 61 upper = true 62 lower = true 63 number = true 64 }