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.
module "mq_on_cloud" {
source = "terraform-ibm-modules/mq-cloud/ibm/"
version = "x.x.x" #
resource_group_id = module.resource_group.resource_group_id
name = "${var.prefix}-mq-instance"
region = "us-east"
existing_mq_capacity_crn = "crn:<...>" # MQ on Cloud capacity instance crn
queue_manager_display_name = "queue-manager"
queue_manager_name = "qm"
queue_manager_size = "xsmall"
queue_manager_version = "9.4.0_3"
applications = {
"application" = {
name = "application"
}
}
users = {
"user" = {
name = "user"
email = "user@example.com"
}
}
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"
}
}
}
Name | Version |
---|---|
terraform | >= 1.3.0 |
Name | Source | Version |
---|---|---|
application | ./modules/application | n/a |
keystore_certificate | ./modules/keystore-certificate | n/a |
mqcloud_instance | ./modules/mq-instance | n/a |
queue_manager | ./modules/queue-manager | n/a |
truststore_certificate | ./modules/truststore-certificate | n/a |
user | ./modules/user | n/a |
No resources.
Name | Description | Type | Default | Required |
---|---|---|---|---|
applications | A map of IBM MQ on Cloud applications to be created. | map(object({ |
{} |
no |
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 | A map of IBM MQ on Cloud keystore certificates to be created. | map(object({ |
{} |
no |
name | The name to give the MQ on Cloud instance. | string |
n/a | yes |
queue_manager_display_name | A displayable name for the queue manager. | string |
n/a | yes |
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 | 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 | The queue manager deployment sizes. Valid values are xsmall , small , medium , large . |
string |
"xsmall" |
no |
queue_manager_version | The MQ version of the queue manager. | string |
n/a | yes |
region | The region to provision the MQ on Cloud instance to. | string |
n/a | yes |
resource_group_id | The ID of the resource group to provision the MQ on Cloud instance to. | string |
n/a | yes |
tags | The list of resource tags that you want to associate with your MQ on Cloud instance. | list(string) |
[] |
no |
truststore_certificates | A map of IBM MQ on Cloud truststore certificates to be created. | map(object({ |
{} |
no |
users | A map of IBM MQ on Cloud users to be created. | map(object({ |
{} |
no |
Name | Description |
---|---|
queue_manager_id | The ID of the MQ on Cloud queue manager |
queue_manager_options | Queue manager options for the MQ on Cloud deployment service instance |
service_instance_capacity_crn | The CRN of the MQ on Cloud capacity service instance |
service_instance_capacity_guid | The GUID of the MQ on Cloud capacity service instance |
service_instance_deployment_crn | The CRN of the MQ on Cloud deployment service instance |
service_instance_deployment_guid | The GUID of the MQ on Cloud deployment service 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.