Creates a PostgreSQL instance using the Azure Database for PostgreSQL - Flexible Server.
Examples for this module along with various configurations can be found in the examples/ folder.
Name | Version |
---|---|
terraform | ~> 1.5.7 |
azurerm | ~> 4.26 |
postgresql | ~> 1.25.0 |
Name | Version |
---|---|
azurerm | 4.40.0 |
Name | Source | Version |
---|---|---|
enc_key_vault | git::https://gitlab.k8s.cloud.statcan.ca/cloudnative/platform/terraform/terraform-azure-key-vault.git | v5.0.0 |
Name | Type |
---|---|
azurerm_key_vault_access_policy.cmk | resource |
azurerm_key_vault_access_policy.runner_manage_keys | resource |
azurerm_key_vault_key.cmk | resource |
azurerm_monitor_diagnostic_setting.postgresql_server | resource |
azurerm_postgresql_flexible_server.pgsql | resource |
azurerm_postgresql_flexible_server_active_directory_administrator.pgsql | resource |
azurerm_postgresql_flexible_server_configuration.pgsql | resource |
azurerm_postgresql_flexible_server_database.pgsql | resource |
azurerm_postgresql_flexible_server_firewall_rule.pgsql | resource |
azurerm_storage_account.pgsql | resource |
azurerm_storage_container.pgsql | resource |
azurerm_user_assigned_identity.pgsql | resource |
azurerm_client_config.current | data source |
azurerm_key_vault.pointer | data source |
azurerm_key_vault_secret.pointer_sqladmin_password | data source |
azurerm_monitor_diagnostic_categories.postgresql_server | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
active_directory_administrator | n/a | list(object({ |
[] |
no |
administrator_login | The Administrator Login for the PostgreSQL Flexible Server. | string |
n/a | yes |
administrator_password | The Password associated with the administrator_login for the PostgreSQL Flexible Server. | string |
n/a | yes |
databases | The name, collation, and charset of the PostgreSQL database(s). (defaults: charset='utf8', collation='en_US.utf8') | map(map(string)) |
n/a | yes |
delegated_subnet_id | The subnet where you want the database created. The subnet must be delegated to Microsoft.DBforPostgreSQL/flexibleServers. | string |
null |
no |
diagnostics | Diagnostic settings for those resources that support it. | object({ |
null |
no |
environment | The environment used for keyvault access. | string |
n/a | yes |
firewall_rules | Specifies the Start IP Address associated with this Firewall Rule. | list(string) |
n/a | yes |
geo_redundant_backup_enabled | Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. | bool |
false |
no |
ip_rules | List of public IP or IP ranges in CIDR Format. | list(string) |
n/a | yes |
kv_pointer_enable | Flag kv_pointer_enable can either be true (state from key vault), or false (state from terraform). |
bool |
false |
no |
kv_pointer_name | The key vault name to be used when kv_pointer_enable is set to true . |
string |
null |
no |
kv_pointer_rg | The key vault resource group to be used when kv_pointer_enable is set to true . |
string |
null |
no |
kv_pointer_sqladmin_password | The sqladmin password to be looked up in key vault when kv_pointer_enable is set to true . |
string |
null |
no |
kv_private_endpoints | The information required to create a private endpoint for the Key Vault. | list(object({ |
[] |
no |
kv_public_network_access_enabled | (Required) Whether or not public network access is allowed. | bool |
false |
no |
kv_subnet_ids | The subnets for the key vault. | list(string) |
null |
no |
location | Specifies the supported Azure location where the resource exists. | string |
"canadacentral" |
no |
name | The name of the PostgreSQL Flexible Server. | string |
n/a | yes |
pgsql_version | The version of the PostgreSQL Flexible Server. | string |
"16" |
no |
postgresql_configurations | n/a | map(string) |
{ |
no |
private_dns_zone_id | The ID of the private DNS zone to create the PostgreSQL Flexible Server. The private DNS zone must end with the suffix .postgres.database.azure.com. | string |
null |
no |
project | Name of client project | string |
n/a | yes |
public_network_access_enabled | (Optional) Specifies whether this PostgreSQL Flexible Server is publicly accessible. | bool |
false |
no |
resource_group_name | The name of the resource group in which to create the PostgreSQL Flexible Server. | string |
n/a | yes |
sa_create_log | Creates a storage account to be used for diagnostics logging of the PostgreSQL database created if the variable is set to true . |
bool |
false |
no |
sa_subnet_ids | The subnets for the storage account. | list(string) |
null |
no |
sku_name | Specifies the SKU Name for this PostgreSQL Flexible Server. | string |
"GP_Standard_D4ds_v4" |
no |
storage_account_name | Name of the storage account used for diagnostics (optional, if not provided the name is auto-generated). | string |
null |
no |
storagesize_mb | Specifies the storage size in MB for the PostgreSQL Flexible Server. | number |
262144 |
no |
tags | A mapping of tags to assign to the resource. | map(string) |
n/a | yes |
Name | Description |
---|---|
administrator_login | n/a |
fqdn | n/a |
id | n/a |