https://github.com/terraform-ibm-modules/terraform-ibm-watsonx-data
Terraform module to create and work with IBM watsonx.data
https://github.com/terraform-ibm-modules/terraform-ibm-watsonx-data
core-team ibm-cloud lakehouse terraform terraform-module watsonx-data
Last synced: about 1 month ago
JSON representation
Terraform module to create and work with IBM watsonx.data
- Host: GitHub
- URL: https://github.com/terraform-ibm-modules/terraform-ibm-watsonx-data
- Owner: terraform-ibm-modules
- License: apache-2.0
- Created: 2024-11-07T11:53:57.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-04-13T14:05:19.000Z (about 1 month ago)
- Last Synced: 2025-04-13T15:20:16.963Z (about 1 month ago)
- Topics: core-team, ibm-cloud, lakehouse, terraform, terraform-module, watsonx-data
- Language: HCL
- Size: 219 KB
- Stars: 0
- Watchers: 12
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# IBM Watsonx.data
[-green)](https://terraform-ibm-modules.github.io/documentation/#/badge-status)
[](https://github.com/terraform-ibm-modules/terraform-ibm-watsonx-data/releases/latest)
[](https://github.com/pre-commit/pre-commit)
[](https://renovatebot.com/)
[](https://github.com/semantic-release/semantic-release)IBM® watsonx.data is a new open architecture lakehouse that combines the elements of the data warehouse and data lakes. For more information visit [here](https://cloud.ibm.com/docs/watsonxdata?topic=watsonxdata-wxd_ov)
## Overview
* [terraform-ibm-watsonx-data](#terraform-ibm-watsonx-data)
* [Examples](./examples)
* [Basic example](./examples/basic)
* [Existing instance example](./examples/existing-instance)
* [Contributing](#contributing)## terraform-ibm-watsonx-data
This module supports provisioning the following:
* Provisioning watsonx.data instance with a selectable service plan
### Usage
```hcl
module "watsonx_data" {
source = "terraform-ibm-modules/watsonx-data/ibm"
version = "X.Y.Z" # Replace "X.Y.Z" with a release version to lock into a specific release
watsonx_data_name = "watsonx-data"
region = "us-south"
watsonx_data_plan = "lite"
resource_group_id = "xxXXxxXXxXxxXXXXX" # replace with ID of resource group
}```
### Required access policies
You need the following permissions to run this module.
* Account Management
* **Resource Group**
- `Viewer` role
* IAM Services
* **watsonx.data** service
- `Editor` platform accessTo attach access management tags to resources in this module, you need the following permissions.
- IAM Services
- **Tagging** service
- `Administrator` platform access### Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.9.0 |
| [ibm](#requirement\_ibm) | >=1.70.1, < 2.0.0 |
| [time](#requirement\_time) | >= 0.12.1 |### Modules
| Name | Source | Version |
|------|--------|---------|
| [crn\_parser](#module\_crn\_parser) | terraform-ibm-modules/common-utilities/ibm//modules/crn-parser | 1.1.0 |
| [kms\_key\_crn\_parser](#module\_kms\_key\_crn\_parser) | terraform-ibm-modules/common-utilities/ibm//modules/crn-parser | 1.1.0 |### Resources
| Name | Type |
|------|------|
| [ibm_iam_authorization_policy.kms_policy](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/iam_authorization_policy) | resource |
| [ibm_resource_instance.data_instance](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_instance) | resource |
| [ibm_resource_tag.watsonx_data_tag](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_tag) | resource |
| [time_sleep.wait_for_kms_authorization_policy](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
| [ibm_resource_instance.existing_data_instance](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/data-sources/resource_instance) | data source |### Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [access\_tags](#input\_access\_tags) | A list of access tags to apply to the watsonx.data instance created by the module. For more information, see https://cloud.ibm.com/docs/account?topic=account-access-tags-tutorial. | `list(string)` | `[]` | no |
| [enable\_kms\_encryption](#input\_enable\_kms\_encryption) | Flag to enable the KMS encryption. | `bool` | `false` | no |
| [existing\_watsonx\_data\_instance\_crn](#input\_existing\_watsonx\_data\_instance\_crn) | The CRN of an existing watsonx.data instance.If not provided, a new instance will be provisioned. | `string` | `null` | no |
| [plan](#input\_plan) | The plan that is required to provision the watsonx.data instance. Possible values are: 'lite' , 'lakehouse-enterprise' and `lakehouse-enterprise-mcsp` (only for au-syd region). [Learn more](https://cloud.ibm.com/docs/watsonxdata?topic=watsonxdata-getting-started) | `string` | `"lite"` | no |
| [region](#input\_region) | The region to provision the watsonx.data instance. | `string` | `"us-south"` | no |
| [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID where the watsonx.data instance will be grouped. Required when creating a new instance. | `string` | `null` | no |
| [resource\_tags](#input\_resource\_tags) | Optional list of tags to describe the watsonx.data instance created by the module. | `list(string)` | `[]` | no |
| [skip\_iam\_authorization\_policy](#input\_skip\_iam\_authorization\_policy) | Whether to create an IAM authorization policy that permits the watsonx.data instance to read the encryption key from the KMS instance. Set to `true` to avoid creating the policy. | `bool` | `false` | no |
| [use\_case](#input\_use\_case) | The Lite plan instance can be provisioned based on the three use cases - Generative AI, Data Engineering and High Performance BI. Allowed values are : 'ai', 'workloads' and 'performance'. [Learn more](https://cloud.ibm.com/docs/watsonxdata?topic=watsonxdata-tutorial_prov_lite_1) | `string` | `"workloads"` | no |
| [watsonx\_data\_kms\_key\_crn](#input\_watsonx\_data\_kms\_key\_crn) | The KMS key CRN used to encrypt the watsonx.data instance. | `string` | `null` | no |
| [watsonx\_data\_name](#input\_watsonx\_data\_name) | The name of the watsonx.data instance. Required if creating a new instance. | `string` | `null` | no |### Outputs
| Name | Description |
|------|-------------|
| [account\_id](#output\_account\_id) | Account ID of the watsonx.data instance. |
| [crn](#output\_crn) | The CRN of the watsonx.data instance. |
| [dashboard\_url](#output\_dashboard\_url) | The dashboard URL of the watsonx.data instance. |
| [guid](#output\_guid) | The GUID of the watsonx.data instance. |
| [id](#output\_id) | ID of the watsonx.data instance. |
| [name](#output\_name) | The name of the watsonx.data instance. |
| [plan\_id](#output\_plan\_id) | The plan ID of the watsonx.data instance. |## Contributing
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](https://github.com/terraform-ibm-modules/.github/blob/main/.github/SUPPORT.md).
To set up your local development environment, see [Local development setup](https://terraform-ibm-modules.github.io/documentation/#/local-dev-setup) in the project documentation.