generated from terraform-ibm-modules/terraform-ibm-module-template
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathmain.tf
More file actions
82 lines (74 loc) · 3.57 KB
/
main.tf
File metadata and controls
82 lines (74 loc) · 3.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
##############################################################################
# MQ on Cloud instance and queue manager
##############################################################################
locals {
# Capacity instance
split_capacity_crn = var.existing_mq_capacity_crn == null ? null : split(":", var.existing_mq_capacity_crn)
existing_mq_capacity_guid = var.existing_mq_capacity_crn == null ? null : (length(local.split_capacity_crn) >= 8 ? local.split_capacity_crn[7] : null)
capacity_crn = var.existing_mq_capacity_crn == null ? module.mqcloud_instance.capacity_crn : var.existing_mq_capacity_crn
capacity_guid = local.existing_mq_capacity_guid != null ? local.existing_mq_capacity_guid : module.mqcloud_instance.capacity_guid
deployment_crn = module.mqcloud_instance.deployment_crn
deployment_guid = module.mqcloud_instance.deployment_guid
}
module "mqcloud_instance" {
source = "./modules/mq-instance"
name = var.name
region = var.region
resource_group_id = var.resource_group_id
existing_mq_capacity_crn = var.existing_mq_capacity_crn
subscription_id = var.subscription_id
tags = var.tags
}
locals {
queue_manager_location = var.queue_manager_location != null ? var.queue_manager_location : module.mqcloud_instance.queue_manager_options.locations[0]
}
module "queue_manager" {
source = "./modules/queue-manager"
display_name = var.queue_manager_display_name
location = local.queue_manager_location
name = var.queue_manager_name
service_instance_crn = local.deployment_crn
size = var.queue_manager_size
queue_manager_version = var.queue_manager_version
}
##############################################################################
# MQ on Cloud applications
##############################################################################
module "application" {
source = "./modules/application"
for_each = var.applications
service_instance_crn = local.deployment_crn
name = each.key
}
##############################################################################
# MQ on Cloud users
##############################################################################
module "user" {
source = "./modules/user"
for_each = var.users
service_instance_crn = local.deployment_crn
name = each.key
email = each.value.email
}
##############################################################################
# MQ on Cloud keystore certificate
##############################################################################
module "keystore_certificate" {
source = "./modules/keystore-certificate"
for_each = var.keystore_certificates
service_instance_crn = local.deployment_crn
certificate = each.value.certificate
label = each.value.label
queue_manager_id = module.queue_manager.queue_manager_id
}
##############################################################################
# MQ on Cloud truststore certificate
##############################################################################
module "truststore_certificate" {
source = "./modules/truststore-certificate"
for_each = var.truststore_certificates
service_instance_crn = local.deployment_crn
certificate = each.value.certificate
label = each.value.label
queue_manager_id = module.queue_manager.queue_manager_id
}