diff --git a/tencentcloud/resource_tc_eip.go b/tencentcloud/resource_tc_eip.go index cc7af82636..325a557475 100644 --- a/tencentcloud/resource_tc_eip.go +++ b/tencentcloud/resource_tc_eip.go @@ -80,6 +80,7 @@ func resourceTencentCloudEip() *schema.Resource { "internet_charge_type": { Type: schema.TypeString, Optional: true, + Computed: true, ForceNew: true, ValidateFunc: validateAllowedStringValue(CVM_INTERNET_CHARGE_TYPE), Description: "The charge type of eip. Valid value: `BANDWIDTH_PACKAGE`, `BANDWIDTH_POSTPAID_BY_HOUR` and `TRAFFIC_POSTPAID_BY_HOUR`.", @@ -241,6 +242,7 @@ func resourceTencentCloudEipRead(d *schema.ResourceData, meta interface{}) error _ = d.Set("type", eip.AddressType) _ = d.Set("public_ip", eip.AddressIp) _ = d.Set("status", eip.AddressStatus) + _ = d.Set("internet_charge_type", eip.InternetChargeType) _ = d.Set("tags", tags) return nil } diff --git a/tencentcloud/resource_tc_eip_test.go b/tencentcloud/resource_tc_eip_test.go index dd5039f09e..9abd169fcf 100644 --- a/tencentcloud/resource_tc_eip_test.go +++ b/tencentcloud/resource_tc_eip_test.go @@ -187,6 +187,29 @@ func TestAccTencentCloudEip_bandwidth(t *testing.T) { }) } +func TestAccTencentCloudEip_chargetype(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckEipDestroy, + Steps: []resource.TestStep{ + { + Config: testAccEipChargeType, + Check: resource.ComposeTestCheckFunc( + testAccCheckEipExists("tencentcloud_eip.foo"), + resource.TestCheckResourceAttr("tencentcloud_eip.foo", "internet_charge_type", "TRAFFIC_POSTPAID_BY_HOUR"), + ), + }, + { + ResourceName: "tencentcloud_eip.foo", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + func testAccCheckEipExists(n string) resource.TestCheckFunc { return func(s *terraform.State) error { logId := getLogId(contextNil) @@ -312,3 +335,10 @@ resource "tencentcloud_eip" "foo" { internet_max_bandwidth_out = 2 } ` + +const testAccEipChargeType = ` +resource "tencentcloud_eip" "foo" { + name = "eip_charge_type" + internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR" + } +`