Skip to content

Instantly share code, notes, and snippets.

@greyhoundforty
Created January 19, 2023 15:47
Show Gist options
  • Save greyhoundforty/fd18c89b15363f3b0aa82d977fa453d6 to your computer and use it in GitHub Desktop.
Save greyhoundforty/fd18c89b15363f3b0aa82d977fa453d6 to your computer and use it in GitHub Desktop.
ICD Terraform Example with Connection Information
data "ibm_resource_group" "group" {
name = var.resource_group
}
resource "random_string" "admin_password" {
length = 16
special = false
}
resource "random_string" "db_password" {
length = 16
special = false
}
resource "ibm_database" "test_acc" {
name = "rt-test-icd"
plan = "standard"
location = var.region
service = "databases-for-etcd"
resource_group_id = data.ibm_resource_group.group.id
tags = ["owner:ryantiffany", "deleteme:january2023"]
adminpassword = random_string.admin_password.result
users {
name = "ryan"
password = random_string.db_password.result
type = "database"
}
group {
group_id = "member"
memory {
allocation_mb = 14336
}
disk {
allocation_mb = 20480
}
cpu {
allocation_count = 3
}
}
}
output "connection_info" {
depends_on = [
ibm_database.test_acc
]
value = jsonencode(ibm_database.test_acc)
sensitive = true
}
data "ibm_database_connection" "database_connection" {
depends_on = [
ibm_database.test_acc
]
endpoint_type = "public"
deployment_id = ibm_database.test_acc.id
user_id = "ryan"
user_type = "database"
}
output "db_hostname" {
depends_on = [
ibm_database.test_acc
]
value = data.ibm_database_connection.database_connection.grpc[0].hosts[0].hostname
}
output "db_port" {
depends_on = [
ibm_database.test_acc
]
value = data.ibm_database_connection.database_connection.grpc[0].hosts[0].port
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment