diff --git a/tencentcloud/resource_tc_redis_account.go b/tencentcloud/resource_tc_redis_account.go index fec8d68a52..7f5f470a2c 100644 --- a/tencentcloud/resource_tc_redis_account.go +++ b/tencentcloud/resource_tc_redis_account.go @@ -3,9 +3,40 @@ Provides a resource to create a redis account Example Usage +Create an account with read and write permissions + ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[1].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + resource "tencentcloud_redis_account" "account" { - instance_id = "crs-xxxxxx" + instance_id = tencentcloud_redis_instance.foo.id account_name = "account_test" account_password = "test1234" remark = "master" @@ -14,6 +45,48 @@ resource "tencentcloud_redis_account" "account" { } ``` +Create an account with read-only permissions + +```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[1].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + +resource "tencentcloud_redis_account" "account" { + instance_id = tencentcloud_redis_instance.foo.id + account_name = "account_test" + account_password = "test1234" + remark = "master" + readonly_policy = ["master"] + privilege = "r" +} +``` + Import redis account can be imported using the id, e.g. diff --git a/tencentcloud/resource_tc_redis_backup_config.go b/tencentcloud/resource_tc_redis_backup_config.go index a9163f9f57..443d01ff54 100644 --- a/tencentcloud/resource_tc_redis_backup_config.go +++ b/tencentcloud/resource_tc_redis_backup_config.go @@ -3,9 +3,40 @@ Use this resource to create a backup config of redis. Example Usage +Set configuration for automatic backups + ```hcl -resource "tencentcloud_redis_backup_config" "redislab" { - redis_id = "crs-7yl0q0dd" +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[1].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + +resource "tencentcloud_redis_backup_config" "foo" { + redis_id = tencentcloud_redis_instance.foo.id backup_time = "04:00-05:00" backup_period = ["Monday"] } @@ -16,7 +47,7 @@ Import Redis backup config can be imported, e.g. ``` -$ terraform import tencentcloud_redis_backup_config.redisconfig redis-id +$ terraform import tencentcloud_redis_backup_config.foo redis-id ``` */ package tencentcloud diff --git a/tencentcloud/resource_tc_redis_backup_download_restriction.go b/tencentcloud/resource_tc_redis_backup_download_restriction.go index 1d51b02794..18073758c3 100644 --- a/tencentcloud/resource_tc_redis_backup_download_restriction.go +++ b/tencentcloud/resource_tc_redis_backup_download_restriction.go @@ -3,8 +3,10 @@ Provides a resource to create a redis backup_download_restriction Example Usage +Modify the network information and address of the current region backup file download + ```hcl -resource "tencentcloud_redis_backup_download_restriction" "backup_download_restriction" { +resource "tencentcloud_redis_backup_download_restriction" "foo" { limit_type = "Customize" vpc_comparison_symbol = "In" ip_comparison_symbol = "In" @@ -18,10 +20,10 @@ resource "tencentcloud_redis_backup_download_restriction" "backup_download_restr Import -redis backup_download_restriction can be imported using the id, e.g. +redis backup_download_restriction can be imported using the region, e.g. ``` -terraform import tencentcloud_redis_backup_download_restriction.backup_download_restriction backup_download_restriction_id +terraform import tencentcloud_redis_backup_download_restriction.foo ap-guangzhou ``` */ package tencentcloud diff --git a/tencentcloud/resource_tc_redis_backup_operation.go b/tencentcloud/resource_tc_redis_backup_operation.go index b40adc9244..0b107e408e 100644 --- a/tencentcloud/resource_tc_redis_backup_operation.go +++ b/tencentcloud/resource_tc_redis_backup_operation.go @@ -3,10 +3,14 @@ Provides a resource to create a redis backup_operation Example Usage +Manually back up the Redis instance, and the backup data is kept for 7 days + ```hcl +data "tencentcloud_mysql_instance" "foo" {} + resource "tencentcloud_redis_backup_operation" "backup_operation" { - instance_id = "crs-c1nl9rpv" - remark = "" + instance_id = data.tencentcloud_mysql_instance.foo.instance_list[0].mysql_id + remark = "manually back" storage_days = 7 } ``` diff --git a/tencentcloud/resource_tc_redis_clear_instance_operation.go b/tencentcloud/resource_tc_redis_clear_instance_operation.go index 5e6c85cef4..a15e315fb6 100644 --- a/tencentcloud/resource_tc_redis_clear_instance_operation.go +++ b/tencentcloud/resource_tc_redis_clear_instance_operation.go @@ -3,10 +3,45 @@ Provides a resource to create a redis clear_instance_operation Example Usage +Clear the instance data of the Redis instance + ```hcl +variable "password" { + default = "test12345789" +} + +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[1].type_id + password = var.password + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + resource "tencentcloud_redis_clear_instance_operation" "clear_instance_operation" { - instance_id = "crs-c1nl9rpv" - password = "" + instance_id = tencentcloud_redis_instance.foo.id + password = var.password } ``` */ diff --git a/tencentcloud/resource_tc_redis_connection_config.go b/tencentcloud/resource_tc_redis_connection_config.go index 8eca30bbf8..fa8db6f0b4 100644 --- a/tencentcloud/resource_tc_redis_connection_config.go +++ b/tencentcloud/resource_tc_redis_connection_config.go @@ -3,7 +3,38 @@ Provides a resource to create a redis connection_config Example Usage +Modify the maximum number of connections and maximum network throughput of an instance + ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + resource "tencentcloud_redis_connection_config" "connection_config" { instance_id = "crs-fhm9fnv1" client_limit = "20000" diff --git a/tencentcloud/resource_tc_redis_instance.go b/tencentcloud/resource_tc_redis_instance.go index f3e20fa300..f3b8d4974a 100644 --- a/tencentcloud/resource_tc_redis_instance.go +++ b/tencentcloud/resource_tc_redis_instance.go @@ -7,10 +7,26 @@ Provides a resource to create a Redis instance and set its attributes. Example Usage +Create a base version of redis + ```hcl -data "tencentcloud_redis_zone_config" "zone" {} +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} -resource "tencentcloud_redis_instance" "redis_instance_test_2" { +resource "tencentcloud_redis_instance" "foo" { availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id password = "test12345789" @@ -19,39 +35,193 @@ resource "tencentcloud_redis_instance" "redis_instance_test_2" { redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] name = "terrform_test" port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id } ``` Using multi replica zone set -``` + +```hcl variable "redis_replicas_num" { default = 3 } -data "tencentcloud_availability_zones" "az" {} +variable "redis_type_id" { + default = 7 +} + +data "tencentcloud_availability_zones_by_product" "az" { + product = "redis" +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_availability_zones_by_product.az.zones[0].name + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} resource "tencentcloud_redis_instance" "red1" { - availability_zone = data.tencentcloud_availability_zones.az.zones[0].name + availability_zone = data.tencentcloud_availability_zones_by_product.az.zones[0].name + type_id = var.redis_type_id charge_type = "POSTPAID" mem_size = 1024 name = "test-redis" port = 6379 project_id = 0 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + password = "a12121312334" + security_groups = [tencentcloud_security_group.foo.id] redis_replicas_num = var.redis_replicas_num redis_shard_num = 1 - security_groups = [ - "sg-d765yoec", + replica_zone_ids = [ + for i in range(var.redis_replicas_num) + : data.tencentcloud_availability_zones_by_product.az.zones[i % length(data.tencentcloud_availability_zones_by_product.az.zones)].id ] - subnet_id = "subnet-ie01x91v" - type_id = 6 - vpc_id = "vpc-k4lrsafc" - password = "a12121312334" +} +``` - replica_zone_ids = [ - for i in range(var.redis_replicas_num) - : data.tencentcloud_availability_zones.az.zones[i % length(data.tencentcloud_availability_zones.az.zones)].id +Buy a month of prepaid instances + +```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] + charge_type = "PREPAID" + prepaid_period = 1 +} +``` + +Create a multi-AZ instance + +```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 + region = "ap-guangzhou" +} + +variable "replica_zone_ids" { + default = [100004,100006] +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", ] } + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = 2 + replica_zone_ids = var.replica_zone_ids + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} ``` Import diff --git a/tencentcloud/resource_tc_redis_maintenance_window.go b/tencentcloud/resource_tc_redis_maintenance_window.go index 4e3acfd0d1..6b46189ca0 100644 --- a/tencentcloud/resource_tc_redis_maintenance_window.go +++ b/tencentcloud/resource_tc_redis_maintenance_window.go @@ -4,8 +4,37 @@ Provides a resource to create a redis maintenance_window Example Usage ```hcl -resource "tencentcloud_redis_maintenance_window" "maintenance_window" { - instance_id = "crs-c1nl9rpv" +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + +resource "tencentcloud_redis_maintenance_window" "foo" { + instance_id = tencentcloud_redis_instance.foo.id start_time = "17:00" end_time = "19:00" } @@ -16,7 +45,7 @@ Import redis maintenance_window can be imported using the id, e.g. ``` -terraform import tencentcloud_redis_maintenance_window.maintenance_window maintenance_window_id +terraform import tencentcloud_redis_maintenance_window.foo instance_id ``` */ package tencentcloud diff --git a/tencentcloud/resource_tc_redis_param_template.go b/tencentcloud/resource_tc_redis_param_template.go index 0f3c3d37fc..bd9f7429af 100644 --- a/tencentcloud/resource_tc_redis_param_template.go +++ b/tencentcloud/resource_tc_redis_param_template.go @@ -16,16 +16,23 @@ resource "tencentcloud_redis_param_template" "param_template" { ``` Copy from another template + ```hcl -resource "tencentcloud_redis_param_template" "param_template" { - name = "example-copied" - description = "This is an copied redis param template from xxx." - template_id = "xxx" +resource "tencentcloud_redis_param_template" "foo" { + name = "tf-template" + description = "This is an example redis param template." + product_type = 6 params_override { key = "timeout" value = "7200" } } + +resource "tencentcloud_redis_param_template" "param_template" { + name = "tf-template-copied" + description = "This is an copied redis param template from tf-template." + template_id = tencentcloud_redis_param_template.foo.id +} ``` diff --git a/tencentcloud/resource_tc_redis_read_only.go b/tencentcloud/resource_tc_redis_read_only.go index f65b492946..e5c1e6b3a9 100644 --- a/tencentcloud/resource_tc_redis_read_only.go +++ b/tencentcloud/resource_tc_redis_read_only.go @@ -3,9 +3,61 @@ Provides a resource to create a redis read_only Example Usage +Set instance input mode + ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + resource "tencentcloud_redis_read_only" "read_only" { - instance_id = "crs-c1nl9rpv" + instance_id = tencentcloud_redis_instance.foo.id input_mode = "0" } ``` diff --git a/tencentcloud/resource_tc_redis_renew_instance_operation.go b/tencentcloud/resource_tc_redis_renew_instance_operation.go index 6ad65a9313..e55c3be51f 100644 --- a/tencentcloud/resource_tc_redis_renew_instance_operation.go +++ b/tencentcloud/resource_tc_redis_renew_instance_operation.go @@ -3,10 +3,61 @@ Provides a resource to create a redis renew_instance_operation Example Usage +Renew Subscription Instances + ```hcl -resource "tencentcloud_redis_renew_instance_operation" "renew_instance_operation" { - instance_id = "crs-c1nl9rpv" - period = 1 +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +data "tencentcloud_vpc" "vpc" { + name = "Default-VPC" +} + +data "tencentcloud_vpc_subnets" "subnet" { + vpc_id = data.tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = data.tencentcloud_vpc.vpc.id + subnet_id = data.tencentcloud_vpc_subnets.subnet.instance_list[0].subnet_id + security_groups = [tencentcloud_security_group.foo.id] + charge_type = "PREPAID" + prepaid_period = 1 +} + +resource "tencentcloud_redis_renew_instance_operation" "foo" { + instance_id = tencentcloud_redis_instance.foo.id + period = 1 modify_pay_mode = "prepaid" } ``` diff --git a/tencentcloud/resource_tc_redis_replica_readonly.go b/tencentcloud/resource_tc_redis_replica_readonly.go index cc18bb1141..260c832652 100644 --- a/tencentcloud/resource_tc_redis_replica_readonly.go +++ b/tencentcloud/resource_tc_redis_replica_readonly.go @@ -4,8 +4,58 @@ Provides a resource to create a redis replica_readonly Example Usage ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + resource "tencentcloud_redis_replica_readonly" "replica_readonly" { - instance_id = "crs-c1nl9rpv" + instance_id = tencentcloud_redis_instance.foo.id readonly_policy = ["master"] operate = "enable" } diff --git a/tencentcloud/resource_tc_redis_replicate_attachment.go b/tencentcloud/resource_tc_redis_replicate_attachment.go index 4e2a41dfae..1777e8cfc8 100644 --- a/tencentcloud/resource_tc_redis_replicate_attachment.go +++ b/tencentcloud/resource_tc_redis_replicate_attachment.go @@ -4,10 +4,76 @@ Provides a resource to create a redis replicate_attachment Example Usage ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 + region = "ap-guangzhou" +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + +resource "tencentcloud_redis_instance" "instance" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_replicas_nums[0] + name = "terrform_test_instance" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + + resource "tencentcloud_redis_replicate_attachment" "replicate_attachment" { - group_id = "crs-rpl-c1nl9rpv" - master_instance_id = "crs-c1nl9rpv" - instance_ids = [] + group_id = "crs-rpl-orfiwmn5" + master_instance_id = tencentcloud_redis_instance.foo.id + instance_ids = [tencentcloud_redis_instance.instance.id] } ``` diff --git a/tencentcloud/resource_tc_redis_security_group_attachment.go b/tencentcloud/resource_tc_redis_security_group_attachment.go index 39ffc76f5d..4592e0a503 100644 --- a/tencentcloud/resource_tc_redis_security_group_attachment.go +++ b/tencentcloud/resource_tc_redis_security_group_attachment.go @@ -4,9 +4,76 @@ Provides a resource to create a redis security_group_attachment Example Usage ```hcl -resource "tencentcloud_redis_security_group_attachment" "security_group_attachment" { - instance_id = "crs-jf4ico4v" - security_group_id = "sg-edmur627" +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 + region = "ap-guangzhou" +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + +resource "tencentcloud_redis_instance" "instance" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_replicas_nums[0] + name = "terrform_test_instance" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + + +resource "tencentcloud_redis_replicate_attachment" "replicate_attachment" { + group_id = "crs-rpl-orfiwmn5" + master_instance_id = tencentcloud_redis_instance.foo.id + instance_ids = [tencentcloud_redis_instance.instance.id] } ``` diff --git a/tencentcloud/resource_tc_redis_ssl.go b/tencentcloud/resource_tc_redis_ssl.go index 81048d14f2..f29596836f 100644 --- a/tencentcloud/resource_tc_redis_ssl.go +++ b/tencentcloud/resource_tc_redis_ssl.go @@ -4,9 +4,59 @@ Provides a resource to create a redis ssl Example Usage ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 + region = "ap-guangzhou" +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} resource "tencentcloud_redis_ssl" "ssl" { - instance_id = "crs-c1nl9rpv" + instance_id = tencentcloud_redis_instance.foo.id ssl_config = "disabled" } ``` diff --git a/tencentcloud/resource_tc_redis_startup_instance_operation.go b/tencentcloud/resource_tc_redis_startup_instance_operation.go index 5532df6d28..2def3a2d2a 100644 --- a/tencentcloud/resource_tc_redis_startup_instance_operation.go +++ b/tencentcloud/resource_tc_redis_startup_instance_operation.go @@ -3,8 +3,10 @@ Provides a resource to create a redis startup_instance_operation Example Usage +Recover the redis instance that has been isolated + ```hcl -resource "tencentcloud_redis_startup_instance_operation" "startup_instance_operation" { +resource "tencentcloud_redis_startup_instance_operation" "foo" { instance_id = "crs-c1nl9rpv" } ``` @@ -29,9 +31,7 @@ func resourceTencentCloudRedisStartupInstanceOperation() *schema.Resource { Create: resourceTencentCloudRedisStartupInstanceOperationCreate, Read: resourceTencentCloudRedisStartupInstanceOperationRead, Delete: resourceTencentCloudRedisStartupInstanceOperationDelete, - Importer: &schema.ResourceImporter{ - State: schema.ImportStatePassthrough, - }, + Schema: map[string]*schema.Schema{ "instance_id": { Required: true, diff --git a/tencentcloud/resource_tc_redis_switch_master.go b/tencentcloud/resource_tc_redis_switch_master.go index 4f332485f8..57f1ccfc9b 100644 --- a/tencentcloud/resource_tc_redis_switch_master.go +++ b/tencentcloud/resource_tc_redis_switch_master.go @@ -4,9 +4,69 @@ Provides a resource to create a redis switch_master Example Usage ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 + region = "ap-guangzhou" +} + +variable "replica_zone_ids" { + default = [100004,100006] +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = 2 + replica_zone_ids = var.replica_zone_ids + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + +data "tencentcloud_redis_instance_zone_info" "foo" { + instance_id = tencentcloud_redis_instance.foo.id +} + resource "tencentcloud_redis_switch_master" "switch_master" { - instance_id = "crs-kfdkirid" - group_id = 29369 + instance_id = tencentcloud_redis_instance.foo.id + group_id = data.tencentcloud_redis_instance_zone_info.foo.replica_groups[1].group_id } ``` diff --git a/tencentcloud/resource_tc_redis_upgrade_multi_zone_operation.go b/tencentcloud/resource_tc_redis_upgrade_multi_zone_operation.go index 7d6e5117d8..468d201522 100644 --- a/tencentcloud/resource_tc_redis_upgrade_multi_zone_operation.go +++ b/tencentcloud/resource_tc_redis_upgrade_multi_zone_operation.go @@ -6,7 +6,7 @@ Example Usage ```hcl resource "tencentcloud_redis_upgrade_multi_zone_operation" "upgrade_multi_zone_operation" { instance_id = "crs-c1nl9rpv" - upgrade_proxy_and_redis_server = + upgrade_proxy_and_redis_server = true } ``` diff --git a/website/docs/r/redis_account.html.markdown b/website/docs/r/redis_account.html.markdown index 89def7e20c..68c90d086f 100644 --- a/website/docs/r/redis_account.html.markdown +++ b/website/docs/r/redis_account.html.markdown @@ -13,9 +13,40 @@ Provides a resource to create a redis account ## Example Usage +### Create an account with read and write permissions + ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[1].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + resource "tencentcloud_redis_account" "account" { - instance_id = "crs-xxxxxx" + instance_id = tencentcloud_redis_instance.foo.id account_name = "account_test" account_password = "test1234" remark = "master" @@ -24,6 +55,48 @@ resource "tencentcloud_redis_account" "account" { } ``` +### Create an account with read-only permissions + +```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[1].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + +resource "tencentcloud_redis_account" "account" { + instance_id = tencentcloud_redis_instance.foo.id + account_name = "account_test" + account_password = "test1234" + remark = "master" + readonly_policy = ["master"] + privilege = "r" +} +``` + ## Argument Reference The following arguments are supported: diff --git a/website/docs/r/redis_backup_config.html.markdown b/website/docs/r/redis_backup_config.html.markdown index 0196925c20..be62577afd 100644 --- a/website/docs/r/redis_backup_config.html.markdown +++ b/website/docs/r/redis_backup_config.html.markdown @@ -13,9 +13,40 @@ Use this resource to create a backup config of redis. ## Example Usage +### Set configuration for automatic backups + ```hcl -resource "tencentcloud_redis_backup_config" "redislab" { - redis_id = "crs-7yl0q0dd" +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[1].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + +resource "tencentcloud_redis_backup_config" "foo" { + redis_id = tencentcloud_redis_instance.foo.id backup_time = "04:00-05:00" backup_period = ["Monday"] } @@ -42,6 +73,6 @@ In addition to all arguments above, the following attributes are exported: Redis backup config can be imported, e.g. ``` -$ terraform import tencentcloud_redis_backup_config.redisconfig redis-id +$ terraform import tencentcloud_redis_backup_config.foo redis-id ``` diff --git a/website/docs/r/redis_backup_download_restriction.html.markdown b/website/docs/r/redis_backup_download_restriction.html.markdown index a57ebe3270..7f4f82696a 100644 --- a/website/docs/r/redis_backup_download_restriction.html.markdown +++ b/website/docs/r/redis_backup_download_restriction.html.markdown @@ -13,8 +13,10 @@ Provides a resource to create a redis backup_download_restriction ## Example Usage +### Modify the network information and address of the current region backup file download + ```hcl -resource "tencentcloud_redis_backup_download_restriction" "backup_download_restriction" { +resource "tencentcloud_redis_backup_download_restriction" "foo" { limit_type = "Customize" vpc_comparison_symbol = "In" ip_comparison_symbol = "In" @@ -51,9 +53,9 @@ In addition to all arguments above, the following attributes are exported: ## Import -redis backup_download_restriction can be imported using the id, e.g. +redis backup_download_restriction can be imported using the region, e.g. ``` -terraform import tencentcloud_redis_backup_download_restriction.backup_download_restriction backup_download_restriction_id +terraform import tencentcloud_redis_backup_download_restriction.foo ap-guangzhou ``` diff --git a/website/docs/r/redis_backup_operation.html.markdown b/website/docs/r/redis_backup_operation.html.markdown index d23b8baae1..7c80b266ea 100644 --- a/website/docs/r/redis_backup_operation.html.markdown +++ b/website/docs/r/redis_backup_operation.html.markdown @@ -13,10 +13,14 @@ Provides a resource to create a redis backup_operation ## Example Usage +### Manually back up the Redis instance, and the backup data is kept for 7 days + ```hcl +data "tencentcloud_mysql_instance" "foo" {} + resource "tencentcloud_redis_backup_operation" "backup_operation" { - instance_id = "crs-c1nl9rpv" - remark = "" + instance_id = data.tencentcloud_mysql_instance.foo.instance_list[0].mysql_id + remark = "manually back" storage_days = 7 } ``` diff --git a/website/docs/r/redis_clear_instance_operation.html.markdown b/website/docs/r/redis_clear_instance_operation.html.markdown index 27ddc29f4f..b939e8f206 100644 --- a/website/docs/r/redis_clear_instance_operation.html.markdown +++ b/website/docs/r/redis_clear_instance_operation.html.markdown @@ -13,10 +13,45 @@ Provides a resource to create a redis clear_instance_operation ## Example Usage +### Clear the instance data of the Redis instance + ```hcl +variable "password" { + default = "test12345789" +} + +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[1].type_id + password = var.password + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[1].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + resource "tencentcloud_redis_clear_instance_operation" "clear_instance_operation" { - instance_id = "crs-c1nl9rpv" - password = "" + instance_id = tencentcloud_redis_instance.foo.id + password = var.password } ``` diff --git a/website/docs/r/redis_connection_config.html.markdown b/website/docs/r/redis_connection_config.html.markdown index dd0f29f365..fd97df6256 100644 --- a/website/docs/r/redis_connection_config.html.markdown +++ b/website/docs/r/redis_connection_config.html.markdown @@ -13,7 +13,38 @@ Provides a resource to create a redis connection_config ## Example Usage +### Modify the maximum number of connections and maximum network throughput of an instance + ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + resource "tencentcloud_redis_connection_config" "connection_config" { instance_id = "crs-fhm9fnv1" client_limit = "20000" diff --git a/website/docs/r/redis_instance.html.markdown b/website/docs/r/redis_instance.html.markdown index c8afee9f46..33fe1f98ea 100644 --- a/website/docs/r/redis_instance.html.markdown +++ b/website/docs/r/redis_instance.html.markdown @@ -17,10 +17,26 @@ Provides a resource to create a Redis instance and set its attributes. ## Example Usage +### Create a base version of redis + ```hcl -data "tencentcloud_redis_zone_config" "zone" {} +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} -resource "tencentcloud_redis_instance" "redis_instance_test_2" { +resource "tencentcloud_redis_instance" "foo" { availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id password = "test12345789" @@ -29,6 +45,8 @@ resource "tencentcloud_redis_instance" "redis_instance_test_2" { redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] name = "terrform_test" port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id } ``` @@ -39,29 +57,180 @@ variable "redis_replicas_num" { default = 3 } -data "tencentcloud_availability_zones" "az" {} +variable "redis_type_id" { + default = 7 +} + +data "tencentcloud_availability_zones_by_product" "az" { + product = "redis" +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_availability_zones_by_product.az.zones[0].name + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} resource "tencentcloud_redis_instance" "red1" { - availability_zone = data.tencentcloud_availability_zones.az.zones[0].name + availability_zone = data.tencentcloud_availability_zones_by_product.az.zones[0].name + type_id = var.redis_type_id charge_type = "POSTPAID" mem_size = 1024 name = "test-redis" port = 6379 project_id = 0 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + password = "a12121312334" + security_groups = [tencentcloud_security_group.foo.id] redis_replicas_num = var.redis_replicas_num redis_shard_num = 1 - security_groups = [ - "sg-d765yoec", - ] - subnet_id = "subnet-ie01x91v" - type_id = 6 - vpc_id = "vpc-k4lrsafc" - password = "a12121312334" - replica_zone_ids = [ for i in range(var.redis_replicas_num) - : data.tencentcloud_availability_zones.az.zones[i % length(data.tencentcloud_availability_zones.az.zones)].id + : data.tencentcloud_availability_zones_by_product.az.zones[i % length(data.tencentcloud_availability_zones_by_product.az.zones)].id + ] +} +``` + +### Buy a month of prepaid instances + +```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] + charge_type = "PREPAID" + prepaid_period = 1 +} +``` + +### Create a multi-AZ instance + +```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 + region = "ap-guangzhou" +} + +variable "replica_zone_ids" { + default = [100004, 100006] +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = 2 + replica_zone_ids = var.replica_zone_ids + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] } ``` diff --git a/website/docs/r/redis_maintenance_window.html.markdown b/website/docs/r/redis_maintenance_window.html.markdown index 422fcacda6..528043eef1 100644 --- a/website/docs/r/redis_maintenance_window.html.markdown +++ b/website/docs/r/redis_maintenance_window.html.markdown @@ -14,8 +14,37 @@ Provides a resource to create a redis maintenance_window ## Example Usage ```hcl -resource "tencentcloud_redis_maintenance_window" "maintenance_window" { - instance_id = "crs-c1nl9rpv" +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id +} + +resource "tencentcloud_redis_maintenance_window" "foo" { + instance_id = tencentcloud_redis_instance.foo.id start_time = "17:00" end_time = "19:00" } @@ -42,6 +71,6 @@ In addition to all arguments above, the following attributes are exported: redis maintenance_window can be imported using the id, e.g. ``` -terraform import tencentcloud_redis_maintenance_window.maintenance_window maintenance_window_id +terraform import tencentcloud_redis_maintenance_window.foo instance_id ``` diff --git a/website/docs/r/redis_param_template.html.markdown b/website/docs/r/redis_param_template.html.markdown index 755ffa2cfc..93b37c9e80 100644 --- a/website/docs/r/redis_param_template.html.markdown +++ b/website/docs/r/redis_param_template.html.markdown @@ -28,15 +28,21 @@ resource "tencentcloud_redis_param_template" "param_template" { ### Copy from another template ```hcl -resource "tencentcloud_redis_param_template" "param_template" { - name = "example-copied" - description = "This is an copied redis param template from xxx." - template_id = "xxx" +resource "tencentcloud_redis_param_template" "foo" { + name = "tf-template" + description = "This is an example redis param template." + product_type = 6 params_override { key = "timeout" value = "7200" } } + +resource "tencentcloud_redis_param_template" "param_template" { + name = "tf-template-copied" + description = "This is an copied redis param template from tf-template." + template_id = tencentcloud_redis_param_template.foo.id +} ``` ## Argument Reference diff --git a/website/docs/r/redis_read_only.html.markdown b/website/docs/r/redis_read_only.html.markdown index 167f02cbaa..da62402c67 100644 --- a/website/docs/r/redis_read_only.html.markdown +++ b/website/docs/r/redis_read_only.html.markdown @@ -13,9 +13,61 @@ Provides a resource to create a redis read_only ## Example Usage +### Set instance input mode + ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + resource "tencentcloud_redis_read_only" "read_only" { - instance_id = "crs-c1nl9rpv" + instance_id = tencentcloud_redis_instance.foo.id input_mode = "0" } ``` diff --git a/website/docs/r/redis_renew_instance_operation.html.markdown b/website/docs/r/redis_renew_instance_operation.html.markdown index b57a4f8d81..7cdaf5525c 100644 --- a/website/docs/r/redis_renew_instance_operation.html.markdown +++ b/website/docs/r/redis_renew_instance_operation.html.markdown @@ -13,9 +13,60 @@ Provides a resource to create a redis renew_instance_operation ## Example Usage +### Renew Subscription Instances + ```hcl -resource "tencentcloud_redis_renew_instance_operation" "renew_instance_operation" { - instance_id = "crs-c1nl9rpv" +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +data "tencentcloud_vpc" "vpc" { + name = "Default-VPC" +} + +data "tencentcloud_vpc_subnets" "subnet" { + vpc_id = data.tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = data.tencentcloud_vpc.vpc.id + subnet_id = data.tencentcloud_vpc_subnets.subnet.instance_list[0].subnet_id + security_groups = [tencentcloud_security_group.foo.id] + charge_type = "PREPAID" + prepaid_period = 1 +} + +resource "tencentcloud_redis_renew_instance_operation" "foo" { + instance_id = tencentcloud_redis_instance.foo.id period = 1 modify_pay_mode = "prepaid" } diff --git a/website/docs/r/redis_replica_readonly.html.markdown b/website/docs/r/redis_replica_readonly.html.markdown index ab9d7cb3c5..7935ea948a 100644 --- a/website/docs/r/redis_replica_readonly.html.markdown +++ b/website/docs/r/redis_replica_readonly.html.markdown @@ -14,8 +14,58 @@ Provides a resource to create a redis replica_readonly ## Example Usage ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[1].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[0].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[0].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[0].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + resource "tencentcloud_redis_replica_readonly" "replica_readonly" { - instance_id = "crs-c1nl9rpv" + instance_id = tencentcloud_redis_instance.foo.id readonly_policy = ["master"] operate = "enable" } diff --git a/website/docs/r/redis_replicate_attachment.html.markdown b/website/docs/r/redis_replicate_attachment.html.markdown index 57ddee2413..c9ee353935 100644 --- a/website/docs/r/redis_replicate_attachment.html.markdown +++ b/website/docs/r/redis_replicate_attachment.html.markdown @@ -14,10 +14,75 @@ Provides a resource to create a redis replicate_attachment ## Example Usage ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 + region = "ap-guangzhou" +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + +resource "tencentcloud_redis_instance" "instance" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_replicas_nums[0] + name = "terrform_test_instance" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + resource "tencentcloud_redis_replicate_attachment" "replicate_attachment" { - group_id = "crs-rpl-c1nl9rpv" - master_instance_id = "crs-c1nl9rpv" - instance_ids = [] + group_id = "crs-rpl-orfiwmn5" + master_instance_id = tencentcloud_redis_instance.foo.id + instance_ids = [tencentcloud_redis_instance.instance.id] } ``` diff --git a/website/docs/r/redis_security_group_attachment.html.markdown b/website/docs/r/redis_security_group_attachment.html.markdown index 3a756dd1ed..e42627a5d9 100644 --- a/website/docs/r/redis_security_group_attachment.html.markdown +++ b/website/docs/r/redis_security_group_attachment.html.markdown @@ -14,9 +14,75 @@ Provides a resource to create a redis security_group_attachment ## Example Usage ```hcl -resource "tencentcloud_redis_security_group_attachment" "security_group_attachment" { - instance_id = "crs-jf4ico4v" - security_group_id = "sg-edmur627" +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 + region = "ap-guangzhou" +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + +resource "tencentcloud_redis_instance" "instance" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_replicas_nums[0] + name = "terrform_test_instance" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + +resource "tencentcloud_redis_replicate_attachment" "replicate_attachment" { + group_id = "crs-rpl-orfiwmn5" + master_instance_id = tencentcloud_redis_instance.foo.id + instance_ids = [tencentcloud_redis_instance.instance.id] } ``` diff --git a/website/docs/r/redis_ssl.html.markdown b/website/docs/r/redis_ssl.html.markdown index 2567666949..bac443997e 100644 --- a/website/docs/r/redis_ssl.html.markdown +++ b/website/docs/r/redis_ssl.html.markdown @@ -14,8 +14,59 @@ Provides a resource to create a redis ssl ## Example Usage ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 + region = "ap-guangzhou" +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_replicas_nums[0] + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + resource "tencentcloud_redis_ssl" "ssl" { - instance_id = "crs-c1nl9rpv" + instance_id = tencentcloud_redis_instance.foo.id ssl_config = "disabled" } ``` diff --git a/website/docs/r/redis_startup_instance_operation.html.markdown b/website/docs/r/redis_startup_instance_operation.html.markdown index a5fbe3b68d..5f60ecc6d8 100644 --- a/website/docs/r/redis_startup_instance_operation.html.markdown +++ b/website/docs/r/redis_startup_instance_operation.html.markdown @@ -13,8 +13,10 @@ Provides a resource to create a redis startup_instance_operation ## Example Usage +### Recover the redis instance that has been isolated + ```hcl -resource "tencentcloud_redis_startup_instance_operation" "startup_instance_operation" { +resource "tencentcloud_redis_startup_instance_operation" "foo" { instance_id = "crs-c1nl9rpv" } ``` diff --git a/website/docs/r/redis_switch_master.html.markdown b/website/docs/r/redis_switch_master.html.markdown index e50fd7b521..2a5f021260 100644 --- a/website/docs/r/redis_switch_master.html.markdown +++ b/website/docs/r/redis_switch_master.html.markdown @@ -14,9 +14,69 @@ Provides a resource to create a redis switch_master ## Example Usage ```hcl +data "tencentcloud_redis_zone_config" "zone" { + type_id = 7 + region = "ap-guangzhou" +} + +variable "replica_zone_ids" { + default = [100004, 100006] +} + +resource "tencentcloud_vpc" "vpc" { + cidr_block = "10.0.0.0/16" + name = "tf_redis_vpc" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + name = "tf_redis_subnet" + cidr_block = "10.0.1.0/24" +} + +resource "tencentcloud_security_group" "foo" { + name = "tf-redis-sg" +} + +resource "tencentcloud_security_group_lite_rule" "foo" { + security_group_id = tencentcloud_security_group.foo.id + + ingress = [ + "ACCEPT#192.168.1.0/24#80#TCP", + "DROP#8.8.8.8#80,90#UDP", + "DROP#0.0.0.0/0#80-90#TCP", + ] + + egress = [ + "ACCEPT#192.168.0.0/16#ALL#TCP", + "ACCEPT#10.0.0.0/8#ALL#ICMP", + "DROP#0.0.0.0/0#ALL#ALL", + ] +} + +resource "tencentcloud_redis_instance" "foo" { + availability_zone = data.tencentcloud_redis_zone_config.zone.list[2].zone + type_id = data.tencentcloud_redis_zone_config.zone.list[2].type_id + password = "test12345789" + mem_size = 8192 + redis_shard_num = data.tencentcloud_redis_zone_config.zone.list[2].redis_shard_nums[0] + redis_replicas_num = 2 + replica_zone_ids = var.replica_zone_ids + name = "terrform_test" + port = 6379 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + security_groups = [tencentcloud_security_group.foo.id] +} + +data "tencentcloud_redis_instance_zone_info" "foo" { + instance_id = tencentcloud_redis_instance.foo.id +} + resource "tencentcloud_redis_switch_master" "switch_master" { - instance_id = "crs-kfdkirid" - group_id = 29369 + instance_id = tencentcloud_redis_instance.foo.id + group_id = data.tencentcloud_redis_instance_zone_info.foo.replica_groups[1].group_id } ``` diff --git a/website/docs/r/redis_upgrade_multi_zone_operation.html.markdown b/website/docs/r/redis_upgrade_multi_zone_operation.html.markdown index 3894cb0ece..aa70c16a73 100644 --- a/website/docs/r/redis_upgrade_multi_zone_operation.html.markdown +++ b/website/docs/r/redis_upgrade_multi_zone_operation.html.markdown @@ -16,7 +16,7 @@ Provides a resource to create a redis upgrade_multi_zone_operation ```hcl resource "tencentcloud_redis_upgrade_multi_zone_operation" "upgrade_multi_zone_operation" { instance_id = "crs-c1nl9rpv" - upgrade_proxy_and_redis_server = + upgrade_proxy_and_redis_server = true } ```