Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .changelog/3588.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:enhancement
resource/tencentcloud_apm_instance: Support `token` and `public_collector_url` fields.
```
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ require (
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/antiddos v1.0.799
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/api v1.0.285
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.1.37
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.48
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/bi v1.0.824
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cam v1.1.27
Expand Down
3 changes: 3 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -827,6 +827,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763 h1:
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763/go.mod h1:OlRreot089Ec7bEYMUovUBSuCD/x0D0ONPZ0g3YA5hg=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825 h1:yiC2lsZ3nNsZ/6Vm7FKFEkAJ37sqzIfmdL7DY0LouMc=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825/go.mod h1:6qtSa8OZKwJOWoOCYWVZd6+T62O96AxbPll0I43d4yw=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.1.37 h1:f3wXn0kS5CFiXPIxSXJxMOiMeE57wseZqEnRmOQJE5w=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.1.37/go.mod h1:homYeG4GjZoJXub/DK/7yV6kar1kxRbrkAFz67cQSXY=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.4 h1:9EguBiOzGyfCm4ZlO4QnnsZf/kpyTWS6DHz3bse9lNY=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.4/go.mod h1:jUF68ck1rxCqXkdmYRT2B2GtLrXAxmp7T0CcyWZ8BbM=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.21 h1:Y1miKK/dhfGn3AtCXMFDE3+kOUXyJMUnVlHCGC6EKSw=
Expand Down Expand Up @@ -962,6 +964,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.35 h1:gcnqn
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.35/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.36 h1:9zBwuj7prOhpObcw8idPnTn78TbNeK2RfAYoUaB6O/o=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.36/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.37/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.39 h1:D7qtbjv0+L8r+Wrenk+SAsAwLVPRUkePROGWUrZY5QE=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.39/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.40 h1:mNP6SgjUucirQfsAtChZ0bG6Cd2XcgJvHXW8IaChxtM=
Expand Down
31 changes: 31 additions & 0 deletions tencentcloud/services/apm/resource_tc_apm_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,18 @@ func ResourceTencentCloudApmInstance() *schema.Resource {
Description: "Modify the billing mode: `1` means prepaid, `0` means pay-as-you-go, the default value is `0`.",
},

"token": {
Computed: true,
Type: schema.TypeString,
Description: "Business system authentication token.",
},

"public_collector_url": {
Computed: true,
Type: schema.TypeString,
Description: "External Network Reporting Address.",
},

"tags": {
Type: schema.TypeMap,
Optional: true,
Expand Down Expand Up @@ -180,6 +192,25 @@ func resourceTencentCloudApmInstanceRead(d *schema.ResourceData, meta interface{
_ = d.Set("pay_mode", instance.PayMode)
}

if instance.Token != nil {
_ = d.Set("token", instance.Token)
}

apmAgent := &apm.ApmAgentInfo{}
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
result, err := service.DescribeApmAgentById(ctx, instanceId)
if err != nil {
return tccommon.RetryError(err)
}
apmAgent = result
return nil
})
if err == nil {
if apmAgent.PublicCollectorURL != nil {
_ = d.Set("public_collector_url", apmAgent.PublicCollectorURL)
}
}

tcClient := meta.(tccommon.ProviderMeta).GetAPIV3Conn()
tagService := svctag.NewTagService(tcClient)
tags, err := tagService.DescribeResourceTags(ctx, "apm", "apm-instance", tcClient.Region, d.Id())
Expand Down
29 changes: 29 additions & 0 deletions tencentcloud/services/apm/service_tencentcloud_apm.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,35 @@ func (me *ApmService) DescribeApmInstanceById(ctx context.Context, instanceId st
return
}

func (me *ApmService) DescribeApmAgentById(ctx context.Context, instanceId string) (apmAgent *apm.ApmAgentInfo, errRet error) {
logId := tccommon.GetLogId(ctx)

request := apm.NewDescribeApmAgentRequest()
request.InstanceId = &instanceId

defer func() {
if errRet != nil {
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), errRet.Error())
}
}()

ratelimit.Check(request.GetAction())

response, err := me.client.UseApmClient().DescribeApmAgent(request)
if err != nil {
errRet = err
return
}
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())

if response.Response.ApmAgent == nil {
return
}

apmAgent = response.Response.ApmAgent
return
}

func (me *ApmService) DeleteApmInstanceById(ctx context.Context, instanceId string) (errRet error) {
logId := tccommon.GetLogId(ctx)

Expand Down
Loading
Loading