Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 51 additions & 2 deletions tencentcloud/basic_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,7 @@ const (

// Tke Exclusive Network Environment
const (
tkeExclusiveVpcId = "vpc-391sv4w3"
tkeExclusiveVpcName = "keep_tke_exclusive_vpc"
tkeExclusiveSubnetId = "subnet-ljyn7h30"
defaultTkeClusterId = "cls-ely08ic4"
defaultTkeClusterName = "keep-tke-cluster"
)
Expand Down Expand Up @@ -193,6 +191,16 @@ variable "default_az" {
}
`

const defaultImages = `
variable "default_img_id" {
default = "` + defaultTkeOSImageId + `"
}

variable "default_img" {
default = "` + defaultTkeOSImageName + `"
}
`

// default VPC/Subnet datasource
const defaultVpcSubnets = defaultAzVariable + `

Expand Down Expand Up @@ -490,3 +498,44 @@ locals {
`

// End of TcaPlus DB

// TKE Service
const TkeInstanceType = `
data "tencentcloud_instance_types" "ins_type" {
availability_zone = "` + defaultCvmAZone + `"
cpu_core_count = 1
memory_size = 2
}

locals {
type1 = [for i in data.tencentcloud_instance_types.ins_type.instance_types: i if lookup(i, "instance_charge_type") == "POSTPAID_BY_HOUR"][0].instance_type
type2 = [for i in data.tencentcloud_instance_types.ins_type.instance_types: i if lookup(i, "instance_charge_type") == "POSTPAID_BY_HOUR"][1].instance_type
}
`

const TkeExclusiveNetwork = `
data "tencentcloud_vpc_instances" "vpc" {
name = "` + tkeExclusiveVpcName + `"
}

data "tencentcloud_vpc_subnets" "subnet" {
vpc_id = data.tencentcloud_vpc_instances.vpc.instance_list.0.vpc_id
}

locals {
vpc_id = data.tencentcloud_vpc_subnets.subnet.instance_list.0.vpc_id
subnet_id = data.tencentcloud_vpc_subnets.subnet.instance_list.0.subnet_id
}
`

const TkeDataSource = `
data "tencentcloud_kubernetes_clusters" "tke" {
cluster_name = "` + defaultTkeClusterName + `"
}

locals {
cluster_id = data.tencentcloud_kubernetes_clusters.tke.list.0.cluster_id
}
`

// End of TKE Service
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ func TestAccDataSourceTencentCloudSqlserverAccountDBAttachments(t *testing.T) {
{
Config: testAccTencentCloudDataSqlserverAccountDBAttachmentsBasic,
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr(testDataSqlserverAccountDBAttachmentsName, "list.#", "1"),
resource.TestCheckResourceAttr(testDataSqlserverAccountDBAttachmentsName, "list.0.account_name", "tf_sqlserver_account"),
resource.TestCheckResourceAttrSet(testDataSqlserverAccountDBAttachmentsName, "list.#"),
resource.TestCheckResourceAttrSet(testDataSqlserverAccountDBAttachmentsName, "list.0.account_name"),
resource.TestCheckResourceAttrSet(testDataSqlserverAccountDBAttachmentsName, "list.0.db_name"),
resource.TestCheckResourceAttrSet(testDataSqlserverAccountDBAttachmentsName, "list.0.privilege"),
),
Expand All @@ -29,22 +29,21 @@ func TestAccDataSourceTencentCloudSqlserverAccountDBAttachments(t *testing.T) {
}

const testAccTencentCloudDataSqlserverAccountDBAttachmentsBasic = CommonPresetSQLServerAccount + `

resource "tencentcloud_sqlserver_db" "test" {
instance_id = tencentcloud_sqlserver_instance.test.id
instance_id = local.sqlserver_id
name = "test_db_attachment"
charset = "Chinese_PRC_BIN"
remark = "testACC-remark"
}

resource "tencentcloud_sqlserver_account_db_attachment" "test" {
instance_id = tencentcloud_sqlserver_instance.test.id
instance_id = local.sqlserver_id
account_name = local.sqlserver_account
db_name = tencentcloud_sqlserver_db.test.name
privilege = "ReadWrite"
db_name = tencentcloud_sqlserver_db.test.name
privilege = "ReadWrite"
}
data "tencentcloud_sqlserver_account_db_attachments" "test"{
instance_id = tencentcloud_sqlserver_instance.test.id
instance_id = local.sqlserver_id
account_name = tencentcloud_sqlserver_account_db_attachment.test.account_name
}
`
55 changes: 3 additions & 52 deletions tencentcloud/data_source_tc_sqlserver_basic_instances_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,65 +18,16 @@ func TestAccDataSourceTencentCloudSqlserverBasicInstances(t *testing.T) {
{
Config: testAccTencentCloudDataSqlserverBasicInstancesBasic,
Check: resource.ComposeTestCheckFunc(
testAccCheckSqlserverBasicInstanceExists("tencentcloud_sqlserver_basic_instance.test"),
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.#", "1"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.id"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.create_time"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.name"),
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.charge_type", "POSTPAID_BY_HOUR"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.engine_version"),
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.project_id", "0"),
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.memory", "4"),
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.storage", "20"),
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.cpu", "2"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.vpc_id"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.subnet_id"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.availability_zone"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.vip"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.vport"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.status"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.used_storage"),
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.tags.test", "test"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "name"),
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.#"),
),
},
},
})
}

const testAccTencentCloudDataSqlserverBasicInstancesBasic = testAccSqlserverAZ + `

resource "tencentcloud_vpc" "foo" {
name = "tf-sqlserver-vpc"
cidr_block = "10.0.0.0/16"
}

resource "tencentcloud_subnet" "foo" {
availability_zone = local.az1
name = "tf-sqlserver-subnet"
vpc_id = tencentcloud_vpc.foo.id
cidr_block = "10.0.0.0/16"
is_multicast = false
}

resource "tencentcloud_sqlserver_basic_instance" "test" {
name = "tf_sqlserver_basic_instance"
availability_zone = local.az1
charge_type = "POSTPAID_BY_HOUR"
vpc_id = tencentcloud_vpc.foo.id
subnet_id = tencentcloud_subnet.foo.id
machine_type = "CLOUD_PREMIUM"
project_id = 0
memory = 4
storage = 20
cpu = 2
security_groups = ["` + defaultSecurityGroup + `"]

tags = {
"test" = "test"
}
}

data "tencentcloud_sqlserver_basic_instances" "id_test"{
id = tencentcloud_sqlserver_basic_instance.test.id
name = "keep"
}
`
66 changes: 3 additions & 63 deletions tencentcloud/data_source_tc_sqlserver_publish_subscribes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,76 +16,16 @@ func TestAccTencentCloudSqlserverPublishSubscribeDataSource(t *testing.T) {
{
Config: testAccTencentCloudSqlServerPublishSubscribeDataSourceConfig,
Check: resource.ComposeTestCheckFunc(
testAccCheckSqlserverPublishSubscribeExists("tencentcloud_sqlserver_publish_subscribe.example"),
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_id"),
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_id"),
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_subscribe_name", "example"),
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_ip"),
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_ip"),
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_name"),
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_name"),
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_subscribe_id"),
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.database_tuples.#", "1"),
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_foos", "publish_subscribe_list.0.publish_instance_id"),
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.subscribe_foos", "publish_subscribe_list.0.subscribe_instance_id"),
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.#"),
),
},
},
})
}

const testAccTencentCloudSqlServerPublishSubscribeDataSourceConfig = defaultVpcSubnets + defaultSecurityGroupData + CommonPresetSQLServer + `

resource "tencentcloud_sqlserver_instance" "publish_instance" {
name = "tf_sqlserver_publish_instance"
availability_zone = var.default_az
charge_type = "POSTPAID_BY_HOUR"
vpc_id = local.vpc_id
subnet_id = local.subnet_id
project_id = 0
memory = 2
storage = 10
maintenance_week_set = [1,2,3]
maintenance_start_time= "09:00"
maintenance_time_span = 3
security_groups = [local.sg_id]
}

resource "tencentcloud_sqlserver_instance" "subscribe_instance" {
name = "tf_sqlserver_subscribe_instance"
availability_zone = var.default_az
charge_type = "POSTPAID_BY_HOUR"
vpc_id = local.vpc_id
subnet_id = local.subnet_id
memory = 2
storage = 10
maintenance_week_set = [1,2,3]
maintenance_start_time = "09:00"
maintenance_time_span = 3
security_groups = [local.sg_id]
}

resource "tencentcloud_sqlserver_publish_subscribe" "example" {
publish_instance_id = local.sqlserver_id
subscribe_instance_id = tencentcloud_sqlserver_instance.subscribe_instance.id
publish_subscribe_name = "example"
delete_subscribe_db = false
database_tuples {
publish_database = local.sqlserver_db
}
}
const testAccTencentCloudSqlServerPublishSubscribeDataSourceConfig = CommonPresetSQLServer + `

data "tencentcloud_sqlserver_publish_subscribes" "publish_subscribes" {
instance_id = tencentcloud_sqlserver_publish_subscribe.example.publish_instance_id
pub_or_sub_instance_id = tencentcloud_sqlserver_publish_subscribe.example.subscribe_instance_id
publish_subscribe_name = tencentcloud_sqlserver_publish_subscribe.example.publish_subscribe_name
}

data "tencentcloud_sqlserver_publish_subscribes" "publish_foos" {
instance_id = tencentcloud_sqlserver_publish_subscribe.example.publish_instance_id
}

data "tencentcloud_sqlserver_publish_subscribes" "subscribe_foos" {
instance_id = tencentcloud_sqlserver_publish_subscribe.example.subscribe_instance_id
instance_id = local.sqlserver_id
}
`
106 changes: 40 additions & 66 deletions tencentcloud/resource_tc_kubernetes_addon_attachment_test.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,46 @@
package tencentcloud

import (
"context"
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
)

const defaultAddonName = "cos"

func init() {
// go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_kubernetes_addon_attachment
resource.AddTestSweepers("tencentcloud_kubernetes_addon_attachment", &resource.Sweeper{
Name: "tencentcloud_kubernetes_addon_attachment",
F: func(r string) error {
logId := getLogId(contextNil)
ctx := context.WithValue(context.TODO(), logIdKey, logId)
cli, _ := sharedClientForRegion(r)
client := cli.(*TencentCloudClient).apiV3Conn
service := TkeService{client}

cls, err := service.DescribeClusters(ctx, "", "keep")
if err != nil {
return err
}

if len(cls) == 0 {
return fmt.Errorf("no persistent cluster")
}

clusterId := cls[0].ClusterId

if err = service.DeleteExtensionAddon(ctx, clusterId, defaultAddonName); err != nil {
return err
}

return nil
},
})
}

func TestAccTencentCloudTkeAddonAttachmentResource(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
Expand All @@ -25,74 +60,13 @@ func TestAccTencentCloudTkeAddonAttachmentResource(t *testing.T) {
}

func testAccTkeAddonAttachment() string {
return `
//variable "availability_zone" {
// default = "ap-guangzhou-3"
//}
//
//variable "cluster_cidr" {
// default = "172.16.0.0/16"
//}
//
//variable "default_instance_type" {
// default = "S1.SMALL1"
//}
//
//data "tencentcloud_images" "default" {
// image_type = ["PUBLIC_IMAGE"]
// os_name = "centos"
//}
//
//
//data "tencentcloud_vpc_subnets" "vpc" {
// is_default = true
// availability_zone = var.availability_zone
//}
//
//resource "tencentcloud_kubernetes_cluster" "managed_cluster" {
// vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
// cluster_cidr = "10.31.0.0/16"
// cluster_max_pod_num = 32
// cluster_name = "keep"
// cluster_desc = "test cluster desc"
// cluster_version = "1.20.6"
// cluster_max_service_num = 32
// cluster_os = "tlinux2.2(tkernel3)x86_64"
//
// worker_config {
// count = 1
// availability_zone = var.availability_zone
// instance_type = var.default_instance_type
// system_disk_type = "CLOUD_SSD"
// system_disk_size = 60
// internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR"
// internet_max_bandwidth_out = 100
// public_ip_assigned = true
// subnet_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id
//
// data_disk {
// disk_type = "CLOUD_PREMIUM"
// disk_size = 50
// }
//
// enhanced_security_service = false
// enhanced_monitor_service = false
// user_data = "dGVzdA=="
// password = "ZZXXccvv1212"
// }
//
// cluster_deploy_type = "MANAGED_CLUSTER"
//}

data "tencentcloud_kubernetes_clusters" "cls" {
cluster_name = "keep"
}

return fmt.Sprintf(`
%s

resource "tencentcloud_kubernetes_addon_attachment" "cos" {
cluster_id = data.tencentcloud_kubernetes_clusters.cls.list.0.cluster_id // tencentcloud_kubernetes_cluster.managed_cluster.id
name = "cos"
cluster_id = local.cluster_id
name = "%s"
version = "1.0.0"
}
`
`, TkeDataSource, defaultAddonName)
}
Loading