Skip to content

terraform-ibm-modules/terraform-ibm-mq-cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Terraform MQ on Cloud Module

Graduated (Supported) latest release pre-commit Renovate enabled 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 unpredictable failures.

Overview

terraform-ibm-mq-cloud

Usage

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"

  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"
    }
  }

}

Required IAM access policies

  • IAM services
    • mqcloud service
      • Editor platform access
      • Manager service access

Requirements

Name Version
terraform >= 1.9.0

Modules

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

Resources

No resources.

Inputs

Name Description Type Default Required
applications A map of IBM MQ on Cloud applications to be created.
map(object({
name = string
}))
{} no
existing_mq_capacity_crn The CRN of an existing capacity service instance. If no CRN is specifiied, a new capacity plan is created. string null no
keystore_certificates A map of IBM MQ on Cloud keystore certificates to be created.
map(object({
certificate = string
label = string
}))
{} no
name The name to give the IBM 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 is deployed. Defaults to using the first location in the created service instance. string null no
queue_manager_name A queue manager name conforming to IBM MQ on Cloud 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, or large . string "xsmall" no
queue_manager_version The IBM MQ on Cloud version of the queue manager. If set to null, the latest available version is used. string null no
region The region where the IBM MQ on Cloud instance is created. string n/a yes
resource_group_id The ID of the resource group where the IBM MQ on Cloud instance is created. string n/a yes
subscription_id An IBM MQ on Cloud subscription plan ID for customers who purchased a subscription through an IBM sales representative. string null no
tags The list of resource tags to add to your IBM MQ on Cloud instance. list(string) [] no
truststore_certificates A map of IBM MQ on Cloud truststore certificates to be created.
map(object({
certificate = string
label = string
}))
{} no
users A map of IBM MQ on Cloud users to be created.
map(object({
email = string
name = string
}))
{} no

Outputs

Name Description
queue_manager_id The ID of the IBM MQ on Cloud queue manager
queue_manager_options Queue manager options for the IBM MQ on Cloud deployment service instance.
service_instance_capacity_crn The CRN of the IBM MQ on Cloud capacity service instance.
service_instance_capacity_guid The GUID of the IBM MQ on Cloud capacity service instance.
service_instance_deployment_crn The CRN of the IBM MQ on Cloud deployment service instance.
service_instance_deployment_guid The GUID of the IBM 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.

To set up your local development environment, see Local development setup in the project documentation.