From 1b3b66ac64852863270edff0e1522cf895d09d0e Mon Sep 17 00:00:00 2001 From: shanye Date: Mon, 1 Apr 2024 19:33:28 +0800 Subject: [PATCH] improve the examples --- .../README.md | 2 + .../main.tf | 10 ++--- .../outputs.tf | 0 .../versions.tf | 0 .../using-existing-redis-instance/main.tf | 43 ++++++++++++++++++- .../main.tf | 5 ++- main.tf | 3 +- outputs.tf | 2 +- variables.tf | 10 ++++- 9 files changed, 63 insertions(+), 12 deletions(-) rename examples/{using-submodule-complete-redis-2.8 => (Deprecated) using-submodule-complete-redis-2.8}/README.md (64%) rename examples/{using-submodule-complete-redis-2.8 => (Deprecated) using-submodule-complete-redis-2.8}/main.tf (87%) rename examples/{using-submodule-complete-redis-2.8 => (Deprecated) using-submodule-complete-redis-2.8}/outputs.tf (100%) rename examples/{using-submodule-complete-redis-2.8 => (Deprecated) using-submodule-complete-redis-2.8}/versions.tf (100%) diff --git a/examples/using-submodule-complete-redis-2.8/README.md b/examples/(Deprecated) using-submodule-complete-redis-2.8/README.md similarity index 64% rename from examples/using-submodule-complete-redis-2.8/README.md rename to examples/(Deprecated) using-submodule-complete-redis-2.8/README.md index d8ff1c7..0408580 100644 --- a/examples/using-submodule-complete-redis-2.8/README.md +++ b/examples/(Deprecated) using-submodule-complete-redis-2.8/README.md @@ -1,5 +1,7 @@ # Complete RDS example for Redis +This example is deprecated because [Redis 2.8 instances are phased out](https://www.alibabacloud.com/help/en/redis/product-overview/apsaradb-for-redis-2-8-instances-are-phased-out) + ## Usage To run this example you need to execute: diff --git a/examples/using-submodule-complete-redis-2.8/main.tf b/examples/(Deprecated) using-submodule-complete-redis-2.8/main.tf similarity index 87% rename from examples/using-submodule-complete-redis-2.8/main.tf rename to examples/(Deprecated) using-submodule-complete-redis-2.8/main.tf index 7958875..6e5da91 100644 --- a/examples/using-submodule-complete-redis-2.8/main.tf +++ b/examples/(Deprecated) using-submodule-complete-redis-2.8/main.tf @@ -13,10 +13,10 @@ data "alicloud_zones" "default" { enable_details = true } resource "alicloud_vswitch" "this" { - name = "redis_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, 15) + vswitch_name = "redis_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, 15) } module "redis_example" { source = "../../modules/redis-2.8-communtity-cluster" @@ -71,4 +71,4 @@ module "redis_example" { alarm_rule_threshold = 35 alarm_rule_triggered_count = 2 alarm_rule_contact_groups = ["AccCms"] -} \ No newline at end of file +} diff --git a/examples/using-submodule-complete-redis-2.8/outputs.tf b/examples/(Deprecated) using-submodule-complete-redis-2.8/outputs.tf similarity index 100% rename from examples/using-submodule-complete-redis-2.8/outputs.tf rename to examples/(Deprecated) using-submodule-complete-redis-2.8/outputs.tf diff --git a/examples/using-submodule-complete-redis-2.8/versions.tf b/examples/(Deprecated) using-submodule-complete-redis-2.8/versions.tf similarity index 100% rename from examples/using-submodule-complete-redis-2.8/versions.tf rename to examples/(Deprecated) using-submodule-complete-redis-2.8/versions.tf diff --git a/examples/using-existing-redis-instance/main.tf b/examples/using-existing-redis-instance/main.tf index fb71c26..d6413a4 100644 --- a/examples/using-existing-redis-instance/main.tf +++ b/examples/using-existing-redis-instance/main.tf @@ -5,6 +5,44 @@ provider "alicloud" { region = var.region } +variable "name" { + default = "tf-example" +} +data "alicloud_kvstore_zones" "default" {} +data "alicloud_resource_manager_resource_groups" "default" { + status = "OK" +} + +resource "alicloud_vpc" "default" { + vpc_name = var.name + cidr_block = "10.4.0.0/16" +} +resource "alicloud_vswitch" "default" { + vswitch_name = var.name + cidr_block = "10.4.0.0/24" + vpc_id = alicloud_vpc.default.id + zone_id = data.alicloud_kvstore_zones.default.zones.0.id +} + +resource "alicloud_kvstore_instance" "default" { + db_instance_name = var.name + vswitch_id = alicloud_vswitch.default.id + resource_group_id = data.alicloud_resource_manager_resource_groups.default.ids.0 + zone_id = data.alicloud_kvstore_zones.default.zones.0.id + instance_class = "redis.master.large.default" + instance_type = "Redis" + engine_version = "5.0" + security_ips = ["10.23.12.24"] + config = { + appendonly = "yes" + lazyfree-lazy-eviction = "yes" + } + tags = { + Created = "TF", + For = "example", + } +} + module "redis_example" { source = "../../" region = var.region @@ -13,7 +51,8 @@ module "redis_example" { # Redis Instance ################# - existing_instance_id = "r-2zea81b836xxxxxx" + create_instance = false + existing_instance_id = alicloud_kvstore_instance.default.id ################# # Redis backup_policy @@ -50,4 +89,4 @@ module "redis_example" { alarm_rule_threshold = 35 alarm_rule_triggered_count = 2 alarm_rule_contact_groups = ["AccCms"] -} \ No newline at end of file +} diff --git a/examples/using-submodule-complete-redis-4.0/main.tf b/examples/using-submodule-complete-redis-4.0/main.tf index 9e32751..dce11f4 100644 --- a/examples/using-submodule-complete-redis-4.0/main.tf +++ b/examples/using-submodule-complete-redis-4.0/main.tf @@ -25,6 +25,9 @@ resource "alicloud_vswitch" "default" { cidr_block = "10.4.0.0/24" vpc_id = alicloud_vpc.default.id zone_id = data.alicloud_zones.default.zones.0.id + timeouts { + delete = "20m" + } } module "redis_example" { @@ -80,4 +83,4 @@ module "redis_example" { alarm_rule_threshold = 35 alarm_rule_triggered_count = 2 alarm_rule_contact_groups = ["AccCms"] -} \ No newline at end of file +} diff --git a/main.tf b/main.tf index 342ad41..879a4ad 100644 --- a/main.tf +++ b/main.tf @@ -65,6 +65,7 @@ resource "alicloud_cms_alarm" "sharding_cpu_usage" { contact_groups = var.alarm_rule_contact_groups silence_time = var.alarm_rule_silence_time effective_interval = var.alarm_rule_effective_interval + webhook = var.alarm_rule_webhook } resource "alicloud_cms_alarm" "sharding_connection_usage" { @@ -160,4 +161,4 @@ resource "alicloud_cms_alarm" "sharding_used_memory" { contact_groups = var.alarm_rule_contact_groups silence_time = var.alarm_rule_silence_time effective_interval = var.alarm_rule_effective_interval -} \ No newline at end of file +} diff --git a/outputs.tf b/outputs.tf index ff3e2d5..7ef1b1e 100644 --- a/outputs.tf +++ b/outputs.tf @@ -6,7 +6,7 @@ locals { this_redis_instance_type = var.existing_instance_id != "" ? concat(data.alicloud_kvstore_instances.this.instances.*.instance_type, [""])[0] : concat(alicloud_kvstore_instance.this.*.instance_type, [""])[0] this_redis_instance_charge_type = var.existing_instance_id != "" ? concat(data.alicloud_kvstore_instances.this.instances.*.charge_type, [""])[0] : concat(alicloud_kvstore_instance.this.*.instance_charge_type, [""])[0] this_redis_instance_class = var.existing_instance_id != "" ? concat(data.alicloud_kvstore_instances.this.instances.*.instance_class, [""])[0] : concat(alicloud_kvstore_instance.this.*.instance_class, [""])[0] - this_redis_instance_name = var.existing_instance_id != "" ? concat(data.alicloud_kvstore_instances.this.instances.*.name, [""])[0] : concat(alicloud_kvstore_instance.this.*.instance_name, [""])[0] + this_redis_instance_name = var.existing_instance_id != "" ? concat(data.alicloud_kvstore_instances.this.instances.*.name, [""])[0] : concat(alicloud_kvstore_instance.this.*.db_instance_name, [""])[0] this_redis_instance_availability_zone = var.existing_instance_id != "" ? concat(data.alicloud_kvstore_instances.this.instances.*.availability_zone, [""])[0] : concat(alicloud_kvstore_instance.this.*.availability_zone, [""])[0] this_redis_instance_vswitch_id = var.existing_instance_id != "" ? concat(data.alicloud_kvstore_instances.this.instances.*.vswitch_id, [""])[0] : concat(alicloud_kvstore_instance.this.*.vswitch_id, [""])[0] this_redis_instance_private_ip = var.existing_instance_id != "" ? concat(data.alicloud_kvstore_instances.this.instances.*.private_ip, [""])[0] : concat(alicloud_kvstore_instance.this.*.private_ip, [""])[0] diff --git a/variables.tf b/variables.tf index f744cbd..81b1cf0 100644 --- a/variables.tf +++ b/variables.tf @@ -37,7 +37,7 @@ variable "create_instance" { variable "engine_version" { description = "Redis version. Value options can refer to the latest docs [CreateInstance](https://help.aliyun.com/document_detail/60862.html?spm=a2c4g.11186623.6.770.e0c735c10lvrqR) " type = string - default = "" + default = null } variable "instance_name" { @@ -67,7 +67,7 @@ variable "secondary_zone_id" { variable "ssl_enable" { description = "Modifies the SSL status. Valid values: `Disable`, `Enable` and `Update`." type = string - default = "" + default = null } variable "security_group_id" { @@ -259,6 +259,12 @@ variable "alarm_rule_period" { default = 300 } +variable "alarm_rule_webhook" { + description = "The webhook that should be called when the alarm is triggered. Currently, only http protocol is supported. Default is empty string. " + type = string + default = "" +} + variable "alarm_rule_contact_groups" { description = "List contact groups of the alarm rule, which must have been created on the console. " type = list(string)