IBM watsonx.ai
provides an enterprise-grade studio of integrated tools for developing AI services and deploying them into your applications of choice. Refer here for more information on watsonx.ai
.
This module supports the following:
- Provisions the following services:
watsonx.ai Studio
(formerly known asWatson Studio
)watsonx.ai Runtime
(formerly known asWatson Machine Learning
)
- Configures the IBM
watsonx.ai
user profile for an existing IBM Cloud user. This user is also referred as IBMwatsonx.ai
admin. - Enables storage delegation for the
Cloud Object Storage
instance whenKMS
encryption is enabled. - Creates a starter
watsonx.ai
project.
module "watsonx_ai" {
source = "terraform-ibm-modules/watsonx-ai/ibm"
prefix = "watsonx"
region = "us-south"
resource_tags = ["tag1", "tag2"]
resource_group_id = "xxXXx...X" # replace with ID of the resource group
watsonx_ai_studio_plan = "free-v1"
watsonx_ai_runtime_plan = "lite"
project_name = "my-project"
enable_cos_kms_encryption = true
cos_instance_crn = "xxXXx...X" # replace with CRN of the COS instance
cos_kms_key_crn = "xxXXx...X" # replace with CRN of KMS key
}
You need the following permissions to run this module:
- Account Management
- Resource group
Viewer
access on the specific resource group
- Resource group
- IAM services
- watsonx.ai Runtime service
Editor
platform access
- watsonx.ai Studio service
Editor
platform access
- Cloud Object Storage service
Editor
platform accessManager
service access
- watsonx.ai Runtime service
Name | Version |
---|---|
terraform | >= 1.9.0 |
ibm | >=1.70.1, < 2.0.0 |
Name | Source | Version |
---|---|---|
configure_project | ./modules/configure_project | n/a |
configure_user | ./modules/configure_user | n/a |
cos_crn_parser | terraform-ibm-modules/common-utilities/ibm//modules/crn-parser | 1.1.0 |
storage_delegation | ./modules/storage_delegation | n/a |
Name | Type |
---|---|
ibm_resource_instance.watsonx_ai_runtime_instance | resource |
ibm_resource_instance.watsonx_ai_studio_instance | resource |
ibm_resource_instance.existing_watsonx_ai_runtime_instance | data source |
ibm_resource_instance.existing_watsonx_ai_studio_instance | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
cos_instance_crn | The CRN of the Cloud Object Storage instance. | string |
n/a | yes |
cos_kms_key_crn | The CRN of a KMS key. It is used to encrypt the COS buckets used by the watsonx projects. | string |
null |
no |
create_watsonx_ai_project | Whether to create and configure a starter watsonx.ai project. | bool |
true |
no |
enable_cos_kms_encryption | Flag to enable COS KMS encryption. If set to true, a value must be passed for existing_cos_kms_key_crn . |
bool |
false |
no |
existing_ai_runtime_instance_crn | The CRN of an existing watsonx.ai Runtime instance. If not provided, a new instance will be provisioned. | string |
null |
no |
existing_watsonx_ai_studio_instance_crn | The CRN of an existing watsonx.ai Studio instance. If not provided, a new instance will be provisioned. | string |
null |
no |
mark_as_sensitive | Set to true to allow the watsonx.ai project to be created with 'Mark as sensitive' flag. It enforces access restriction and prevents data from being moved out of the project. | bool |
false |
no |
prefix | Prefix to add to all watsonx.ai resources created by this module. | string |
n/a | yes |
project_description | A description of the watsonx.ai project that is created. | string |
"Watsonx project created by the watsonx.ai module." |
no |
project_name | The name of the watsonx.ai project. | string |
"demo" |
no |
project_tags | A list of tags associated with the watsonx.ai project. Each tag consists of a string containing up to 255 characters. These tags can include spaces, letters, numbers, underscores, dashes, as well as the symbols # and @. | list(string) |
[ |
no |
region | Region where the watsonx resources will be provisioned. | string |
"us-south" |
no |
resource_group_id | The resource group ID where the watsonx services will be provisioned. Required when creating a new instance. | string |
null |
no |
resource_tags | Optional list of tags to describe the service instances created by the module. | list(string) |
[] |
no |
skip_iam_authorization_policy | Whether to create an IAM authorization policy that permits the Object Storage instance to read the encryption key from the KMS instance. An authorization policy must exist before an encrypted bucket can be created. Set to true to avoid creating the policy. |
bool |
false |
no |
watsonx_ai_runtime_instance_name | The name of the watsonx.ai Runtime instance to create. If a prefix input variable is passed, it is prefixed to the value in the <prefix>-value format. |
string |
"watsonx-ml" |
no |
watsonx_ai_runtime_plan | The plan that is used to provision the watsonx.ai Runtime instance. Allowed values are 'lite', 'v2-professional' and 'v2-standard'. For 'lite' plan, the watsonx_ai_runtime_service_endpoints value is ignored and the default service configuration is applied. |
string |
"lite" |
no |
watsonx_ai_runtime_service_endpoints | The type of service endpoints for watsonx.ai Runtime. Possible values: 'public', 'private', 'public-and-private'. | string |
"public" |
no |
watsonx_ai_studio_instance_name | The name of the watsonx.ai Studio instance to create. If a prefix input variable is passed, it is prefixed to the value in the <prefix>-value format. |
string |
"watsonx-studio" |
no |
watsonx_ai_studio_plan | The plan that is used to provision the watsonx.ai Studio instance. Allowed values are 'free-v1' and 'professional-v1'. | string |
"free-v1" |
no |
Name | Description |
---|---|
watsonx_ai_project_bucket_name | The name of the COS bucket created for the watsonx.ai project. |
watsonx_ai_project_id | The ID of the watsonx.ai project that is created. |
watsonx_ai_project_url | The URL of the watsonx.ai project that is created. |
watsonx_ai_runtime_account_id | The account id of the watsonx.ai Runtime instance. |
watsonx_ai_runtime_crn | The CRN of the watsonx.ai Runtime instance. |
watsonx_ai_runtime_dashboard_url | The dashboard URL of the watsonx.ai Runtime instance. |
watsonx_ai_runtime_guid | The GUID of the watsonx.ai Runtime instance. |
watsonx_ai_runtime_name | The name of the watsonx.ai Runtime instance. |
watsonx_ai_runtime_plan_id | The plan ID of the watsonx.ai Runtime instance. |
watsonx_ai_studio_crn | The CRN of the watsonx.ai Studio instance. |
watsonx_ai_studio_dashboard_url | The dashboard URL of the watsonx.ai Studio instance. |
watsonx_ai_studio_guid | The GUID of the watsonx.ai Studio instance. |
watsonx_ai_studio_name | The name of the watsonx.ai Studio instance. |
watsonx_ai_studio_plan_id | The plan ID of the watsonx.ai Studio instance. |
You can report issues and request features for this module in GitHub issues in the module repo. See Report an issue or request a feature.
To set up your local development environment, see Local development setup in the project documentation.