@@ -34,7 +34,17 @@ locals {
34
34
snapshot_id = " "
35
35
}
36
36
37
- data_volumes_default = [for x in var . data_volumes : merge (local. data_volume_default , x)]
37
+ data_volumes_default_no_comp = [for x in var . data_volumes : merge (local. data_volume_default , x)]
38
+ data_volumes_default = var. compatible_with_single_volume ? [{
39
+ type = var.data_volume_type,
40
+ iops = var.data_volume_iops,
41
+ size = var.data_volume_size,
42
+ encrypted = var.data_volume_encrypted,
43
+ kms_key_id = var.data_volume_kms_key_id,
44
+ snapshot_id = var.data_volume_snapshot_id,
45
+ name = " ${ local . name_prefix_with_az } -default" ,
46
+ device = " /dev/xvdf"
47
+ }] : local. data_volumes_default_no_comp
38
48
}
39
49
40
50
# Create an IAM Instance profile we can use on EC2, associated with the ASG
@@ -50,6 +60,7 @@ module "service-data" {
50
60
region = var. region
51
61
az = local. az
52
62
volumes = local. data_volumes_default
63
+ compatible_with_single_volume = false
53
64
54
65
# EBS module will create an IAM policy and associate with this role
55
66
iam_instance_profile_role_name = module. instance_profile . iam_role_name
@@ -83,8 +94,10 @@ module "server" {
83
94
user_data = << END_INIT
84
95
#!/bin/bash
85
96
# exec > /tmp/init.log
86
- # exec 2> /tmp/init-err.log
97
+ exec 2>&1
87
98
# set -x
99
+ apt update
100
+ ${ module . install-awscli . init_snippet }
88
101
${ var . init_prefix }
89
102
${ module . init-attach-ebs . init_snippet }
90
103
${ var . init_suffix }
@@ -97,5 +110,10 @@ module "init-attach-ebs" {
97
110
source = " ../init-snippet-attach-ebs-volume"
98
111
region = var. region
99
112
volume_ids = module. service-data . volume_ids
100
- device_paths = [for x in var . data_volumes : x . device ]
113
+ device_paths = [for x in local . data_volumes_default : x . device ]
114
+ compatible_with_single_volume = false
115
+ }
116
+
117
+ module "install-awscli" {
118
+ source = " ../init-snippet-install-awscli"
101
119
}
0 commit comments