1
- variable "region" {
2
- default = " cn-shanghai"
1
+ data "alicloud_mongodb_zones" "default" {
3
2
}
4
- provider "alicloud" {
5
- region = var. region
3
+
4
+ data "alicloud_cms_alarm_contact_groups" "default" {
5
+ }
6
+
7
+ module "vpc" {
8
+ source = " alibaba/vpc/alicloud"
9
+ create = true
10
+ vpc_name = var. name
11
+ vpc_cidr = " 172.16.0.0/16"
12
+ vswitch_name = var. name
13
+ vswitch_cidrs = [" 172.16.0.0/21" ]
14
+ availability_zones = [data . alicloud_mongodb_zones . default . zones . 0 . id ]
15
+ }
16
+
17
+ module "mongodb_example" {
18
+ source = " ../../"
19
+
20
+ # Mongodb Instance
21
+ create = true
22
+
23
+ name = var. name
24
+ engine_version = " 4.0"
25
+ instance_charge_type = var. instance_charge_type
26
+ db_instance_class = var. db_instance_class
27
+ db_instance_storage = var. db_instance_storage
28
+ period = var. period
29
+ security_ip_list = var. security_ip_list
30
+ replication_factor = var. replication_factor
31
+ storage_engine = " WiredTiger"
32
+ vswitch_id = module. vpc . this_vswitch_ids [0 ]
33
+ zone_id = data. alicloud_mongodb_zones . default . zones . 0 . id
34
+ account_password = var. account_password
35
+ backup_period = var. backup_period
36
+ backup_time = var. backup_time
37
+ tags = var. tags
38
+
39
+ # cms_alarm
40
+ enable_alarm_rule = false
41
+
6
42
}
7
- locals {
8
- engine_version = " 3.4"
9
- storage_engine = " RocksDB"
43
+
44
+ module "use_existing_mongodb" {
45
+ source = " ../../"
46
+
47
+ # Mongodb Instance
48
+ create = false
49
+
50
+ # cms_alarm
51
+ enable_alarm_rule = var. enable_alarm_rule
52
+
53
+ alarm_rule_name = var. alarm_rule_name
54
+ existing_instance_id = module. mongodb_example . this_mongodb_instance_id
55
+ alarm_rule_statistics = var. alarm_rule_statistics
56
+ alarm_rule_operator = var. alarm_rule_operator
57
+ alarm_rule_threshold = var. alarm_rule_threshold
58
+ alarm_rule_triggered_count = var. alarm_rule_triggered_count
59
+ alarm_rule_period = var. alarm_rule_period
60
+ alarm_rule_contact_groups = data. alicloud_cms_alarm_contact_groups . default . names
61
+ alarm_rule_silence_time = var. alarm_rule_silence_time
62
+ alarm_rule_effective_interval = var. alarm_rule_effective_interval
63
+
10
64
}
11
- data "alicloud_vpcs" "default" {
12
- is_default = true
65
+
66
+ module "mongodb_3_4_rocksdb" {
67
+ source = " ../../modules/mongodb-3.4-rocksdb"
68
+
69
+ # Mongodb Instance
70
+ name = var. name
71
+ instance_charge_type = var. instance_charge_type
72
+ db_instance_class = var. db_instance_class
73
+ db_instance_storage = var. db_instance_storage
74
+ period = var. period
75
+ security_ip_list = var. security_ip_list
76
+ replication_factor = var. replication_factor
77
+ vswitch_id = module. vpc . this_vswitch_ids [0 ]
78
+ zone_id = data. alicloud_mongodb_zones . default . zones . 0 . id
79
+ account_password = var. account_password
80
+ backup_period = var. backup_period
81
+ backup_time = var. backup_time
82
+ tags = var. tags
83
+
84
+ # cms_alarm
85
+ enable_alarm_rule = var. enable_alarm_rule
86
+ alarm_rule_name = var. alarm_rule_name
87
+ alarm_rule_statistics = var. alarm_rule_statistics
88
+ alarm_rule_operator = var. alarm_rule_operator
89
+ alarm_rule_threshold = var. alarm_rule_threshold
90
+ alarm_rule_triggered_count = var. alarm_rule_triggered_count
91
+ alarm_rule_period = var. alarm_rule_period
92
+ alarm_rule_contact_groups = data. alicloud_cms_alarm_contact_groups . default . names
93
+ alarm_rule_silence_time = var. alarm_rule_silence_time
94
+ alarm_rule_effective_interval = var. alarm_rule_effective_interval
95
+
13
96
}
14
- data "alicloud_zones" "default" {
15
- available_resource_creation = " MongoDB"
16
- multi = true
97
+
98
+ module "mongodb_3_4_wiredtiger" {
99
+ source = " ../../modules/mongodb-3.4-wiredtiger"
100
+
101
+ # Mongodb Instance
102
+ name = var. name
103
+ instance_charge_type = var. instance_charge_type
104
+ db_instance_class = var. db_instance_class
105
+ db_instance_storage = var. db_instance_storage
106
+ period = var. period
107
+ security_ip_list = var. security_ip_list
108
+ replication_factor = var. replication_factor
109
+ vswitch_id = module. vpc . this_vswitch_ids [0 ]
110
+ zone_id = data. alicloud_mongodb_zones . default . zones . 0 . id
111
+ account_password = var. account_password
112
+ backup_period = var. backup_period
113
+ backup_time = var. backup_time
114
+ tags = var. tags
115
+
116
+ # cms_alarm
117
+ enable_alarm_rule = var. enable_alarm_rule
118
+ alarm_rule_name = var. alarm_rule_name
119
+ alarm_rule_statistics = var. alarm_rule_statistics
120
+ alarm_rule_operator = var. alarm_rule_operator
121
+ alarm_rule_threshold = var. alarm_rule_threshold
122
+ alarm_rule_triggered_count = var. alarm_rule_triggered_count
123
+ alarm_rule_period = var. alarm_rule_period
124
+ alarm_rule_contact_groups = data. alicloud_cms_alarm_contact_groups . default . names
125
+ alarm_rule_silence_time = var. alarm_rule_silence_time
126
+ alarm_rule_effective_interval = var. alarm_rule_effective_interval
127
+
17
128
}
18
- resource "alicloud_vswitch" "this" {
19
- name = " mongodb_vpc"
20
- availability_zone = data. alicloud_zones . default . zones . 0 . multi_zone_ids . 0
21
- vpc_id = data. alicloud_vpcs . default . vpcs . 0 . id
22
- cidr_block = cidrsubnet (data. alicloud_vpcs . default . vpcs . 0 . cidr_block , 5 , 4 )
129
+
130
+ module "mongodb_4_0_wiredtiger" {
131
+ source = " ../../modules/mongodb-4.0-wiredtiger"
132
+
133
+ # Mongodb Instance
134
+ name = var. name
135
+ instance_charge_type = var. instance_charge_type
136
+ db_instance_class = var. db_instance_class
137
+ db_instance_storage = var. db_instance_storage
138
+ period = var. period
139
+ security_ip_list = var. security_ip_list
140
+ replication_factor = var. replication_factor
141
+ vswitch_id = module. vpc . this_vswitch_ids [0 ]
142
+ zone_id = data. alicloud_mongodb_zones . default . zones . 0 . id
143
+ account_password = var. account_password
144
+ backup_period = var. backup_period
145
+ backup_time = var. backup_time
146
+ tags = var. tags
147
+
148
+ # cms_alarm
149
+ enable_alarm_rule = var. enable_alarm_rule
150
+ alarm_rule_name = var. alarm_rule_name
151
+ alarm_rule_statistics = var. alarm_rule_statistics
152
+ alarm_rule_operator = var. alarm_rule_operator
153
+ alarm_rule_threshold = var. alarm_rule_threshold
154
+ alarm_rule_triggered_count = var. alarm_rule_triggered_count
155
+ alarm_rule_period = var. alarm_rule_period
156
+ alarm_rule_contact_groups = data. alicloud_cms_alarm_contact_groups . default . names
157
+ alarm_rule_silence_time = var. alarm_rule_silence_time
158
+ alarm_rule_effective_interval = var. alarm_rule_effective_interval
159
+
23
160
}
24
- module "mongodb_example" {
25
- source = " ../../"
26
- region = var. region
27
161
28
- # ###################
162
+ module "mongodb_4_2_wiredtiger" {
163
+ source = " ../../modules/mongodb-4.2-wiredtiger"
164
+
29
165
# Mongodb Instance
30
- # ###################
31
- engine_version = local. engine_version
32
- storage_engine = local. storage_engine
33
- replication_factor = 3
34
- name = " my-mongo"
35
- instance_charge_type = " PostPaid"
36
- db_instance_class = " dds.mongo.mid"
37
- db_instance_storage = 10
38
- period = 1
39
- security_ip_list = [" 1.1.1.1" , " 2.2.2.2" , " 3.3.3.3" ]
40
- vswitch_id = alicloud_vswitch. this . id
41
- zone_id = data. alicloud_zones . default . zones . 0 . multi_zone_ids . 0
42
- account_password = " mongo123"
43
- backup_period = [" Monday" , " Wednesday" , " Friday" ]
44
- backup_time = " 02:00Z-03:00Z"
45
- tags = {
46
- Env = " Private"
47
- Location = " Secret"
48
- }
49
-
50
- # ############
166
+ name = var. name
167
+ instance_charge_type = var. instance_charge_type
168
+ db_instance_class = var. db_instance_class
169
+ db_instance_storage = var. db_instance_storage
170
+ period = var. period
171
+ security_ip_list = var. security_ip_list
172
+ replication_factor = var. replication_factor
173
+ vswitch_id = module. vpc . this_vswitch_ids [0 ]
174
+ zone_id = data. alicloud_mongodb_zones . default . zones . 0 . id
175
+ account_password = var. account_password
176
+ backup_period = var. backup_period
177
+ backup_time = var. backup_time
178
+ tags = var. tags
179
+
51
180
# cms_alarm
52
- # ############
53
- alarm_rule_name = " CmsAlarmForMongodb"
54
- alarm_rule_statistics = " Average"
55
- alarm_rule_period = 300
56
- alarm_rule_operator = " <="
57
- alarm_rule_threshold = 35
58
- alarm_rule_triggered_count = 2
59
- alarm_rule_contact_groups = [" Mongodb" , " AccCms" ]
181
+ enable_alarm_rule = var. enable_alarm_rule
182
+ alarm_rule_name = var. alarm_rule_name
183
+ alarm_rule_statistics = var. alarm_rule_statistics
184
+ alarm_rule_operator = var. alarm_rule_operator
185
+ alarm_rule_threshold = var. alarm_rule_threshold
186
+ alarm_rule_triggered_count = var. alarm_rule_triggered_count
187
+ alarm_rule_period = var. alarm_rule_period
188
+ alarm_rule_contact_groups = data. alicloud_cms_alarm_contact_groups . default . names
189
+ alarm_rule_silence_time = var. alarm_rule_silence_time
190
+ alarm_rule_effective_interval = var. alarm_rule_effective_interval
191
+
60
192
}
0 commit comments