Skip to content

Commit bce75c4

Browse files
Rich-yixiaozhu36
authored andcommitted
Add alicloud_cms_alarm resource for mongodb instance,Create a new example to distinguish existing instance
1 parent 8956add commit bce75c4

File tree

32 files changed

+1925
-120
lines changed

32 files changed

+1925
-120
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
## 1.3.0 (Unreleased)
2+
3+
IMPROVEMENTS:
4+
5+
- Add alicloud_cms_alarm resource for mongodb instance,Create a new example to distinguish existing instance [GH-5](https://github.com/terraform-alicloud-modules/terraform-alicloud-mongodb/pull/5)
6+
27
## 1.2.0 (January 16, 2020)
38

49
IMPROVEMENTS:

README-CN.md

Lines changed: 49 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
Terraform module which creates MongoDB instance resources on Alibaba Cloud
21
terraform-alicloud-mongodb
32
=====================================================================
43

@@ -8,20 +7,25 @@ terraform-alicloud-mongodb
87
本 Module 支持创建以下资源:
98

109
* [MongoDB 数据库实例 (mongodb instance)](https://www.terraform.io/docs/providers/alicloud/r/mongodb_instance.html)
10+
* [CmsAlarm 云监控实例 (cms_alarm)](https://www.terraform.io/docs/providers/alicloud/r/cms_alarm.html)
1111

1212
## Terraform 版本
1313

14-
本模板要求使用版本 Terraform 0.12。
14+
本模板要求使用版本 Terraform 0.12 和阿里云 Provider 1.56.0+
1515

1616
## 用法
1717

18+
#### 创建新的Mongodb实例
19+
1820
```hcl
1921
module "mongodb" {
2022
source = "terraform-alicloud-modules/mongodb/alicloud"
2123
region = "cn-shanghai"
22-
#################
24+
###################
2325
# MongoDB Instance
24-
#################
26+
###################
27+
engine_version = "3.4"
28+
storage_engine = "RocksDB"
2529
replication_factor = 3
2630
name = "my-mongo"
2731
instance_charge_type = "PostPaid"
@@ -38,12 +42,51 @@ module "mongodb" {
3842
Env = "Private"
3943
Location = "Secret"
4044
}
45+
#############
46+
# cms_alarm
47+
#############
48+
alarm_rule_name = "CmsAlarmForMongodb"
49+
alarm_rule_statistics = "Average"
50+
alarm_rule_period = 300
51+
alarm_rule_operator = "<="
52+
alarm_rule_threshold = 35
53+
alarm_rule_triggered_count = 2
54+
alarm_rule_contact_groups = ["AccCms"]
55+
enable_alarm_rule = true
56+
}
57+
```
58+
59+
### 使用已经存在的Mongodb实例
60+
61+
```hcl
62+
module "mongodb_example" {
63+
source = "terraform-alicloud-modules/mongodb/alicloud"
64+
region = "cn-shanghai"
65+
66+
###################
67+
# Mongodb Instance
68+
###################
69+
existing_instance_id = "dds-uf694de619xxxxx"
70+
71+
#############
72+
# cms_alarm
73+
#############
74+
alarm_rule_name = "CmsAlarmForMongodb"
75+
alarm_rule_statistics = "Average"
76+
alarm_rule_period = 300
77+
alarm_rule_operator = "<="
78+
alarm_rule_threshold = 35
79+
alarm_rule_triggered_count = 2
80+
alarm_rule_contact_groups = ["AccCms"]
81+
enable_alarm_rule = true
4182
}
4283
```
4384

4485
## 示例
4586

46-
* [MongoDB 实例完整创建示例创建示例](https://github.com/terraform-alicloud-modules/terraform-alicloud-mongodb/tree/master/examples/mongodb)
87+
* [创建 Mongodb 完整示例](https://github.com/terraform-alicloud-modules/terraform-alicloud-mongodb/tree/master/examples/complete)
88+
* [使用已经存在的 Mongodb 实例创建示例](https://github.com/terraform-alicloud-modules/terraform-alicloud-mongodb/tree/master/examples/using-existing-mongocb-instance)
89+
* [使用子模块实例创建 Mongodb 示例](https://github.com/terraform-alicloud-modules/terraform-alicloud-mongodb/tree/master/examples/using-submodule-complete)
4790

4891
## 模块
4992

@@ -59,7 +102,7 @@ module "mongodb" {
59102

60103
作者
61104
-------
62-
Created and maintained by Yi Jincheng(yi785301535@163.com)
105+
Created and maintained by Yi Jincheng(yi785301535@163.com) and He Guimin(@xiaozhu36, heguimin36@163.com)
63106

64107
许可
65108
----

README.md

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,29 @@ Terraform module which creates MongoDB replica instance resources on Alibaba Clo
99
These types of resources are supported:
1010

1111
* [Alicloud mongodb instance](https://www.terraform.io/docs/providers/alicloud/r/mongodb_instance.html)
12+
* [Alicloud_cms_alarm](https://www.terraform.io/docs/providers/alicloud/r/cms_alarm.html)
1213

1314
----------------------
1415

1516
## Terraform versions
1617

17-
This module requires Terraform 0.12.
18+
This module requires Terraform 0.12 and Terraform Provider Alicloud 1.56.0+.
1819

1920
## Usage
2021
-----
21-
You can use this in your terraform template with the following steps.
2222

23-
1. Adding a module resource to your template, e.g. main.tf
23+
For new instance
2424

2525
```hcl
2626
module "mongodb" {
2727
source = "terraform-alicloud-modules/mongodb/alicloud"
2828
region = "cn-shanghai"
29+
2930
#################
3031
# MongoDB Instance
3132
#################
33+
engine_version = "3.4"
34+
storage_engine = "RocksDB"
3235
replication_factor = 3
3336
name = "my-mongo"
3437
instance_charge_type = "PostPaid"
@@ -45,12 +48,51 @@ module "mongodb" {
4548
Env = "Private"
4649
Location = "Secret"
4750
}
51+
52+
#############
53+
# cms_alarm
54+
#############
55+
alarm_rule_name = "CmsAlarmForMongodb"
56+
alarm_rule_statistics = "Average"
57+
alarm_rule_period = 300
58+
alarm_rule_operator = "<="
59+
alarm_rule_threshold = 35
60+
alarm_rule_triggered_count = 2
61+
alarm_rule_contact_groups = ["Mongodb", "AccCms"]
62+
}
63+
```
64+
65+
For existing instance
66+
67+
```hcl
68+
module "mongodb_example" {
69+
source = "terraform-alicloud-modules/mongodb/alicloud"
70+
region = "cn-shanghai"
71+
72+
###################
73+
# Mongodb Instance
74+
###################
75+
existing_instance_id = "dds-uf694de619xxxxx"
76+
77+
#############
78+
# cms_alarm
79+
#############
80+
alarm_rule_name = "CmsAlarmForMongodb"
81+
alarm_rule_statistics = "Average"
82+
alarm_rule_period = 300
83+
alarm_rule_operator = "<="
84+
alarm_rule_threshold = 35
85+
alarm_rule_triggered_count = 2
86+
alarm_rule_contact_groups = ["AccCms"]
87+
enable_alarm_rule = true
4888
}
4989
```
5090

5191
## Examples
5292

53-
* [MongoDB example](https://github.com/terraform-alicloud-modules/terraform-alicloud-mongodb/tree/master/examples/mongodb)
93+
* [complete](https://github.com/terraform-alicloud-modules/terraform-alicloud-mongodb/tree/master/examples/complete)
94+
* [using-existing-mongodb-instance](https://github.com/terraform-alicloud-modules/terraform-alicloud-mongodb/tree/master/examples/using-existing-mongocb-instance)
95+
* [using-submodule-complete](https://github.com/terraform-alicloud-modules/terraform-alicloud-mongodb/tree/master/examples/using-submodule-complete)
5496

5597
## Modules
5698

@@ -67,7 +109,7 @@ If you have not set them yet, please install [aliyun-cli](https://github.com/ali
67109

68110
Authors
69111
---------
70-
Created and maintained by Yi Jincheng(yi785301535@163.com)
112+
Created and maintained by Yi Jincheng(yi785301535@163.com) and He Guimin(@xiaozhu36, heguimin36@163.com)
71113

72114
License
73115
----
File renamed without changes.

examples/complete/main.tf

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
variable "region" {
2+
default = "cn-shanghai"
3+
}
4+
provider "alicloud" {
5+
region = var.region
6+
}
7+
locals {
8+
engine_version = "3.4"
9+
storage_engine = "RocksDB"
10+
}
11+
data "alicloud_vpcs" "default" {
12+
is_default = true
13+
}
14+
data "alicloud_zones" "default" {
15+
available_resource_creation = "MongoDB"
16+
multi = true
17+
}
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)
23+
}
24+
module "mongodb_example" {
25+
source = "../../"
26+
region = var.region
27+
28+
####################
29+
# 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+
#############
51+
# 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"]
60+
}

0 commit comments

Comments
 (0)