diff --git a/.changelog/3242.txt b/.changelog/3242.txt new file mode 100644 index 0000000000..d12f48e37e --- /dev/null +++ b/.changelog/3242.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_clickhouse_instance: update demo +``` \ No newline at end of file diff --git a/tencentcloud/services/cdwch/resource_tc_clickhouse_instance.md b/tencentcloud/services/cdwch/resource_tc_clickhouse_instance.md index 4cfd31d98b..edda925a1b 100644 --- a/tencentcloud/services/cdwch/resource_tc_clickhouse_instance.md +++ b/tencentcloud/services/cdwch/resource_tc_clickhouse_instance.md @@ -3,50 +3,110 @@ Provides a resource to create a clickhouse instance. Example Usage ```hcl +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +data "tencentcloud_clickhouse_spec" "spec" { + zone = var.availability_zone + pay_mode = "POSTPAID_BY_HOUR" + is_elastic = false +} + +locals { + data_spec = [for i in data.tencentcloud_clickhouse_spec.spec.data_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + data_spec_name_4c16m = local.data_spec.0.name + common_spec = [for i in data.tencentcloud_clickhouse_spec.spec.common_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + common_spec_name_4c16m = local.common_spec.0.name +} + +resource "tencentcloud_vpc" "vpc" { + name = "cdwch-vpc" + cidr_block = "10.0.0.0/16" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + name = "cdwch-subnet" + cidr_block = "10.0.0.0/16" + availability_zone = var.availability_zone + is_multicast = false +} + resource "tencentcloud_clickhouse_instance" "cdwch_instance" { - zone="ap-guangzhou-6" - ha_flag=true - vpc_id="vpc-xxxxxx" - subnet_id="subnet-xxxxxx" - product_version="21.8.12.29" + zone = var.availability_zone + ha_flag = true + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + product_version = "21.8.12.29" data_spec { - spec_name="SCH6" - count=2 - disk_size=300 + spec_name = local.data_spec_name_4c16m + count = 2 + disk_size = 300 } common_spec { - spec_name="SCH6" - count=3 - disk_size=300 + spec_name = local.common_spec_name_4c16m + count = 3 + disk_size = 300 } - charge_type="POSTPAID_BY_HOUR" - instance_name="tf-test-clickhouse" + charge_type = "POSTPAID_BY_HOUR" + instance_name = "tf-test-clickhouse" } ``` PREPAID instance ```hcl +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +data "tencentcloud_clickhouse_spec" "spec" { + zone = var.availability_zone + pay_mode = "POSTPAID_BY_HOUR" + is_elastic = false +} + +locals { + data_spec = [for i in data.tencentcloud_clickhouse_spec.spec.data_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + data_spec_name_4c16m = local.data_spec.0.name + common_spec = [for i in data.tencentcloud_clickhouse_spec.spec.common_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + common_spec_name_4c16m = local.common_spec.0.name +} + +resource "tencentcloud_vpc" "vpc" { + name = "cdwch-vpc" + cidr_block = "10.0.0.0/16" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + name = "cdwch-subnet" + cidr_block = "10.0.0.0/16" + availability_zone = var.availability_zone + is_multicast = false +} + resource "tencentcloud_clickhouse_instance" "cdwch_instance_prepaid" { - zone="ap-guangzhou-6" - ha_flag=true - vpc_id="vpc-xxxxxx" - subnet_id="subnet-xxxxxx" - product_version="21.8.12.29" + zone = var.availability_zone + ha_flag = true + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + product_version = "21.8.12.29" data_spec { - spec_name="SCH6" - count=2 - disk_size=300 + spec_name = local.data_spec_name_4c16m + count = 2 + disk_size = 300 } common_spec { - spec_name="SCH6" - count=3 - disk_size=300 + spec_name = local.common_spec_name_4c16m + count = 3 + disk_size = 300 } - charge_type="PREPAID" - renew_flag=1 - time_span=1 - instance_name="tf-test-clickhouse-prepaid" + charge_type = "PREPAID" + renew_flag = 1 + time_span = 1 + instance_name = "tf-test-clickhouse-prepaid" } ``` diff --git a/tencentcloud/services/cdwch/resource_tc_clickhouse_instance_test.go b/tencentcloud/services/cdwch/resource_tc_clickhouse_instance_test.go index 335f54c1f0..1fcf28a44a 100644 --- a/tencentcloud/services/cdwch/resource_tc_clickhouse_instance_test.go +++ b/tencentcloud/services/cdwch/resource_tc_clickhouse_instance_test.go @@ -49,47 +49,107 @@ func TestAccTencentCloudClickhouseInstanceResource_prepaid(t *testing.T) { } const testAccClickhouseInstanceBasic = ` +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +data "tencentcloud_clickhouse_spec" "spec" { + zone = var.availability_zone + pay_mode = "POSTPAID_BY_HOUR" + is_elastic = false +} + +locals { + data_spec = [for i in data.tencentcloud_clickhouse_spec.spec.data_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + data_spec_name_4c16m = local.data_spec.0.name + common_spec = [for i in data.tencentcloud_clickhouse_spec.spec.common_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + common_spec_name_4c16m = local.common_spec.0.name +} + +resource "tencentcloud_vpc" "vpc" { + name = "cdwch-vpc" + cidr_block = "10.0.0.0/16" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + name = "cdwch-subnet" + cidr_block = "10.0.0.0/16" + availability_zone = var.availability_zone + is_multicast = false +} + resource "tencentcloud_clickhouse_instance" "cdwch_instance" { - zone="ap-guangzhou-6" - ha_flag=true - vpc_id="vpc-j4u8r51f" - subnet_id="subnet-nvb6lfti" - product_version="21.8.12.29" + zone = var.availability_zone + ha_flag = true + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + product_version = "21.8.12.29" data_spec { - spec_name="SCH6" - count=2 - disk_size=300 + spec_name = local.data_spec_name_4c16m + count = 2 + disk_size = 300 } common_spec { - spec_name="SCH6" - count=3 - disk_size=300 + spec_name = local.common_spec_name_4c16m + count = 3 + disk_size = 300 } - charge_type="POSTPAID_BY_HOUR" - instance_name="tf-test-clickhouse" + charge_type = "POSTPAID_BY_HOUR" + instance_name = "tf-test-clickhouse" } ` const testAccClickhouseInstancePrepaid = ` +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +data "tencentcloud_clickhouse_spec" "spec" { + zone = var.availability_zone + pay_mode = "POSTPAID_BY_HOUR" + is_elastic = false +} + +locals { + data_spec = [for i in data.tencentcloud_clickhouse_spec.spec.data_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + data_spec_name_4c16m = local.data_spec.0.name + common_spec = [for i in data.tencentcloud_clickhouse_spec.spec.common_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + common_spec_name_4c16m = local.common_spec.0.name +} + +resource "tencentcloud_vpc" "vpc" { + name = "cdwch-vpc" + cidr_block = "10.0.0.0/16" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + name = "cdwch-subnet" + cidr_block = "10.0.0.0/16" + availability_zone = var.availability_zone + is_multicast = false +} + resource "tencentcloud_clickhouse_instance" "cdwch_instance_prepaid" { - zone="ap-guangzhou-6" - ha_flag=true - vpc_id="vpc-j4u8r51f" - subnet_id="subnet-nvb6lfti" - product_version="21.8.12.29" + zone = var.availability_zone + ha_flag = true + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + product_version = "21.8.12.29" data_spec { - spec_name="SCH6" - count=2 - disk_size=300 + spec_name = local.data_spec_name_4c16m + count = 2 + disk_size = 300 } common_spec { - spec_name="SCH6" - count=3 - disk_size=300 + spec_name = local.common_spec_name_4c16m + count = 3 + disk_size = 300 } - charge_type="PREPAID" - renew_flag=1 - time_span=1 - instance_name="tf-test-clickhouse-prepaid" + charge_type = "PREPAID" + renew_flag = 1 + time_span = 1 + instance_name = "tf-test-clickhouse-prepaid" } ` diff --git a/website/docs/r/clickhouse_instance.html.markdown b/website/docs/r/clickhouse_instance.html.markdown index c85f654c53..f8202eff57 100644 --- a/website/docs/r/clickhouse_instance.html.markdown +++ b/website/docs/r/clickhouse_instance.html.markdown @@ -14,19 +14,49 @@ Provides a resource to create a clickhouse instance. ## Example Usage ```hcl +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +data "tencentcloud_clickhouse_spec" "spec" { + zone = var.availability_zone + pay_mode = "POSTPAID_BY_HOUR" + is_elastic = false +} + +locals { + data_spec = [for i in data.tencentcloud_clickhouse_spec.spec.data_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + data_spec_name_4c16m = local.data_spec.0.name + common_spec = [for i in data.tencentcloud_clickhouse_spec.spec.common_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + common_spec_name_4c16m = local.common_spec.0.name +} + +resource "tencentcloud_vpc" "vpc" { + name = "cdwch-vpc" + cidr_block = "10.0.0.0/16" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + name = "cdwch-subnet" + cidr_block = "10.0.0.0/16" + availability_zone = var.availability_zone + is_multicast = false +} + resource "tencentcloud_clickhouse_instance" "cdwch_instance" { - zone = "ap-guangzhou-6" + zone = var.availability_zone ha_flag = true - vpc_id = "vpc-xxxxxx" - subnet_id = "subnet-xxxxxx" + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id product_version = "21.8.12.29" data_spec { - spec_name = "SCH6" + spec_name = local.data_spec_name_4c16m count = 2 disk_size = 300 } common_spec { - spec_name = "SCH6" + spec_name = local.common_spec_name_4c16m count = 3 disk_size = 300 } @@ -38,19 +68,49 @@ resource "tencentcloud_clickhouse_instance" "cdwch_instance" { ### PREPAID instance ```hcl +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +data "tencentcloud_clickhouse_spec" "spec" { + zone = var.availability_zone + pay_mode = "POSTPAID_BY_HOUR" + is_elastic = false +} + +locals { + data_spec = [for i in data.tencentcloud_clickhouse_spec.spec.data_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + data_spec_name_4c16m = local.data_spec.0.name + common_spec = [for i in data.tencentcloud_clickhouse_spec.spec.common_spec : i if lookup(i, "cpu") == 4 && lookup(i, "mem") == 16] + common_spec_name_4c16m = local.common_spec.0.name +} + +resource "tencentcloud_vpc" "vpc" { + name = "cdwch-vpc" + cidr_block = "10.0.0.0/16" +} + +resource "tencentcloud_subnet" "subnet" { + vpc_id = tencentcloud_vpc.vpc.id + name = "cdwch-subnet" + cidr_block = "10.0.0.0/16" + availability_zone = var.availability_zone + is_multicast = false +} + resource "tencentcloud_clickhouse_instance" "cdwch_instance_prepaid" { - zone = "ap-guangzhou-6" + zone = var.availability_zone ha_flag = true - vpc_id = "vpc-xxxxxx" - subnet_id = "subnet-xxxxxx" + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id product_version = "21.8.12.29" data_spec { - spec_name = "SCH6" + spec_name = local.data_spec_name_4c16m count = 2 disk_size = 300 } common_spec { - spec_name = "SCH6" + spec_name = local.common_spec_name_4c16m count = 3 disk_size = 300 }