Skip to content

Commit cce8391

Browse files
committed
examples: improve the examples
1 parent 57231ae commit cce8391

File tree

21 files changed

+115
-385
lines changed

21 files changed

+115
-385
lines changed

examples/using-submodule-complete/main.tf renamed to examples/(Deprecated)using-submodule-complete/main.tf

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,20 @@
1-
variable "region" {
2-
default = "cn-shanghai"
3-
}
41
provider "alicloud" {
5-
region = var.region
2+
region = "cn-shanghai"
63
}
74
data "alicloud_vpcs" "default" {
8-
is_default = true
95
}
106
data "alicloud_zones" "default" {
117
available_resource_creation = "MongoDB"
128
multi = true
139
}
1410
resource "alicloud_vswitch" "this" {
15-
name = "mongodb_vpc"
16-
availability_zone = data.alicloud_zones.default.zones.0.multi_zone_ids.0
17-
vpc_id = data.alicloud_vpcs.default.vpcs.0.id
18-
cidr_block = cidrsubnet(data.alicloud_vpcs.default.vpcs.0.cidr_block, 4, 4)
11+
vswitch_name = "mongodb_vpc"
12+
zone_id = data.alicloud_zones.default.zones[0].multi_zone_ids[0]
13+
vpc_id = data.alicloud_vpcs.default.vpcs[0].id
14+
cidr_block = cidrsubnet(data.alicloud_vpcs.default.vpcs[0].cidr_block, 4, 4)
1915
}
2016
module "mongodb_example" {
21-
source = "../../modules/mongodb-3.4-rocksdb"
22-
region = var.region
17+
source = "../../modules/mongodb-4.2-wiredtiger"
2318

2419
###################
2520
# Mongodb instance
@@ -32,8 +27,8 @@ module "mongodb_example" {
3227
period = 1
3328
security_ip_list = ["1.1.1.1", "2.2.2.2", "3.3.3.3"]
3429
vswitch_id = alicloud_vswitch.this.id
35-
zone_id = data.alicloud_zones.default.zones.0.multi_zone_ids.0
36-
account_password = "mongo123"
30+
zone_id = data.alicloud_zones.default.zones[0].multi_zone_ids[0]
31+
account_password = "YourPassword123!"
3732
backup_period = ["Monday", "Wednesday", "Friday"]
3833
backup_time = "02:00Z-03:00Z"
3934
tags = {
@@ -51,4 +46,4 @@ module "mongodb_example" {
5146
alarm_rule_threshold = 35
5247
alarm_rule_triggered_count = 2
5348
alarm_rule_contact_groups = ["Mongodb", "AccCms"]
54-
}
49+
}

examples/using-submodule-complete/output.tf renamed to examples/(Deprecated)using-submodule-complete/outputs.tf

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,6 @@ output "this_alarm_rule_enabled" {
154154
value = module.mongodb_example.this_alarm_rule_enabled
155155
}
156156

157-
output "this_alarm_rule_webhook" {
158-
description = "The webhook that is called when the alarm is triggered. "
159-
value = module.mongodb_example.this_alarm_rule_webhook
160-
}
161-
162157
output "this_alarm_rule_cpu_utilization_status" {
163158
description = "The current alarm cpu utilization rule status. "
164159
value = module.mongodb_example.this_alarm_rule_cpu_utilization_status

examples/(Deprecated)using-submodule-complete/variables.tf

Whitespace-only changes.

examples/complete/main.tf

Lines changed: 6 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
1-
provider "alicloud" {
2-
region = "eu-central-1"
3-
}
4-
51
data "alicloud_mongodb_zones" "default" {
62
}
73

84
data "alicloud_cms_alarm_contact_groups" "default" {
95
}
106

117
module "vpc" {
12-
source = "alibaba/vpc/alicloud"
8+
source = "alibaba/vpc/alicloud"
9+
version = "~>1.11.0"
10+
1311
create = true
1412
vpc_name = var.name
1513
vpc_cidr = "172.16.0.0/16"
1614
vswitch_name = var.name
1715
vswitch_cidrs = ["172.16.0.0/21"]
18-
availability_zones = [data.alicloud_mongodb_zones.default.zones.0.id]
16+
availability_zones = [data.alicloud_mongodb_zones.default.zones[0].id]
1917
}
2018

2119
module "mongodb_example" {
@@ -25,7 +23,7 @@ module "mongodb_example" {
2523
create = true
2624

2725
name = var.name
28-
engine_version = "4.0"
26+
engine_version = "4.4"
2927
instance_charge_type = var.instance_charge_type
3028
db_instance_class = var.db_instance_class
3129
db_instance_storage = var.db_instance_storage
@@ -34,7 +32,7 @@ module "mongodb_example" {
3432
replication_factor = var.replication_factor
3533
storage_engine = "WiredTiger"
3634
vswitch_id = module.vpc.this_vswitch_ids[0]
37-
zone_id = data.alicloud_mongodb_zones.default.zones.0.id
35+
zone_id = data.alicloud_mongodb_zones.default.zones[0].id
3836
account_password = var.account_password
3937
backup_period = var.backup_period
4038
backup_time = var.backup_time
@@ -66,131 +64,3 @@ module "use_existing_mongodb" {
6664
alarm_rule_effective_interval = var.alarm_rule_effective_interval
6765

6866
}
69-
70-
module "mongodb_3_4_rocksdb" {
71-
source = "../../modules/mongodb-3.4-rocksdb"
72-
73-
# Mongodb Instance
74-
name = var.name
75-
instance_charge_type = var.instance_charge_type
76-
db_instance_class = var.db_instance_class
77-
db_instance_storage = var.db_instance_storage
78-
period = var.period
79-
security_ip_list = var.security_ip_list
80-
replication_factor = var.replication_factor
81-
vswitch_id = module.vpc.this_vswitch_ids[0]
82-
zone_id = data.alicloud_mongodb_zones.default.zones.0.id
83-
account_password = var.account_password
84-
backup_period = var.backup_period
85-
backup_time = var.backup_time
86-
tags = var.tags
87-
88-
# cms_alarm
89-
enable_alarm_rule = var.enable_alarm_rule
90-
alarm_rule_name = var.alarm_rule_name
91-
alarm_rule_statistics = var.alarm_rule_statistics
92-
alarm_rule_operator = var.alarm_rule_operator
93-
alarm_rule_threshold = var.alarm_rule_threshold
94-
alarm_rule_triggered_count = var.alarm_rule_triggered_count
95-
alarm_rule_period = var.alarm_rule_period
96-
alarm_rule_contact_groups = data.alicloud_cms_alarm_contact_groups.default.names
97-
alarm_rule_silence_time = var.alarm_rule_silence_time
98-
alarm_rule_effective_interval = var.alarm_rule_effective_interval
99-
100-
}
101-
102-
module "mongodb_3_4_wiredtiger" {
103-
source = "../../modules/mongodb-3.4-wiredtiger"
104-
105-
# Mongodb Instance
106-
name = var.name
107-
instance_charge_type = var.instance_charge_type
108-
db_instance_class = var.db_instance_class
109-
db_instance_storage = var.db_instance_storage
110-
period = var.period
111-
security_ip_list = var.security_ip_list
112-
replication_factor = var.replication_factor
113-
vswitch_id = module.vpc.this_vswitch_ids[0]
114-
zone_id = data.alicloud_mongodb_zones.default.zones.0.id
115-
account_password = var.account_password
116-
backup_period = var.backup_period
117-
backup_time = var.backup_time
118-
tags = var.tags
119-
120-
# cms_alarm
121-
enable_alarm_rule = var.enable_alarm_rule
122-
alarm_rule_name = var.alarm_rule_name
123-
alarm_rule_statistics = var.alarm_rule_statistics
124-
alarm_rule_operator = var.alarm_rule_operator
125-
alarm_rule_threshold = var.alarm_rule_threshold
126-
alarm_rule_triggered_count = var.alarm_rule_triggered_count
127-
alarm_rule_period = var.alarm_rule_period
128-
alarm_rule_contact_groups = data.alicloud_cms_alarm_contact_groups.default.names
129-
alarm_rule_silence_time = var.alarm_rule_silence_time
130-
alarm_rule_effective_interval = var.alarm_rule_effective_interval
131-
132-
}
133-
134-
module "mongodb_4_0_wiredtiger" {
135-
source = "../../modules/mongodb-4.0-wiredtiger"
136-
137-
# Mongodb Instance
138-
name = var.name
139-
instance_charge_type = var.instance_charge_type
140-
db_instance_class = var.db_instance_class
141-
db_instance_storage = var.db_instance_storage
142-
period = var.period
143-
security_ip_list = var.security_ip_list
144-
replication_factor = var.replication_factor
145-
vswitch_id = module.vpc.this_vswitch_ids[0]
146-
zone_id = data.alicloud_mongodb_zones.default.zones.0.id
147-
account_password = var.account_password
148-
backup_period = var.backup_period
149-
backup_time = var.backup_time
150-
tags = var.tags
151-
152-
# cms_alarm
153-
enable_alarm_rule = var.enable_alarm_rule
154-
alarm_rule_name = var.alarm_rule_name
155-
alarm_rule_statistics = var.alarm_rule_statistics
156-
alarm_rule_operator = var.alarm_rule_operator
157-
alarm_rule_threshold = var.alarm_rule_threshold
158-
alarm_rule_triggered_count = var.alarm_rule_triggered_count
159-
alarm_rule_period = var.alarm_rule_period
160-
alarm_rule_contact_groups = data.alicloud_cms_alarm_contact_groups.default.names
161-
alarm_rule_silence_time = var.alarm_rule_silence_time
162-
alarm_rule_effective_interval = var.alarm_rule_effective_interval
163-
164-
}
165-
166-
module "mongodb_4_2_wiredtiger" {
167-
source = "../../modules/mongodb-4.2-wiredtiger"
168-
169-
# Mongodb Instance
170-
name = var.name
171-
instance_charge_type = var.instance_charge_type
172-
db_instance_class = var.db_instance_class
173-
db_instance_storage = var.db_instance_storage
174-
period = var.period
175-
security_ip_list = var.security_ip_list
176-
replication_factor = var.replication_factor
177-
vswitch_id = module.vpc.this_vswitch_ids[0]
178-
zone_id = data.alicloud_mongodb_zones.default.zones.0.id
179-
account_password = var.account_password
180-
backup_period = var.backup_period
181-
backup_time = var.backup_time
182-
tags = var.tags
183-
184-
# cms_alarm
185-
enable_alarm_rule = var.enable_alarm_rule
186-
alarm_rule_name = var.alarm_rule_name
187-
alarm_rule_statistics = var.alarm_rule_statistics
188-
alarm_rule_operator = var.alarm_rule_operator
189-
alarm_rule_threshold = var.alarm_rule_threshold
190-
alarm_rule_triggered_count = var.alarm_rule_triggered_count
191-
alarm_rule_period = var.alarm_rule_period
192-
alarm_rule_contact_groups = data.alicloud_cms_alarm_contact_groups.default.names
193-
alarm_rule_silence_time = var.alarm_rule_silence_time
194-
alarm_rule_effective_interval = var.alarm_rule_effective_interval
195-
196-
}

examples/complete/output.tf renamed to examples/complete/outputs.tf

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,6 @@ output "this_alarm_rule_enabled" {
154154
value = module.use_existing_mongodb.this_alarm_rule_enabled
155155
}
156156

157-
output "this_alarm_rule_webhook" {
158-
description = "The webhook that is called when the alarm is triggered. "
159-
value = module.use_existing_mongodb.this_alarm_rule_webhook
160-
}
161-
162157
output "this_alarm_rule_cpu_utilization_status" {
163158
description = "The current alarm cpu utilization rule status. "
164159
value = module.use_existing_mongodb.this_alarm_rule_cpu_utilization_status

examples/complete/tfvars/01-update.tfvars

Lines changed: 0 additions & 23 deletions
This file was deleted.

examples/complete/variables.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ variable "instance_charge_type" {
1616
variable "db_instance_class" {
1717
description = "The specification of the instance. For more information about the value, see https://www.alibabacloud.com/help/doc-detail/57141.htm"
1818
type = string
19-
default = "dds.mongo.mid"
19+
default = "mdb.shard.2x.xlarge.d"
2020
}
2121

2222
variable "db_instance_storage" {
@@ -52,13 +52,13 @@ variable "account_password" {
5252
variable "backup_period" {
5353
description = "MongoDB Instance backup period. It is required when backup_time was existed. Valid values: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]. Default to [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]. "
5454
type = list(string)
55-
default = ["Monday"]
55+
default = null
5656
}
5757

5858
variable "backup_time" {
5959
description = "MongoDB instance backup time. It is required when backup_period was existed. In the format of HH:mmZ- HH:mmZ. Time setting interval is one hour. Default to a random time, like '23:00Z-24:00Z'. "
6060
type = string
61-
default = "23:00Z-24:00Z"
61+
default = null
6262
}
6363

6464
variable "tags" {
@@ -124,4 +124,4 @@ variable "alarm_rule_effective_interval" {
124124
description = "The interval of effecting alarm rule. It foramt as 'hh:mm-hh:mm', like '0:00-4:00'."
125125
type = string
126126
default = "0:00-2:00"
127-
}
127+
}
Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,43 @@
1-
variable "region" {
2-
default = "cn-shanghai"
1+
2+
data "alicloud_mongodb_zones" "default" {}
3+
locals {
4+
index = length(data.alicloud_mongodb_zones.default.zones) - 1
5+
zone_id = data.alicloud_mongodb_zones.default.zones[local.index].id
6+
}
7+
resource "alicloud_vpc" "default" {
8+
vpc_name = var.name
9+
cidr_block = "172.17.3.0/24"
310
}
4-
provider "alicloud" {
5-
region = var.region
11+
12+
resource "alicloud_vswitch" "default" {
13+
vswitch_name = var.name
14+
cidr_block = "172.17.3.0/24"
15+
vpc_id = alicloud_vpc.default.id
16+
zone_id = local.zone_id
17+
}
18+
19+
resource "alicloud_mongodb_instance" "default" {
20+
engine_version = "4.2"
21+
db_instance_class = "dds.mongo.mid"
22+
db_instance_storage = 10
23+
vswitch_id = alicloud_vswitch.default.id
24+
security_ip_list = ["10.168.1.12", "100.69.7.112"]
25+
name = var.name
26+
tags = {
27+
Created = "TF"
28+
For = "example"
29+
}
630
}
31+
732
module "mongodb_example" {
833
source = "../../"
9-
region = var.region
34+
1035
###################
1136
# Mongodb Instance
1237
###################
13-
existing_instance_id = "dds-uf694de619xxxxxx"
38+
create = false
39+
existing_instance_id = alicloud_mongodb_instance.default.id
40+
1441

1542
#############
1643
# cms_alarm
@@ -23,4 +50,4 @@ module "mongodb_example" {
2350
alarm_rule_triggered_count = 2
2451
alarm_rule_contact_groups = ["AccCms"]
2552
enable_alarm_rule = true
26-
}
53+
}

examples/using-existing-mongodb-instance/outputs.tf

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,6 @@ output "this_alarm_rule_enabled" {
154154
value = module.mongodb_example.this_alarm_rule_enabled
155155
}
156156

157-
output "this_alarm_rule_webhook" {
158-
description = "The webhook that is called when the alarm is triggered. "
159-
value = module.mongodb_example.this_alarm_rule_webhook
160-
}
161-
162157
output "this_alarm_rule_cpu_utilization_status" {
163158
description = "The current alarm cpu utilization rule status. "
164159
value = module.mongodb_example.this_alarm_rule_cpu_utilization_status
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
variable "name" {
2+
default = "terraform-example"
3+
type = string
4+
description = "The default name for the MongoDB instance."
5+
}

main.tf

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
locals {
2-
this_instance_id = var.create ? concat(alicloud_mongodb_instance.this.*.id, [""])[0] : var.existing_instance_id
3-
create_more_resources = var.existing_instance_id != "" || var.create ? true : false
4-
project = "acs_mongodb"
2+
this_instance_id = var.create ? concat(alicloud_mongodb_instance.this[*].id, [""])[0] : var.existing_instance_id
3+
project = "acs_mongodb"
54
}
65

76
resource "alicloud_mongodb_instance" "this" {

0 commit comments

Comments
 (0)