forked from Cloud-Schematics/cloud-resources
-
Notifications
You must be signed in to change notification settings - Fork 0
/
postgresql.tf
48 lines (37 loc) · 1.64 KB
/
postgresql.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
##############################################################################
# This file creates the PostgresSQL Database, creates a user with Postgres
# rbac, assign IAM policies
##############################################################################
##############################################################################
# Create Postgresql database
##############################################################################
resource "ibm_resource_instance" "postgresql" {
name = "${var.unique_id}-postgres"
service = "databases-for-postgresql"
plan = "${var.postgres_plan}"
location = "${var.ibm_region}"
resource_group_id = "${data.ibm_resource_group.resource_group.id}"
parameters = {
service-endpoints = "${var.end_points}"
key_protect_key = "${ibm_kp_key.root_key.crn}"
}
//User can increase timeouts
timeouts {
create = "45m"
update = "15m"
delete = "15m"
}
tags = "${var.tags}"
}
##############################################################################
##############################################################################
# Policy for KMS
##############################################################################
resource ibm_iam_authorization_policy psql_policy {
source_service_name = "databases-for-postgresql"
source_resource_instance_id = "${ibm_resource_instance.postgresql.id}"
target_service_name = "kms"
target_resource_instance_id = "${ibm_resource_instance.kms.id}"
roles = ["Reader"]
}
##############################################################################