diff --git a/tencentcloud/resource_tc_security_group_rule.go b/tencentcloud/resource_tc_security_group_rule.go index 7d7ddbe942..7b81cc03ab 100644 --- a/tencentcloud/resource_tc_security_group_rule.go +++ b/tencentcloud/resource_tc_security_group_rule.go @@ -312,7 +312,7 @@ func resourceTencentCloudSecurityGroupRuleCreate(d *schema.ResourceData, m inter } var policyIndex int64 if v, ok := d.GetOk("policy_index"); ok { - policyIndex = v.(int64) + policyIndex = int64(v.(int)) } info := securityGroupRuleBasicInfo{ SgId: sgId, diff --git a/tencentcloud/resource_tc_security_group_rule_test.go b/tencentcloud/resource_tc_security_group_rule_test.go index 764a87eafc..ed443dbd49 100644 --- a/tencentcloud/resource_tc_security_group_rule_test.go +++ b/tencentcloud/resource_tc_security_group_rule_test.go @@ -29,6 +29,13 @@ func TestAccTencentCloudSecurityGroupRule_basic(t *testing.T) { resource.TestCheckResourceAttr("tencentcloud_security_group_rule.http-in", "type", "ingress"), resource.TestCheckResourceAttr("tencentcloud_security_group_rule.http-in", "policy_index", "0"), resource.TestCheckNoResourceAttr("tencentcloud_security_group_rule.http-in", "source_sgid"), + + resource.TestCheckResourceAttr("tencentcloud_security_group_rule.http-in1", "cidr_ip", "1.1.1.2"), + resource.TestCheckResourceAttr("tencentcloud_security_group_rule.http-in1", "ip_protocol", "tcp"), + resource.TestCheckResourceAttr("tencentcloud_security_group_rule.http-in1", "description", ""), + resource.TestCheckResourceAttr("tencentcloud_security_group_rule.http-in1", "type", "ingress"), + resource.TestCheckResourceAttr("tencentcloud_security_group_rule.http-in1", "policy_index", "1"), + resource.TestCheckNoResourceAttr("tencentcloud_security_group_rule.http-in1", "source_sgid"), ), }, }, @@ -254,6 +261,15 @@ resource "tencentcloud_security_group_rule" "http-in" { policy = "accept" policy_index = 0 } +resource "tencentcloud_security_group_rule" "http-in1" { + security_group_id = tencentcloud_security_group.foo.id + type = "ingress" + cidr_ip = "1.1.1.2" + ip_protocol = "tcp" + port_range = "80,8080" + policy = "accept" + policy_index = 1 + } ` const testAccSecurityGroupRuleConfigSSH = ` diff --git a/tencentcloud/service_tencentcloud_vpc.go b/tencentcloud/service_tencentcloud_vpc.go index 6b2dd3c387..64e2f255e7 100644 --- a/tencentcloud/service_tencentcloud_vpc.go +++ b/tencentcloud/service_tencentcloud_vpc.go @@ -1285,9 +1285,7 @@ func (me *VpcService) CreateSecurityGroupPolicy(ctx context.Context, info securi if info.Protocol != nil { policy.Protocol = common.StringPtr(strings.ToUpper(*info.Protocol)) } - if policy.PolicyIndex != nil { - policy.PolicyIndex = helper.Int64(info.PolicyIndex) - } + policy.PolicyIndex = helper.Int64(info.PolicyIndex) policy.Port = info.PortRange policy.PolicyDescription = info.Description policy.Action = common.StringPtr(strings.ToUpper(info.Action))