Skip to content

Commit 2d267c7

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

File tree

17 files changed

+109
-342
lines changed

17 files changed

+109
-342
lines changed

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-
}
File renamed without changes.

examples/complete/variables.tf

Lines changed: 1 addition & 1 deletion
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" {
Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,41 @@
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"
10+
}
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
317
}
4-
provider "alicloud" {
5-
region = var.region
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+
existing_instance_id = alicloud_mongodb_instance.default.id
1439

1540
#############
1641
# cms_alarm
@@ -23,4 +48,4 @@ module "mongodb_example" {
2348
alarm_rule_triggered_count = 2
2449
alarm_rule_contact_groups = ["AccCms"]
2550
enable_alarm_rule = true
26-
}
51+
}
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+
}

examples/using-submodule-complete/main.tf

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
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" {
85
is_default = true
@@ -12,14 +9,13 @@ data "alicloud_zones" "default" {
129
multi = true
1310
}
1411
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)
12+
vswitch_name = "mongodb_vpc"
13+
zone_id = data.alicloud_zones.default.zones[0].multi_zone_ids[0]
14+
vpc_id = data.alicloud_vpcs.default.vpcs[0].id
15+
cidr_block = cidrsubnet(data.alicloud_vpcs.default.vpcs[0].cidr_block, 4, 4)
1916
}
2017
module "mongodb_example" {
21-
source = "../../modules/mongodb-3.4-rocksdb"
22-
region = var.region
18+
source = "../../modules/mongodb-4.2-wiredtiger"
2319

2420
###################
2521
# Mongodb instance
@@ -32,7 +28,7 @@ module "mongodb_example" {
3228
period = 1
3329
security_ip_list = ["1.1.1.1", "2.2.2.2", "3.3.3.3"]
3430
vswitch_id = alicloud_vswitch.this.id
35-
zone_id = data.alicloud_zones.default.zones.0.multi_zone_ids.0
31+
zone_id = data.alicloud_zones.default.zones[0].multi_zone_ids[0]
3632
account_password = "mongo123"
3733
backup_period = ["Monday", "Wednesday", "Friday"]
3834
backup_time = "02:00Z-03:00Z"
@@ -51,4 +47,4 @@ module "mongodb_example" {
5147
alarm_rule_threshold = 35
5248
alarm_rule_triggered_count = 2
5349
alarm_rule_contact_groups = ["Mongodb", "AccCms"]
54-
}
50+
}

examples/using-submodule-complete/variables.tf

Whitespace-only changes.

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

modules/mongodb-3.4-rocksdb/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# Deprecated
2+
3+
This submodule is deprecated because of the [End of sale for MongoDB 3.4 instances](https://www.alibabacloud.com/help/en/mongodb/product-overview/notice-end-of-sale-for-mongodb-3-4-instances-20230101)
4+
15
# Alibaba Cloud MongoDB-3.4-RocksDB Terraform Module
26

37
Configuration in this directory creates set of MongoDB resources instance

0 commit comments

Comments
 (0)