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  }