Skip to content

Commit 788ae9d

Browse files
committed
fix: modify eip
1 parent 82d60c9 commit 788ae9d

File tree

5 files changed

+46
-39
lines changed

5 files changed

+46
-39
lines changed

tencentcloud/services/cvm/resource_tc_eip.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,8 @@ func resourceTencentCloudEipCreate(d *schema.ResourceData, meta interface{}) err
139139

140140
client := meta.(tccommon.ProviderMeta).GetAPIV3Conn()
141141
vpcService := svcvpc.NewVpcService(client)
142-
tagService := svctag.NewTagService(client)
143-
region := client.Region
144142

145143
var internetChargeType string
146-
var cdcId string
147144

148145
request := vpc.NewAllocateAddressesRequest()
149146
if v, ok := d.GetOk("type"); ok {
@@ -194,7 +191,6 @@ func resourceTencentCloudEipCreate(d *schema.ResourceData, meta interface{}) err
194191
request.AntiDDoSPackageId = helper.String(v.(string))
195192
}
196193
if v, ok := d.GetOk("cdc_id"); ok {
197-
cdcId = v.(string)
198194
request.DedicatedClusterId = helper.String(v.(string))
199195
}
200196

@@ -249,7 +245,7 @@ func resourceTencentCloudEipCreate(d *schema.ResourceData, meta interface{}) err
249245
}
250246

251247
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
252-
eip, errRet := vpcService.DescribeEipById(ctx, eipId, cdcId)
248+
eip, errRet := vpcService.DescribeEipById(ctx, eipId)
253249
if errRet != nil {
254250
return tccommon.RetryError(errRet)
255251
}
@@ -281,10 +277,9 @@ func resourceTencentCloudEipRead(d *schema.ResourceData, meta interface{}) error
281277
region := client.Region
282278

283279
eipId := d.Id()
284-
cdcId := d.Get("cdc_id").(string)
285280
var eip *vpc.Address
286281
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
287-
instance, errRet := vpcService.DescribeEipById(ctx, eipId, cdcId)
282+
instance, errRet := vpcService.DescribeEipById(ctx, eipId)
288283
if errRet != nil {
289284
return tccommon.RetryError(errRet)
290285
}
@@ -472,7 +467,7 @@ func resourceTencentCloudEipDelete(d *schema.ResourceData, meta interface{}) err
472467
if internetChargeType == "BANDWIDTH_PREPAID_BY_MONTH" {
473468
// isolated
474469
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
475-
eip, errRet := vpcService.DescribeEipById(ctx, eipId, cdcId)
470+
eip, errRet := vpcService.DescribeEipById(ctx, eipId)
476471
if errRet != nil {
477472
return tccommon.RetryError(errRet)
478473
}
@@ -499,7 +494,7 @@ func resourceTencentCloudEipDelete(d *schema.ResourceData, meta interface{}) err
499494
}
500495

501496
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
502-
eip, errRet := vpcService.DescribeEipById(ctx, eipId, cdcId)
497+
eip, errRet := vpcService.DescribeEipById(ctx, eipId)
503498
if errRet != nil {
504499
return tccommon.RetryError(errRet)
505500
}

tencentcloud/services/cvm/resource_tc_eip_association.go

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,6 @@ func ResourceTencentCloudEipAssociation() *schema.Resource {
6666
},
6767
Description: "Indicates an IP belongs to the `network_interface_id`. This field is conflict with `instance_id`.",
6868
},
69-
"cdc_id": {
70-
Type: schema.TypeString,
71-
Optional: true,
72-
ForceNew: true,
73-
Description: "CDC Unique ID.",
74-
},
7569
},
7670
}
7771
}
@@ -88,9 +82,8 @@ func resourceTencentCloudEipAssociationCreate(d *schema.ResourceData, meta inter
8882
)
8983

