Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 36 additions & 102 deletions ibm_catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
{
"label": "Banking Application",
"name": "banking",
"short_description": "Sample banking application",
"working_directory": "solutions/banking",
"iam_permissions": [
{
Expand Down Expand Up @@ -110,6 +111,10 @@
"displayname": "Toronto (ca-tor)",
"value": "ca-tor"
},
{
"displayname": "Montreal (ca-mon)",
"value": "ca-mon"
},
{
"displayname": "Washington DC (us-east)",
"value": "us-east"
Expand All @@ -122,7 +127,6 @@
},
{
"key": "toolchain_resource_group",
"required": true,
"custom_config": {
"type": "resource_group",
"grouping": "deployment",
Expand All @@ -149,71 +153,38 @@
},
{
"key": "watson_assistant_region",
"options": [
{
"displayname": "Sydney (au-syd)",
"value": "au-syd"
},
{
"displayname": "Tokyo (jp-tok)",
"value": "jp-tok"
},
{
"displayname": "Frankfurt (eu-de)",
"value": "eu-de"
},
{
"displayname": "London (eu-gb)",
"value": "eu-gb"
},
{
"displayname": "Dallas (us-south)",
"value": "us-south"
},
{
"displayname": "Washington DC (us-east)",
"value": "us-east"
"custom_config": {
"type": "region",
"grouping": "deployment",
"original_grouping": "deployment",
"config_constraints": {
"filterString": "service:conversation",
"showKinds": [
"region"
]
}
]
}
},
{
"key": "watson_discovery_instance_id"
},
{
"key": "watson_discovery_region",
"options": [
{
"displayname": "Sydney (au-syd)",
"value": "au-syd"
},
{
"displayname": "Tokyo (jp-tok)",
"value": "jp-tok"
},
{
"displayname": "Frankfurt (eu-de)",
"value": "eu-de"
},
{
"displayname": "London (eu-gb)",
"value": "eu-gb"
},
{
"displayname": "Dallas (us-south)",
"value": "us-south"
},
{
"displayname": "Washington DC (us-east)",
"value": "us-east"
"custom_config": {
"type": "region",
"grouping": "deployment",
"original_grouping": "deployment",
"config_constraints": {
"filterString": "service:discovery",
"showKinds": [
"region"
]
}
]
}
},
{
"key": "watson_machine_learning_instance_crn"
},
{
"key": "watson_machine_learning_instance_guid"
},
{
"key": "watson_machine_learning_instance_resource_name"
},
Expand Down Expand Up @@ -271,52 +242,17 @@
},
{
"key": "secrets_manager_region",
"options": [
{
"displayname": "Osaka (jp-osa)",
"value": "jp-osa"
},
{
"displayname": "Sydney (au-syd)",
"value": "au-syd"
},
{
"displayname": "Tokyo (jp-tok)",
"value": "jp-tok"
},
{
"displayname": "Frankfurt (eu-de)",
"value": "eu-de"
},
{
"displayname": "London (eu-gb)",
"value": "eu-gb"
},
{
"displayname": "Madrid (eu-es)",
"value": "eu-es"
},
{
"displayname": "Dallas (us-south)",
"value": "us-south"
},
{
"displayname": "Montreal (ca-mon)",
"value": "ca-mon"
},
{
"displayname": "Toronto (ca-tor)",
"value": "ca-tor"
},
{
"displayname": "Washington DC (us-east)",
"value": "us-east"
},
{
"displayname": "Sao Paolo (br-sao)",
"value": "br-sao"
"custom_config": {
"type": "region",
"grouping": "deployment",
"original_grouping": "deployment",
"config_constraints": {
"filterString": "service:secrets-manager",
"showKinds": [
"region"
]
}
]
}
},
{
"key": "trigger_ci_pipeline_run"
Expand All @@ -331,10 +267,8 @@
"key": "provision_public_ingress"
}
],
"release_notes_url": "RELEASE NOTES URL",
"outputs": [],
"install_type": "fullstack",
"terraform_version": "1.10.5",
"terraform_version": "1.12.2",
"ignore_readme": true
}
]
Expand Down
22 changes: 18 additions & 4 deletions modules/watson-machine-learning/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,18 @@ module "storage_delegation" {
cos_guid = module.cos.cos_instance_guid
}

# parse the crn for region and guid
module "crn_parser" {
source = "terraform-ibm-modules/common-utilities/ibm//modules/crn-parser"
version = "1.3.3"
crn = var.watson_ml_instance_crn
}

locals {
watson_ml_instance_guid = module.crn_parser.service_instance
watson_ml_instance_region = module.crn_parser.region
}

## Use code from Watson SaaS directly to avoid "legacy module" issues
## Note: passing a non-null delegated storage attribute may result in API errors

Expand Down Expand Up @@ -57,7 +69,7 @@ var.watson_ml_project_sensitive ? "\"settings\": {\"access_restrictions\": {\"d
"compute": [
{
"name": "${var.watson_ml_instance_resource_name}",
"guid": "${var.watson_ml_instance_guid}",
"guid": "${local.watson_ml_instance_guid}",
"type": "machine_learning",
"crn": "${var.watson_ml_instance_crn}"
}
Expand All @@ -75,7 +87,7 @@ update_data = <<-EOT
"compute": [
{
"name": "${var.watson_ml_instance_resource_name}",
"guid": "${var.watson_ml_instance_guid}",
"guid": "${local.watson_ml_instance_guid}",
"type": "machine_learning",
"crn": "${var.watson_ml_instance_crn}",
"credentials": { }
Expand Down Expand Up @@ -106,10 +118,12 @@ locals {
"us-south" = "//api.dataplatform.cloud.ibm.com",
"eu-gb" = "//api.eu-uk.dataplatform.cloud.ibm.com",
"eu-de" = "//api.eu-de.dataplatform.cloud.ibm.com",
"jp-tok" = "//api.jp-tok.dataplatform.cloud.ibm.com"
"jp-tok" = "//api.jp-tok.dataplatform.cloud.ibm.com",
"au-syd" = "//api.au-syd.dai.cloud.ibm.com",
"ca-tor" = "//api.ca-tor.dai.cloud.ibm.com"
}

dataplatform_api = local.dataplatform_api_mapping[var.location]
dataplatform_api = local.dataplatform_api_mapping[local.watson_ml_instance_region]
watsonx_project_id_object = restapi_object.configure_project.id
watsonx_project_id = regex("^.+/([a-f0-9\\-]+)$", local.watsonx_project_id_object)[0]
}
10 changes: 0 additions & 10 deletions modules/watson-machine-learning/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,6 @@ variable "watson_ml_instance_crn" {
type = string
}

variable "watson_ml_instance_guid" {
description = "Watson Machine Learning instance GUID"
type = string
}

variable "watson_ml_instance_resource_name" {
description = "Watson Machine Learning instance resource name"
type = string
Expand Down Expand Up @@ -77,11 +72,6 @@ variable "watson_ml_project_sensitive" {
default = false
}

variable "location" {
description = "The location that's used with the IBM Cloud Terraform IBM provider. It's also used during resource creation."
type = string
}

variable "watsonx_project_delegated" {
description = "Watson storage delegation."
type = bool
Expand Down
4 changes: 1 addition & 3 deletions solutions/banking/main.tf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
locals {
use_watson_discovery = (var.watson_discovery_instance_id != null) ? true : false
use_watson_machine_learning = (var.watson_machine_learning_instance_guid != null && var.watson_project_name != null) ? true : false
use_watson_machine_learning = (var.watson_machine_learning_instance_crn != null && var.watson_project_name != null) ? true : false
use_elastic_index = (var.elastic_instance_crn != null) ? true : false

cos_instance_name = try("${local.prefix}-rag-sample-app-cos", "gen-ai-rag-sample-app-cos")
Expand Down Expand Up @@ -133,7 +133,6 @@ module "configure_wml_project" {
count = local.use_watson_machine_learning ? 1 : 0
source = "../../modules/watson-machine-learning"
watsonx_project_delegated = var.cos_kms_crn != null ? true : false
watson_ml_instance_guid = var.watson_machine_learning_instance_guid
watson_ml_instance_crn = var.watson_machine_learning_instance_crn
watson_ml_instance_resource_name = var.watson_machine_learning_instance_resource_name
watson_ml_project_name = local.watson_ml_project_name
Expand All @@ -144,7 +143,6 @@ module "configure_wml_project" {
cos_kms_key_crn = var.cos_kms_key_crn
cos_kms_ring_id = var.cos_kms_ring_id
cos_kms_new_key_name = local.cos_kms_new_key_name
location = var.watson_assistant_region
}

moved {
Expand Down
2 changes: 0 additions & 2 deletions solutions/banking/provider.tf
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ provider "ibm" {
provider "restapi" {
uri = "https:"
write_returns_object = true
debug = true
headers = {
Authorization = data.ibm_iam_auth_token.tokendata.iam_access_token
Content-Type = "application/json"
Expand All @@ -32,7 +31,6 @@ provider "restapi" {
alias = "restapi_watsonx_admin"
uri = "https:"
write_returns_object = true
debug = true
headers = {
Authorization = data.ibm_iam_auth_token.tokendata.iam_access_token
Content-Type = "application/json"
Expand Down
6 changes: 0 additions & 6 deletions solutions/banking/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -99,12 +99,6 @@ variable "watson_machine_learning_instance_crn" {
default = null # WML usage is optional, elastic can be used instead
}

variable "watson_machine_learning_instance_guid" {
description = "Watson Machine Learning instance GUID"
type = string
default = null # WML usage is optional, elastic can be used instead
}

variable "watson_machine_learning_instance_resource_name" {
description = "Watson Machine Learning instance resource name"
type = string
Expand Down
Loading