An open API service indexing awesome lists of open source software.

https://github.com/terraform-ibm-modules/terraform-ibm-watsonx-assistant

Terraform module to create and work with IBM watsonx Assistant.
https://github.com/terraform-ibm-modules/terraform-ibm-watsonx-assistant

assistant conversation core-team ibm-cloud terraform terraform-module watsonx

Last synced: about 1 month ago
JSON representation

Terraform module to create and work with IBM watsonx Assistant.

Awesome Lists containing this project

README

        

# Terraform IBM Watsonx Assistant

[![Stable (With quality checks)](https://img.shields.io/badge/Status-Stable%20(With%20quality%20checks)-green)](https://terraform-ibm-modules.github.io/documentation/#/badge-status)
[![latest release](https://img.shields.io/github/v/release/terraform-ibm-modules/terraform-ibm-watsonx-assistant?logo=GitHub&sort=semver)](https://github.com/terraform-ibm-modules/terraform-ibm-watsonx-assistant/releases/latest)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

The IBM watsonx Assistant Terraform module is designed to automate the deployment and configuration of the IBM watsonx Assistant, a next-generation conversational AI solution.

For further information on IBM watsonx Assistant, including supported features, plans, and regions, please refer the official watsonx Assistant [documentation](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-welcome-new-assistant)

## Overview
* [terraform-ibm-watsonx-assistant](#terraform-ibm-watsonx-assistant)
* [Examples](./examples)
* [Basic example](./examples/basic)
* [Existing instance example](./examples/existing-instance)
* [Contributing](#contributing)

## terraform-ibm-watsonx-assistant

This module supports provisioning the watsonx Assistant instance with a selectable service plan.

### Usage

```hcl

module "watsonx_assistant" {
source = "terraform-ibm-modules/watsonx-assistant/ibm"
region = "us-south"
watsonx_assistant_name = "example-wx-assistant-basic"
plan = "plus-trial"
resource_group_id = "a8c...8230a" # replace with ID of resource group
}

```

### Required IAM access policies

You need the following permissions to run this module:

* Account Management
* **Resource Group**
- `Viewer` role
* IAM Services
* **watsonx Assistant** service
- `Editor` platform access

To 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 |

### Modules

| Name | Source | Version |
|------|--------|---------|
| [crn\_parser](#module\_crn\_parser) | terraform-ibm-modules/common-utilities/ibm//modules/crn-parser | 1.1.0 |

### Resources

| Name | Type |
|------|------|
| [ibm_resource_instance.watsonx_assistant_instance](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_instance) | resource |
| [ibm_resource_tag.watsonx_assistant_tag](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_tag) | resource |
| [ibm_resource_instance.existing_assistant_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 Assistant instance. For more information, see https://cloud.ibm.com/docs/account?topic=account-access-tags-tutorial. | `list(string)` | `[]` | no |
| [existing\_watsonx\_assistant\_instance\_crn](#input\_existing\_watsonx\_assistant\_instance\_crn) | The CRN of an existing watsonx Assistant 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 Assistant instance. Possible values are: plus-trial, free, plus, enterprise. For 'plus-trial' and 'free' plans, the `service_endpoints` value is ignored and the default service configuration is applied. | `string` | `"plus-trial"` | no |
| [region](#input\_region) | Region where the watsonx Assistant instance will be provisioned. Required if creating a new instance. | `string` | `"us-south"` | no |
| [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID where the watsonx Assistant 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 Assistant instance created by the module. | `list(string)` | `[]` | no |
| [service\_endpoints](#input\_service\_endpoints) | Types of the service endpoints that can be set to a watsonx Assistant instance. Possible values are : public, private or public-and-private. For 'plus-trial' and 'free plans', the value is ignored and the default service configuration is applied. | `string` | `"public-and-private"` | no |
| [watsonx\_assistant\_name](#input\_watsonx\_assistant\_name) | The name of the watsonx Assistant instance. Required if creating a new instance. | `string` | `null` | no |

### Outputs

| Name | Description |
|------|-------------|
| [account\_id](#output\_account\_id) | Account ID of the watsonx Assistant instance. |
| [crn](#output\_crn) | The CRN of the watsonx Assistant instance. |
| [dashboard\_url](#output\_dashboard\_url) | The dashboard URL of the watsonx Assistant instance. |
| [guid](#output\_guid) | The GUID of the watsonx Assistant instance. |
| [id](#output\_id) | ID of the watsonx Assistant instance. |
| [name](#output\_name) | The name of the watsonx Assistant instance. |
| [plan\_id](#output\_plan\_id) | The plan ID of the watsonx Assistant 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.