From 666c44e7c73ec57b3e2e18de40bf0c140019e3fc Mon Sep 17 00:00:00 2001 From: hellertang Date: Wed, 30 Mar 2022 11:53:24 +0800 Subject: [PATCH] fix ssl client and fix clb doc --- ...resource_tc_clb_target_group_attachment.go | 2 +- tencentcloud/resource_tc_vpn_ssl_client.go | 37 +++++++++++++------ .../clb_target_group_attachment.html.markdown | 2 +- 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/tencentcloud/resource_tc_clb_target_group_attachment.go b/tencentcloud/resource_tc_clb_target_group_attachment.go index 9c43859058..0d709744ef 100644 --- a/tencentcloud/resource_tc_clb_target_group_attachment.go +++ b/tencentcloud/resource_tc_clb_target_group_attachment.go @@ -34,7 +34,7 @@ resource "tencentcloud_clb_target_group_attachment" "group" { clb_id = tencentcloud_clb_instance.clb_basic.id listener_id = tencentcloud_clb_listener.listener_basic.listener_id rule_id = tencentcloud_clb_listener_rule.rule_basic.rule_id - targrt_group_id = tencentcloud_clb_target_group.test.id + target_group_id = tencentcloud_clb_target_group.test.id } ``` diff --git a/tencentcloud/resource_tc_vpn_ssl_client.go b/tencentcloud/resource_tc_vpn_ssl_client.go index a73ae3c309..431e8688c0 100644 --- a/tencentcloud/resource_tc_vpn_ssl_client.go +++ b/tencentcloud/resource_tc_vpn_ssl_client.go @@ -68,9 +68,10 @@ func resourceTencentCloudVpnSslClientCreate(d *schema.ResourceData, meta interfa ctx := context.WithValue(context.TODO(), logIdKey, logId) var ( - vpcService = VpcService{client: meta.(*TencentCloudClient).apiV3Conn} - request = vpc.NewCreateVpnGatewaySslClientRequest() - sslVpnServerId string + vpcService = VpcService{client: meta.(*TencentCloudClient).apiV3Conn} + request = vpc.NewCreateVpnGatewaySslClientRequest() + sslVpnServerId string + sslVpnClientName string ) if v, ok := d.GetOk("ssl_vpn_server_id"); ok { @@ -78,7 +79,21 @@ func resourceTencentCloudVpnSslClientCreate(d *schema.ResourceData, meta interfa request.SslVpnServerId = helper.String(sslVpnServerId) } if v, ok := d.GetOk("ssl_vpn_client_name"); ok { - request.SslVpnClientName = helper.String(v.(string)) + sslVpnClientName = v.(string) + request.SslVpnClientName = helper.String(sslVpnClientName) + } + + // make sure client name is unique + filter := make(map[string]string) + filter["ssl-vpn-server-id"] = sslVpnServerId + filter["ssl-vpn-client-name"] = sslVpnClientName + + existIns, err := vpcService.DescribeVpnGwSslClientByFilter(ctx, filter) + if err != nil { + return fmt.Errorf("get instance list error: %s", err.Error()) + } + if len(existIns) > 0 { + return fmt.Errorf("ssl client with same name already exist.") } var taskId *uint64 @@ -98,24 +113,22 @@ func resourceTencentCloudVpnSslClientCreate(d *schema.ResourceData, meta interfa return err } - err := vpcService.DescribeTaskResult(ctx, helper.Uint64(*taskId)) + err = vpcService.DescribeTaskResult(ctx, helper.Uint64(*taskId)) if err != nil { return err } - // add protect time.Sleep(3) - filter := make(map[string]string) - filter["ssl-vpn-server-id"] = sslVpnServerId - - instances, err := vpcService.DescribeVpnGwSslClientByFilter(ctx, filter) - + newIns, err := vpcService.DescribeVpnGwSslClientByFilter(ctx, filter) if err != nil { return fmt.Errorf("get instance list error: %s", err.Error()) } + if len(newIns) != 1 { + return fmt.Errorf("create ssl client error") + } - sslClient := instances[0] + sslClient := newIns[0] d.SetId(*sslClient.SslVpnClientId) return resourceTencentCloudVpnSslClientRead(d, meta) diff --git a/website/docs/r/clb_target_group_attachment.html.markdown b/website/docs/r/clb_target_group_attachment.html.markdown index 3dd8e96eca..ee9d64fcfd 100644 --- a/website/docs/r/clb_target_group_attachment.html.markdown +++ b/website/docs/r/clb_target_group_attachment.html.markdown @@ -44,7 +44,7 @@ resource "tencentcloud_clb_target_group_attachment" "group" { clb_id = tencentcloud_clb_instance.clb_basic.id listener_id = tencentcloud_clb_listener.listener_basic.listener_id rule_id = tencentcloud_clb_listener_rule.rule_basic.rule_id - targrt_group_id = tencentcloud_clb_target_group.test.id + target_group_id = tencentcloud_clb_target_group.test.id } ```