Skip to content

Instantly share code, notes, and snippets.

@greyhoundforty
Created July 18, 2023 14:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save greyhoundforty/554035bc044078218d4f8a65e60358e8 to your computer and use it in GitHub Desktop.
Save greyhoundforty/554035bc044078218d4f8a65e60358e8 to your computer and use it in GitHub Desktop.
IBM Cloud DB Connection Info

Tf code

locals {
  prefix = random_string.prefix.result
  tags = [
    "provider:ibm",
    "workspace:${terraform.workspace}",
    "owner:${var.owner}"
  ]
}

module "resource_group" {
  source                       = "git::https://github.com/terraform-ibm-modules/terraform-ibm-resource-group.git?ref=v1.0.5"
  resource_group_name          = var.existing_resource_group == null ? "${local.prefix}-resource-group" : null
  existing_resource_group_name = var.existing_resource_group
}

resource "random_string" "prefix" {
  length  = 4
  special = false
  upper   = false
  numeric = false
}

resource "random_string" "db_admin_password" {
  length  = 16
  special = false
}

resource "ibm_database" "custom_user_rancher_backend" {
  name              = "${local.prefix}-db-custom-user"
  plan              = "standard"
  location          = var.region
  service           = "databases-for-mysql"
  resource_group_id = module.resource_group.resource_group_id
  tags              = local.tags
  users {
    name     = "k3s_admin"
    password = random_string.db_admin_password.result
    type     = "database"
  }
}

resource "ibm_database" "admin_user_rancher_backend" {
  name              = "${local.prefix}-db-admin-user"
  plan              = "standard"
  location          = var.region
  service           = "databases-for-mysql"
  resource_group_id = module.resource_group.resource_group_id
  tags              = local.tags
  adminpassword     = random_string.db_admin_password.result
}

data "ibm_database_connection" "custom_user_mysql_conn" {
  deployment_id = ibm_database.custom_user_rancher_backend.id
  user_type     = "database"
  user_id       = "k3s_admin"
  endpoint_type = "private"
}

data "ibm_database_connection" "adminuser_mysql_conn" {
  deployment_id = ibm_database.admin_user_rancher_backend.id
  user_type     = "database"
  user_id       = "admin"
  endpoint_type = "private"
}

Terraform versions:

[$] <> terraform version 
Terraform v1.5.3
on darwin_arm64
+ provider registry.terraform.io/hashicorp/random v3.5.1
+ provider registry.terraform.io/ibm-cloud/ibm v1.55.0

Error being produced

This is for both deployment options

│     "Result": {
│         "errors": {
│             "errors": "not_found",
│             "hint": "You may need to URL-encode any included CRN(s), see https://cloud.ibm.com/apidocs/cloud-databases-api/cloud-databases-api-v5#deployment-ids-and-crns for details"
│         }
│     },
│     "RawResult": null
│ }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment