diff --git a/.terraform-docs.yml b/.terraform-docs.yml index 71afbee..831116d 100644 --- a/.terraform-docs.yml +++ b/.terraform-docs.yml @@ -1,6 +1,6 @@ --- formatter: "markdown table" # this is required -version: "0.17.0" +version: "0.19.0" header-from: main.tf footer-from: "" recursive: diff --git a/README.md b/README.md index 3a51a71..5ea9833 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0.0, < 2.0.0 | +| [postgresql](#requirement\_postgresql) | ~> 1.21 | Basic usage of this module is as follows: @@ -16,6 +17,8 @@ module "example" { # Optional variables app_username = null + create_role_ro = true + create_role_rw = true owner_username = null role_ro_name = null role_rw_name = null @@ -30,6 +33,8 @@ No resources. | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [app\_username](#input\_app\_username) | Application username | `string` | `null` | no | +| [create\_role\_ro](#input\_create\_role\_ro) | Toggle read-only role creation | `bool` | `true` | no | +| [create\_role\_rw](#input\_create\_role\_rw) | Toggle read-write role creation | `bool` | `true` | no | | [database](#input\_database) | Database name | `string` | n/a | yes | | [owner\_username](#input\_owner\_username) | Database owner | `string` | `null` | no | | [role\_ro\_name](#input\_role\_ro\_name) | Read-only role name | `string` | `null` | no | diff --git a/main.tf b/main.tf index 7abf183..684b1ea 100644 --- a/main.tf +++ b/main.tf @@ -26,7 +26,7 @@ module "access_ro" { database_name = var.database database_owner = module.database.username role_name = var.role_ro_name != null ? var.role_ro_name : "${var.database}_ro" - create_role = true + create_role = var.create_role_ro allow_login = false access_map = local.access_map_ro depends_on = [module.database] @@ -38,7 +38,7 @@ module "access_rw" { database_name = var.database database_owner = module.database.username role_name = var.role_rw_name != null ? var.role_rw_name : "${var.database}_rw" - create_role = true + create_role = var.create_role_rw allow_login = false access_map = local.access_map_rw depends_on = [module.database] diff --git a/variables.tf b/variables.tf index 413ddcd..900af72 100644 --- a/variables.tf +++ b/variables.tf @@ -26,3 +26,15 @@ variable "role_rw_name" { type = string description = "Read-write role name" } + +variable "create_role_ro" { + default = true + type = bool + description = "Toggle read-only role creation" +} + +variable "create_role_rw" { + default = true + type = bool + description = "Toggle read-write role creation" +}