1- variable "region " {
2- default = " cn-beijing "
1+ data "alicloud_zones" "default " {
2+ available_resource_creation = " KVStore "
33}
4- provider "alicloud" {
5- region = var . region
4+
5+ data "alicloud_cms_alarm_contact_groups" "default" {
66}
7- locals {
7+
8+ data "alicloud_kvstore_instance_classes" "default" {
89 engine = " Redis"
9- engine_version = " 4.0"
10- edition_type = " Community"
11- architecture = " cluster"
10+ engine_version = var. engine_version
11+ zone_id = data. alicloud_zones . default . zones . 0 . id
1212}
13- data "alicloud_vpcs" "default" {
14- is_default = true
15- }
16- data "alicloud_zones" "default" {
17- available_resource_creation = " KVStore"
18- multi = true
19- enable_details = true
13+
14+ resource "alicloud_kms_key" "kms" {
15+ key_usage = " ENCRYPT/DECRYPT"
16+ pending_window_in_days = var. pending_window_in_days
17+ status = " Enabled"
2018}
21- data "alicloud_kvstore_instance_classes" "default" {
22- zone_id = data. alicloud_zones . default . zones . 0 . multi_zone_ids . 0
23- engine = local. engine
24- engine_version = local. engine_version
25- architecture = local. architecture
19+
20+ resource "alicloud_kms_ciphertext" "kms" {
21+ plaintext = " test"
22+ key_id = alicloud_kms_key. kms . id
23+ encryption_context = {
24+ test = " test"
25+ }
2626}
27- resource "alicloud_vswitch" "this" {
28- name = " redis_vpc"
29- availability_zone = data. alicloud_zones . default . zones . 0 . multi_zone_ids . 0
30- vpc_id = data. alicloud_vpcs . default . vpcs . 0 . id
31- cidr_block = cidrsubnet (data. alicloud_vpcs . default . vpcs . 0 . cidr_block , 4 , 10 )
27+
28+ module "vpc" {
29+ source = " alibaba/vpc/alicloud"
30+ create = true
31+ vpc_cidr = " 172.16.0.0/16"
32+ vswitch_cidrs = [" 172.16.0.0/21" ]
33+ availability_zones = [data . alicloud_zones . default . zones . 0 . id ]
3234}
33- module "redis_example" {
34- source = " ../../"
35- region = var. region
3635
37- # ################
38- # Redis Instance
39- # ################
36+ module "redis_example" {
37+ source = " ../.."
4038
41- engine_version = local. engine_version
42- instance_name = " myInstance"
43- instance_class = " redis.logic.sharding.2g.8db.0rodb.8proxy.default"
44- password = " Yourpwd123456"
45- period = 1
46- availability_zone = data. alicloud_zones . default . zones . 0 . multi_zone_ids . 0
47- vswitch_id = alicloud_vswitch. this . id
48- security_ips = [" 1.1.1.1" , " 2.2.2.2" , " 3.3.3.3" ]
49- tags = {
50- Env = " Private"
51- Location = " Secret"
52- }
39+ # alicloud_kvstore_instance
40+ create_instance = true
5341
54- # ################
55- # Redis backup_policy
56- # ################
42+ engine_version = var. engine_version
43+ instance_name = var. instance_name
44+ instance_class = data. alicloud_kvstore_instance_classes . default . instance_classes . 0
45+ availability_zone = data. alicloud_zones . default . zones . 0 . id
46+ vswitch_id = module. vpc . this_vswitch_ids [0 ]
47+ security_ips = var. security_ips
48+ instance_charge_type = var. instance_charge_type
49+ period = var. period
50+ auto_renew = var. auto_renew
51+ auto_renew_period = var. auto_renew_period
52+ private_ip = " 172.16.0.10"
53+ vpc_auth_mode = var. vpc_auth_mode
54+ password = var. password
55+ kms_encrypted_password = var. kms_encrypted_password
56+ kms_encryption_context = alicloud_kms_ciphertext. kms . encryption_context
57+ maintain_start_time = var. maintain_start_time
58+ maintain_end_time = var. maintain_end_time
59+ tags = var. tags
5760
58- backup_policy_backup_time = " 02:00Z-03:00Z"
59- backup_policy_backup_period = [" Monday" , " Wednesday" , " Friday" ]
61+ # alicloud_kvstore_backup_policy
62+ backup_policy_backup_period = var. backup_policy_backup_period
63+ backup_policy_backup_time = var. backup_policy_backup_time
6064
61- # ################
62- # Redis account
63- # ################
65+ # accounts
66+ create_account = true
6467
6568 accounts = [
6669 {
67- account_name = " user1"
68- account_password = " plan111111"
69- account_privilege = " RoleReadOnly"
70+ account_name = " tf_account_name"
71+ account_password = " YourPassword123!"
7072 account_type = " Normal"
71- },
72- {
73- account_name = " user2"
74- account_password = " plan222222"
75- },
73+ account_privilege = var.account_privilege
74+ }
7675 ]
7776
78- # ############
79- # cms_alarm
80- # ############
81- alarm_rule_name = " CmsAlarmForRedis"
82- alarm_rule_statistics = " Average"
83- alarm_rule_period = 300
84- alarm_rule_operator = " <="
85- alarm_rule_threshold = 35
86- alarm_rule_triggered_count = 2
87- alarm_rule_contact_groups = [" AccCms" ]
77+ # alicloud_cms_alarm
78+ enable_alarm_rule = var. enable_alarm_rule
79+ alarm_rule_name = var. alarm_rule_name
80+ alarm_rule_statistics = var. alarm_rule_statistics
81+ alarm_rule_operator = var. alarm_rule_operator
82+ alarm_rule_threshold = var. alarm_rule_threshold
83+ alarm_rule_triggered_count = var. alarm_rule_triggered_count
84+ alarm_rule_period = var. alarm_rule_period
85+ alarm_rule_contact_groups = data. alicloud_cms_alarm_contact_groups . default . names
86+ alarm_rule_silence_time = var. alarm_rule_silence_time
87+ alarm_rule_effective_interval = var. alarm_rule_effective_interval
88+
8889}
0 commit comments