9084
eipId := d.Get("eip_id").(string)
91-
cdcId := d.Get("cdc_id").(string)
9285
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
93-
eip, errRet = vpcService.DescribeEipById(ctx, eipId, cdcId)
86+
eip, errRet = vpcService.DescribeEipById(ctx, eipId)
9487
if errRet != nil {
9588
return tccommon.RetryError(errRet, tccommon.InternalError)
9689
}
@@ -127,7 +120,7 @@ func resourceTencentCloudEipAssociationCreate(d *schema.ResourceData, meta inter
127120

128121
associationId := fmt.Sprintf("%v::%v", eipId, instanceId)
129122
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
130-
eip, errRet = vpcService.DescribeEipById(ctx, eipId, cdcId)
123+
eip, errRet = vpcService.DescribeEipById(ctx, eipId)
131124
if errRet != nil {
132125
return tccommon.RetryError(errRet)
133126
}
@@ -190,7 +183,7 @@ func resourceTencentCloudEipAssociationCreate(d *schema.ResourceData, meta inter
190183
id := fmt.Sprintf("%v::%v::%v", eipId, networkId, privateIp)
191184

192185
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
193-
eip, errRet = vpcService.DescribeEipById(ctx, eipId, cdcId)
186+
eip, errRet = vpcService.DescribeEipById(ctx, eipId)
194187
if errRet != nil {
195188
return tccommon.RetryError(errRet)
196189
}
@@ -234,9 +227,8 @@ func resourceTencentCloudEipAssociationRead(d *schema.ResourceData, meta interfa
234227
return err
235228
}
236229

237-
cdcId := d.Get("cdc_id").(string)
238230
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
239-
eip, errRet := vpcService.DescribeEipById(ctx, association.EipId, cdcId)
231+
eip, errRet := vpcService.DescribeEipById(ctx, association.EipId)
240232
if errRet != nil {
241233
return tccommon.RetryError(errRet)
242234
}

tencentcloud/services/cvm/resource_tc_eip_association_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ func testAccCheckEipAssociationDestroy(s *terraform.State) error {
8888
return err
8989
}
9090

91-
eip, err := vpcService.DescribeEipById(ctx, associationId.EipId, "")
91+
eip, err := vpcService.DescribeEipById(ctx, associationId.EipId)
9292
if err != nil {
9393
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
94-
eip, err = vpcService.DescribeEipById(ctx, associationId.EipId, "")
94+
eip, err = vpcService.DescribeEipById(ctx, associationId.EipId)
9595
if err != nil {
9696
return tccommon.RetryError(err)
9797
}
@@ -129,10 +129,10 @@ func testAccCheckEipAssociationExists(n string) resource.TestCheckFunc {
129129
if err != nil {
130130
return err
131131
}
132-
eip, err := vpcService.DescribeEipById(ctx, associationId.EipId, "")
132+
eip, err := vpcService.DescribeEipById(ctx, associationId.EipId)
133133
if err != nil {
134134
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
135-
eip, err = vpcService.DescribeEipById(ctx, associationId.EipId, "")
135+
eip, err = vpcService.DescribeEipById(ctx, associationId.EipId)
136136
if err != nil {
137137
return tccommon.RetryError(err)
138138
}

tencentcloud/services/cvm/resource_tc_eip_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -271,10 +271,10 @@ func testAccCheckEipExists(n string) resource.TestCheckFunc {
271271
}
272272

273273
vpcService := svcvpc.NewVpcService(tcacctest.AccProvider.Meta().(tccommon.ProviderMeta).GetAPIV3Conn())
274-
eip, err := vpcService.DescribeEipById(ctx, rs.Primary.ID, "")
274+
eip, err := vpcService.DescribeEipById(ctx, rs.Primary.ID)
275275
if err != nil {
276276
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
277-
eip, err = vpcService.DescribeEipById(ctx, rs.Primary.ID, "")
277+
eip, err = vpcService.DescribeEipById(ctx, rs.Primary.ID)
278278
if err != nil {
279279
return tccommon.RetryError(err)
280280
}
@@ -300,10 +300,10 @@ func testAccCheckEipDestroy(s *terraform.State) error {
300300
continue
301301
}
302302

303-
eip, err := vpcService.DescribeEipById(ctx, rs.Primary.ID, "")
303+
eip, err := vpcService.DescribeEipById(ctx, rs.Primary.ID)
304304
if err != nil {
305305
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
306-
eip, err = vpcService.DescribeEipById(ctx, rs.Primary.ID, "")
306+
eip, err = vpcService.DescribeEipById(ctx, rs.Primary.ID)
307307
if err != nil {
308308
return tccommon.RetryError(err)
309309
}

tencentcloud/services/vpc/service_tencentcloud_vpc.go

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2363,20 +2363,40 @@ func parseRule(str string) (liteRule VpcSecurityGroupLiteRule, err error) {
23632363
/*
23642364
EIP
23652365
*/
2366-
func (me *VpcService) DescribeEipById(ctx context.Context, eipId, cdcId string) (eip *vpc.Address, errRet error) {
2366+
func (me *VpcService) DescribeEipById(ctx context.Context, eipId string) (eip *vpc.Address, errRet error) {
23672367
logId := tccommon.GetLogId(ctx)
23682368
request := vpc.NewDescribeAddressesRequest()
23692369
request.AddressIds = []*string{&eipId}
2370-
if cdcId != "" {
2371-
request.Filters = append(request.Filters, &vpc.Filter{
2372-
Name: helper.String("dedicated-cluster-id"),
2373-
Values: []*string{&cdcId},
2374-
})
2375-
request.Filters = append(request.Filters, &vpc.Filter{
2376-
Name: helper.String("business-type"),
2377-
Values: []*string{helper.String("CDC")},
2378-
})
2370+
ratelimit.Check(request.GetAction())
2371+
2372+
var specArgs connectivity.IacExtInfo
2373+
specArgs.InstanceId = eipId
2374+
2375+
response, err := me.client.UseVpcClient(specArgs).DescribeAddresses(request)
2376+
if err != nil {
2377+
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n",
2378+
logId, request.GetAction(), request.ToJsonString(), err.Error())
2379+
errRet = err
2380+
return
23792381
}
2382+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
2383+
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
2384+
2385+
if len(response.Response.AddressSet) < 1 {
2386+
return me.DescribeEipByIdCdc(ctx, eipId)
2387+
}
2388+
eip = response.Response.AddressSet[0]
2389+
return
2390+
}
2391+
2392+
func (me *VpcService) DescribeEipByIdCdc(ctx context.Context, eipId string) (eip *vpc.Address, errRet error) {
2393+
logId := tccommon.GetLogId(ctx)
2394+
request := vpc.NewDescribeAddressesRequest()
2395+
request.AddressIds = []*string{&eipId}
2396+
request.Filters = append(request.Filters, &vpc.Filter{
2397+
Name: helper.String("business-type"),
2398+
Values: []*string{helper.String("CDC")},
2399+
})
23802400

23812401
ratelimit.Check(request.GetAction())
23822402

0 commit comments

Comments
 (0)