Skip to content

Module: remove deprecated attributes; Examples: improve the examples #13

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,25 +1,20 @@
variable "region" {
default = "cn-shanghai"
}
provider "alicloud" {
region = var.region
region = "cn-shanghai"
}
data "alicloud_vpcs" "default" {
is_default = true
}
data "alicloud_zones" "default" {
available_resource_creation = "MongoDB"
multi = true
}
resource "alicloud_vswitch" "this" {
name = "mongodb_vpc"
availability_zone = data.alicloud_zones.default.zones.0.multi_zone_ids.0
vpc_id = data.alicloud_vpcs.default.vpcs.0.id
cidr_block = cidrsubnet(data.alicloud_vpcs.default.vpcs.0.cidr_block, 4, 4)
vswitch_name = "mongodb_vpc"
zone_id = data.alicloud_zones.default.zones[0].multi_zone_ids[0]
vpc_id = data.alicloud_vpcs.default.vpcs[0].id
cidr_block = cidrsubnet(data.alicloud_vpcs.default.vpcs[0].cidr_block, 4, 4)
}
module "mongodb_example" {
source = "../../modules/mongodb-3.4-rocksdb"
region = var.region
source = "../../modules/mongodb-4.2-wiredtiger"

###################
# Mongodb instance
Expand All @@ -32,8 +27,8 @@ module "mongodb_example" {
period = 1
security_ip_list = ["1.1.1.1", "2.2.2.2", "3.3.3.3"]
vswitch_id = alicloud_vswitch.this.id
zone_id = data.alicloud_zones.default.zones.0.multi_zone_ids.0
account_password = "mongo123"
zone_id = data.alicloud_zones.default.zones[0].multi_zone_ids[0]
account_password = "YourPassword123!"
backup_period = ["Monday", "Wednesday", "Friday"]
backup_time = "02:00Z-03:00Z"
tags = {
Expand All @@ -51,4 +46,4 @@ module "mongodb_example" {
alarm_rule_threshold = 35
alarm_rule_triggered_count = 2
alarm_rule_contact_groups = ["Mongodb", "AccCms"]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -154,11 +154,6 @@ output "this_alarm_rule_enabled" {
value = module.mongodb_example.this_alarm_rule_enabled
}

output "this_alarm_rule_webhook" {
description = "The webhook that is called when the alarm is triggered. "
value = module.mongodb_example.this_alarm_rule_webhook
}

output "this_alarm_rule_cpu_utilization_status" {
description = "The current alarm cpu utilization rule status. "
value = module.mongodb_example.this_alarm_rule_cpu_utilization_status
Expand Down
Empty file.
142 changes: 6 additions & 136 deletions examples/complete/main.tf
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
provider "alicloud" {
region = "eu-central-1"
}

data "alicloud_mongodb_zones" "default" {
}

data "alicloud_cms_alarm_contact_groups" "default" {
}

module "vpc" {
source = "alibaba/vpc/alicloud"
source = "alibaba/vpc/alicloud"
version = "~>1.11.0"

create = true
vpc_name = var.name
vpc_cidr = "172.16.0.0/16"
vswitch_name = var.name
vswitch_cidrs = ["172.16.0.0/21"]
availability_zones = [data.alicloud_mongodb_zones.default.zones.0.id]
availability_zones = [data.alicloud_mongodb_zones.default.zones[0].id]
}

module "mongodb_example" {
Expand All @@ -25,7 +23,7 @@ module "mongodb_example" {
create = true

name = var.name
engine_version = "4.0"
engine_version = "4.4"
instance_charge_type = var.instance_charge_type
db_instance_class = var.db_instance_class
db_instance_storage = var.db_instance_storage
Expand All @@ -34,7 +32,7 @@ module "mongodb_example" {
replication_factor = var.replication_factor
storage_engine = "WiredTiger"
vswitch_id = module.vpc.this_vswitch_ids[0]
zone_id = data.alicloud_mongodb_zones.default.zones.0.id
zone_id = data.alicloud_mongodb_zones.default.zones[0].id
account_password = var.account_password
backup_period = var.backup_period
backup_time = var.backup_time
Expand Down Expand Up @@ -66,131 +64,3 @@ module "use_existing_mongodb" {
alarm_rule_effective_interval = var.alarm_rule_effective_interval

}

module "mongodb_3_4_rocksdb" {
source = "../../modules/mongodb-3.4-rocksdb"

# Mongodb Instance
name = var.name
instance_charge_type = var.instance_charge_type
db_instance_class = var.db_instance_class
db_instance_storage = var.db_instance_storage
period = var.period
security_ip_list = var.security_ip_list
replication_factor = var.replication_factor
vswitch_id = module.vpc.this_vswitch_ids[0]
zone_id = data.alicloud_mongodb_zones.default.zones.0.id
account_password = var.account_password
backup_period = var.backup_period
backup_time = var.backup_time
tags = var.tags

# cms_alarm
enable_alarm_rule = var.enable_alarm_rule
alarm_rule_name = var.alarm_rule_name
alarm_rule_statistics = var.alarm_rule_statistics
alarm_rule_operator = var.alarm_rule_operator
alarm_rule_threshold = var.alarm_rule_threshold
alarm_rule_triggered_count = var.alarm_rule_triggered_count
alarm_rule_period = var.alarm_rule_period
alarm_rule_contact_groups = data.alicloud_cms_alarm_contact_groups.default.names
alarm_rule_silence_time = var.alarm_rule_silence_time
alarm_rule_effective_interval = var.alarm_rule_effective_interval

}

module "mongodb_3_4_wiredtiger" {
source = "../../modules/mongodb-3.4-wiredtiger"

# Mongodb Instance
name = var.name
instance_charge_type = var.instance_charge_type
db_instance_class = var.db_instance_class
db_instance_storage = var.db_instance_storage
period = var.period
security_ip_list = var.security_ip_list
replication_factor = var.replication_factor
vswitch_id = module.vpc.this_vswitch_ids[0]
zone_id = data.alicloud_mongodb_zones.default.zones.0.id
account_password = var.account_password
backup_period = var.backup_period
backup_time = var.backup_time
tags = var.tags

# cms_alarm
enable_alarm_rule = var.enable_alarm_rule
alarm_rule_name = var.alarm_rule_name
alarm_rule_statistics = var.alarm_rule_statistics
alarm_rule_operator = var.alarm_rule_operator
alarm_rule_threshold = var.alarm_rule_threshold
alarm_rule_triggered_count = var.alarm_rule_triggered_count
alarm_rule_period = var.alarm_rule_period
alarm_rule_contact_groups = data.alicloud_cms_alarm_contact_groups.default.names
alarm_rule_silence_time = var.alarm_rule_silence_time
alarm_rule_effective_interval = var.alarm_rule_effective_interval

}

module "mongodb_4_0_wiredtiger" {
source = "../../modules/mongodb-4.0-wiredtiger"

# Mongodb Instance
name = var.name
instance_charge_type = var.instance_charge_type
db_instance_class = var.db_instance_class
db_instance_storage = var.db_instance_storage
period = var.period
security_ip_list = var.security_ip_list
replication_factor = var.replication_factor
vswitch_id = module.vpc.this_vswitch_ids[0]
zone_id = data.alicloud_mongodb_zones.default.zones.0.id
account_password = var.account_password
backup_period = var.backup_period
backup_time = var.backup_time
tags = var.tags

# cms_alarm
enable_alarm_rule = var.enable_alarm_rule
alarm_rule_name = var.alarm_rule_name
alarm_rule_statistics = var.alarm_rule_statistics
alarm_rule_operator = var.alarm_rule_operator
alarm_rule_threshold = var.alarm_rule_threshold
alarm_rule_triggered_count = var.alarm_rule_triggered_count
alarm_rule_period = var.alarm_rule_period
alarm_rule_contact_groups = data.alicloud_cms_alarm_contact_groups.default.names
alarm_rule_silence_time = var.alarm_rule_silence_time
alarm_rule_effective_interval = var.alarm_rule_effective_interval

}

module "mongodb_4_2_wiredtiger" {
source = "../../modules/mongodb-4.2-wiredtiger"

# Mongodb Instance
name = var.name
instance_charge_type = var.instance_charge_type
db_instance_class = var.db_instance_class
db_instance_storage = var.db_instance_storage
period = var.period
security_ip_list = var.security_ip_list
replication_factor = var.replication_factor
vswitch_id = module.vpc.this_vswitch_ids[0]
zone_id = data.alicloud_mongodb_zones.default.zones.0.id
account_password = var.account_password
backup_period = var.backup_period
backup_time = var.backup_time
tags = var.tags

# cms_alarm
enable_alarm_rule = var.enable_alarm_rule
alarm_rule_name = var.alarm_rule_name
alarm_rule_statistics = var.alarm_rule_statistics
alarm_rule_operator = var.alarm_rule_operator
alarm_rule_threshold = var.alarm_rule_threshold
alarm_rule_triggered_count = var.alarm_rule_triggered_count
alarm_rule_period = var.alarm_rule_period
alarm_rule_contact_groups = data.alicloud_cms_alarm_contact_groups.default.names
alarm_rule_silence_time = var.alarm_rule_silence_time
alarm_rule_effective_interval = var.alarm_rule_effective_interval

}
5 changes: 0 additions & 5 deletions examples/complete/output.tf → examples/complete/outputs.tf
Original file line number Diff line number Diff line change
Expand Up @@ -154,11 +154,6 @@ output "this_alarm_rule_enabled" {
value = module.use_existing_mongodb.this_alarm_rule_enabled
}

output "this_alarm_rule_webhook" {
description = "The webhook that is called when the alarm is triggered. "
value = module.use_existing_mongodb.this_alarm_rule_webhook
}

output "this_alarm_rule_cpu_utilization_status" {
description = "The current alarm cpu utilization rule status. "
value = module.use_existing_mongodb.this_alarm_rule_cpu_utilization_status
Expand Down
23 changes: 0 additions & 23 deletions examples/complete/tfvars/01-update.tfvars

This file was deleted.

8 changes: 4 additions & 4 deletions examples/complete/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ variable "instance_charge_type" {
variable "db_instance_class" {
description = "The specification of the instance. For more information about the value, see https://www.alibabacloud.com/help/doc-detail/57141.htm"
type = string
default = "dds.mongo.mid"
default = "mdb.shard.2x.xlarge.d"
}

variable "db_instance_storage" {
Expand Down Expand Up @@ -52,13 +52,13 @@ variable "account_password" {
variable "backup_period" {
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]. "
type = list(string)
default = ["Monday"]
default = null
}

variable "backup_time" {
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'. "
type = string
default = "23:00Z-24:00Z"
default = null
}

variable "tags" {
Expand Down Expand Up @@ -124,4 +124,4 @@ variable "alarm_rule_effective_interval" {
description = "The interval of effecting alarm rule. It foramt as 'hh:mm-hh:mm', like '0:00-4:00'."
type = string
default = "0:00-2:00"
}
}
41 changes: 34 additions & 7 deletions examples/using-existing-mongodb-instance/main.tf
Original file line number Diff line number Diff line change
@@ -1,16 +1,43 @@
variable "region" {
default = "cn-shanghai"

data "alicloud_mongodb_zones" "default" {}
locals {
index = length(data.alicloud_mongodb_zones.default.zones) - 1
zone_id = data.alicloud_mongodb_zones.default.zones[local.index].id
}
resource "alicloud_vpc" "default" {
vpc_name = var.name
cidr_block = "172.17.3.0/24"
}
provider "alicloud" {
region = var.region

resource "alicloud_vswitch" "default" {
vswitch_name = var.name
cidr_block = "172.17.3.0/24"
vpc_id = alicloud_vpc.default.id
zone_id = local.zone_id
}

resource "alicloud_mongodb_instance" "default" {
engine_version = "4.2"
db_instance_class = "dds.mongo.mid"
db_instance_storage = 10
vswitch_id = alicloud_vswitch.default.id
security_ip_list = ["10.168.1.12", "100.69.7.112"]
name = var.name
tags = {
Created = "TF"
For = "example"
}
}

module "mongodb_example" {
source = "../../"
region = var.region

###################
# Mongodb Instance
###################
existing_instance_id = "dds-uf694de619xxxxxx"
create = false
existing_instance_id = alicloud_mongodb_instance.default.id


#############
# cms_alarm
Expand All @@ -23,4 +50,4 @@ module "mongodb_example" {
alarm_rule_triggered_count = 2
alarm_rule_contact_groups = ["AccCms"]
enable_alarm_rule = true
}
}
5 changes: 0 additions & 5 deletions examples/using-existing-mongodb-instance/outputs.tf
Original file line number Diff line number Diff line change
Expand Up @@ -154,11 +154,6 @@ output "this_alarm_rule_enabled" {
value = module.mongodb_example.this_alarm_rule_enabled
}

output "this_alarm_rule_webhook" {
description = "The webhook that is called when the alarm is triggered. "
value = module.mongodb_example.this_alarm_rule_webhook
}

output "this_alarm_rule_cpu_utilization_status" {
description = "The current alarm cpu utilization rule status. "
value = module.mongodb_example.this_alarm_rule_cpu_utilization_status
Expand Down
5 changes: 5 additions & 0 deletions examples/using-existing-mongodb-instance/variables.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
variable "name" {
default = "terraform-example"
type = string
description = "The default name for the MongoDB instance."
}
5 changes: 2 additions & 3 deletions main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
locals {
this_instance_id = var.create ? concat(alicloud_mongodb_instance.this.*.id, [""])[0] : var.existing_instance_id
create_more_resources = var.existing_instance_id != "" || var.create ? true : false
project = "acs_mongodb"
this_instance_id = var.create ? concat(alicloud_mongodb_instance.this[*].id, [""])[0] : var.existing_instance_id
project = "acs_mongodb"
}

resource "alicloud_mongodb_instance" "this" {
Expand Down
Loading
Loading