Skip to content

Commit d890def

Browse files
committed
update postgres
1 parent 3f8cac9 commit d890def

File tree

24 files changed

+203
-177
lines changed

24 files changed

+203
-177
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ To attach access management tags to resources in this module, you need the follo
6565
|------|---------|
6666
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.9.0 |
6767
| <a name="requirement_ibm"></a> [ibm](#requirement\_ibm) | >= 1.79.2, <2.0.0 |
68-
| <a name="requirement_time"></a> [time](#requirement\_time) | >= 0.9.1 |
68+
| <a name="requirement_time"></a> [time](#requirement\_time) | >= 0.9.1, < 1.0.0 |
6969

7070
### Modules
7171

@@ -100,16 +100,16 @@ To attach access management tags to resources in this module, you need the follo
100100
| <a name="input_backup_encryption_key_crn"></a> [backup\_encryption\_key\_crn](#input\_backup\_encryption\_key\_crn) | The CRN of a Key Protect or Hyper Protect Crypto Services encryption key that you want to use for encrypting the disk that holds deployment backups. Applies only if `use_ibm_owned_encryption_key` is false and `use_same_kms_key_for_backups` is false. If no value is passed, and `use_same_kms_key_for_backups` is true, the value of `kms_key_crn` is used. Alternatively set `use_default_backup_encryption_key` to true to use the IBM Cloud Databases default encryption. Bare in mind that backups encryption is only available in certain regions. See [Bring your own key for backups](https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-key-protect&interface=ui#key-byok) and [Using the HPCS Key for Backup encryption](https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-hpcs#use-hpcs-backups). | `string` | `null` | no |
101101
| <a name="input_cbr_rules"></a> [cbr\_rules](#input\_cbr\_rules) | (Optional, list) List of CBR rules to create | <pre>list(object({<br/> description = string<br/> account_id = string<br/> rule_contexts = list(object({<br/> attributes = optional(list(object({<br/> name = string<br/> value = string<br/> }))) }))<br/> enforcement_mode = string<br/> tags = optional(list(object({<br/> name = string<br/> value = string<br/> })))<br/> }))</pre> | `[]` | no |
102102
| <a name="input_configuration"></a> [configuration](#input\_configuration) | Database configuration parameters, see https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-changing-configuration&interface=api for more details. | <pre>object({<br/> shared_buffers = optional(number)<br/> max_connections = optional(number)<br/> # below field gives error when sent to provider<br/> # tracking issue: https://github.com/IBM-Cloud/terraform-provider-ibm/issues/5403<br/> # max_locks_per_transaction = optional(number)<br/> max_prepared_transactions = optional(number)<br/> synchronous_commit = optional(string)<br/> effective_io_concurrency = optional(number)<br/> deadlock_timeout = optional(number)<br/> log_connections = optional(string)<br/> log_disconnections = optional(string)<br/> log_min_duration_statement = optional(number)<br/> tcp_keepalives_idle = optional(number)<br/> tcp_keepalives_interval = optional(number)<br/> tcp_keepalives_count = optional(number)<br/> archive_timeout = optional(number)<br/> wal_level = optional(string)<br/> max_replication_slots = optional(number)<br/> max_wal_senders = optional(number)<br/> })</pre> | `null` | no |
103+
| <a name="input_cpu_count"></a> [cpu\_count](#input\_cpu\_count) | Allocated dedicated CPU per member. For shared CPU, set to 0. [Learn more](https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling) | `number` | `0` | no |
104+
| <a name="input_disk_mb"></a> [disk\_mb](#input\_disk\_mb) | Allocated disk per member. [Learn more](https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling) | `number` | `5120` | no |
103105
| <a name="input_kms_key_crn"></a> [kms\_key\_crn](#input\_kms\_key\_crn) | The CRN of a Key Protect or Hyper Protect Crypto Services encryption key to encrypt your data. Applies only if `use_ibm_owned_encryption_key` is false. By default this key is used for both deployment data and backups, but this behaviour can be altered using the `use_same_kms_key_for_backups` and `backup_encryption_key_crn` inputs. Bare in mind that backups encryption is only available in certain regions. See [Bring your own key for backups](https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-key-protect&interface=ui#key-byok) and [Using the HPCS Key for Backup encryption](https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-hpcs#use-hpcs-backups). | `string` | `null` | no |
104-
| <a name="input_member_cpu_count"></a> [member\_cpu\_count](#input\_member\_cpu\_count) | Allocated dedicated CPU per member. For shared CPU, set to 0. [Learn more](https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling). Ignored during restore and point in time recovery operations | `number` | `0` | no |
105-
| <a name="input_member_disk_mb"></a> [member\_disk\_mb](#input\_member\_disk\_mb) | Allocated disk per member. [Learn more](https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling). Ignored during restore and point in time recovery operations | `number` | `5120` | no |
106-
| <a name="input_member_host_flavor"></a> [member\_host\_flavor](#input\_member\_host\_flavor) | Allocated host flavor per member. [Learn more](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/database#host_flavor). Ignored during restore and point in time recovery operations | `string` | `null` | no |
107-
| <a name="input_member_memory_mb"></a> [member\_memory\_mb](#input\_member\_memory\_mb) | Allocated memory per member. [Learn more](https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling). Ignored during restore and point in time recovery operations | `number` | `4096` | no |
106+
| <a name="input_member_host_flavor"></a> [member\_host\_flavor](#input\_member\_host\_flavor) | Allocated host flavor per member. [Learn more](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/database#host_flavor). | `string` | `null` | no |
108107
| <a name="input_members"></a> [members](#input\_members) | Allocated number of members. Members can be scaled up but not down. | `number` | `2` | no |
108+
| <a name="input_memory_mb"></a> [memory\_mb](#input\_memory\_mb) | Allocated memory per member. [Learn more](https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling) | `number` | `4096` | no |
109109
| <a name="input_name"></a> [name](#input\_name) | The name to give the Postgresql instance. | `string` | n/a | yes |
110-
| <a name="input_pg_version"></a> [pg\_version](#input\_pg\_version) | Version of the PostgreSQL instance. If no value is passed, the current preferred version of IBM Cloud Databases is used. | `string` | `null` | no |
111110
| <a name="input_pitr_id"></a> [pitr\_id](#input\_pitr\_id) | (Optional) The ID of the source deployment PostgreSQL instance that you want to recover back to. The PostgreSQL instance is expected to be in an up and in running state. | `string` | `null` | no |
112111
| <a name="input_pitr_time"></a> [pitr\_time](#input\_pitr\_time) | (Optional) The timestamp in UTC format (%Y-%m-%dT%H:%M:%SZ) for any time in the last 7 days that you want to restore to. If empty string ("") is passed, earliest\_point\_in\_time\_recovery\_time will be used as pitr\_time. To retrieve the timestamp, run the command (ibmcloud cdb postgresql earliest-pitr-timestamp <deployment name or CRN>). For more info on Point-in-time Recovery, see https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-pitr | `string` | `null` | no |
112+
| <a name="input_postgresql_version"></a> [postgresql\_version](#input\_postgresql\_version) | Version of the PostgreSQL instance. If no value is passed, the current preferred version of IBM Cloud Databases is used. | `string` | `null` | no |
113113
| <a name="input_region"></a> [region](#input\_region) | The region where you want to deploy your instance. | `string` | `"us-south"` | no |
114114
| <a name="input_remote_leader_crn"></a> [remote\_leader\_crn](#input\_remote\_leader\_crn) | A CRN of the leader database to make the replica(read-only) deployment. The leader database is created by a database deployment with the same service ID. A read-only replica is set up to replicate all of your data from the leader deployment to the replica deployment by using asynchronous replication. For more information, see https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-read-only-replicas | `string` | `null` | no |
115115
| <a name="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID where the PostgreSQL instance will be created. | `string` | n/a | yes |

cra-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ CRA_TARGETS:
55
CRA_IGNORE_RULES_FILE: "cra-tf-validate-ignore-rules.json"
66
PROFILE_ID: "fe96bd4d-9b37-40f2-b39f-a62760e326a3" # SCC profile ID (currently set to 'IBM Cloud Framework for Financial Services' '1.7.0' profile).
77
CRA_ENVIRONMENT_VARIABLES:
8-
TF_VAR_kms_encryption_enabled: true
98
TF_VAR_existing_kms_key_crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/abac0df06b644a9cabc6e44f55b3880e:e6dce284-e80f-46e1-a3c1-830f7adff7a9:key:76170fae-4e0c-48c3-8ebe-326059ebb533"
10-
TF_VAR_prefix: "test-postgres-fc"
119
TF_VAR_existing_resource_group_name: "geretain-test-postgres"
10+
TF_VAR_kms_encryption_enabled: true
1211
TF_VAR_provider_visibility: "public"
12+
TF_VAR_prefix: "test"

examples/backup/main.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module "postgresql_db" {
1515
source = "../.."
1616
resource_group_id = module.resource_group.resource_group_id
1717
name = "${var.prefix}-postgres"
18-
pg_version = var.pg_version
18+
postgresql_version = var.pg_version
1919
region = var.region
2020
tags = var.resource_tags
2121
access_tags = var.access_tags
@@ -35,7 +35,7 @@ module "restored_icd_postgresql" {
3535
# version = "X.Y.Z" # Replace "X.Y.Z" with a release version to lock into a specific release
3636
resource_group_id = module.resource_group.resource_group_id
3737
name = "${var.prefix}-postgres-restored"
38-
pg_version = var.pg_version
38+
postgresql_version = var.pg_version
3939
region = var.region
4040
tags = var.resource_tags
4141
access_tags = var.access_tags

examples/basic/main.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ module "database" {
2121
# version = "X.Y.Z" # Replace "X.Y.Z" with a release version to lock into a specific release
2222
resource_group_id = module.resource_group.resource_group_id
2323
name = "${var.prefix}-data-store"
24-
pg_version = var.pg_version
24+
postgresql_version = var.pg_version
2525
region = var.region
2626
tags = var.resource_tags
2727
access_tags = var.access_tags
@@ -61,10 +61,10 @@ module "read_only_replica_postgresql_db" {
6161
region = var.region
6262
tags = var.resource_tags
6363
access_tags = var.access_tags
64-
pg_version = var.pg_version
64+
postgresql_version = var.pg_version
6565
remote_leader_crn = module.database.crn
6666
member_host_flavor = "multitenant"
67-
member_memory_mb = 4096 # Must be an increment of 384 megabytes. The minimum size of a read-only replica is 2 GB RAM, new hosting model minimum is 4 GB RAM.
68-
member_disk_mb = 5120 # Must be an increment of 512 megabytes. The minimum size of a read-only replica is 5 GB of disk
67+
memory_mb = 4096 # Must be an increment of 384 megabytes. The minimum size of a read-only replica is 2 GB RAM, new hosting model minimum is 4 GB RAM.
68+
disk_mb = 5120 # Must be an increment of 512 megabytes. The minimum size of a read-only replica is 5 GB of disk
6969
depends_on = [time_sleep.wait_time]
7070
}

examples/complete/main.tf

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,12 @@ module "icd_postgresql" {
106106
# remove the above line and uncomment the below 2 lines to consume the module from the registry
107107
# source = "terraform-ibm-modules/icd-postgresql/ibm"
108108
# version = "X.Y.Z" # Replace "X.Y.Z" with a release version to lock into a specific release
109-
resource_group_id = module.resource_group.resource_group_id
110-
name = "${var.prefix}-postgres"
111-
region = var.region
112-
pg_version = var.pg_version
113-
admin_pass = var.admin_pass
114-
users = var.users
109+
resource_group_id = module.resource_group.resource_group_id
110+
name = "${var.prefix}-postgres"
111+
region = var.region
112+
postgresql_version = var.pg_version
113+
admin_pass = var.admin_pass
114+
users = var.users
115115
# Example of how to use different KMS keys for data and backups
116116
use_ibm_owned_encryption_key = false
117117
use_same_kms_key_for_backups = false

examples/pitr/main.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ module "postgresql_db_pitr" {
2121
region = var.region
2222
tags = var.resource_tags
2323
access_tags = var.access_tags
24-
member_memory_mb = 4096
25-
member_disk_mb = 5120
26-
member_cpu_count = 0
24+
memory_mb = 4096
25+
disk_mb = 5120
26+
cpu_count = 0
2727
member_host_flavor = "multitenant"
2828
members = var.members
29-
pg_version = var.pg_version
29+
postgresql_version = var.pg_version
3030
pitr_id = var.pitr_id
3131
pitr_time = var.pitr_time
3232
}

ibm_catalog.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"relational"
2525
],
2626
"short_description": "Creates and configures an instance of IBM Cloud Databases for PostgreSQL.",
27-
"long_description": "This architecture supports creating and configuring an instance of [Databases for PostgreSQL](https://www.ibm.com/products/databases-for-postgresql), with optional KMS encryption. This Terraform-based automation is part of a broader suite of IBM-maintained Infrastructure as Code (IaC) asset collection, each following the naming pattern \"Cloud automation for *servicename*\" and focusing on single IBM Cloud service. These single-service deployable architectures can be used on their own to streamline and automate service deployments through an [IaC approach](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-understanding-projects), or assembled together into a broader [automated IaC stack](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-config-stack) to automate the deployment of an end-to-end solution architecture.",
27+
"long_description": "This architecture supports creating and configuring an instance of [Databases for PostgreSQL](https://www.ibm.com/products/databases-for-postgresql), with optional KMS encryption.\n\nℹ️ This Terraform-based automation is part of a broader suite of IBM-maintained Infrastructure as Code (IaC) assets, each following the naming pattern \"Cloud automation for *servicename*\" and focusing on single IBM Cloud service. These single-service deployable architectures can be used on their own to streamline and automate service deployments through an [IaC approach](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-understanding-projects), or assembled together into a broader [automated IaC stack](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-config-stack) to automate the deployment of an end-to-end solution architecture.",
2828
"offering_docs_url": "https://github.com/terraform-ibm-modules/terraform-ibm-icd-postgresql/blob/main/README.md",
2929
"offering_icon_url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-icd-postgresql/main/images/postgresql.svg",
3030
"provider_name": "IBM",
@@ -82,14 +82,14 @@
8282
"crn:v1:bluemix:public:iam::::role:Editor"
8383
],
8484
"service_name": "kms",
85-
"notes": "[Optional] Editor access is required to create keys. It is required only if KMS encryption is enabled."
85+
"notes": "[Optional] Editor access is required to create keys. It is only required when using Key Protect for encryption."
8686
},
8787
{
8888
"role_crns": [
8989
"crn:v1:bluemix:public:iam::::role:Editor"
9090
],
9191
"service_name": "hs-crypto",
92-
"notes": "[Optional] Editor access is required to create keys in HPCS. It is required only if KMS encryption is enabled."
92+
"notes": "[Optional] Editor access is required to create keys in HPCS. It is only required when using HPCS for encryption."
9393
}
9494
],
9595
"architecture": {
@@ -236,7 +236,7 @@
236236
"key": "name"
237237
},
238238
{
239-
"key": "postgresql_resource_tags",
239+
"key": "resource_tags",
240240
"type": "array",
241241
"custom_config": {
242242
"grouping": "deployment",
@@ -247,7 +247,7 @@
247247
}
248248
},
249249
{
250-
"key": "postgresql_access_tags",
250+
"key": "access_tags",
251251
"type": "array",
252252
"custom_config": {
253253
"grouping": "deployment",
@@ -363,7 +363,7 @@
363363
]
364364
},
365365
{
366-
"label": "Security enforced",
366+
"label": "Security-enforced",
367367
"name": "security-enforced",
368368
"index": 2,
369369
"install_type": "fullstack",
@@ -410,7 +410,7 @@
410410
"features": [
411411
{
412412
"title": " ",
413-
"description": "This architecture creates an instance of IBM Cloud Databases for PostgreSQL with KMS encryption. It accepts or creates a resource group, and provides autoscaling rules."
413+
"description": "Configured to use IBM secure by default standards that can't be changed."
414414
}
415415
],
416416
"diagrams": [
@@ -532,7 +532,7 @@
532532
"key": "name"
533533
},
534534
{
535-
"key": "postgresql_resource_tags",
535+
"key": "resource_tags",
536536
"type": "array",
537537
"custom_config": {
538538
"grouping": "deployment",
@@ -543,7 +543,7 @@
543543
}
544544
},
545545
{
546-
"key": "postgresql_access_tags",
546+
"key": "access_tags",
547547
"type": "array",
548548
"custom_config": {
549549
"grouping": "deployment",

0 commit comments

Comments
 (0)