https://github.com/terraform-ibm-modules/terraform-ibm-mq-cloud
Provisions and configures IBM Cloud MQ on Cloud.
https://github.com/terraform-ibm-modules/terraform-ibm-mq-cloud
core-team deployable-architecture ibm-cloud mq supported terraform terraform-module
Last synced: about 2 months ago
JSON representation
Provisions and configures IBM Cloud MQ on Cloud.
- Host: GitHub
- URL: https://github.com/terraform-ibm-modules/terraform-ibm-mq-cloud
- Owner: terraform-ibm-modules
- License: apache-2.0
- Created: 2024-04-30T13:09:04.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-22T22:04:40.000Z (5 months ago)
- Last Synced: 2024-12-26T15:04:07.302Z (5 months ago)
- Topics: core-team, deployable-architecture, ibm-cloud, mq, supported, terraform, terraform-module
- Language: HCL
- Size: 223 KB
- Stars: 0
- Watchers: 14
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Terraform MQ on Cloud Module
[-red)](https://terraform-ibm-modules.github.io/documentation/#/badge-status)
[](https://github.com/terraform-ibm-modules/terraform-ibm-mq-cloud/releases/latest)
[](https://github.com/pre-commit/pre-commit)
[](https://renovatebot.com/)
[](https://github.com/semantic-release/semantic-release)IBM MQ on IBM Cloud enables you to quickly and easily deploy queue managers in the cloud and connect your applications to them, providing reliable data transfer between different parts of your enterprise application landscape.
Use the terraform IBM module for MQ on Cloud manage MQ resources. Queue manager, User, Application and Certificate interfaces enable convenient management of MQ on Cloud resource lifecycles.
Information: The terraform IBM module for MQ on Cloud is incubating and NOT GA on IBM Cloud. The features demonstrated here
are incomplete, may not be in final form and may generate unpredicatable failures.## Overview
* [terraform-ibm-mq-cloud](#terraform-ibm-mq-cloud)
* [Submodules](./modules)
* [application](./modules/application)
* [experimental-api-key](./modules/experimental-api-key)
* [experimental-certificate](./modules/experimental-certificate)
* [experimental-connection](./modules/experimental-connection)
* [keystore-certificate](./modules/keystore-certificate)
* [mq-instance](./modules/mq-instance)
* [queue-manager](./modules/queue-manager)
* [truststore-certificate](./modules/truststore-certificate)
* [user](./modules/user)
* [Examples](./examples)
* [Advanced example](./examples/advanced)
* [Basic example](./examples/basic)
* [Contributing](#contributing)## terraform-ibm-mq-cloud
### Usage
```hcl
module "mq_on_cloud" {
source = "terraform-ibm-modules/mq-cloud/ibm"
version = "x.x.x" #
resource_group_id = module.resource_group.resource_group_idname = "${var.prefix}-mq-instance"
region = "us-east"
existing_mq_capacity_crn = "crn:<...>" # MQ on Cloud capacity instance crnqueue_manager_display_name = "queue-manager"
queue_manager_name = "qm"
queue_manager_size = "xsmall"applications = {
"application" = {
name = "application"
}
}
users = {
"user" = {
name = "user"
email = "[email protected]"
}
}
keystore_certificates = {
"ks-cert" = {
certificate = "YmFzZTY0IGVuY29kZWQgY2VydGlmaWNhdGUK" # Base64 encoded certificate
label = "ks_cert_1"
}
}
truststore_certificates = {
"ts-cert" = {
certificate = "YmFzZTY0IGVuY29kZWQgY2VydGlmaWNhdGUK" # Base64 encoded certificate
label = "ts_cert_1"
}
}}
```### Required IAM access policies
### Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.0 |### Modules
| Name | Source | Version |
|------|--------|---------|
| [application](#module\_application) | ./modules/application | n/a |
| [keystore\_certificate](#module\_keystore\_certificate) | ./modules/keystore-certificate | n/a |
| [mqcloud\_instance](#module\_mqcloud\_instance) | ./modules/mq-instance | n/a |
| [queue\_manager](#module\_queue\_manager) | ./modules/queue-manager | n/a |
| [truststore\_certificate](#module\_truststore\_certificate) | ./modules/truststore-certificate | n/a |
| [user](#module\_user) | ./modules/user | n/a |### Resources
No resources.
### Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [applications](#input\_applications) | A map of IBM MQ on Cloud applications to be created. |map(object({| `{}` | no |
name = string
}))
| [existing\_mq\_capacity\_crn](#input\_existing\_mq\_capacity\_crn) | The CRN of an existing capacity service instance, if not specifed, a new capacity plan will be created | `string` | `null` | no |
| [keystore\_certificates](#input\_keystore\_certificates) | A map of IBM MQ on Cloud keystore certificates to be created. |map(object({| `{}` | no |
certificate = string
label = string
}))
| [name](#input\_name) | The name to give the MQ on Cloud instance. | `string` | n/a | yes |
| [queue\_manager\_display\_name](#input\_queue\_manager\_display\_name) | A displayable name for the queue manager. | `string` | n/a | yes |
| [queue\_manager\_location](#input\_queue\_manager\_location) | The location in which the queue manager will be deployed. Defaults to using the first location in the created service instance | `string` | `null` | no |
| [queue\_manager\_name](#input\_queue\_manager\_name) | A queue manager name conforming to MQ restrictions. 1 to 48 characters matching regular expression '/^[a-zA-Z0-9.\_]*$/' . | `string` | n/a | yes |
| [queue\_manager\_size](#input\_queue\_manager\_size) | The queue manager deployment sizes. Valid values are `xsmall`, `small`, `medium`, `large` . | `string` | `"xsmall"` | no |
| [queue\_manager\_version](#input\_queue\_manager\_version) | The MQ version of the queue manager. If null, use the latest available | `string` | `null` | no |
| [region](#input\_region) | The region to provision the MQ on Cloud instance to. | `string` | n/a | yes |
| [resource\_group\_id](#input\_resource\_group\_id) | The ID of the resource group to provision the MQ on Cloud instance to. | `string` | n/a | yes |
| [subscription\_id](#input\_subscription\_id) | An MQ on Cloud subscsription plan id for customers who have purchased a subscription through an IBM sales representative | `string` | `null` | no |
| [tags](#input\_tags) | The list of resource tags that you want to associate with your MQ on Cloud instance. | `list(string)` | `[]` | no |
| [truststore\_certificates](#input\_truststore\_certificates) | A map of IBM MQ on Cloud truststore certificates to be created. |map(object({| `{}` | no |
certificate = string
label = string
}))
| [users](#input\_users) | A map of IBM MQ on Cloud users to be created. |map(object({| `{}` | no |
email = string
name = string
}))### Outputs
| Name | Description |
|------|-------------|
| [queue\_manager\_id](#output\_queue\_manager\_id) | The ID of the MQ on Cloud queue manager |
| [queue\_manager\_options](#output\_queue\_manager\_options) | Queue manager options for the MQ on Cloud deployment service instance |
| [service\_instance\_capacity\_crn](#output\_service\_instance\_capacity\_crn) | The CRN of the MQ on Cloud capacity service instance |
| [service\_instance\_capacity\_guid](#output\_service\_instance\_capacity\_guid) | The GUID of the MQ on Cloud capacity service instance |
| [service\_instance\_deployment\_crn](#output\_service\_instance\_deployment\_crn) | The CRN of the MQ on Cloud deployment service instance |
| [service\_instance\_deployment\_guid](#output\_service\_instance\_deployment\_guid) | The GUID of the MQ on Cloud deployment service 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.