Skip to content

Commit 3fb0767

Browse files
authored
fix: [128446510] support token and public_collector_url fields (#3588)
* fix: [128446510] support token and public_collector_url fields * fix: add changelog
1 parent 76e37bb commit 3fb0767

File tree

10 files changed

+2108
-607
lines changed

10 files changed

+2108
-607
lines changed

.changelog/3588.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_apm_instance: Support `token` and `public_collector_url` fields.
3+
```

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ require (
2929
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/antiddos v1.0.799
3030
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/api v1.0.285
3131
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763
32-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825
32+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.1.37
3333
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.48
3434
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/bi v1.0.824
3535
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cam v1.1.27

go.sum

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -827,6 +827,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763 h1:
827827
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763/go.mod h1:OlRreot089Ec7bEYMUovUBSuCD/x0D0ONPZ0g3YA5hg=
828828
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825 h1:yiC2lsZ3nNsZ/6Vm7FKFEkAJ37sqzIfmdL7DY0LouMc=
829829
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825/go.mod h1:6qtSa8OZKwJOWoOCYWVZd6+T62O96AxbPll0I43d4yw=
830+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.1.37 h1:f3wXn0kS5CFiXPIxSXJxMOiMeE57wseZqEnRmOQJE5w=
831+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.1.37/go.mod h1:homYeG4GjZoJXub/DK/7yV6kar1kxRbrkAFz67cQSXY=
830832
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.4 h1:9EguBiOzGyfCm4ZlO4QnnsZf/kpyTWS6DHz3bse9lNY=
831833
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.4/go.mod h1:jUF68ck1rxCqXkdmYRT2B2GtLrXAxmp7T0CcyWZ8BbM=
832834
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.21 h1:Y1miKK/dhfGn3AtCXMFDE3+kOUXyJMUnVlHCGC6EKSw=
@@ -962,6 +964,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.35 h1:gcnqn
962964
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.35/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
963965
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.36 h1:9zBwuj7prOhpObcw8idPnTn78TbNeK2RfAYoUaB6O/o=
964966
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.36/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
967+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.37/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
965968
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.39 h1:D7qtbjv0+L8r+Wrenk+SAsAwLVPRUkePROGWUrZY5QE=
966969
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.39/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
967970
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.40 h1:mNP6SgjUucirQfsAtChZ0bG6Cd2XcgJvHXW8IaChxtM=

tencentcloud/services/apm/resource_tc_apm_instance.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,18 @@ func ResourceTencentCloudApmInstance() *schema.Resource {
5555
Description: "Modify the billing mode: `1` means prepaid, `0` means pay-as-you-go, the default value is `0`.",
5656
},
5757

58+
"token": {
59+
Computed: true,
60+
Type: schema.TypeString,
61+
Description: "Business system authentication token.",
62+
},
63+
64+
"public_collector_url": {
65+
Computed: true,
66+
Type: schema.TypeString,
67+
Description: "External Network Reporting Address.",
68+
},
69+
5870
"tags": {
5971
Type: schema.TypeMap,
6072
Optional: true,
@@ -180,6 +192,25 @@ func resourceTencentCloudApmInstanceRead(d *schema.ResourceData, meta interface{
180192
_ = d.Set("pay_mode", instance.PayMode)
181193
}
182194

195+
if instance.Token != nil {
196+
_ = d.Set("token", instance.Token)
197+
}
198+
199+
apmAgent := &apm.ApmAgentInfo{}
200+
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
201+
result, err := service.DescribeApmAgentById(ctx, instanceId)
202+
if err != nil {
203+
return tccommon.RetryError(err)
204+
}
205+
apmAgent = result
206+
return nil
207+
})
208+
if err == nil {
209+
if apmAgent.PublicCollectorURL != nil {
210+
_ = d.Set("public_collector_url", apmAgent.PublicCollectorURL)
211+
}
212+
}
213+
183214
tcClient := meta.(tccommon.ProviderMeta).GetAPIV3Conn()
184215
tagService := svctag.NewTagService(tcClient)
185216
tags, err := tagService.DescribeResourceTags(ctx, "apm", "apm-instance", tcClient.Region, d.Id())

tencentcloud/services/apm/service_tencentcloud_apm.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,35 @@ func (me *ApmService) DescribeApmInstanceById(ctx context.Context, instanceId st
4545
return
4646
}
4747

48+
func (me *ApmService) DescribeApmAgentById(ctx context.Context, instanceId string) (apmAgent *apm.ApmAgentInfo, errRet error) {
49+
logId := tccommon.GetLogId(ctx)
50+
51+
request := apm.NewDescribeApmAgentRequest()
52+
request.InstanceId = &instanceId
53+
54+
defer func() {
55+
if errRet != nil {
56+
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), errRet.Error())
57+
}
58+
}()
59+
60+
ratelimit.Check(request.GetAction())
61+
62+
response, err := me.client.UseApmClient().DescribeApmAgent(request)
63+
if err != nil {
64+
errRet = err
65+
return
66+
}
67+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
68+
69+
if response.Response.ApmAgent == nil {
70+
return
71+
}
72+
73+
apmAgent = response.Response.ApmAgent
74+
return
75+
}
76+
4877
func (me *ApmService) DeleteApmInstanceById(ctx context.Context, instanceId string) (errRet error) {
4978
logId := tccommon.GetLogId(ctx)
5079

0 commit comments

Comments
 (0)