From a6ae169e9dc1e58452ea380ff06384778c2f8309 Mon Sep 17 00:00:00 2001 From: arunma Date: Thu, 1 Sep 2022 14:37:49 +0800 Subject: [PATCH 01/14] fix: update sdk version --- go.mod | 4 +- go.sum | 4 + .../tencentcloud/common/http/request.go | 2 +- .../tencentcloud/monitor/v20180724/client.go | 4489 +++++++--- .../tencentcloud/monitor/v20180724/errors.go | 18 + .../tencentcloud/monitor/v20180724/models.go | 7972 +++++++++++------ vendor/modules.txt | 4 +- 7 files changed, 8408 insertions(+), 4085 deletions(-) diff --git a/go.mod b/go.mod index 2ad3bfb772..1fa0c06df6 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.445 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335 @@ -46,7 +46,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse v1.0.413 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.443 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.487 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.290 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.199 diff --git a/go.sum b/go.sum index d14135471e..e339d38fd4 100644 --- a/go.sum +++ b/go.sum @@ -499,6 +499,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.484 h1:x37A github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.484/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486 h1:MUO3Gp/jo/t0NBJ2TLH2sDjy+b/eJUCGgBT+7BfN2yE= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487 h1:6PCOaohR7z/5lbK1PDJRg0TY9tYK7zvjmDxY1yXWsQE= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 h1:Bh7XD0ypNMHYyBOM8hhKsSu+y0VVKUnJVS+YKKhfpGg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445/go.mod h1:jMDD351efCFpT1+KVFbcpu6SbmP4TYmp4qkoCfr63nQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359 h1:cNKqelPgUxrJkLY0Azd2QHr/UMYOPPnmqs88clt2akk= @@ -526,6 +528,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199 h1:2js github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199/go.mod h1:f5GhbJyuYQBzRaDHGe3I4U9utb0Pmx2NlI+XcqSQRp0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.443 h1:5uPNOJb4uC9oZuXzSv0GtQOGGBEWA9JA1Yhoyh+9mfk= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.443/go.mod h1:QGyCdlNx2tu94GMlJDQAwz5eVFa2Gfq3JD0WZ65QqGE= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.487 h1:xLDEsG2ECY75TKwKqJb/by8VWbv3F43cz9C6GeenmSI= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.487/go.mod h1:T3cyKuCL+2DBn2R6d3lpCqMvkpNKEf3qOTz2n9NQzvY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 h1:1yZh5MrlFqawVGhLdd38hi5HoaKc4LgB+8cEgLT2Qo4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391/go.mod h1:BZSQiBjNQ+6/gL1fFXBr/0BOuPTdHmSYoIg4/AkmZB4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.290 h1:osYZxh9ApEc8UpvIMwjAUfdl7ytRcWUpcnnqLIpiJ/U= diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go index 6c0b2f976f..242b459be3 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go @@ -265,7 +265,7 @@ func CompleteCommonParams(request Request, region string) { params["Action"] = request.GetAction() params["Timestamp"] = strconv.FormatInt(time.Now().Unix(), 10) params["Nonce"] = strconv.Itoa(rand.Int()) - params["RequestClient"] = "SDK_GO_1.0.486" + params["RequestClient"] = "SDK_GO_1.0.487" } func ConstructParams(req Request) (err error) { diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go index 43bfe7dd1d..47e13bd653 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go @@ -49,6 +49,7 @@ func NewBindPrometheusManagedGrafanaRequest() (request *BindPrometheusManagedGra request = &BindPrometheusManagedGrafanaRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "BindPrometheusManagedGrafana") @@ -90,6 +91,7 @@ func NewBindingPolicyObjectRequest() (request *BindingPolicyObjectRequest) { request = &BindingPolicyObjectRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "BindingPolicyObject") @@ -107,6 +109,7 @@ func NewBindingPolicyObjectResponse() (response *BindingPolicyObjectResponse) { // 将告警策略绑定到特定对象 // // 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" // RESOURCENOTFOUND = "ResourceNotFound" // UNSUPPORTEDOPERATION = "UnsupportedOperation" func (c *Client) BindingPolicyObject(request *BindingPolicyObjectRequest) (response *BindingPolicyObjectResponse, err error) { @@ -117,6 +120,7 @@ func (c *Client) BindingPolicyObject(request *BindingPolicyObjectRequest) (respo // 将告警策略绑定到特定对象 // // 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" // RESOURCENOTFOUND = "ResourceNotFound" // UNSUPPORTEDOPERATION = "UnsupportedOperation" func (c *Client) BindingPolicyObjectWithContext(ctx context.Context, request *BindingPolicyObjectRequest) (response *BindingPolicyObjectResponse, err error) { @@ -139,6 +143,7 @@ func NewBindingPolicyTagRequest() (request *BindingPolicyTagRequest) { request = &BindingPolicyTagRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "BindingPolicyTag") @@ -186,10 +191,61 @@ func (c *Client) BindingPolicyTagWithContext(ctx context.Context, request *Bindi return } +func NewCleanGrafanaInstanceRequest() (request *CleanGrafanaInstanceRequest) { + request = &CleanGrafanaInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "CleanGrafanaInstance") + + + return +} + +func NewCleanGrafanaInstanceResponse() (response *CleanGrafanaInstanceResponse) { + response = &CleanGrafanaInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// CleanGrafanaInstance +// 强制销毁 Grafana 实例 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// INVALIDPARAMETER = "InvalidParameter" +func (c *Client) CleanGrafanaInstance(request *CleanGrafanaInstanceRequest) (response *CleanGrafanaInstanceResponse, err error) { + return c.CleanGrafanaInstanceWithContext(context.Background(), request) +} + +// CleanGrafanaInstance +// 强制销毁 Grafana 实例 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// INVALIDPARAMETER = "InvalidParameter" +func (c *Client) CleanGrafanaInstanceWithContext(ctx context.Context, request *CleanGrafanaInstanceRequest) (response *CleanGrafanaInstanceResponse, err error) { + if request == nil { + request = NewCleanGrafanaInstanceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CleanGrafanaInstance require credential") + } + + request.SetContext(ctx) + + response = NewCleanGrafanaInstanceResponse() + err = c.Send(request, response) + return +} + func NewCreateAlarmNoticeRequest() (request *CreateAlarmNoticeRequest) { request = &CreateAlarmNoticeRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "CreateAlarmNotice") @@ -249,6 +305,7 @@ func NewCreateAlarmPolicyRequest() (request *CreateAlarmPolicyRequest) { request = &CreateAlarmPolicyRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "CreateAlarmPolicy") @@ -308,6 +365,7 @@ func NewCreateAlertRuleRequest() (request *CreateAlertRuleRequest) { request = &CreateAlertRuleRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "CreateAlertRule") @@ -385,6 +443,7 @@ func NewCreateExporterIntegrationRequest() (request *CreateExporterIntegrationRe request = &CreateExporterIntegrationRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "CreateExporterIntegration") @@ -448,10 +507,165 @@ func (c *Client) CreateExporterIntegrationWithContext(ctx context.Context, reque return } +func NewCreateGrafanaInstanceRequest() (request *CreateGrafanaInstanceRequest) { + request = &CreateGrafanaInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "CreateGrafanaInstance") + + + return +} + +func NewCreateGrafanaInstanceResponse() (response *CreateGrafanaInstanceResponse) { + response = &CreateGrafanaInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// CreateGrafanaInstance +// 创建 Grafana 实例 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ACCESSTAGFAIL = "FailedOperation.AccessTagFail" +// FAILEDOPERATION_CREATEINSTANCELIMITED = "FailedOperation.CreateInstanceLimited" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_REGIONUNAVAILABLE = "FailedOperation.RegionUnavailable" +// FAILEDOPERATION_ZONEUNAVAILABLE = "FailedOperation.ZoneUnavailable" +func (c *Client) CreateGrafanaInstance(request *CreateGrafanaInstanceRequest) (response *CreateGrafanaInstanceResponse, err error) { + return c.CreateGrafanaInstanceWithContext(context.Background(), request) +} + +// CreateGrafanaInstance +// 创建 Grafana 实例 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ACCESSTAGFAIL = "FailedOperation.AccessTagFail" +// FAILEDOPERATION_CREATEINSTANCELIMITED = "FailedOperation.CreateInstanceLimited" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_REGIONUNAVAILABLE = "FailedOperation.RegionUnavailable" +// FAILEDOPERATION_ZONEUNAVAILABLE = "FailedOperation.ZoneUnavailable" +func (c *Client) CreateGrafanaInstanceWithContext(ctx context.Context, request *CreateGrafanaInstanceRequest) (response *CreateGrafanaInstanceResponse, err error) { + if request == nil { + request = NewCreateGrafanaInstanceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateGrafanaInstance require credential") + } + + request.SetContext(ctx) + + response = NewCreateGrafanaInstanceResponse() + err = c.Send(request, response) + return +} + +func NewCreateGrafanaIntegrationRequest() (request *CreateGrafanaIntegrationRequest) { + request = &CreateGrafanaIntegrationRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "CreateGrafanaIntegration") + + + return +} + +func NewCreateGrafanaIntegrationResponse() (response *CreateGrafanaIntegrationResponse) { + response = &CreateGrafanaIntegrationResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// CreateGrafanaIntegration +// 创建 Grafana 集成配置 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) CreateGrafanaIntegration(request *CreateGrafanaIntegrationRequest) (response *CreateGrafanaIntegrationResponse, err error) { + return c.CreateGrafanaIntegrationWithContext(context.Background(), request) +} + +// CreateGrafanaIntegration +// 创建 Grafana 集成配置 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) CreateGrafanaIntegrationWithContext(ctx context.Context, request *CreateGrafanaIntegrationRequest) (response *CreateGrafanaIntegrationResponse, err error) { + if request == nil { + request = NewCreateGrafanaIntegrationRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateGrafanaIntegration require credential") + } + + request.SetContext(ctx) + + response = NewCreateGrafanaIntegrationResponse() + err = c.Send(request, response) + return +} + +func NewCreateGrafanaNotificationChannelRequest() (request *CreateGrafanaNotificationChannelRequest) { + request = &CreateGrafanaNotificationChannelRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "CreateGrafanaNotificationChannel") + + + return +} + +func NewCreateGrafanaNotificationChannelResponse() (response *CreateGrafanaNotificationChannelResponse) { + response = &CreateGrafanaNotificationChannelResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// CreateGrafanaNotificationChannel +// 创建 Grafana 告警通道 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) CreateGrafanaNotificationChannel(request *CreateGrafanaNotificationChannelRequest) (response *CreateGrafanaNotificationChannelResponse, err error) { + return c.CreateGrafanaNotificationChannelWithContext(context.Background(), request) +} + +// CreateGrafanaNotificationChannel +// 创建 Grafana 告警通道 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) CreateGrafanaNotificationChannelWithContext(ctx context.Context, request *CreateGrafanaNotificationChannelRequest) (response *CreateGrafanaNotificationChannelResponse, err error) { + if request == nil { + request = NewCreateGrafanaNotificationChannelRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateGrafanaNotificationChannel require credential") + } + + request.SetContext(ctx) + + response = NewCreateGrafanaNotificationChannelResponse() + err = c.Send(request, response) + return +} + func NewCreatePolicyGroupRequest() (request *CreatePolicyGroupRequest) { request = &CreatePolicyGroupRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "CreatePolicyGroup") @@ -523,6 +737,7 @@ func NewCreatePrometheusAgentRequest() (request *CreatePrometheusAgentRequest) { request = &CreatePrometheusAgentRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "CreatePrometheusAgent") @@ -588,6 +803,7 @@ func NewCreatePrometheusMultiTenantInstancePostPayModeRequest() (request *Create request = &CreatePrometheusMultiTenantInstancePostPayModeRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "CreatePrometheusMultiTenantInstancePostPayMode") @@ -659,6 +875,7 @@ func NewCreatePrometheusScrapeJobRequest() (request *CreatePrometheusScrapeJobRe request = &CreatePrometheusScrapeJobRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "CreatePrometheusScrapeJob") @@ -728,6 +945,7 @@ func NewCreateRecordingRuleRequest() (request *CreateRecordingRuleRequest) { request = &CreateRecordingRuleRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "CreateRecordingRule") @@ -793,10 +1011,81 @@ func (c *Client) CreateRecordingRuleWithContext(ctx context.Context, request *Cr return } +func NewCreateSSOAccountRequest() (request *CreateSSOAccountRequest) { + request = &CreateSSOAccountRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "CreateSSOAccount") + + + return +} + +func NewCreateSSOAccountResponse() (response *CreateSSOAccountResponse) { + response = &CreateSSOAccountResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// CreateSSOAccount +// Grafana实例授权其他腾讯云用户 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +func (c *Client) CreateSSOAccount(request *CreateSSOAccountRequest) (response *CreateSSOAccountResponse, err error) { + return c.CreateSSOAccountWithContext(context.Background(), request) +} + +// CreateSSOAccount +// Grafana实例授权其他腾讯云用户 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +func (c *Client) CreateSSOAccountWithContext(ctx context.Context, request *CreateSSOAccountRequest) (response *CreateSSOAccountResponse, err error) { + if request == nil { + request = NewCreateSSOAccountRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateSSOAccount require credential") + } + + request.SetContext(ctx) + + response = NewCreateSSOAccountResponse() + err = c.Send(request, response) + return +} + func NewCreateServiceDiscoveryRequest() (request *CreateServiceDiscoveryRequest) { request = &CreateServiceDiscoveryRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "CreateServiceDiscovery") @@ -872,6 +1161,7 @@ func NewDeleteAlarmNoticesRequest() (request *DeleteAlarmNoticesRequest) { request = &DeleteAlarmNoticesRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DeleteAlarmNotices") @@ -894,6 +1184,7 @@ func NewDeleteAlarmNoticesResponse() (response *DeleteAlarmNoticesResponse) { // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" func (c *Client) DeleteAlarmNotices(request *DeleteAlarmNoticesRequest) (response *DeleteAlarmNoticesResponse, err error) { return c.DeleteAlarmNoticesWithContext(context.Background(), request) } @@ -907,6 +1198,7 @@ func (c *Client) DeleteAlarmNotices(request *DeleteAlarmNoticesRequest) (respons // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" func (c *Client) DeleteAlarmNoticesWithContext(ctx context.Context, request *DeleteAlarmNoticesRequest) (response *DeleteAlarmNoticesResponse, err error) { if request == nil { request = NewDeleteAlarmNoticesRequest() @@ -927,6 +1219,7 @@ func NewDeleteAlarmPolicyRequest() (request *DeleteAlarmPolicyRequest) { request = &DeleteAlarmPolicyRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DeleteAlarmPolicy") @@ -949,6 +1242,7 @@ func NewDeleteAlarmPolicyResponse() (response *DeleteAlarmPolicyResponse) { // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" // RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" func (c *Client) DeleteAlarmPolicy(request *DeleteAlarmPolicyRequest) (response *DeleteAlarmPolicyResponse, err error) { return c.DeleteAlarmPolicyWithContext(context.Background(), request) } @@ -962,6 +1256,7 @@ func (c *Client) DeleteAlarmPolicy(request *DeleteAlarmPolicyRequest) (response // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" // RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" func (c *Client) DeleteAlarmPolicyWithContext(ctx context.Context, request *DeleteAlarmPolicyRequest) (response *DeleteAlarmPolicyResponse, err error) { if request == nil { request = NewDeleteAlarmPolicyRequest() @@ -982,6 +1277,7 @@ func NewDeleteAlertRulesRequest() (request *DeleteAlertRulesRequest) { request = &DeleteAlertRulesRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DeleteAlertRules") @@ -1051,6 +1347,7 @@ func NewDeleteExporterIntegrationRequest() (request *DeleteExporterIntegrationRe request = &DeleteExporterIntegrationRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DeleteExporterIntegration") @@ -1120,59 +1417,210 @@ func (c *Client) DeleteExporterIntegrationWithContext(ctx context.Context, reque return } -func NewDeletePolicyGroupRequest() (request *DeletePolicyGroupRequest) { - request = &DeletePolicyGroupRequest{ +func NewDeleteGrafanaInstanceRequest() (request *DeleteGrafanaInstanceRequest) { + request = &DeleteGrafanaInstanceRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DeletePolicyGroup") + + request.Init().WithApiInfo("monitor", APIVersion, "DeleteGrafanaInstance") return } -func NewDeletePolicyGroupResponse() (response *DeletePolicyGroupResponse) { - response = &DeletePolicyGroupResponse{ +func NewDeleteGrafanaInstanceResponse() (response *DeleteGrafanaInstanceResponse) { + response = &DeleteGrafanaInstanceResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DeletePolicyGroup -// 删除告警策略组 +// DeleteGrafanaInstance +// 删除 Grafana 实例 // // 可能返回的错误码: -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" -// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" -// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" -// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" // FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" -// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" -// INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" -// RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" +func (c *Client) DeleteGrafanaInstance(request *DeleteGrafanaInstanceRequest) (response *DeleteGrafanaInstanceResponse, err error) { + return c.DeleteGrafanaInstanceWithContext(context.Background(), request) +} + +// DeleteGrafanaInstance +// 删除 Grafana 实例 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +func (c *Client) DeleteGrafanaInstanceWithContext(ctx context.Context, request *DeleteGrafanaInstanceRequest) (response *DeleteGrafanaInstanceResponse, err error) { + if request == nil { + request = NewDeleteGrafanaInstanceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DeleteGrafanaInstance require credential") + } + + request.SetContext(ctx) + + response = NewDeleteGrafanaInstanceResponse() + err = c.Send(request, response) + return +} + +func NewDeleteGrafanaIntegrationRequest() (request *DeleteGrafanaIntegrationRequest) { + request = &DeleteGrafanaIntegrationRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DeleteGrafanaIntegration") + + + return +} + +func NewDeleteGrafanaIntegrationResponse() (response *DeleteGrafanaIntegrationResponse) { + response = &DeleteGrafanaIntegrationResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DeleteGrafanaIntegration +// 删除 Grafana 集成配置 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +func (c *Client) DeleteGrafanaIntegration(request *DeleteGrafanaIntegrationRequest) (response *DeleteGrafanaIntegrationResponse, err error) { + return c.DeleteGrafanaIntegrationWithContext(context.Background(), request) +} + +// DeleteGrafanaIntegration +// 删除 Grafana 集成配置 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +func (c *Client) DeleteGrafanaIntegrationWithContext(ctx context.Context, request *DeleteGrafanaIntegrationRequest) (response *DeleteGrafanaIntegrationResponse, err error) { + if request == nil { + request = NewDeleteGrafanaIntegrationRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DeleteGrafanaIntegration require credential") + } + + request.SetContext(ctx) + + response = NewDeleteGrafanaIntegrationResponse() + err = c.Send(request, response) + return +} + +func NewDeleteGrafanaNotificationChannelRequest() (request *DeleteGrafanaNotificationChannelRequest) { + request = &DeleteGrafanaNotificationChannelRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DeleteGrafanaNotificationChannel") + + + return +} + +func NewDeleteGrafanaNotificationChannelResponse() (response *DeleteGrafanaNotificationChannelResponse) { + response = &DeleteGrafanaNotificationChannelResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DeleteGrafanaNotificationChannel +// 删除 Grafana 告警通道 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +func (c *Client) DeleteGrafanaNotificationChannel(request *DeleteGrafanaNotificationChannelRequest) (response *DeleteGrafanaNotificationChannelResponse, err error) { + return c.DeleteGrafanaNotificationChannelWithContext(context.Background(), request) +} + +// DeleteGrafanaNotificationChannel +// 删除 Grafana 告警通道 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +func (c *Client) DeleteGrafanaNotificationChannelWithContext(ctx context.Context, request *DeleteGrafanaNotificationChannelRequest) (response *DeleteGrafanaNotificationChannelResponse, err error) { + if request == nil { + request = NewDeleteGrafanaNotificationChannelRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DeleteGrafanaNotificationChannel require credential") + } + + request.SetContext(ctx) + + response = NewDeleteGrafanaNotificationChannelResponse() + err = c.Send(request, response) + return +} + +func NewDeletePolicyGroupRequest() (request *DeletePolicyGroupRequest) { + request = &DeletePolicyGroupRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DeletePolicyGroup") + + + return +} + +func NewDeletePolicyGroupResponse() (response *DeletePolicyGroupResponse) { + response = &DeletePolicyGroupResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DeletePolicyGroup +// 删除告警策略组 +// +// 可能返回的错误码: +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// DRYRUNOPERATION = "DryRunOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" +// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" +// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" +// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" +// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" +// INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" // RESOURCESSOLDOUT = "ResourcesSoldOut" // UNAUTHORIZEDOPERATION = "UnauthorizedOperation" // UNKNOWNPARAMETER = "UnknownParameter" @@ -1241,6 +1689,7 @@ func NewDeletePrometheusScrapeJobsRequest() (request *DeletePrometheusScrapeJobs request = &DeletePrometheusScrapeJobsRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DeletePrometheusScrapeJobs") @@ -1310,6 +1759,7 @@ func NewDeleteRecordingRulesRequest() (request *DeleteRecordingRulesRequest) { request = &DeleteRecordingRulesRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DeleteRecordingRules") @@ -1375,10 +1825,81 @@ func (c *Client) DeleteRecordingRulesWithContext(ctx context.Context, request *D return } +func NewDeleteSSOAccountRequest() (request *DeleteSSOAccountRequest) { + request = &DeleteSSOAccountRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DeleteSSOAccount") + + + return +} + +func NewDeleteSSOAccountResponse() (response *DeleteSSOAccountResponse) { + response = &DeleteSSOAccountResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DeleteSSOAccount +// Grafana可视化服务 删除授权用户 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +func (c *Client) DeleteSSOAccount(request *DeleteSSOAccountRequest) (response *DeleteSSOAccountResponse, err error) { + return c.DeleteSSOAccountWithContext(context.Background(), request) +} + +// DeleteSSOAccount +// Grafana可视化服务 删除授权用户 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +func (c *Client) DeleteSSOAccountWithContext(ctx context.Context, request *DeleteSSOAccountRequest) (response *DeleteSSOAccountResponse, err error) { + if request == nil { + request = NewDeleteSSOAccountRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DeleteSSOAccount require credential") + } + + request.SetContext(ctx) + + response = NewDeleteSSOAccountResponse() + err = c.Send(request, response) + return +} + func NewDeleteServiceDiscoveryRequest() (request *DeleteServiceDiscoveryRequest) { request = &DeleteServiceDiscoveryRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DeleteServiceDiscovery") @@ -1452,6 +1973,7 @@ func NewDescribeAccidentEventListRequest() (request *DescribeAccidentEventListRe request = &DescribeAccidentEventListRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeAccidentEventList") @@ -1507,6 +2029,7 @@ func NewDescribeAlarmEventsRequest() (request *DescribeAlarmEventsRequest) { request = &DescribeAlarmEventsRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmEvents") @@ -1556,6 +2079,7 @@ func NewDescribeAlarmHistoriesRequest() (request *DescribeAlarmHistoriesRequest) request = &DescribeAlarmHistoriesRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmHistories") @@ -1577,6 +2101,7 @@ func NewDescribeAlarmHistoriesResponse() (response *DescribeAlarmHistoriesRespon // 请注意,**如果使用子用户进行告警历史的查询,只能查询到被授权项目下的告警历史**,或不区分项目的产品的告警历史。如何对子账户授予项目的权限,请参考 [访问管理-项目与标签](https://cloud.tencent.com/document/product/598/32738)。 // // 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" @@ -1595,6 +2120,7 @@ func (c *Client) DescribeAlarmHistories(request *DescribeAlarmHistoriesRequest) // 请注意,**如果使用子用户进行告警历史的查询,只能查询到被授权项目下的告警历史**,或不区分项目的产品的告警历史。如何对子账户授予项目的权限,请参考 [访问管理-项目与标签](https://cloud.tencent.com/document/product/598/32738)。 // // 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" @@ -1621,6 +2147,7 @@ func NewDescribeAlarmMetricsRequest() (request *DescribeAlarmMetricsRequest) { request = &DescribeAlarmMetricsRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmMetrics") @@ -1670,6 +2197,7 @@ func NewDescribeAlarmNoticeRequest() (request *DescribeAlarmNoticeRequest) { request = &DescribeAlarmNoticeRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmNotice") @@ -1729,6 +2257,7 @@ func NewDescribeAlarmNoticeCallbacksRequest() (request *DescribeAlarmNoticeCallb request = &DescribeAlarmNoticeCallbacksRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmNoticeCallbacks") @@ -1788,6 +2317,7 @@ func NewDescribeAlarmNoticesRequest() (request *DescribeAlarmNoticesRequest) { request = &DescribeAlarmNoticesRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmNotices") @@ -1847,6 +2377,7 @@ func NewDescribeAlarmPoliciesRequest() (request *DescribeAlarmPoliciesRequest) { request = &DescribeAlarmPoliciesRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmPolicies") @@ -1898,6 +2429,7 @@ func NewDescribeAlarmPolicyRequest() (request *DescribeAlarmPolicyRequest) { request = &DescribeAlarmPolicyRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmPolicy") @@ -1951,6 +2483,7 @@ func NewDescribeAlertRulesRequest() (request *DescribeAlertRulesRequest) { request = &DescribeAlertRulesRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlertRules") @@ -2020,6 +2553,7 @@ func NewDescribeAllNamespacesRequest() (request *DescribeAllNamespacesRequest) { request = &DescribeAllNamespacesRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeAllNamespaces") @@ -2067,6 +2601,7 @@ func NewDescribeBaseMetricsRequest() (request *DescribeBaseMetricsRequest) { request = &DescribeBaseMetricsRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeBaseMetrics") @@ -2114,6 +2649,7 @@ func NewDescribeBasicAlarmListRequest() (request *DescribeBasicAlarmListRequest) request = &DescribeBasicAlarmListRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeBasicAlarmList") @@ -2171,6 +2707,7 @@ func NewDescribeBindingPolicyObjectListRequest() (request *DescribeBindingPolicy request = &DescribeBindingPolicyObjectListRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeBindingPolicyObjectList") @@ -2292,6 +2829,7 @@ func NewDescribeConditionsTemplateListRequest() (request *DescribeConditionsTemp request = &DescribeConditionsTemplateListRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeConditionsTemplateList") @@ -2405,10 +2943,59 @@ func (c *Client) DescribeConditionsTemplateListWithContext(ctx context.Context, return } +func NewDescribeDNSConfigRequest() (request *DescribeDNSConfigRequest) { + request = &DescribeDNSConfigRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeDNSConfig") + + + return +} + +func NewDescribeDNSConfigResponse() (response *DescribeDNSConfigResponse) { + response = &DescribeDNSConfigResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeDNSConfig +// 列出 Grafana DNS 配置 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeDNSConfig(request *DescribeDNSConfigRequest) (response *DescribeDNSConfigResponse, err error) { + return c.DescribeDNSConfigWithContext(context.Background(), request) +} + +// DescribeDNSConfig +// 列出 Grafana DNS 配置 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeDNSConfigWithContext(ctx context.Context, request *DescribeDNSConfigRequest) (response *DescribeDNSConfigResponse, err error) { + if request == nil { + request = NewDescribeDNSConfigRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeDNSConfig require credential") + } + + request.SetContext(ctx) + + response = NewDescribeDNSConfigResponse() + err = c.Send(request, response) + return +} + func NewDescribeExporterIntegrationsRequest() (request *DescribeExporterIntegrationsRequest) { request = &DescribeExporterIntegrationsRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "DescribeExporterIntegrations") @@ -2474,369 +3061,483 @@ func (c *Client) DescribeExporterIntegrationsWithContext(ctx context.Context, re return } -func NewDescribeMonitorTypesRequest() (request *DescribeMonitorTypesRequest) { - request = &DescribeMonitorTypesRequest{ +func NewDescribeGrafanaConfigRequest() (request *DescribeGrafanaConfigRequest) { + request = &DescribeGrafanaConfigRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribeMonitorTypes") + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeGrafanaConfig") return } -func NewDescribeMonitorTypesResponse() (response *DescribeMonitorTypesResponse) { - response = &DescribeMonitorTypesResponse{ +func NewDescribeGrafanaConfigResponse() (response *DescribeGrafanaConfigResponse) { + response = &DescribeGrafanaConfigResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribeMonitorTypes -// 云监控支持多种类型的监控,此接口列出支持的所有类型 +// DescribeGrafanaConfig +// 列出 Grafana 的设置,即 grafana.ini 文件内容 // // 可能返回的错误码: -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribeMonitorTypes(request *DescribeMonitorTypesRequest) (response *DescribeMonitorTypesResponse, err error) { - return c.DescribeMonitorTypesWithContext(context.Background(), request) +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeGrafanaConfig(request *DescribeGrafanaConfigRequest) (response *DescribeGrafanaConfigResponse, err error) { + return c.DescribeGrafanaConfigWithContext(context.Background(), request) } -// DescribeMonitorTypes -// 云监控支持多种类型的监控,此接口列出支持的所有类型 +// DescribeGrafanaConfig +// 列出 Grafana 的设置,即 grafana.ini 文件内容 // // 可能返回的错误码: -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribeMonitorTypesWithContext(ctx context.Context, request *DescribeMonitorTypesRequest) (response *DescribeMonitorTypesResponse, err error) { +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeGrafanaConfigWithContext(ctx context.Context, request *DescribeGrafanaConfigRequest) (response *DescribeGrafanaConfigResponse, err error) { if request == nil { - request = NewDescribeMonitorTypesRequest() + request = NewDescribeGrafanaConfigRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribeMonitorTypes require credential") + return nil, errors.New("DescribeGrafanaConfig require credential") } request.SetContext(ctx) - response = NewDescribeMonitorTypesResponse() + response = NewDescribeGrafanaConfigResponse() err = c.Send(request, response) return } -func NewDescribePolicyConditionListRequest() (request *DescribePolicyConditionListRequest) { - request = &DescribePolicyConditionListRequest{ +func NewDescribeGrafanaEnvironmentsRequest() (request *DescribeGrafanaEnvironmentsRequest) { + request = &DescribeGrafanaEnvironmentsRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribePolicyConditionList") + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeGrafanaEnvironments") return } -func NewDescribePolicyConditionListResponse() (response *DescribePolicyConditionListResponse) { - response = &DescribePolicyConditionListResponse{ +func NewDescribeGrafanaEnvironmentsResponse() (response *DescribeGrafanaEnvironmentsResponse) { + response = &DescribeGrafanaEnvironmentsResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribePolicyConditionList -// 获取基础告警策略条件 +// DescribeGrafanaEnvironments +// 列出 Grafana 环境变量 // // 可能返回的错误码: -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" -// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" -// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" -// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" -// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" -// INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" -// RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// RESOURCESSOLDOUT = "ResourcesSoldOut" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribePolicyConditionList(request *DescribePolicyConditionListRequest) (response *DescribePolicyConditionListResponse, err error) { - return c.DescribePolicyConditionListWithContext(context.Background(), request) +func (c *Client) DescribeGrafanaEnvironments(request *DescribeGrafanaEnvironmentsRequest) (response *DescribeGrafanaEnvironmentsResponse, err error) { + return c.DescribeGrafanaEnvironmentsWithContext(context.Background(), request) } -// DescribePolicyConditionList -// 获取基础告警策略条件 +// DescribeGrafanaEnvironments +// 列出 Grafana 环境变量 // // 可能返回的错误码: -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" -// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" -// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" -// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" -// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" -// INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" -// RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// RESOURCESSOLDOUT = "ResourcesSoldOut" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribePolicyConditionListWithContext(ctx context.Context, request *DescribePolicyConditionListRequest) (response *DescribePolicyConditionListResponse, err error) { +func (c *Client) DescribeGrafanaEnvironmentsWithContext(ctx context.Context, request *DescribeGrafanaEnvironmentsRequest) (response *DescribeGrafanaEnvironmentsResponse, err error) { if request == nil { - request = NewDescribePolicyConditionListRequest() + request = NewDescribeGrafanaEnvironmentsRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribePolicyConditionList require credential") + return nil, errors.New("DescribeGrafanaEnvironments require credential") } request.SetContext(ctx) - response = NewDescribePolicyConditionListResponse() + response = NewDescribeGrafanaEnvironmentsResponse() err = c.Send(request, response) return } -func NewDescribePolicyGroupInfoRequest() (request *DescribePolicyGroupInfoRequest) { - request = &DescribePolicyGroupInfoRequest{ +func NewDescribeGrafanaInstancesRequest() (request *DescribeGrafanaInstancesRequest) { + request = &DescribeGrafanaInstancesRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribePolicyGroupInfo") + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeGrafanaInstances") return } -func NewDescribePolicyGroupInfoResponse() (response *DescribePolicyGroupInfoResponse) { - response = &DescribePolicyGroupInfoResponse{ +func NewDescribeGrafanaInstancesResponse() (response *DescribeGrafanaInstancesResponse) { + response = &DescribeGrafanaInstancesResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribePolicyGroupInfo -// 获取基础策略组详情 +// DescribeGrafanaInstances +// 列出用户所有的 Grafana 服务 // // 可能返回的错误码: -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" -// DRYRUNOPERATION = "DryRunOperation" -// FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" -// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" -// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" -// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" -// INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" -// RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// RESOURCESSOLDOUT = "ResourcesSoldOut" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribePolicyGroupInfo(request *DescribePolicyGroupInfoRequest) (response *DescribePolicyGroupInfoResponse, err error) { - return c.DescribePolicyGroupInfoWithContext(context.Background(), request) +// AUTHFAILURE_ACCESSCAMFAIL = "AuthFailure.AccessCAMFail" +// FAILEDOPERATION_ACCESSTAGFAIL = "FailedOperation.AccessTagFail" +// FAILEDOPERATION_INTERNALERROR = "FailedOperation.InternalError" +// FAILEDOPERATION_SENDREQUEST = "FailedOperation.SendRequest" +func (c *Client) DescribeGrafanaInstances(request *DescribeGrafanaInstancesRequest) (response *DescribeGrafanaInstancesResponse, err error) { + return c.DescribeGrafanaInstancesWithContext(context.Background(), request) } -// DescribePolicyGroupInfo -// 获取基础策略组详情 +// DescribeGrafanaInstances +// 列出用户所有的 Grafana 服务 // // 可能返回的错误码: -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" -// DRYRUNOPERATION = "DryRunOperation" -// FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" -// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" -// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" -// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" -// INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" -// RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// RESOURCESSOLDOUT = "ResourcesSoldOut" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribePolicyGroupInfoWithContext(ctx context.Context, request *DescribePolicyGroupInfoRequest) (response *DescribePolicyGroupInfoResponse, err error) { +// AUTHFAILURE_ACCESSCAMFAIL = "AuthFailure.AccessCAMFail" +// FAILEDOPERATION_ACCESSTAGFAIL = "FailedOperation.AccessTagFail" +// FAILEDOPERATION_INTERNALERROR = "FailedOperation.InternalError" +// FAILEDOPERATION_SENDREQUEST = "FailedOperation.SendRequest" +func (c *Client) DescribeGrafanaInstancesWithContext(ctx context.Context, request *DescribeGrafanaInstancesRequest) (response *DescribeGrafanaInstancesResponse, err error) { if request == nil { - request = NewDescribePolicyGroupInfoRequest() + request = NewDescribeGrafanaInstancesRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribePolicyGroupInfo require credential") + return nil, errors.New("DescribeGrafanaInstances require credential") } request.SetContext(ctx) - response = NewDescribePolicyGroupInfoResponse() + response = NewDescribeGrafanaInstancesResponse() err = c.Send(request, response) return } -func NewDescribePolicyGroupListRequest() (request *DescribePolicyGroupListRequest) { - request = &DescribePolicyGroupListRequest{ +func NewDescribeGrafanaIntegrationsRequest() (request *DescribeGrafanaIntegrationsRequest) { + request = &DescribeGrafanaIntegrationsRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribePolicyGroupList") + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeGrafanaIntegrations") return } -func NewDescribePolicyGroupListResponse() (response *DescribePolicyGroupListResponse) { - response = &DescribePolicyGroupListResponse{ +func NewDescribeGrafanaIntegrationsResponse() (response *DescribeGrafanaIntegrationsResponse) { + response = &DescribeGrafanaIntegrationsResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribePolicyGroupList -// 获取基础策略告警组列表 +// DescribeGrafanaIntegrations +// 列出 Grafana 已安装的集成 // // 可能返回的错误码: -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" -// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" -// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" -// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" -// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" -// INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" -// RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// RESOURCESSOLDOUT = "ResourcesSoldOut" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribePolicyGroupList(request *DescribePolicyGroupListRequest) (response *DescribePolicyGroupListResponse, err error) { - return c.DescribePolicyGroupListWithContext(context.Background(), request) +func (c *Client) DescribeGrafanaIntegrations(request *DescribeGrafanaIntegrationsRequest) (response *DescribeGrafanaIntegrationsResponse, err error) { + return c.DescribeGrafanaIntegrationsWithContext(context.Background(), request) } -// DescribePolicyGroupList -// 获取基础策略告警组列表 +// DescribeGrafanaIntegrations +// 列出 Grafana 已安装的集成 // // 可能返回的错误码: -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" -// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" -// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" -// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" +func (c *Client) DescribeGrafanaIntegrationsWithContext(ctx context.Context, request *DescribeGrafanaIntegrationsRequest) (response *DescribeGrafanaIntegrationsResponse, err error) { + if request == nil { + request = NewDescribeGrafanaIntegrationsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeGrafanaIntegrations require credential") + } + + request.SetContext(ctx) + + response = NewDescribeGrafanaIntegrationsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeGrafanaNotificationChannelsRequest() (request *DescribeGrafanaNotificationChannelsRequest) { + request = &DescribeGrafanaNotificationChannelsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeGrafanaNotificationChannels") + + + return +} + +func NewDescribeGrafanaNotificationChannelsResponse() (response *DescribeGrafanaNotificationChannelsResponse) { + response = &DescribeGrafanaNotificationChannelsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeGrafanaNotificationChannels +// 列出 Grafana 告警通道 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeGrafanaNotificationChannels(request *DescribeGrafanaNotificationChannelsRequest) (response *DescribeGrafanaNotificationChannelsResponse, err error) { + return c.DescribeGrafanaNotificationChannelsWithContext(context.Background(), request) +} + +// DescribeGrafanaNotificationChannels +// 列出 Grafana 告警通道 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeGrafanaNotificationChannelsWithContext(ctx context.Context, request *DescribeGrafanaNotificationChannelsRequest) (response *DescribeGrafanaNotificationChannelsResponse, err error) { + if request == nil { + request = NewDescribeGrafanaNotificationChannelsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeGrafanaNotificationChannels require credential") + } + + request.SetContext(ctx) + + response = NewDescribeGrafanaNotificationChannelsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeGrafanaWhiteListRequest() (request *DescribeGrafanaWhiteListRequest) { + request = &DescribeGrafanaWhiteListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeGrafanaWhiteList") + + + return +} + +func NewDescribeGrafanaWhiteListResponse() (response *DescribeGrafanaWhiteListResponse) { + response = &DescribeGrafanaWhiteListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeGrafanaWhiteList +// 列出 Grafana 白名单 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeGrafanaWhiteList(request *DescribeGrafanaWhiteListRequest) (response *DescribeGrafanaWhiteListResponse, err error) { + return c.DescribeGrafanaWhiteListWithContext(context.Background(), request) +} + +// DescribeGrafanaWhiteList +// 列出 Grafana 白名单 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeGrafanaWhiteListWithContext(ctx context.Context, request *DescribeGrafanaWhiteListRequest) (response *DescribeGrafanaWhiteListResponse, err error) { + if request == nil { + request = NewDescribeGrafanaWhiteListRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeGrafanaWhiteList require credential") + } + + request.SetContext(ctx) + + response = NewDescribeGrafanaWhiteListResponse() + err = c.Send(request, response) + return +} + +func NewDescribeInstalledPluginsRequest() (request *DescribeInstalledPluginsRequest) { + request = &DescribeInstalledPluginsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeInstalledPlugins") + + + return +} + +func NewDescribeInstalledPluginsResponse() (response *DescribeInstalledPluginsResponse) { + response = &DescribeInstalledPluginsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeInstalledPlugins +// 列出实例已安装的插件 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeInstalledPlugins(request *DescribeInstalledPluginsRequest) (response *DescribeInstalledPluginsResponse, err error) { + return c.DescribeInstalledPluginsWithContext(context.Background(), request) +} + +// DescribeInstalledPlugins +// 列出实例已安装的插件 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeInstalledPluginsWithContext(ctx context.Context, request *DescribeInstalledPluginsRequest) (response *DescribeInstalledPluginsResponse, err error) { + if request == nil { + request = NewDescribeInstalledPluginsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeInstalledPlugins require credential") + } + + request.SetContext(ctx) + + response = NewDescribeInstalledPluginsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeMonitorTypesRequest() (request *DescribeMonitorTypesRequest) { + request = &DescribeMonitorTypesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeMonitorTypes") + + + return +} + +func NewDescribeMonitorTypesResponse() (response *DescribeMonitorTypesResponse) { + response = &DescribeMonitorTypesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeMonitorTypes +// 云监控支持多种类型的监控,此接口列出支持的所有类型 +// +// 可能返回的错误码: +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribeMonitorTypes(request *DescribeMonitorTypesRequest) (response *DescribeMonitorTypesResponse, err error) { + return c.DescribeMonitorTypesWithContext(context.Background(), request) +} + +// DescribeMonitorTypes +// 云监控支持多种类型的监控,此接口列出支持的所有类型 +// +// 可能返回的错误码: +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribeMonitorTypesWithContext(ctx context.Context, request *DescribeMonitorTypesRequest) (response *DescribeMonitorTypesResponse, err error) { + if request == nil { + request = NewDescribeMonitorTypesRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeMonitorTypes require credential") + } + + request.SetContext(ctx) + + response = NewDescribeMonitorTypesResponse() + err = c.Send(request, response) + return +} + +func NewDescribePluginOverviewsRequest() (request *DescribePluginOverviewsRequest) { + request = &DescribePluginOverviewsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribePluginOverviews") + + + return +} + +func NewDescribePluginOverviewsResponse() (response *DescribePluginOverviewsResponse) { + response = &DescribePluginOverviewsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribePluginOverviews +// 列出可安装的所有 Grafana 插件 +// +// 可能返回的错误码: +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribePluginOverviews(request *DescribePluginOverviewsRequest) (response *DescribePluginOverviewsResponse, err error) { + return c.DescribePluginOverviewsWithContext(context.Background(), request) +} + +// DescribePluginOverviews +// 列出可安装的所有 Grafana 插件 +// +// 可能返回的错误码: +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribePluginOverviewsWithContext(ctx context.Context, request *DescribePluginOverviewsRequest) (response *DescribePluginOverviewsResponse, err error) { + if request == nil { + request = NewDescribePluginOverviewsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribePluginOverviews require credential") + } + + request.SetContext(ctx) + + response = NewDescribePluginOverviewsResponse() + err = c.Send(request, response) + return +} + +func NewDescribePolicyConditionListRequest() (request *DescribePolicyConditionListRequest) { + request = &DescribePolicyConditionListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribePolicyConditionList") + + + return +} + +func NewDescribePolicyConditionListResponse() (response *DescribePolicyConditionListResponse) { + response = &DescribePolicyConditionListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribePolicyConditionList +// 获取基础告警策略条件 +// +// 可能返回的错误码: +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// DRYRUNOPERATION = "DryRunOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" +// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" +// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" +// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" // FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" // FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" // INTERNALERROR = "InternalError" @@ -2851,1071 +3552,2239 @@ func (c *Client) DescribePolicyGroupList(request *DescribePolicyGroupListRequest // RESOURCEINUSE = "ResourceInUse" // RESOURCEINSUFFICIENT = "ResourceInsufficient" // RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// RESOURCESSOLDOUT = "ResourcesSoldOut" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribePolicyConditionList(request *DescribePolicyConditionListRequest) (response *DescribePolicyConditionListResponse, err error) { + return c.DescribePolicyConditionListWithContext(context.Background(), request) +} + +// DescribePolicyConditionList +// 获取基础告警策略条件 +// +// 可能返回的错误码: +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// DRYRUNOPERATION = "DryRunOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" +// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" +// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" +// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" +// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" +// INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribePolicyConditionListWithContext(ctx context.Context, request *DescribePolicyConditionListRequest) (response *DescribePolicyConditionListResponse, err error) { + if request == nil { + request = NewDescribePolicyConditionListRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribePolicyConditionList require credential") + } + + request.SetContext(ctx) + + response = NewDescribePolicyConditionListResponse() + err = c.Send(request, response) + return +} + +func NewDescribePolicyGroupInfoRequest() (request *DescribePolicyGroupInfoRequest) { + request = &DescribePolicyGroupInfoRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribePolicyGroupInfo") + + + return +} + +func NewDescribePolicyGroupInfoResponse() (response *DescribePolicyGroupInfoResponse) { + response = &DescribePolicyGroupInfoResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribePolicyGroupInfo +// 获取基础策略组详情 +// +// 可能返回的错误码: +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// DRYRUNOPERATION = "DryRunOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" +// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" +// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" +// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" +// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" +// INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribePolicyGroupInfo(request *DescribePolicyGroupInfoRequest) (response *DescribePolicyGroupInfoResponse, err error) { + return c.DescribePolicyGroupInfoWithContext(context.Background(), request) +} + +// DescribePolicyGroupInfo +// 获取基础策略组详情 +// +// 可能返回的错误码: +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// DRYRUNOPERATION = "DryRunOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" +// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" +// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" +// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" +// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" +// INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribePolicyGroupInfoWithContext(ctx context.Context, request *DescribePolicyGroupInfoRequest) (response *DescribePolicyGroupInfoResponse, err error) { + if request == nil { + request = NewDescribePolicyGroupInfoRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribePolicyGroupInfo require credential") + } + + request.SetContext(ctx) + + response = NewDescribePolicyGroupInfoResponse() + err = c.Send(request, response) + return +} + +func NewDescribePolicyGroupListRequest() (request *DescribePolicyGroupListRequest) { + request = &DescribePolicyGroupListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribePolicyGroupList") + + + return +} + +func NewDescribePolicyGroupListResponse() (response *DescribePolicyGroupListResponse) { + response = &DescribePolicyGroupListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribePolicyGroupList +// 获取基础策略告警组列表 +// +// 可能返回的错误码: +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// DRYRUNOPERATION = "DryRunOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" +// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" +// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" +// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" +// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" +// INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribePolicyGroupList(request *DescribePolicyGroupListRequest) (response *DescribePolicyGroupListResponse, err error) { + return c.DescribePolicyGroupListWithContext(context.Background(), request) +} + +// DescribePolicyGroupList +// 获取基础策略告警组列表 +// +// 可能返回的错误码: +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// DRYRUNOPERATION = "DryRunOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" +// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" +// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" +// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" +// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" +// INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribePolicyGroupListWithContext(ctx context.Context, request *DescribePolicyGroupListRequest) (response *DescribePolicyGroupListResponse, err error) { + if request == nil { + request = NewDescribePolicyGroupListRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribePolicyGroupList require credential") + } + + request.SetContext(ctx) + + response = NewDescribePolicyGroupListResponse() + err = c.Send(request, response) + return +} + +func NewDescribeProductEventListRequest() (request *DescribeProductEventListRequest) { + request = &DescribeProductEventListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeProductEventList") + + + return +} + +func NewDescribeProductEventListResponse() (response *DescribeProductEventListResponse) { + response = &DescribeProductEventListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeProductEventList +// 分页获取产品事件的列表 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// MISSINGPARAMETER = "MissingParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribeProductEventList(request *DescribeProductEventListRequest) (response *DescribeProductEventListResponse, err error) { + return c.DescribeProductEventListWithContext(context.Background(), request) +} + +// DescribeProductEventList +// 分页获取产品事件的列表 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// MISSINGPARAMETER = "MissingParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribeProductEventListWithContext(ctx context.Context, request *DescribeProductEventListRequest) (response *DescribeProductEventListResponse, err error) { + if request == nil { + request = NewDescribeProductEventListRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeProductEventList require credential") + } + + request.SetContext(ctx) + + response = NewDescribeProductEventListResponse() + err = c.Send(request, response) + return +} + +func NewDescribeProductListRequest() (request *DescribeProductListRequest) { + request = &DescribeProductListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeProductList") + + + return +} + +func NewDescribeProductListResponse() (response *DescribeProductListResponse) { + response = &DescribeProductListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeProductList +// 查询云监控产品列表,支持云服务器CVM、云数据库、云消息队列、负载均衡、容器服务、专线等云产品。 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribeProductList(request *DescribeProductListRequest) (response *DescribeProductListResponse, err error) { + return c.DescribeProductListWithContext(context.Background(), request) +} + +// DescribeProductList +// 查询云监控产品列表,支持云服务器CVM、云数据库、云消息队列、负载均衡、容器服务、专线等云产品。 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribeProductListWithContext(ctx context.Context, request *DescribeProductListRequest) (response *DescribeProductListResponse, err error) { + if request == nil { + request = NewDescribeProductListRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeProductList require credential") + } + + request.SetContext(ctx) + + response = NewDescribeProductListResponse() + err = c.Send(request, response) + return +} + +func NewDescribePrometheusAgentsRequest() (request *DescribePrometheusAgentsRequest) { + request = &DescribePrometheusAgentsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribePrometheusAgents") + + + return +} + +func NewDescribePrometheusAgentsResponse() (response *DescribePrometheusAgentsResponse) { + response = &DescribePrometheusAgentsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribePrometheusAgents +// 列出 Prometheus CVM Agent +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribePrometheusAgents(request *DescribePrometheusAgentsRequest) (response *DescribePrometheusAgentsResponse, err error) { + return c.DescribePrometheusAgentsWithContext(context.Background(), request) +} + +// DescribePrometheusAgents +// 列出 Prometheus CVM Agent +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribePrometheusAgentsWithContext(ctx context.Context, request *DescribePrometheusAgentsRequest) (response *DescribePrometheusAgentsResponse, err error) { + if request == nil { + request = NewDescribePrometheusAgentsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribePrometheusAgents require credential") + } + + request.SetContext(ctx) + + response = NewDescribePrometheusAgentsResponse() + err = c.Send(request, response) + return +} + +func NewDescribePrometheusInstancesRequest() (request *DescribePrometheusInstancesRequest) { + request = &DescribePrometheusInstancesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribePrometheusInstances") + + + return +} + +func NewDescribePrometheusInstancesResponse() (response *DescribePrometheusInstancesResponse) { + response = &DescribePrometheusInstancesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribePrometheusInstances +// 本接口 (DescribePrometheusInstances) 用于查询一个或多个实例的详细信息。 +// +// +// +// 可能返回的错误码: +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ACCESSTAGFAIL = "FailedOperation.AccessTagFail" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_INTERNALERROR = "FailedOperation.InternalError" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// FAILEDOPERATION_SENDREQUEST = "FailedOperation.SendRequest" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +func (c *Client) DescribePrometheusInstances(request *DescribePrometheusInstancesRequest) (response *DescribePrometheusInstancesResponse, err error) { + return c.DescribePrometheusInstancesWithContext(context.Background(), request) +} + +// DescribePrometheusInstances +// 本接口 (DescribePrometheusInstances) 用于查询一个或多个实例的详细信息。 +// +// +// +// 可能返回的错误码: +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ACCESSTAGFAIL = "FailedOperation.AccessTagFail" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_INTERNALERROR = "FailedOperation.InternalError" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// FAILEDOPERATION_SENDREQUEST = "FailedOperation.SendRequest" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +func (c *Client) DescribePrometheusInstancesWithContext(ctx context.Context, request *DescribePrometheusInstancesRequest) (response *DescribePrometheusInstancesResponse, err error) { + if request == nil { + request = NewDescribePrometheusInstancesRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribePrometheusInstances require credential") + } + + request.SetContext(ctx) + + response = NewDescribePrometheusInstancesResponse() + err = c.Send(request, response) + return +} + +func NewDescribePrometheusScrapeJobsRequest() (request *DescribePrometheusScrapeJobsRequest) { + request = &DescribePrometheusScrapeJobsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribePrometheusScrapeJobs") + + + return +} + +func NewDescribePrometheusScrapeJobsResponse() (response *DescribePrometheusScrapeJobsResponse) { + response = &DescribePrometheusScrapeJobsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribePrometheusScrapeJobs +// 列出 Prometheus 抓取任务 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribePrometheusScrapeJobs(request *DescribePrometheusScrapeJobsRequest) (response *DescribePrometheusScrapeJobsResponse, err error) { + return c.DescribePrometheusScrapeJobsWithContext(context.Background(), request) +} + +// DescribePrometheusScrapeJobs +// 列出 Prometheus 抓取任务 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribePrometheusScrapeJobsWithContext(ctx context.Context, request *DescribePrometheusScrapeJobsRequest) (response *DescribePrometheusScrapeJobsResponse, err error) { + if request == nil { + request = NewDescribePrometheusScrapeJobsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribePrometheusScrapeJobs require credential") + } + + request.SetContext(ctx) + + response = NewDescribePrometheusScrapeJobsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeRecordingRulesRequest() (request *DescribeRecordingRulesRequest) { + request = &DescribeRecordingRulesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeRecordingRules") + + + return +} + +func NewDescribeRecordingRulesResponse() (response *DescribeRecordingRulesResponse) { + response = &DescribeRecordingRulesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeRecordingRules +// 根据条件查询 Prometheus 预聚合规则 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +func (c *Client) DescribeRecordingRules(request *DescribeRecordingRulesRequest) (response *DescribeRecordingRulesResponse, err error) { + return c.DescribeRecordingRulesWithContext(context.Background(), request) +} + +// DescribeRecordingRules +// 根据条件查询 Prometheus 预聚合规则 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +func (c *Client) DescribeRecordingRulesWithContext(ctx context.Context, request *DescribeRecordingRulesRequest) (response *DescribeRecordingRulesResponse, err error) { + if request == nil { + request = NewDescribeRecordingRulesRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeRecordingRules require credential") + } + + request.SetContext(ctx) + + response = NewDescribeRecordingRulesResponse() + err = c.Send(request, response) + return +} + +func NewDescribeSSOAccountRequest() (request *DescribeSSOAccountRequest) { + request = &DescribeSSOAccountRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeSSOAccount") + + + return +} + +func NewDescribeSSOAccountResponse() (response *DescribeSSOAccountResponse) { + response = &DescribeSSOAccountResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeSSOAccount +// 列出当前grafana实例的所有授权账号 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeSSOAccount(request *DescribeSSOAccountRequest) (response *DescribeSSOAccountResponse, err error) { + return c.DescribeSSOAccountWithContext(context.Background(), request) +} + +// DescribeSSOAccount +// 列出当前grafana实例的所有授权账号 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) DescribeSSOAccountWithContext(ctx context.Context, request *DescribeSSOAccountRequest) (response *DescribeSSOAccountResponse, err error) { + if request == nil { + request = NewDescribeSSOAccountRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeSSOAccount require credential") + } + + request.SetContext(ctx) + + response = NewDescribeSSOAccountResponse() + err = c.Send(request, response) + return +} + +func NewDescribeServiceDiscoveryRequest() (request *DescribeServiceDiscoveryRequest) { + request = &DescribeServiceDiscoveryRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeServiceDiscovery") + + + return +} + +func NewDescribeServiceDiscoveryResponse() (response *DescribeServiceDiscoveryResponse) { + response = &DescribeServiceDiscoveryResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeServiceDiscovery +// 列出在腾讯云容器服务下创建的 Prometheus 服务发现。 +// +//

注意:前提条件,已经通过 Prometheus 控制台集成了对应的腾讯云容器服务,具体请参考 +// +// Agent 安装

+// +// 可能返回的错误码: +// FAILEDOPERATION_ACCESSSTSFAIL = "FailedOperation.AccessSTSFail" +// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_INSTANCENOTRUNNING = "FailedOperation.InstanceNotRunning" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// FAILEDOPERATION_TKEENDPOINTSTATUSERROR = "FailedOperation.TKEEndpointStatusError" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribeServiceDiscovery(request *DescribeServiceDiscoveryRequest) (response *DescribeServiceDiscoveryResponse, err error) { + return c.DescribeServiceDiscoveryWithContext(context.Background(), request) +} + +// DescribeServiceDiscovery +// 列出在腾讯云容器服务下创建的 Prometheus 服务发现。 +// +//

注意:前提条件,已经通过 Prometheus 控制台集成了对应的腾讯云容器服务,具体请参考 +// +// Agent 安装

+// +// 可能返回的错误码: +// FAILEDOPERATION_ACCESSSTSFAIL = "FailedOperation.AccessSTSFail" +// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_INSTANCENOTRUNNING = "FailedOperation.InstanceNotRunning" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// FAILEDOPERATION_TKEENDPOINTSTATUSERROR = "FailedOperation.TKEEndpointStatusError" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribeServiceDiscoveryWithContext(ctx context.Context, request *DescribeServiceDiscoveryRequest) (response *DescribeServiceDiscoveryResponse, err error) { + if request == nil { + request = NewDescribeServiceDiscoveryRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeServiceDiscovery require credential") + } + + request.SetContext(ctx) + + response = NewDescribeServiceDiscoveryResponse() + err = c.Send(request, response) + return +} + +func NewDescribeStatisticDataRequest() (request *DescribeStatisticDataRequest) { + request = &DescribeStatisticDataRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeStatisticData") + + + return +} + +func NewDescribeStatisticDataResponse() (response *DescribeStatisticDataResponse) { + response = &DescribeStatisticDataResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeStatisticData +// 根据维度条件查询监控数据 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DATACOLUMNNOTFOUND = "FailedOperation.DataColumnNotFound" +// FAILEDOPERATION_DATAQUERYFAILED = "FailedOperation.DataQueryFailed" +// FAILEDOPERATION_DATATABLENOTFOUND = "FailedOperation.DataTableNotFound" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" +// FAILEDOPERATION_DIVISIONBYZERO = "FailedOperation.DivisionByZero" +// INTERNALERROR = "InternalError" +// INTERNALERROR_CALLBACKFAIL = "InternalError.CallbackFail" +// INTERNALERROR_DEPENDSAPI = "InternalError.DependsApi" +// INTERNALERROR_DEPENDSDB = "InternalError.DependsDb" +// INTERNALERROR_DEPENDSMQ = "InternalError.DependsMq" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INTERNALERROR_SYSTEM = "InternalError.System" +// INTERNALERROR_TASKRESULTFORMAT = "InternalError.TaskResultFormat" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_DUPTASK = "InvalidParameter.DupTask" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETER_MISSAKSK = "InvalidParameter.MissAKSK" +// INVALIDPARAMETER_PARAMERROR = "InvalidParameter.ParamError" +// INVALIDPARAMETER_SECRETIDORSECRETKEYERROR = "InvalidParameter.SecretIdOrSecretKeyError" +// INVALIDPARAMETER_UNSUPPORTEDPRODUCT = "InvalidParameter.UnsupportedProduct" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_DASHBOARDNAMEEXISTS = "InvalidParameterValue.DashboardNameExists" +// INVALIDPARAMETERVALUE_VERSIONMISMATCH = "InvalidParameterValue.VersionMismatch" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED = "OperationDenied" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_NOTEXISTTASK = "ResourceNotFound.NotExistTask" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribeStatisticData(request *DescribeStatisticDataRequest) (response *DescribeStatisticDataResponse, err error) { + return c.DescribeStatisticDataWithContext(context.Background(), request) +} + +// DescribeStatisticData +// 根据维度条件查询监控数据 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DATACOLUMNNOTFOUND = "FailedOperation.DataColumnNotFound" +// FAILEDOPERATION_DATAQUERYFAILED = "FailedOperation.DataQueryFailed" +// FAILEDOPERATION_DATATABLENOTFOUND = "FailedOperation.DataTableNotFound" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" +// FAILEDOPERATION_DIVISIONBYZERO = "FailedOperation.DivisionByZero" +// INTERNALERROR = "InternalError" +// INTERNALERROR_CALLBACKFAIL = "InternalError.CallbackFail" +// INTERNALERROR_DEPENDSAPI = "InternalError.DependsApi" +// INTERNALERROR_DEPENDSDB = "InternalError.DependsDb" +// INTERNALERROR_DEPENDSMQ = "InternalError.DependsMq" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INTERNALERROR_SYSTEM = "InternalError.System" +// INTERNALERROR_TASKRESULTFORMAT = "InternalError.TaskResultFormat" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_DUPTASK = "InvalidParameter.DupTask" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETER_MISSAKSK = "InvalidParameter.MissAKSK" +// INVALIDPARAMETER_PARAMERROR = "InvalidParameter.ParamError" +// INVALIDPARAMETER_SECRETIDORSECRETKEYERROR = "InvalidParameter.SecretIdOrSecretKeyError" +// INVALIDPARAMETER_UNSUPPORTEDPRODUCT = "InvalidParameter.UnsupportedProduct" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_DASHBOARDNAMEEXISTS = "InvalidParameterValue.DashboardNameExists" +// INVALIDPARAMETERVALUE_VERSIONMISMATCH = "InvalidParameterValue.VersionMismatch" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED = "OperationDenied" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_NOTEXISTTASK = "ResourceNotFound.NotExistTask" // UNAUTHORIZEDOPERATION = "UnauthorizedOperation" // UNKNOWNPARAMETER = "UnknownParameter" // UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribePolicyGroupListWithContext(ctx context.Context, request *DescribePolicyGroupListRequest) (response *DescribePolicyGroupListResponse, err error) { +func (c *Client) DescribeStatisticDataWithContext(ctx context.Context, request *DescribeStatisticDataRequest) (response *DescribeStatisticDataResponse, err error) { if request == nil { - request = NewDescribePolicyGroupListRequest() + request = NewDescribeStatisticDataRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribePolicyGroupList require credential") + return nil, errors.New("DescribeStatisticData require credential") } request.SetContext(ctx) - response = NewDescribePolicyGroupListResponse() + response = NewDescribeStatisticDataResponse() err = c.Send(request, response) return } -func NewDescribeProductEventListRequest() (request *DescribeProductEventListRequest) { - request = &DescribeProductEventListRequest{ +func NewDestroyPrometheusInstanceRequest() (request *DestroyPrometheusInstanceRequest) { + request = &DestroyPrometheusInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DestroyPrometheusInstance") + + + return +} + +func NewDestroyPrometheusInstanceResponse() (response *DestroyPrometheusInstanceResponse) { + response = &DestroyPrometheusInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DestroyPrometheusInstance +// 彻底删除 Prometheus 实例相关数据,给定的实例必须先被 Terminate +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_AGENTSNOTINUNINSTALLSTAGE = "FailedOperation.AgentsNotInUninstallStage" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +func (c *Client) DestroyPrometheusInstance(request *DestroyPrometheusInstanceRequest) (response *DestroyPrometheusInstanceResponse, err error) { + return c.DestroyPrometheusInstanceWithContext(context.Background(), request) +} + +// DestroyPrometheusInstance +// 彻底删除 Prometheus 实例相关数据,给定的实例必须先被 Terminate +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_AGENTSNOTINUNINSTALLSTAGE = "FailedOperation.AgentsNotInUninstallStage" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +func (c *Client) DestroyPrometheusInstanceWithContext(ctx context.Context, request *DestroyPrometheusInstanceRequest) (response *DestroyPrometheusInstanceResponse, err error) { + if request == nil { + request = NewDestroyPrometheusInstanceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DestroyPrometheusInstance require credential") + } + + request.SetContext(ctx) + + response = NewDestroyPrometheusInstanceResponse() + err = c.Send(request, response) + return +} + +func NewEnableGrafanaInternetRequest() (request *EnableGrafanaInternetRequest) { + request = &EnableGrafanaInternetRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "EnableGrafanaInternet") + + + return +} + +func NewEnableGrafanaInternetResponse() (response *EnableGrafanaInternetResponse) { + response = &EnableGrafanaInternetResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// EnableGrafanaInternet +// 设置 Grafana 公网访问 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) EnableGrafanaInternet(request *EnableGrafanaInternetRequest) (response *EnableGrafanaInternetResponse, err error) { + return c.EnableGrafanaInternetWithContext(context.Background(), request) +} + +// EnableGrafanaInternet +// 设置 Grafana 公网访问 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) EnableGrafanaInternetWithContext(ctx context.Context, request *EnableGrafanaInternetRequest) (response *EnableGrafanaInternetResponse, err error) { + if request == nil { + request = NewEnableGrafanaInternetRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("EnableGrafanaInternet require credential") + } + + request.SetContext(ctx) + + response = NewEnableGrafanaInternetResponse() + err = c.Send(request, response) + return +} + +func NewEnableGrafanaSSORequest() (request *EnableGrafanaSSORequest) { + request = &EnableGrafanaSSORequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "EnableGrafanaSSO") + + + return +} + +func NewEnableGrafanaSSOResponse() (response *EnableGrafanaSSOResponse) { + response = &EnableGrafanaSSOResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// EnableGrafanaSSO +// 设置 Grafana 单点登录,使用腾讯云账号 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) EnableGrafanaSSO(request *EnableGrafanaSSORequest) (response *EnableGrafanaSSOResponse, err error) { + return c.EnableGrafanaSSOWithContext(context.Background(), request) +} + +// EnableGrafanaSSO +// 设置 Grafana 单点登录,使用腾讯云账号 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +func (c *Client) EnableGrafanaSSOWithContext(ctx context.Context, request *EnableGrafanaSSORequest) (response *EnableGrafanaSSOResponse, err error) { + if request == nil { + request = NewEnableGrafanaSSORequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("EnableGrafanaSSO require credential") + } + + request.SetContext(ctx) + + response = NewEnableGrafanaSSOResponse() + err = c.Send(request, response) + return +} + +func NewEnableSSOCamCheckRequest() (request *EnableSSOCamCheckRequest) { + request = &EnableSSOCamCheckRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "EnableSSOCamCheck") + + + return +} + +func NewEnableSSOCamCheckResponse() (response *EnableSSOCamCheckResponse) { + response = &EnableSSOCamCheckResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// EnableSSOCamCheck +// SSO单点登录时,设置是否cam鉴权 +// +// 可能返回的错误码: +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +func (c *Client) EnableSSOCamCheck(request *EnableSSOCamCheckRequest) (response *EnableSSOCamCheckResponse, err error) { + return c.EnableSSOCamCheckWithContext(context.Background(), request) +} + +// EnableSSOCamCheck +// SSO单点登录时,设置是否cam鉴权 +// +// 可能返回的错误码: +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +func (c *Client) EnableSSOCamCheckWithContext(ctx context.Context, request *EnableSSOCamCheckRequest) (response *EnableSSOCamCheckResponse, err error) { + if request == nil { + request = NewEnableSSOCamCheckRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("EnableSSOCamCheck require credential") + } + + request.SetContext(ctx) + + response = NewEnableSSOCamCheckResponse() + err = c.Send(request, response) + return +} + +func NewGetMonitorDataRequest() (request *GetMonitorDataRequest) { + request = &GetMonitorDataRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "GetMonitorData") + + + return +} + +func NewGetMonitorDataResponse() (response *GetMonitorDataResponse) { + response = &GetMonitorDataResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// GetMonitorData +// 获取云产品的监控数据。此接口不适用于拉取容器服务监控数据,如需拉取容器服务监控数据,请使用[根据维度条件查询监控数据](https://cloud.tencent.com/document/product/248/51845)接口。 +// +// 传入产品的命名空间、对象维度描述和监控指标即可获得相应的监控数据。 +// +// 接口调用频率限制为:20次/秒,1200次/分钟。单请求最多可支持批量拉取10个实例的监控数据,单请求的数据点数限制为1440个。 +// +// 若您需要调用的指标、对象较多,可能存在因限频出现拉取失败的情况,建议尽量将请求按时间维度均摊。 +// +// 可能返回的错误码: +// FAILEDOPERATION_ERRNOTOPEN = "FailedOperation.ErrNotOpen" +// FAILEDOPERATION_ERROWED = "FailedOperation.ErrOwed" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) GetMonitorData(request *GetMonitorDataRequest) (response *GetMonitorDataResponse, err error) { + return c.GetMonitorDataWithContext(context.Background(), request) +} + +// GetMonitorData +// 获取云产品的监控数据。此接口不适用于拉取容器服务监控数据,如需拉取容器服务监控数据,请使用[根据维度条件查询监控数据](https://cloud.tencent.com/document/product/248/51845)接口。 +// +// 传入产品的命名空间、对象维度描述和监控指标即可获得相应的监控数据。 +// +// 接口调用频率限制为:20次/秒,1200次/分钟。单请求最多可支持批量拉取10个实例的监控数据,单请求的数据点数限制为1440个。 +// +// 若您需要调用的指标、对象较多,可能存在因限频出现拉取失败的情况,建议尽量将请求按时间维度均摊。 +// +// 可能返回的错误码: +// FAILEDOPERATION_ERRNOTOPEN = "FailedOperation.ErrNotOpen" +// FAILEDOPERATION_ERROWED = "FailedOperation.ErrOwed" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) GetMonitorDataWithContext(ctx context.Context, request *GetMonitorDataRequest) (response *GetMonitorDataResponse, err error) { + if request == nil { + request = NewGetMonitorDataRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("GetMonitorData require credential") + } + + request.SetContext(ctx) + + response = NewGetMonitorDataResponse() + err = c.Send(request, response) + return +} + +func NewGetPrometheusAgentManagementCommandRequest() (request *GetPrometheusAgentManagementCommandRequest) { + request = &GetPrometheusAgentManagementCommandRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribeProductEventList") + + request.Init().WithApiInfo("monitor", APIVersion, "GetPrometheusAgentManagementCommand") return } -func NewDescribeProductEventListResponse() (response *DescribeProductEventListResponse) { - response = &DescribeProductEventListResponse{ +func NewGetPrometheusAgentManagementCommandResponse() (response *GetPrometheusAgentManagementCommandResponse) { + response = &GetPrometheusAgentManagementCommandResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribeProductEventList -// 分页获取产品事件的列表 +// GetPrometheusAgentManagementCommand +// 获取 Prometheus Agent 管理相关的命令行 // // 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// MISSINGPARAMETER = "MissingParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribeProductEventList(request *DescribeProductEventListRequest) (response *DescribeProductEventListResponse, err error) { - return c.DescribeProductEventListWithContext(context.Background(), request) +// RESOURCENOTFOUND = "ResourceNotFound" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" +func (c *Client) GetPrometheusAgentManagementCommand(request *GetPrometheusAgentManagementCommandRequest) (response *GetPrometheusAgentManagementCommandResponse, err error) { + return c.GetPrometheusAgentManagementCommandWithContext(context.Background(), request) } -// DescribeProductEventList -// 分页获取产品事件的列表 +// GetPrometheusAgentManagementCommand +// 获取 Prometheus Agent 管理相关的命令行 // // 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// MISSINGPARAMETER = "MissingParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribeProductEventListWithContext(ctx context.Context, request *DescribeProductEventListRequest) (response *DescribeProductEventListResponse, err error) { +// RESOURCENOTFOUND = "ResourceNotFound" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" +func (c *Client) GetPrometheusAgentManagementCommandWithContext(ctx context.Context, request *GetPrometheusAgentManagementCommandRequest) (response *GetPrometheusAgentManagementCommandResponse, err error) { if request == nil { - request = NewDescribeProductEventListRequest() + request = NewGetPrometheusAgentManagementCommandRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribeProductEventList require credential") + return nil, errors.New("GetPrometheusAgentManagementCommand require credential") } request.SetContext(ctx) - response = NewDescribeProductEventListResponse() + response = NewGetPrometheusAgentManagementCommandResponse() err = c.Send(request, response) return } -func NewDescribeProductListRequest() (request *DescribeProductListRequest) { - request = &DescribeProductListRequest{ +func NewInstallPluginsRequest() (request *InstallPluginsRequest) { + request = &InstallPluginsRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribeProductList") + + request.Init().WithApiInfo("monitor", APIVersion, "InstallPlugins") return } -func NewDescribeProductListResponse() (response *DescribeProductListResponse) { - response = &DescribeProductListResponse{ +func NewInstallPluginsResponse() (response *InstallPluginsResponse) { + response = &InstallPluginsResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribeProductList -// 查询云监控产品列表,支持云服务器CVM、云数据库、云消息队列、负载均衡、容器服务、专线等云产品。 +// InstallPlugins +// 安装 Grafana Plugin // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCENOTFOUND = "ResourceNotFound" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribeProductList(request *DescribeProductListRequest) (response *DescribeProductListResponse, err error) { - return c.DescribeProductListWithContext(context.Background(), request) +func (c *Client) InstallPlugins(request *InstallPluginsRequest) (response *InstallPluginsResponse, err error) { + return c.InstallPluginsWithContext(context.Background(), request) } -// DescribeProductList -// 查询云监控产品列表,支持云服务器CVM、云数据库、云消息队列、负载均衡、容器服务、专线等云产品。 +// InstallPlugins +// 安装 Grafana Plugin // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCENOTFOUND = "ResourceNotFound" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribeProductListWithContext(ctx context.Context, request *DescribeProductListRequest) (response *DescribeProductListResponse, err error) { +func (c *Client) InstallPluginsWithContext(ctx context.Context, request *InstallPluginsRequest) (response *InstallPluginsResponse, err error) { if request == nil { - request = NewDescribeProductListRequest() + request = NewInstallPluginsRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribeProductList require credential") + return nil, errors.New("InstallPlugins require credential") } request.SetContext(ctx) - response = NewDescribeProductListResponse() + response = NewInstallPluginsResponse() err = c.Send(request, response) return } -func NewDescribePrometheusAgentsRequest() (request *DescribePrometheusAgentsRequest) { - request = &DescribePrometheusAgentsRequest{ +func NewModifyAlarmNoticeRequest() (request *ModifyAlarmNoticeRequest) { + request = &ModifyAlarmNoticeRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribePrometheusAgents") + + request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmNotice") return } -func NewDescribePrometheusAgentsResponse() (response *DescribePrometheusAgentsResponse) { - response = &DescribePrometheusAgentsResponse{ +func NewModifyAlarmNoticeResponse() (response *ModifyAlarmNoticeResponse) { + response = &ModifyAlarmNoticeResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribePrometheusAgents -// 列出 Prometheus CVM Agent +// ModifyAlarmNotice +// 云监控告警编辑告警通知模板 // // 可能返回的错误码: // AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" // RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) DescribePrometheusAgents(request *DescribePrometheusAgentsRequest) (response *DescribePrometheusAgentsResponse, err error) { - return c.DescribePrometheusAgentsWithContext(context.Background(), request) +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) ModifyAlarmNotice(request *ModifyAlarmNoticeRequest) (response *ModifyAlarmNoticeResponse, err error) { + return c.ModifyAlarmNoticeWithContext(context.Background(), request) } -// DescribePrometheusAgents -// 列出 Prometheus CVM Agent +// ModifyAlarmNotice +// 云监控告警编辑告警通知模板 // // 可能返回的错误码: // AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" // RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) DescribePrometheusAgentsWithContext(ctx context.Context, request *DescribePrometheusAgentsRequest) (response *DescribePrometheusAgentsResponse, err error) { +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) ModifyAlarmNoticeWithContext(ctx context.Context, request *ModifyAlarmNoticeRequest) (response *ModifyAlarmNoticeResponse, err error) { if request == nil { - request = NewDescribePrometheusAgentsRequest() + request = NewModifyAlarmNoticeRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribePrometheusAgents require credential") + return nil, errors.New("ModifyAlarmNotice require credential") } request.SetContext(ctx) - response = NewDescribePrometheusAgentsResponse() + response = NewModifyAlarmNoticeResponse() err = c.Send(request, response) return } -func NewDescribePrometheusInstancesRequest() (request *DescribePrometheusInstancesRequest) { - request = &DescribePrometheusInstancesRequest{ +func NewModifyAlarmPolicyConditionRequest() (request *ModifyAlarmPolicyConditionRequest) { + request = &ModifyAlarmPolicyConditionRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribePrometheusInstances") + + request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyCondition") return } -func NewDescribePrometheusInstancesResponse() (response *DescribePrometheusInstancesResponse) { - response = &DescribePrometheusInstancesResponse{ +func NewModifyAlarmPolicyConditionResponse() (response *ModifyAlarmPolicyConditionResponse) { + response = &ModifyAlarmPolicyConditionResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribePrometheusInstances -// 本接口 (DescribePrometheusInstances) 用于查询一个或多个实例的详细信息。 -// -// +// ModifyAlarmPolicyCondition +// 修改告警策略触发条件 // // 可能返回的错误码: -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ACCESSTAGFAIL = "FailedOperation.AccessTagFail" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -// FAILEDOPERATION_SENDREQUEST = "FailedOperation.SendRequest" // INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" -func (c *Client) DescribePrometheusInstances(request *DescribePrometheusInstancesRequest) (response *DescribePrometheusInstancesResponse, err error) { - return c.DescribePrometheusInstancesWithContext(context.Background(), request) +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) ModifyAlarmPolicyCondition(request *ModifyAlarmPolicyConditionRequest) (response *ModifyAlarmPolicyConditionResponse, err error) { + return c.ModifyAlarmPolicyConditionWithContext(context.Background(), request) } -// DescribePrometheusInstances -// 本接口 (DescribePrometheusInstances) 用于查询一个或多个实例的详细信息。 -// -// +// ModifyAlarmPolicyCondition +// 修改告警策略触发条件 // // 可能返回的错误码: -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ACCESSTAGFAIL = "FailedOperation.AccessTagFail" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -// FAILEDOPERATION_SENDREQUEST = "FailedOperation.SendRequest" // INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" -func (c *Client) DescribePrometheusInstancesWithContext(ctx context.Context, request *DescribePrometheusInstancesRequest) (response *DescribePrometheusInstancesResponse, err error) { +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) ModifyAlarmPolicyConditionWithContext(ctx context.Context, request *ModifyAlarmPolicyConditionRequest) (response *ModifyAlarmPolicyConditionResponse, err error) { if request == nil { - request = NewDescribePrometheusInstancesRequest() + request = NewModifyAlarmPolicyConditionRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribePrometheusInstances require credential") + return nil, errors.New("ModifyAlarmPolicyCondition require credential") } request.SetContext(ctx) - response = NewDescribePrometheusInstancesResponse() + response = NewModifyAlarmPolicyConditionResponse() err = c.Send(request, response) return } -func NewDescribePrometheusScrapeJobsRequest() (request *DescribePrometheusScrapeJobsRequest) { - request = &DescribePrometheusScrapeJobsRequest{ +func NewModifyAlarmPolicyInfoRequest() (request *ModifyAlarmPolicyInfoRequest) { + request = &ModifyAlarmPolicyInfoRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribePrometheusScrapeJobs") + + request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyInfo") return } -func NewDescribePrometheusScrapeJobsResponse() (response *DescribePrometheusScrapeJobsResponse) { - response = &DescribePrometheusScrapeJobsResponse{ +func NewModifyAlarmPolicyInfoResponse() (response *ModifyAlarmPolicyInfoResponse) { + response = &ModifyAlarmPolicyInfoResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribePrometheusScrapeJobs -// 列出 Prometheus 抓取任务 +// ModifyAlarmPolicyInfo +// 告警2.0编辑告警策略基本信息,包括策略名、备注 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" // RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) DescribePrometheusScrapeJobs(request *DescribePrometheusScrapeJobsRequest) (response *DescribePrometheusScrapeJobsResponse, err error) { - return c.DescribePrometheusScrapeJobsWithContext(context.Background(), request) +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) ModifyAlarmPolicyInfo(request *ModifyAlarmPolicyInfoRequest) (response *ModifyAlarmPolicyInfoResponse, err error) { + return c.ModifyAlarmPolicyInfoWithContext(context.Background(), request) } -// DescribePrometheusScrapeJobs -// 列出 Prometheus 抓取任务 +// ModifyAlarmPolicyInfo +// 告警2.0编辑告警策略基本信息,包括策略名、备注 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" // RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) DescribePrometheusScrapeJobsWithContext(ctx context.Context, request *DescribePrometheusScrapeJobsRequest) (response *DescribePrometheusScrapeJobsResponse, err error) { +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) ModifyAlarmPolicyInfoWithContext(ctx context.Context, request *ModifyAlarmPolicyInfoRequest) (response *ModifyAlarmPolicyInfoResponse, err error) { if request == nil { - request = NewDescribePrometheusScrapeJobsRequest() + request = NewModifyAlarmPolicyInfoRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribePrometheusScrapeJobs require credential") + return nil, errors.New("ModifyAlarmPolicyInfo require credential") } request.SetContext(ctx) - response = NewDescribePrometheusScrapeJobsResponse() + response = NewModifyAlarmPolicyInfoResponse() err = c.Send(request, response) return } -func NewDescribeRecordingRulesRequest() (request *DescribeRecordingRulesRequest) { - request = &DescribeRecordingRulesRequest{ +func NewModifyAlarmPolicyNoticeRequest() (request *ModifyAlarmPolicyNoticeRequest) { + request = &ModifyAlarmPolicyNoticeRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribeRecordingRules") + + request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyNotice") return } -func NewDescribeRecordingRulesResponse() (response *DescribeRecordingRulesResponse) { - response = &DescribeRecordingRulesResponse{ +func NewModifyAlarmPolicyNoticeResponse() (response *ModifyAlarmPolicyNoticeResponse) { + response = &ModifyAlarmPolicyNoticeResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribeRecordingRules -// 根据条件查询 Prometheus 预聚合规则 +// ModifyAlarmPolicyNotice +// 云监控告警修改告警策略绑定的告警通知模板 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" -// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" -func (c *Client) DescribeRecordingRules(request *DescribeRecordingRulesRequest) (response *DescribeRecordingRulesResponse, err error) { - return c.DescribeRecordingRulesWithContext(context.Background(), request) +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) ModifyAlarmPolicyNotice(request *ModifyAlarmPolicyNoticeRequest) (response *ModifyAlarmPolicyNoticeResponse, err error) { + return c.ModifyAlarmPolicyNoticeWithContext(context.Background(), request) } -// DescribeRecordingRules -// 根据条件查询 Prometheus 预聚合规则 +// ModifyAlarmPolicyNotice +// 云监控告警修改告警策略绑定的告警通知模板 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" -// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" -func (c *Client) DescribeRecordingRulesWithContext(ctx context.Context, request *DescribeRecordingRulesRequest) (response *DescribeRecordingRulesResponse, err error) { +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) ModifyAlarmPolicyNoticeWithContext(ctx context.Context, request *ModifyAlarmPolicyNoticeRequest) (response *ModifyAlarmPolicyNoticeResponse, err error) { if request == nil { - request = NewDescribeRecordingRulesRequest() + request = NewModifyAlarmPolicyNoticeRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribeRecordingRules require credential") + return nil, errors.New("ModifyAlarmPolicyNotice require credential") } request.SetContext(ctx) - response = NewDescribeRecordingRulesResponse() + response = NewModifyAlarmPolicyNoticeResponse() err = c.Send(request, response) return } -func NewDescribeServiceDiscoveryRequest() (request *DescribeServiceDiscoveryRequest) { - request = &DescribeServiceDiscoveryRequest{ +func NewModifyAlarmPolicyStatusRequest() (request *ModifyAlarmPolicyStatusRequest) { + request = &ModifyAlarmPolicyStatusRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribeServiceDiscovery") + + request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyStatus") return } -func NewDescribeServiceDiscoveryResponse() (response *DescribeServiceDiscoveryResponse) { - response = &DescribeServiceDiscoveryResponse{ +func NewModifyAlarmPolicyStatusResponse() (response *ModifyAlarmPolicyStatusResponse) { + response = &ModifyAlarmPolicyStatusResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribeServiceDiscovery -// 列出在腾讯云容器服务下创建的 Prometheus 服务发现。 -// -//

注意:前提条件,已经通过 Prometheus 控制台集成了对应的腾讯云容器服务,具体请参考 -// -// Agent 安装

+// ModifyAlarmPolicyStatus +// 启停告警策略 // // 可能返回的错误码: -// FAILEDOPERATION_ACCESSSTSFAIL = "FailedOperation.AccessSTSFail" -// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_INSTANCENOTRUNNING = "FailedOperation.InstanceNotRunning" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -// FAILEDOPERATION_TKEENDPOINTSTATUSERROR = "FailedOperation.TKEEndpointStatusError" +// FAILEDOPERATION = "FailedOperation" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" // RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) DescribeServiceDiscovery(request *DescribeServiceDiscoveryRequest) (response *DescribeServiceDiscoveryResponse, err error) { - return c.DescribeServiceDiscoveryWithContext(context.Background(), request) +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) ModifyAlarmPolicyStatus(request *ModifyAlarmPolicyStatusRequest) (response *ModifyAlarmPolicyStatusResponse, err error) { + return c.ModifyAlarmPolicyStatusWithContext(context.Background(), request) } -// DescribeServiceDiscovery -// 列出在腾讯云容器服务下创建的 Prometheus 服务发现。 -// -//

注意:前提条件,已经通过 Prometheus 控制台集成了对应的腾讯云容器服务,具体请参考 -// -// Agent 安装

+// ModifyAlarmPolicyStatus +// 启停告警策略 // // 可能返回的错误码: -// FAILEDOPERATION_ACCESSSTSFAIL = "FailedOperation.AccessSTSFail" -// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_INSTANCENOTRUNNING = "FailedOperation.InstanceNotRunning" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -// FAILEDOPERATION_TKEENDPOINTSTATUSERROR = "FailedOperation.TKEEndpointStatusError" +// FAILEDOPERATION = "FailedOperation" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" // RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) DescribeServiceDiscoveryWithContext(ctx context.Context, request *DescribeServiceDiscoveryRequest) (response *DescribeServiceDiscoveryResponse, err error) { +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) ModifyAlarmPolicyStatusWithContext(ctx context.Context, request *ModifyAlarmPolicyStatusRequest) (response *ModifyAlarmPolicyStatusResponse, err error) { if request == nil { - request = NewDescribeServiceDiscoveryRequest() + request = NewModifyAlarmPolicyStatusRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribeServiceDiscovery require credential") + return nil, errors.New("ModifyAlarmPolicyStatus require credential") } request.SetContext(ctx) - response = NewDescribeServiceDiscoveryResponse() + response = NewModifyAlarmPolicyStatusResponse() err = c.Send(request, response) return } -func NewDescribeStatisticDataRequest() (request *DescribeStatisticDataRequest) { - request = &DescribeStatisticDataRequest{ +func NewModifyAlarmPolicyTasksRequest() (request *ModifyAlarmPolicyTasksRequest) { + request = &ModifyAlarmPolicyTasksRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DescribeStatisticData") + + request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyTasks") return } -func NewDescribeStatisticDataResponse() (response *DescribeStatisticDataResponse) { - response = &DescribeStatisticDataResponse{ +func NewModifyAlarmPolicyTasksResponse() (response *ModifyAlarmPolicyTasksResponse) { + response = &ModifyAlarmPolicyTasksResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribeStatisticData -// 根据维度条件查询监控数据 +// ModifyAlarmPolicyTasks +// 云监控告警修改告警策略的触发任务,TriggerTasks字段放触发任务列表,TriggerTasks传空数组时,代表解绑该策略的所有触发任务。 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_DATACOLUMNNOTFOUND = "FailedOperation.DataColumnNotFound" -// FAILEDOPERATION_DATAQUERYFAILED = "FailedOperation.DataQueryFailed" -// FAILEDOPERATION_DATATABLENOTFOUND = "FailedOperation.DataTableNotFound" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DIVISIONBYZERO = "FailedOperation.DivisionByZero" // INTERNALERROR = "InternalError" -// INTERNALERROR_CALLBACKFAIL = "InternalError.CallbackFail" -// INTERNALERROR_DEPENDSAPI = "InternalError.DependsApi" -// INTERNALERROR_DEPENDSDB = "InternalError.DependsDb" -// INTERNALERROR_DEPENDSMQ = "InternalError.DependsMq" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INTERNALERROR_SYSTEM = "InternalError.System" -// INTERNALERROR_TASKRESULTFORMAT = "InternalError.TaskResultFormat" // INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_DUPTASK = "InvalidParameter.DupTask" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETER_MISSAKSK = "InvalidParameter.MissAKSK" -// INVALIDPARAMETER_PARAMERROR = "InvalidParameter.ParamError" -// INVALIDPARAMETER_SECRETIDORSECRETKEYERROR = "InvalidParameter.SecretIdOrSecretKeyError" -// INVALIDPARAMETER_UNSUPPORTEDPRODUCT = "InvalidParameter.UnsupportedProduct" // INVALIDPARAMETERVALUE = "InvalidParameterValue" -// INVALIDPARAMETERVALUE_DASHBOARDNAMEEXISTS = "InvalidParameterValue.DashboardNameExists" -// INVALIDPARAMETERVALUE_VERSIONMISMATCH = "InvalidParameterValue.VersionMismatch" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// OPERATIONDENIED = "OperationDenied" -// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" // RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCENOTFOUND_NOTEXISTTASK = "ResourceNotFound.NotExistTask" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribeStatisticData(request *DescribeStatisticDataRequest) (response *DescribeStatisticDataResponse, err error) { - return c.DescribeStatisticDataWithContext(context.Background(), request) +func (c *Client) ModifyAlarmPolicyTasks(request *ModifyAlarmPolicyTasksRequest) (response *ModifyAlarmPolicyTasksResponse, err error) { + return c.ModifyAlarmPolicyTasksWithContext(context.Background(), request) } -// DescribeStatisticData -// 根据维度条件查询监控数据 +// ModifyAlarmPolicyTasks +// 云监控告警修改告警策略的触发任务,TriggerTasks字段放触发任务列表,TriggerTasks传空数组时,代表解绑该策略的所有触发任务。 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_DATACOLUMNNOTFOUND = "FailedOperation.DataColumnNotFound" -// FAILEDOPERATION_DATAQUERYFAILED = "FailedOperation.DataQueryFailed" -// FAILEDOPERATION_DATATABLENOTFOUND = "FailedOperation.DataTableNotFound" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DIVISIONBYZERO = "FailedOperation.DivisionByZero" // INTERNALERROR = "InternalError" -// INTERNALERROR_CALLBACKFAIL = "InternalError.CallbackFail" -// INTERNALERROR_DEPENDSAPI = "InternalError.DependsApi" -// INTERNALERROR_DEPENDSDB = "InternalError.DependsDb" -// INTERNALERROR_DEPENDSMQ = "InternalError.DependsMq" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INTERNALERROR_SYSTEM = "InternalError.System" -// INTERNALERROR_TASKRESULTFORMAT = "InternalError.TaskResultFormat" // INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_DUPTASK = "InvalidParameter.DupTask" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETER_MISSAKSK = "InvalidParameter.MissAKSK" -// INVALIDPARAMETER_PARAMERROR = "InvalidParameter.ParamError" -// INVALIDPARAMETER_SECRETIDORSECRETKEYERROR = "InvalidParameter.SecretIdOrSecretKeyError" -// INVALIDPARAMETER_UNSUPPORTEDPRODUCT = "InvalidParameter.UnsupportedProduct" // INVALIDPARAMETERVALUE = "InvalidParameterValue" -// INVALIDPARAMETERVALUE_DASHBOARDNAMEEXISTS = "InvalidParameterValue.DashboardNameExists" -// INVALIDPARAMETERVALUE_VERSIONMISMATCH = "InvalidParameterValue.VersionMismatch" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// OPERATIONDENIED = "OperationDenied" -// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" // RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCENOTFOUND_NOTEXISTTASK = "ResourceNotFound.NotExistTask" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribeStatisticDataWithContext(ctx context.Context, request *DescribeStatisticDataRequest) (response *DescribeStatisticDataResponse, err error) { +func (c *Client) ModifyAlarmPolicyTasksWithContext(ctx context.Context, request *ModifyAlarmPolicyTasksRequest) (response *ModifyAlarmPolicyTasksResponse, err error) { if request == nil { - request = NewDescribeStatisticDataRequest() + request = NewModifyAlarmPolicyTasksRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribeStatisticData require credential") + return nil, errors.New("ModifyAlarmPolicyTasks require credential") } request.SetContext(ctx) - response = NewDescribeStatisticDataResponse() + response = NewModifyAlarmPolicyTasksResponse() err = c.Send(request, response) return } -func NewDestroyPrometheusInstanceRequest() (request *DestroyPrometheusInstanceRequest) { - request = &DestroyPrometheusInstanceRequest{ +func NewModifyAlarmReceiversRequest() (request *ModifyAlarmReceiversRequest) { + request = &ModifyAlarmReceiversRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "DestroyPrometheusInstance") + + request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmReceivers") return } -func NewDestroyPrometheusInstanceResponse() (response *DestroyPrometheusInstanceResponse) { - response = &DestroyPrometheusInstanceResponse{ +func NewModifyAlarmReceiversResponse() (response *ModifyAlarmReceiversResponse) { + response = &ModifyAlarmReceiversResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DestroyPrometheusInstance -// 彻底删除 Prometheus 实例相关数据,给定的实例必须先被 Terminate +// ModifyAlarmReceivers +// 修改告警接收人 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_AGENTSNOTINUNINSTALLSTAGE = "FailedOperation.AgentsNotInUninstallStage" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" -func (c *Client) DestroyPrometheusInstance(request *DestroyPrometheusInstanceRequest) (response *DestroyPrometheusInstanceResponse, err error) { - return c.DestroyPrometheusInstanceWithContext(context.Background(), request) +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) ModifyAlarmReceivers(request *ModifyAlarmReceiversRequest) (response *ModifyAlarmReceiversResponse, err error) { + return c.ModifyAlarmReceiversWithContext(context.Background(), request) } -// DestroyPrometheusInstance -// 彻底删除 Prometheus 实例相关数据,给定的实例必须先被 Terminate +// ModifyAlarmReceivers +// 修改告警接收人 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_AGENTSNOTINUNINSTALLSTAGE = "FailedOperation.AgentsNotInUninstallStage" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" -func (c *Client) DestroyPrometheusInstanceWithContext(ctx context.Context, request *DestroyPrometheusInstanceRequest) (response *DestroyPrometheusInstanceResponse, err error) { +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) ModifyAlarmReceiversWithContext(ctx context.Context, request *ModifyAlarmReceiversRequest) (response *ModifyAlarmReceiversResponse, err error) { if request == nil { - request = NewDestroyPrometheusInstanceRequest() + request = NewModifyAlarmReceiversRequest() } if c.GetCredential() == nil { - return nil, errors.New("DestroyPrometheusInstance require credential") + return nil, errors.New("ModifyAlarmReceivers require credential") } request.SetContext(ctx) - response = NewDestroyPrometheusInstanceResponse() + response = NewModifyAlarmReceiversResponse() err = c.Send(request, response) return } -func NewGetMonitorDataRequest() (request *GetMonitorDataRequest) { - request = &GetMonitorDataRequest{ +func NewModifyGrafanaInstanceRequest() (request *ModifyGrafanaInstanceRequest) { + request = &ModifyGrafanaInstanceRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "GetMonitorData") + + request.Init().WithApiInfo("monitor", APIVersion, "ModifyGrafanaInstance") return } -func NewGetMonitorDataResponse() (response *GetMonitorDataResponse) { - response = &GetMonitorDataResponse{ +func NewModifyGrafanaInstanceResponse() (response *ModifyGrafanaInstanceResponse) { + response = &ModifyGrafanaInstanceResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// GetMonitorData -// 获取云产品的监控数据。此接口不适用于拉取容器服务监控数据,如需拉取容器服务监控数据,请使用[根据维度条件查询监控数据](https://cloud.tencent.com/document/product/248/51845)接口。 -// -// 传入产品的命名空间、对象维度描述和监控指标即可获得相应的监控数据。 -// -// 接口调用频率限制为:20次/秒,1200次/分钟。单请求最多可支持批量拉取10个实例的监控数据,单请求的数据点数限制为1440个。 -// -// 若您需要调用的指标、对象较多,可能存在因限频出现拉取失败的情况,建议尽量将请求按时间维度均摊。 +// ModifyGrafanaInstance +// 修改 Grafana 实例属性 // // 可能返回的错误码: -// INTERNALERROR = "InternalError" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) GetMonitorData(request *GetMonitorDataRequest) (response *GetMonitorDataResponse, err error) { - return c.GetMonitorDataWithContext(context.Background(), request) +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +func (c *Client) ModifyGrafanaInstance(request *ModifyGrafanaInstanceRequest) (response *ModifyGrafanaInstanceResponse, err error) { + return c.ModifyGrafanaInstanceWithContext(context.Background(), request) } -// GetMonitorData -// 获取云产品的监控数据。此接口不适用于拉取容器服务监控数据,如需拉取容器服务监控数据,请使用[根据维度条件查询监控数据](https://cloud.tencent.com/document/product/248/51845)接口。 -// -// 传入产品的命名空间、对象维度描述和监控指标即可获得相应的监控数据。 -// -// 接口调用频率限制为:20次/秒,1200次/分钟。单请求最多可支持批量拉取10个实例的监控数据,单请求的数据点数限制为1440个。 -// -// 若您需要调用的指标、对象较多,可能存在因限频出现拉取失败的情况,建议尽量将请求按时间维度均摊。 +// ModifyGrafanaInstance +// 修改 Grafana 实例属性 // // 可能返回的错误码: -// INTERNALERROR = "InternalError" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) GetMonitorDataWithContext(ctx context.Context, request *GetMonitorDataRequest) (response *GetMonitorDataResponse, err error) { +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +func (c *Client) ModifyGrafanaInstanceWithContext(ctx context.Context, request *ModifyGrafanaInstanceRequest) (response *ModifyGrafanaInstanceResponse, err error) { if request == nil { - request = NewGetMonitorDataRequest() + request = NewModifyGrafanaInstanceRequest() } if c.GetCredential() == nil { - return nil, errors.New("GetMonitorData require credential") + return nil, errors.New("ModifyGrafanaInstance require credential") } request.SetContext(ctx) - response = NewGetMonitorDataResponse() + response = NewModifyGrafanaInstanceResponse() err = c.Send(request, response) return } -func NewGetPrometheusAgentManagementCommandRequest() (request *GetPrometheusAgentManagementCommandRequest) { - request = &GetPrometheusAgentManagementCommandRequest{ +func NewModifyPolicyGroupRequest() (request *ModifyPolicyGroupRequest) { + request = &ModifyPolicyGroupRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "GetPrometheusAgentManagementCommand") + + request.Init().WithApiInfo("monitor", APIVersion, "ModifyPolicyGroup") return } -func NewGetPrometheusAgentManagementCommandResponse() (response *GetPrometheusAgentManagementCommandResponse) { - response = &GetPrometheusAgentManagementCommandResponse{ +func NewModifyPolicyGroupResponse() (response *ModifyPolicyGroupResponse) { + response = &ModifyPolicyGroupResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// GetPrometheusAgentManagementCommand -// 获取 Prometheus Agent 管理相关的命令行 +// ModifyPolicyGroup +// 更新策略组 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" // AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" +// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" +// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" // INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// MISSINGPARAMETER = "MissingParameter" // RESOURCENOTFOUND = "ResourceNotFound" // UNAUTHORIZEDOPERATION = "UnauthorizedOperation" // UNKNOWNPARAMETER = "UnknownParameter" -func (c *Client) GetPrometheusAgentManagementCommand(request *GetPrometheusAgentManagementCommandRequest) (response *GetPrometheusAgentManagementCommandResponse, err error) { - return c.GetPrometheusAgentManagementCommandWithContext(context.Background(), request) +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) ModifyPolicyGroup(request *ModifyPolicyGroupRequest) (response *ModifyPolicyGroupResponse, err error) { + return c.ModifyPolicyGroupWithContext(context.Background(), request) } -// GetPrometheusAgentManagementCommand -// 获取 Prometheus Agent 管理相关的命令行 +// ModifyPolicyGroup +// 更新策略组 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" // AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" +// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" +// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" // INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// MISSINGPARAMETER = "MissingParameter" // RESOURCENOTFOUND = "ResourceNotFound" // UNAUTHORIZEDOPERATION = "UnauthorizedOperation" // UNKNOWNPARAMETER = "UnknownParameter" -func (c *Client) GetPrometheusAgentManagementCommandWithContext(ctx context.Context, request *GetPrometheusAgentManagementCommandRequest) (response *GetPrometheusAgentManagementCommandResponse, err error) { +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) ModifyPolicyGroupWithContext(ctx context.Context, request *ModifyPolicyGroupRequest) (response *ModifyPolicyGroupResponse, err error) { if request == nil { - request = NewGetPrometheusAgentManagementCommandRequest() + request = NewModifyPolicyGroupRequest() } if c.GetCredential() == nil { - return nil, errors.New("GetPrometheusAgentManagementCommand require credential") + return nil, errors.New("ModifyPolicyGroup require credential") } request.SetContext(ctx) - response = NewGetPrometheusAgentManagementCommandResponse() + response = NewModifyPolicyGroupResponse() err = c.Send(request, response) return } -func NewModifyAlarmNoticeRequest() (request *ModifyAlarmNoticeRequest) { - request = &ModifyAlarmNoticeRequest{ +func NewModifyPrometheusInstanceAttributesRequest() (request *ModifyPrometheusInstanceAttributesRequest) { + request = &ModifyPrometheusInstanceAttributesRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmNotice") + + request.Init().WithApiInfo("monitor", APIVersion, "ModifyPrometheusInstanceAttributes") return } -func NewModifyAlarmNoticeResponse() (response *ModifyAlarmNoticeResponse) { - response = &ModifyAlarmNoticeResponse{ +func NewModifyPrometheusInstanceAttributesResponse() (response *ModifyPrometheusInstanceAttributesResponse) { + response = &ModifyPrometheusInstanceAttributesResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// ModifyAlarmNotice -// 云监控告警编辑告警通知模板 +// ModifyPrometheusInstanceAttributes +// 修改 Prometheus 实例相关属性 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) ModifyAlarmNotice(request *ModifyAlarmNoticeRequest) (response *ModifyAlarmNoticeResponse, err error) { - return c.ModifyAlarmNoticeWithContext(context.Background(), request) +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETER_PARAMERROR = "InvalidParameter.ParamError" +// MISSINGPARAMETER = "MissingParameter" +func (c *Client) ModifyPrometheusInstanceAttributes(request *ModifyPrometheusInstanceAttributesRequest) (response *ModifyPrometheusInstanceAttributesResponse, err error) { + return c.ModifyPrometheusInstanceAttributesWithContext(context.Background(), request) } -// ModifyAlarmNotice -// 云监控告警编辑告警通知模板 +// ModifyPrometheusInstanceAttributes +// 修改 Prometheus 实例相关属性 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) ModifyAlarmNoticeWithContext(ctx context.Context, request *ModifyAlarmNoticeRequest) (response *ModifyAlarmNoticeResponse, err error) { +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETER_PARAMERROR = "InvalidParameter.ParamError" +// MISSINGPARAMETER = "MissingParameter" +func (c *Client) ModifyPrometheusInstanceAttributesWithContext(ctx context.Context, request *ModifyPrometheusInstanceAttributesRequest) (response *ModifyPrometheusInstanceAttributesResponse, err error) { if request == nil { - request = NewModifyAlarmNoticeRequest() + request = NewModifyPrometheusInstanceAttributesRequest() } if c.GetCredential() == nil { - return nil, errors.New("ModifyAlarmNotice require credential") + return nil, errors.New("ModifyPrometheusInstanceAttributes require credential") } request.SetContext(ctx) - response = NewModifyAlarmNoticeResponse() + response = NewModifyPrometheusInstanceAttributesResponse() err = c.Send(request, response) return } -func NewModifyAlarmPolicyConditionRequest() (request *ModifyAlarmPolicyConditionRequest) { - request = &ModifyAlarmPolicyConditionRequest{ +func NewPutMonitorDataRequest() (request *PutMonitorDataRequest) { + request = &PutMonitorDataRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyCondition") + + request.Init().WithApiInfo("monitor", APIVersion, "PutMonitorData") return } -func NewModifyAlarmPolicyConditionResponse() (response *ModifyAlarmPolicyConditionResponse) { - response = &ModifyAlarmPolicyConditionResponse{ +func NewPutMonitorDataResponse() (response *PutMonitorDataResponse) { + response = &PutMonitorDataResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// ModifyAlarmPolicyCondition -// 修改告警策略触发条件 +// PutMonitorData +// 默认接口请求频率限制:50次/秒。 +// +// 默认单租户指标上限:100个。 +// +// 单次上报最多 30 个指标/值对,请求返回错误时,请求中所有的指标/值均不会被保存。 +// +// +// +// 上报的时间戳为期望保存的时间戳,建议构造整数分钟时刻的时间戳。 +// +// 时间戳时间范围必须为当前时间到 300 秒前之间。 +// +// 同一 IP 指标对的数据需按分钟先后顺序上报。 // // 可能返回的错误码: +// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" // INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" // INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" // RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" // UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) ModifyAlarmPolicyCondition(request *ModifyAlarmPolicyConditionRequest) (response *ModifyAlarmPolicyConditionResponse, err error) { - return c.ModifyAlarmPolicyConditionWithContext(context.Background(), request) +func (c *Client) PutMonitorData(request *PutMonitorDataRequest) (response *PutMonitorDataResponse, err error) { + return c.PutMonitorDataWithContext(context.Background(), request) } -// ModifyAlarmPolicyCondition -// 修改告警策略触发条件 +// PutMonitorData +// 默认接口请求频率限制:50次/秒。 +// +// 默认单租户指标上限:100个。 +// +// 单次上报最多 30 个指标/值对,请求返回错误时,请求中所有的指标/值均不会被保存。 +// +// +// +// 上报的时间戳为期望保存的时间戳,建议构造整数分钟时刻的时间戳。 +// +// 时间戳时间范围必须为当前时间到 300 秒前之间。 +// +// 同一 IP 指标对的数据需按分钟先后顺序上报。 // // 可能返回的错误码: +// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" // INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" // INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" // RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" // UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) ModifyAlarmPolicyConditionWithContext(ctx context.Context, request *ModifyAlarmPolicyConditionRequest) (response *ModifyAlarmPolicyConditionResponse, err error) { +func (c *Client) PutMonitorDataWithContext(ctx context.Context, request *PutMonitorDataRequest) (response *PutMonitorDataResponse, err error) { if request == nil { - request = NewModifyAlarmPolicyConditionRequest() + request = NewPutMonitorDataRequest() } if c.GetCredential() == nil { - return nil, errors.New("ModifyAlarmPolicyCondition require credential") + return nil, errors.New("PutMonitorData require credential") } request.SetContext(ctx) - response = NewModifyAlarmPolicyConditionResponse() + response = NewPutMonitorDataResponse() err = c.Send(request, response) return } -func NewModifyAlarmPolicyInfoRequest() (request *ModifyAlarmPolicyInfoRequest) { - request = &ModifyAlarmPolicyInfoRequest{ +func NewResumeGrafanaInstanceRequest() (request *ResumeGrafanaInstanceRequest) { + request = &ResumeGrafanaInstanceRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyInfo") + + request.Init().WithApiInfo("monitor", APIVersion, "ResumeGrafanaInstance") return } -func NewModifyAlarmPolicyInfoResponse() (response *ModifyAlarmPolicyInfoResponse) { - response = &ModifyAlarmPolicyInfoResponse{ +func NewResumeGrafanaInstanceResponse() (response *ResumeGrafanaInstanceResponse) { + response = &ResumeGrafanaInstanceResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// ModifyAlarmPolicyInfo -// 告警2.0编辑告警策略基本信息,包括策略名、备注 +// ResumeGrafanaInstance +// 恢复 Grafana 实例 // // 可能返回的错误码: +// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" // INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" // INVALIDPARAMETERVALUE = "InvalidParameterValue" // LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" // RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" // UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) ModifyAlarmPolicyInfo(request *ModifyAlarmPolicyInfoRequest) (response *ModifyAlarmPolicyInfoResponse, err error) { - return c.ModifyAlarmPolicyInfoWithContext(context.Background(), request) +func (c *Client) ResumeGrafanaInstance(request *ResumeGrafanaInstanceRequest) (response *ResumeGrafanaInstanceResponse, err error) { + return c.ResumeGrafanaInstanceWithContext(context.Background(), request) } - -// ModifyAlarmPolicyInfo -// 告警2.0编辑告警策略基本信息,包括策略名、备注 + +// ResumeGrafanaInstance +// 恢复 Grafana 实例 // // 可能返回的错误码: +// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" // INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" // INVALIDPARAMETERVALUE = "InvalidParameterValue" // LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" // RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" // UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) ModifyAlarmPolicyInfoWithContext(ctx context.Context, request *ModifyAlarmPolicyInfoRequest) (response *ModifyAlarmPolicyInfoResponse, err error) { +func (c *Client) ResumeGrafanaInstanceWithContext(ctx context.Context, request *ResumeGrafanaInstanceRequest) (response *ResumeGrafanaInstanceResponse, err error) { if request == nil { - request = NewModifyAlarmPolicyInfoRequest() + request = NewResumeGrafanaInstanceRequest() } if c.GetCredential() == nil { - return nil, errors.New("ModifyAlarmPolicyInfo require credential") + return nil, errors.New("ResumeGrafanaInstance require credential") } request.SetContext(ctx) - response = NewModifyAlarmPolicyInfoResponse() + response = NewResumeGrafanaInstanceResponse() err = c.Send(request, response) return } -func NewModifyAlarmPolicyNoticeRequest() (request *ModifyAlarmPolicyNoticeRequest) { - request = &ModifyAlarmPolicyNoticeRequest{ +func NewSendCustomAlarmMsgRequest() (request *SendCustomAlarmMsgRequest) { + request = &SendCustomAlarmMsgRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyNotice") + + request.Init().WithApiInfo("monitor", APIVersion, "SendCustomAlarmMsg") return } -func NewModifyAlarmPolicyNoticeResponse() (response *ModifyAlarmPolicyNoticeResponse) { - response = &ModifyAlarmPolicyNoticeResponse{ +func NewSendCustomAlarmMsgResponse() (response *SendCustomAlarmMsgResponse) { + response = &SendCustomAlarmMsgResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// ModifyAlarmPolicyNotice -// 云监控告警修改告警策略绑定的告警通知模板 +// SendCustomAlarmMsg +// 发送自定义消息告警 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" -// RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) ModifyAlarmPolicyNotice(request *ModifyAlarmPolicyNoticeRequest) (response *ModifyAlarmPolicyNoticeResponse, err error) { - return c.ModifyAlarmPolicyNoticeWithContext(context.Background(), request) +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// MISSINGPARAMETER = "MissingParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) SendCustomAlarmMsg(request *SendCustomAlarmMsgRequest) (response *SendCustomAlarmMsgResponse, err error) { + return c.SendCustomAlarmMsgWithContext(context.Background(), request) } -// ModifyAlarmPolicyNotice -// 云监控告警修改告警策略绑定的告警通知模板 +// SendCustomAlarmMsg +// 发送自定义消息告警 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" -// RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) ModifyAlarmPolicyNoticeWithContext(ctx context.Context, request *ModifyAlarmPolicyNoticeRequest) (response *ModifyAlarmPolicyNoticeResponse, err error) { +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// MISSINGPARAMETER = "MissingParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) SendCustomAlarmMsgWithContext(ctx context.Context, request *SendCustomAlarmMsgRequest) (response *SendCustomAlarmMsgResponse, err error) { if request == nil { - request = NewModifyAlarmPolicyNoticeRequest() + request = NewSendCustomAlarmMsgRequest() } if c.GetCredential() == nil { - return nil, errors.New("ModifyAlarmPolicyNotice require credential") + return nil, errors.New("SendCustomAlarmMsg require credential") } request.SetContext(ctx) - response = NewModifyAlarmPolicyNoticeResponse() + response = NewSendCustomAlarmMsgResponse() err = c.Send(request, response) return } -func NewModifyAlarmPolicyStatusRequest() (request *ModifyAlarmPolicyStatusRequest) { - request = &ModifyAlarmPolicyStatusRequest{ +func NewSetDefaultAlarmPolicyRequest() (request *SetDefaultAlarmPolicyRequest) { + request = &SetDefaultAlarmPolicyRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyStatus") + + request.Init().WithApiInfo("monitor", APIVersion, "SetDefaultAlarmPolicy") return } -func NewModifyAlarmPolicyStatusResponse() (response *ModifyAlarmPolicyStatusResponse) { - response = &ModifyAlarmPolicyStatusResponse{ +func NewSetDefaultAlarmPolicyResponse() (response *SetDefaultAlarmPolicyResponse) { + response = &SetDefaultAlarmPolicyResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// ModifyAlarmPolicyStatus -// 启停告警策略 +// SetDefaultAlarmPolicy +// 设置一个策略为该告警策略类型、该项目的默认告警策略。 +// +// 同一项目下相同的告警策略类型,就会被设置为非默认。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -3924,12 +5793,14 @@ func NewModifyAlarmPolicyStatusResponse() (response *ModifyAlarmPolicyStatusResp // INVALIDPARAMETERVALUE = "InvalidParameterValue" // RESOURCENOTFOUND = "ResourceNotFound" // UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) ModifyAlarmPolicyStatus(request *ModifyAlarmPolicyStatusRequest) (response *ModifyAlarmPolicyStatusResponse, err error) { - return c.ModifyAlarmPolicyStatusWithContext(context.Background(), request) +func (c *Client) SetDefaultAlarmPolicy(request *SetDefaultAlarmPolicyRequest) (response *SetDefaultAlarmPolicyResponse, err error) { + return c.SetDefaultAlarmPolicyWithContext(context.Background(), request) } -// ModifyAlarmPolicyStatus -// 启停告警策略 +// SetDefaultAlarmPolicy +// 设置一个策略为该告警策略类型、该项目的默认告警策略。 +// +// 同一项目下相同的告警策略类型,就会被设置为非默认。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -3938,151 +5809,224 @@ func (c *Client) ModifyAlarmPolicyStatus(request *ModifyAlarmPolicyStatusRequest // INVALIDPARAMETERVALUE = "InvalidParameterValue" // RESOURCENOTFOUND = "ResourceNotFound" // UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) ModifyAlarmPolicyStatusWithContext(ctx context.Context, request *ModifyAlarmPolicyStatusRequest) (response *ModifyAlarmPolicyStatusResponse, err error) { +func (c *Client) SetDefaultAlarmPolicyWithContext(ctx context.Context, request *SetDefaultAlarmPolicyRequest) (response *SetDefaultAlarmPolicyResponse, err error) { if request == nil { - request = NewModifyAlarmPolicyStatusRequest() + request = NewSetDefaultAlarmPolicyRequest() } if c.GetCredential() == nil { - return nil, errors.New("ModifyAlarmPolicyStatus require credential") + return nil, errors.New("SetDefaultAlarmPolicy require credential") } request.SetContext(ctx) - response = NewModifyAlarmPolicyStatusResponse() + response = NewSetDefaultAlarmPolicyResponse() err = c.Send(request, response) return } -func NewModifyAlarmPolicyTasksRequest() (request *ModifyAlarmPolicyTasksRequest) { - request = &ModifyAlarmPolicyTasksRequest{ +func NewTerminatePrometheusInstancesRequest() (request *TerminatePrometheusInstancesRequest) { + request = &TerminatePrometheusInstancesRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyTasks") + + request.Init().WithApiInfo("monitor", APIVersion, "TerminatePrometheusInstances") return } -func NewModifyAlarmPolicyTasksResponse() (response *ModifyAlarmPolicyTasksResponse) { - response = &ModifyAlarmPolicyTasksResponse{ +func NewTerminatePrometheusInstancesResponse() (response *TerminatePrometheusInstancesResponse) { + response = &TerminatePrometheusInstancesResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// ModifyAlarmPolicyTasks -// 云监控告警修改告警策略的触发任务,TriggerTasks字段放触发任务列表,TriggerTasks传空数组时,代表解绑该策略的所有触发任务。 +// TerminatePrometheusInstances +// 销毁按量 Prometheus 实例 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_AGENTSNOTINUNINSTALLSTAGE = "FailedOperation.AgentsNotInUninstallStage" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" -// RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) ModifyAlarmPolicyTasks(request *ModifyAlarmPolicyTasksRequest) (response *ModifyAlarmPolicyTasksResponse, err error) { - return c.ModifyAlarmPolicyTasksWithContext(context.Background(), request) +func (c *Client) TerminatePrometheusInstances(request *TerminatePrometheusInstancesRequest) (response *TerminatePrometheusInstancesResponse, err error) { + return c.TerminatePrometheusInstancesWithContext(context.Background(), request) } -// ModifyAlarmPolicyTasks -// 云监控告警修改告警策略的触发任务,TriggerTasks字段放触发任务列表,TriggerTasks传空数组时,代表解绑该策略的所有触发任务。 +// TerminatePrometheusInstances +// 销毁按量 Prometheus 实例 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_AGENTSNOTINUNINSTALLSTAGE = "FailedOperation.AgentsNotInUninstallStage" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" -// RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) ModifyAlarmPolicyTasksWithContext(ctx context.Context, request *ModifyAlarmPolicyTasksRequest) (response *ModifyAlarmPolicyTasksResponse, err error) { +func (c *Client) TerminatePrometheusInstancesWithContext(ctx context.Context, request *TerminatePrometheusInstancesRequest) (response *TerminatePrometheusInstancesResponse, err error) { if request == nil { - request = NewModifyAlarmPolicyTasksRequest() + request = NewTerminatePrometheusInstancesRequest() } if c.GetCredential() == nil { - return nil, errors.New("ModifyAlarmPolicyTasks require credential") + return nil, errors.New("TerminatePrometheusInstances require credential") } request.SetContext(ctx) - response = NewModifyAlarmPolicyTasksResponse() + response = NewTerminatePrometheusInstancesResponse() err = c.Send(request, response) return } -func NewModifyAlarmReceiversRequest() (request *ModifyAlarmReceiversRequest) { - request = &ModifyAlarmReceiversRequest{ +func NewUnBindingAllPolicyObjectRequest() (request *UnBindingAllPolicyObjectRequest) { + request = &UnBindingAllPolicyObjectRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmReceivers") + + request.Init().WithApiInfo("monitor", APIVersion, "UnBindingAllPolicyObject") return } -func NewModifyAlarmReceiversResponse() (response *ModifyAlarmReceiversResponse) { - response = &ModifyAlarmReceiversResponse{ +func NewUnBindingAllPolicyObjectResponse() (response *UnBindingAllPolicyObjectResponse) { + response = &UnBindingAllPolicyObjectResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// ModifyAlarmReceivers -// 修改告警接收人 +// UnBindingAllPolicyObject +// 删除全部的关联对象 // // 可能返回的错误码: +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" +// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" +// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" +// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" +// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" // INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" // INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" // RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) ModifyAlarmReceivers(request *ModifyAlarmReceiversRequest) (response *ModifyAlarmReceiversResponse, err error) { - return c.ModifyAlarmReceiversWithContext(context.Background(), request) +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) UnBindingAllPolicyObject(request *UnBindingAllPolicyObjectRequest) (response *UnBindingAllPolicyObjectResponse, err error) { + return c.UnBindingAllPolicyObjectWithContext(context.Background(), request) } -// ModifyAlarmReceivers -// 修改告警接收人 +// UnBindingAllPolicyObject +// 删除全部的关联对象 // // 可能返回的错误码: +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" +// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" +// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" +// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" +// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" +// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" +// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" // INTERNALERROR = "InternalError" +// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" +// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" // INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" // RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) ModifyAlarmReceiversWithContext(ctx context.Context, request *ModifyAlarmReceiversRequest) (response *ModifyAlarmReceiversResponse, err error) { +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) UnBindingAllPolicyObjectWithContext(ctx context.Context, request *UnBindingAllPolicyObjectRequest) (response *UnBindingAllPolicyObjectResponse, err error) { if request == nil { - request = NewModifyAlarmReceiversRequest() + request = NewUnBindingAllPolicyObjectRequest() } if c.GetCredential() == nil { - return nil, errors.New("ModifyAlarmReceivers require credential") + return nil, errors.New("UnBindingAllPolicyObject require credential") } request.SetContext(ctx) - response = NewModifyAlarmReceiversResponse() + response = NewUnBindingAllPolicyObjectResponse() err = c.Send(request, response) return } -func NewModifyPolicyGroupRequest() (request *ModifyPolicyGroupRequest) { - request = &ModifyPolicyGroupRequest{ +func NewUnBindingPolicyObjectRequest() (request *UnBindingPolicyObjectRequest) { + request = &UnBindingPolicyObjectRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "ModifyPolicyGroup") + + request.Init().WithApiInfo("monitor", APIVersion, "UnBindingPolicyObject") return } -func NewModifyPolicyGroupResponse() (response *ModifyPolicyGroupResponse) { - response = &ModifyPolicyGroupResponse{ +func NewUnBindingPolicyObjectResponse() (response *UnBindingPolicyObjectResponse) { + response = &UnBindingPolicyObjectResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// ModifyPolicyGroup -// 更新策略组 +// UnBindingPolicyObject +// 删除策略的关联对象 // // 可能返回的错误码: // AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" @@ -4094,7 +6038,16 @@ func NewModifyPolicyGroupResponse() (response *ModifyPolicyGroupResponse) { // FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" // FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" // FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" // FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" +// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" // INTERNALERROR = "InternalError" // INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" @@ -4102,17 +6055,24 @@ func NewModifyPolicyGroupResponse() (response *ModifyPolicyGroupResponse) { // INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" // INVALIDPARAMETERVALUE = "InvalidParameterValue" // LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" // MISSINGPARAMETER = "MissingParameter" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" // RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_NOTEXISTTASK = "ResourceNotFound.NotExistTask" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" // UNAUTHORIZEDOPERATION = "UnauthorizedOperation" // UNKNOWNPARAMETER = "UnknownParameter" // UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) ModifyPolicyGroup(request *ModifyPolicyGroupRequest) (response *ModifyPolicyGroupResponse, err error) { - return c.ModifyPolicyGroupWithContext(context.Background(), request) +func (c *Client) UnBindingPolicyObject(request *UnBindingPolicyObjectRequest) (response *UnBindingPolicyObjectResponse, err error) { + return c.UnBindingPolicyObjectWithContext(context.Background(), request) } -// ModifyPolicyGroup -// 更新策略组 +// UnBindingPolicyObject +// 删除策略的关联对象 // // 可能返回的错误码: // AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" @@ -4124,7 +6084,16 @@ func (c *Client) ModifyPolicyGroup(request *ModifyPolicyGroupRequest) (response // FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" // FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" // FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" +// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" +// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" // FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" +// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" +// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" // INTERNALERROR = "InternalError" // INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" @@ -4132,937 +6101,718 @@ func (c *Client) ModifyPolicyGroup(request *ModifyPolicyGroupRequest) (response // INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" // INVALIDPARAMETERVALUE = "InvalidParameterValue" // LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" // MISSINGPARAMETER = "MissingParameter" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" // RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_NOTEXISTTASK = "ResourceNotFound.NotExistTask" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" // UNAUTHORIZEDOPERATION = "UnauthorizedOperation" // UNKNOWNPARAMETER = "UnknownParameter" // UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) ModifyPolicyGroupWithContext(ctx context.Context, request *ModifyPolicyGroupRequest) (response *ModifyPolicyGroupResponse, err error) { +func (c *Client) UnBindingPolicyObjectWithContext(ctx context.Context, request *UnBindingPolicyObjectRequest) (response *UnBindingPolicyObjectResponse, err error) { if request == nil { - request = NewModifyPolicyGroupRequest() + request = NewUnBindingPolicyObjectRequest() } if c.GetCredential() == nil { - return nil, errors.New("ModifyPolicyGroup require credential") + return nil, errors.New("UnBindingPolicyObject require credential") } request.SetContext(ctx) - response = NewModifyPolicyGroupResponse() + response = NewUnBindingPolicyObjectResponse() err = c.Send(request, response) return } -func NewModifyPrometheusInstanceAttributesRequest() (request *ModifyPrometheusInstanceAttributesRequest) { - request = &ModifyPrometheusInstanceAttributesRequest{ +func NewUnbindPrometheusManagedGrafanaRequest() (request *UnbindPrometheusManagedGrafanaRequest) { + request = &UnbindPrometheusManagedGrafanaRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "ModifyPrometheusInstanceAttributes") + + request.Init().WithApiInfo("monitor", APIVersion, "UnbindPrometheusManagedGrafana") return } -func NewModifyPrometheusInstanceAttributesResponse() (response *ModifyPrometheusInstanceAttributesResponse) { - response = &ModifyPrometheusInstanceAttributesResponse{ +func NewUnbindPrometheusManagedGrafanaResponse() (response *UnbindPrometheusManagedGrafanaResponse) { + response = &UnbindPrometheusManagedGrafanaResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// ModifyPrometheusInstanceAttributes -// 修改 Prometheus 实例相关属性 +// UnbindPrometheusManagedGrafana +// 解除实例绑定的 Grafana 可视化实例 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETER_PARAMERROR = "InvalidParameter.ParamError" -// MISSINGPARAMETER = "MissingParameter" -func (c *Client) ModifyPrometheusInstanceAttributes(request *ModifyPrometheusInstanceAttributesRequest) (response *ModifyPrometheusInstanceAttributesResponse, err error) { - return c.ModifyPrometheusInstanceAttributesWithContext(context.Background(), request) +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +func (c *Client) UnbindPrometheusManagedGrafana(request *UnbindPrometheusManagedGrafanaRequest) (response *UnbindPrometheusManagedGrafanaResponse, err error) { + return c.UnbindPrometheusManagedGrafanaWithContext(context.Background(), request) } -// ModifyPrometheusInstanceAttributes -// 修改 Prometheus 实例相关属性 +// UnbindPrometheusManagedGrafana +// 解除实例绑定的 Grafana 可视化实例 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETER_PARAMERROR = "InvalidParameter.ParamError" -// MISSINGPARAMETER = "MissingParameter" -func (c *Client) ModifyPrometheusInstanceAttributesWithContext(ctx context.Context, request *ModifyPrometheusInstanceAttributesRequest) (response *ModifyPrometheusInstanceAttributesResponse, err error) { +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +func (c *Client) UnbindPrometheusManagedGrafanaWithContext(ctx context.Context, request *UnbindPrometheusManagedGrafanaRequest) (response *UnbindPrometheusManagedGrafanaResponse, err error) { if request == nil { - request = NewModifyPrometheusInstanceAttributesRequest() + request = NewUnbindPrometheusManagedGrafanaRequest() } if c.GetCredential() == nil { - return nil, errors.New("ModifyPrometheusInstanceAttributes require credential") + return nil, errors.New("UnbindPrometheusManagedGrafana require credential") } request.SetContext(ctx) - response = NewModifyPrometheusInstanceAttributesResponse() + response = NewUnbindPrometheusManagedGrafanaResponse() err = c.Send(request, response) return } -func NewPutMonitorDataRequest() (request *PutMonitorDataRequest) { - request = &PutMonitorDataRequest{ +func NewUninstallGrafanaDashboardRequest() (request *UninstallGrafanaDashboardRequest) { + request = &UninstallGrafanaDashboardRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "PutMonitorData") + + request.Init().WithApiInfo("monitor", APIVersion, "UninstallGrafanaDashboard") return } -func NewPutMonitorDataResponse() (response *PutMonitorDataResponse) { - response = &PutMonitorDataResponse{ +func NewUninstallGrafanaDashboardResponse() (response *UninstallGrafanaDashboardResponse) { + response = &UninstallGrafanaDashboardResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// PutMonitorData -// 默认接口请求频率限制:50次/秒。 -// -// 默认单租户指标上限:100个。 -// -// 单次上报最多 30 个指标/值对,请求返回错误时,请求中所有的指标/值均不会被保存。 -// -// -// -// 上报的时间戳为期望保存的时间戳,建议构造整数分钟时刻的时间戳。 -// -// 时间戳时间范围必须为当前时间到 300 秒前之间。 -// -// 同一 IP 指标对的数据需按分钟先后顺序上报。 +// UninstallGrafanaDashboard +// 删除 Grafana Dashboard // // 可能返回的错误码: -// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" -// INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) PutMonitorData(request *PutMonitorDataRequest) (response *PutMonitorDataResponse, err error) { - return c.PutMonitorDataWithContext(context.Background(), request) +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +func (c *Client) UninstallGrafanaDashboard(request *UninstallGrafanaDashboardRequest) (response *UninstallGrafanaDashboardResponse, err error) { + return c.UninstallGrafanaDashboardWithContext(context.Background(), request) } -// PutMonitorData -// 默认接口请求频率限制:50次/秒。 -// -// 默认单租户指标上限:100个。 -// -// 单次上报最多 30 个指标/值对,请求返回错误时,请求中所有的指标/值均不会被保存。 -// -// -// -// 上报的时间戳为期望保存的时间戳,建议构造整数分钟时刻的时间戳。 -// -// 时间戳时间范围必须为当前时间到 300 秒前之间。 -// -// 同一 IP 指标对的数据需按分钟先后顺序上报。 +// UninstallGrafanaDashboard +// 删除 Grafana Dashboard // // 可能返回的错误码: -// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" -// INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) PutMonitorDataWithContext(ctx context.Context, request *PutMonitorDataRequest) (response *PutMonitorDataResponse, err error) { +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +func (c *Client) UninstallGrafanaDashboardWithContext(ctx context.Context, request *UninstallGrafanaDashboardRequest) (response *UninstallGrafanaDashboardResponse, err error) { if request == nil { - request = NewPutMonitorDataRequest() + request = NewUninstallGrafanaDashboardRequest() } if c.GetCredential() == nil { - return nil, errors.New("PutMonitorData require credential") + return nil, errors.New("UninstallGrafanaDashboard require credential") } request.SetContext(ctx) - response = NewPutMonitorDataResponse() + response = NewUninstallGrafanaDashboardResponse() err = c.Send(request, response) return } -func NewSendCustomAlarmMsgRequest() (request *SendCustomAlarmMsgRequest) { - request = &SendCustomAlarmMsgRequest{ +func NewUninstallGrafanaPluginsRequest() (request *UninstallGrafanaPluginsRequest) { + request = &UninstallGrafanaPluginsRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "SendCustomAlarmMsg") + + request.Init().WithApiInfo("monitor", APIVersion, "UninstallGrafanaPlugins") return } -func NewSendCustomAlarmMsgResponse() (response *SendCustomAlarmMsgResponse) { - response = &SendCustomAlarmMsgResponse{ +func NewUninstallGrafanaPluginsResponse() (response *UninstallGrafanaPluginsResponse) { + response = &UninstallGrafanaPluginsResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// SendCustomAlarmMsg -// 发送自定义消息告警 +// UninstallGrafanaPlugins +// 删除已安装的插件 // // 可能返回的错误码: -// INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// MISSINGPARAMETER = "MissingParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) SendCustomAlarmMsg(request *SendCustomAlarmMsgRequest) (response *SendCustomAlarmMsgResponse, err error) { - return c.SendCustomAlarmMsgWithContext(context.Background(), request) +// FAILEDOPERATION = "FailedOperation" +func (c *Client) UninstallGrafanaPlugins(request *UninstallGrafanaPluginsRequest) (response *UninstallGrafanaPluginsResponse, err error) { + return c.UninstallGrafanaPluginsWithContext(context.Background(), request) } -// SendCustomAlarmMsg -// 发送自定义消息告警 +// UninstallGrafanaPlugins +// 删除已安装的插件 // // 可能返回的错误码: -// INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// MISSINGPARAMETER = "MissingParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) SendCustomAlarmMsgWithContext(ctx context.Context, request *SendCustomAlarmMsgRequest) (response *SendCustomAlarmMsgResponse, err error) { +// FAILEDOPERATION = "FailedOperation" +func (c *Client) UninstallGrafanaPluginsWithContext(ctx context.Context, request *UninstallGrafanaPluginsRequest) (response *UninstallGrafanaPluginsResponse, err error) { if request == nil { - request = NewSendCustomAlarmMsgRequest() + request = NewUninstallGrafanaPluginsRequest() } if c.GetCredential() == nil { - return nil, errors.New("SendCustomAlarmMsg require credential") + return nil, errors.New("UninstallGrafanaPlugins require credential") } request.SetContext(ctx) - response = NewSendCustomAlarmMsgResponse() + response = NewUninstallGrafanaPluginsResponse() err = c.Send(request, response) return } -func NewSetDefaultAlarmPolicyRequest() (request *SetDefaultAlarmPolicyRequest) { - request = &SetDefaultAlarmPolicyRequest{ +func NewUpdateAlertRuleRequest() (request *UpdateAlertRuleRequest) { + request = &UpdateAlertRuleRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "SetDefaultAlarmPolicy") + + request.Init().WithApiInfo("monitor", APIVersion, "UpdateAlertRule") return } -func NewSetDefaultAlarmPolicyResponse() (response *SetDefaultAlarmPolicyResponse) { - response = &SetDefaultAlarmPolicyResponse{ +func NewUpdateAlertRuleResponse() (response *UpdateAlertRuleResponse) { + response = &UpdateAlertRuleResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// SetDefaultAlarmPolicy -// 设置一个策略为该告警策略类型、该项目的默认告警策略。 +// UpdateAlertRule +// 更新 Prometheus 的报警规则。 // -// 同一项目下相同的告警策略类型,就会被设置为非默认。 +// +// +// 请注意,**告警对象和告警消息是 Prometheus Rule Annotations 的特殊字段,需要通过 annotations 来传递,对应的 Key 分别为summary/description**,,请参考 [Prometheus Rule更多配置请参考](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)。 // // 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// RESOURCENOTFOUND = "ResourceNotFound" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) SetDefaultAlarmPolicy(request *SetDefaultAlarmPolicyRequest) (response *SetDefaultAlarmPolicyResponse, err error) { - return c.SetDefaultAlarmPolicyWithContext(context.Background(), request) +func (c *Client) UpdateAlertRule(request *UpdateAlertRuleRequest) (response *UpdateAlertRuleResponse, err error) { + return c.UpdateAlertRuleWithContext(context.Background(), request) } -// SetDefaultAlarmPolicy -// 设置一个策略为该告警策略类型、该项目的默认告警策略。 +// UpdateAlertRule +// 更新 Prometheus 的报警规则。 // -// 同一项目下相同的告警策略类型,就会被设置为非默认。 +// +// +// 请注意,**告警对象和告警消息是 Prometheus Rule Annotations 的特殊字段,需要通过 annotations 来传递,对应的 Key 分别为summary/description**,,请参考 [Prometheus Rule更多配置请参考](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)。 // // 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" +// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" +// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// RESOURCENOTFOUND = "ResourceNotFound" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) SetDefaultAlarmPolicyWithContext(ctx context.Context, request *SetDefaultAlarmPolicyRequest) (response *SetDefaultAlarmPolicyResponse, err error) { +func (c *Client) UpdateAlertRuleWithContext(ctx context.Context, request *UpdateAlertRuleRequest) (response *UpdateAlertRuleResponse, err error) { if request == nil { - request = NewSetDefaultAlarmPolicyRequest() + request = NewUpdateAlertRuleRequest() } if c.GetCredential() == nil { - return nil, errors.New("SetDefaultAlarmPolicy require credential") + return nil, errors.New("UpdateAlertRule require credential") } request.SetContext(ctx) - response = NewSetDefaultAlarmPolicyResponse() + response = NewUpdateAlertRuleResponse() err = c.Send(request, response) return } -func NewTerminatePrometheusInstancesRequest() (request *TerminatePrometheusInstancesRequest) { - request = &TerminatePrometheusInstancesRequest{ +func NewUpdateAlertRuleStateRequest() (request *UpdateAlertRuleStateRequest) { + request = &UpdateAlertRuleStateRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "TerminatePrometheusInstances") + + request.Init().WithApiInfo("monitor", APIVersion, "UpdateAlertRuleState") return } -func NewTerminatePrometheusInstancesResponse() (response *TerminatePrometheusInstancesResponse) { - response = &TerminatePrometheusInstancesResponse{ +func NewUpdateAlertRuleStateResponse() (response *UpdateAlertRuleStateResponse) { + response = &UpdateAlertRuleStateResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// TerminatePrometheusInstances -// 销毁按量 Prometheus 实例 +// UpdateAlertRuleState +// 更新 Prometheus 报警策略状态 // // 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_AGENTSNOTINUNINSTALLSTAGE = "FailedOperation.AgentsNotInUninstallStage" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" // FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" // FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" // FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" // FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" // FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -func (c *Client) TerminatePrometheusInstances(request *TerminatePrometheusInstancesRequest) (response *TerminatePrometheusInstancesResponse, err error) { - return c.TerminatePrometheusInstancesWithContext(context.Background(), request) +// INVALIDPARAMETER = "InvalidParameter" +func (c *Client) UpdateAlertRuleState(request *UpdateAlertRuleStateRequest) (response *UpdateAlertRuleStateResponse, err error) { + return c.UpdateAlertRuleStateWithContext(context.Background(), request) } -// TerminatePrometheusInstances -// 销毁按量 Prometheus 实例 +// UpdateAlertRuleState +// 更新 Prometheus 报警策略状态 // // 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_AGENTSNOTINUNINSTALLSTAGE = "FailedOperation.AgentsNotInUninstallStage" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" // FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" // FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" // FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" // FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" // FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -func (c *Client) TerminatePrometheusInstancesWithContext(ctx context.Context, request *TerminatePrometheusInstancesRequest) (response *TerminatePrometheusInstancesResponse, err error) { +// INVALIDPARAMETER = "InvalidParameter" +func (c *Client) UpdateAlertRuleStateWithContext(ctx context.Context, request *UpdateAlertRuleStateRequest) (response *UpdateAlertRuleStateResponse, err error) { if request == nil { - request = NewTerminatePrometheusInstancesRequest() + request = NewUpdateAlertRuleStateRequest() } if c.GetCredential() == nil { - return nil, errors.New("TerminatePrometheusInstances require credential") + return nil, errors.New("UpdateAlertRuleState require credential") } request.SetContext(ctx) - response = NewTerminatePrometheusInstancesResponse() + response = NewUpdateAlertRuleStateResponse() err = c.Send(request, response) return } -func NewUnBindingAllPolicyObjectRequest() (request *UnBindingAllPolicyObjectRequest) { - request = &UnBindingAllPolicyObjectRequest{ +func NewUpdateDNSConfigRequest() (request *UpdateDNSConfigRequest) { + request = &UpdateDNSConfigRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "UnBindingAllPolicyObject") + + request.Init().WithApiInfo("monitor", APIVersion, "UpdateDNSConfig") return } -func NewUnBindingAllPolicyObjectResponse() (response *UnBindingAllPolicyObjectResponse) { - response = &UnBindingAllPolicyObjectResponse{ +func NewUpdateDNSConfigResponse() (response *UpdateDNSConfigResponse) { + response = &UpdateDNSConfigResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// UnBindingAllPolicyObject -// 删除全部的关联对象 +// UpdateDNSConfig +// 更新 Grafana 的 DNS 配置 // // 可能返回的错误码: -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" -// DRYRUNOPERATION = "DryRunOperation" +// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" -// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" -// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" // FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" // FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" // FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" // FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" -// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" -// RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// RESOURCESSOLDOUT = "ResourcesSoldOut" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) UnBindingAllPolicyObject(request *UnBindingAllPolicyObjectRequest) (response *UnBindingAllPolicyObjectResponse, err error) { - return c.UnBindingAllPolicyObjectWithContext(context.Background(), request) +func (c *Client) UpdateDNSConfig(request *UpdateDNSConfigRequest) (response *UpdateDNSConfigResponse, err error) { + return c.UpdateDNSConfigWithContext(context.Background(), request) } -// UnBindingAllPolicyObject -// 删除全部的关联对象 +// UpdateDNSConfig +// 更新 Grafana 的 DNS 配置 // // 可能返回的错误码: -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" -// DRYRUNOPERATION = "DryRunOperation" +// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" -// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" -// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" // FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" // FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" // FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" // FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" -// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" +// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" // INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" -// RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// RESOURCESSOLDOUT = "ResourcesSoldOut" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) UnBindingAllPolicyObjectWithContext(ctx context.Context, request *UnBindingAllPolicyObjectRequest) (response *UnBindingAllPolicyObjectResponse, err error) { +func (c *Client) UpdateDNSConfigWithContext(ctx context.Context, request *UpdateDNSConfigRequest) (response *UpdateDNSConfigResponse, err error) { if request == nil { - request = NewUnBindingAllPolicyObjectRequest() + request = NewUpdateDNSConfigRequest() } if c.GetCredential() == nil { - return nil, errors.New("UnBindingAllPolicyObject require credential") + return nil, errors.New("UpdateDNSConfig require credential") } request.SetContext(ctx) - response = NewUnBindingAllPolicyObjectResponse() + response = NewUpdateDNSConfigResponse() err = c.Send(request, response) return } -func NewUnBindingPolicyObjectRequest() (request *UnBindingPolicyObjectRequest) { - request = &UnBindingPolicyObjectRequest{ +func NewUpdateExporterIntegrationRequest() (request *UpdateExporterIntegrationRequest) { + request = &UpdateExporterIntegrationRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "UnBindingPolicyObject") + + request.Init().WithApiInfo("monitor", APIVersion, "UpdateExporterIntegration") return } -func NewUnBindingPolicyObjectResponse() (response *UnBindingPolicyObjectResponse) { - response = &UnBindingPolicyObjectResponse{ +func NewUpdateExporterIntegrationResponse() (response *UpdateExporterIntegrationResponse) { + response = &UpdateExporterIntegrationResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// UnBindingPolicyObject -// 删除策略的关联对象 +// UpdateExporterIntegration +// 更新 exporter 集成配置 // // 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" // AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" -// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" -// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" -// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" +// FAILEDOPERATION_AGENTNOTALLOWED = "FailedOperation.AgentNotAllowed" // FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" // FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" // FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" // FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" -// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" +// FAILEDOPERATION_INSTANCENOTFOUND = "FailedOperation.InstanceNotFound" +// FAILEDOPERATION_INSTANCENOTRUNNING = "FailedOperation.InstanceNotRunning" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// FAILEDOPERATION_RESOURCEOPERATING = "FailedOperation.ResourceOperating" +// FAILEDOPERATION_TKERESOURCECONFLICT = "FailedOperation.TKEResourceConflict" // INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" // RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCENOTFOUND_NOTEXISTTASK = "ResourceNotFound.NotExistTask" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// RESOURCESSOLDOUT = "ResourcesSoldOut" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) UnBindingPolicyObject(request *UnBindingPolicyObjectRequest) (response *UnBindingPolicyObjectResponse, err error) { - return c.UnBindingPolicyObjectWithContext(context.Background(), request) +func (c *Client) UpdateExporterIntegration(request *UpdateExporterIntegrationRequest) (response *UpdateExporterIntegrationResponse, err error) { + return c.UpdateExporterIntegrationWithContext(context.Background(), request) } -// UnBindingPolicyObject -// 删除策略的关联对象 +// UpdateExporterIntegration +// 更新 exporter 集成配置 // // 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" // AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" -// DRYRUNOPERATION = "DryRunOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ALERTFILTERRULEDELETEFAILED = "FailedOperation.AlertFilterRuleDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYCREATEFAILED = "FailedOperation.AlertPolicyCreateFailed" -// FAILEDOPERATION_ALERTPOLICYDELETEFAILED = "FailedOperation.AlertPolicyDeleteFailed" -// FAILEDOPERATION_ALERTPOLICYDESCRIBEFAILED = "FailedOperation.AlertPolicyDescribeFailed" -// FAILEDOPERATION_ALERTPOLICYMODIFYFAILED = "FailedOperation.AlertPolicyModifyFailed" -// FAILEDOPERATION_ALERTTRIGGERRULEDELETEFAILED = "FailedOperation.AlertTriggerRuleDeleteFailed" +// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" +// FAILEDOPERATION_AGENTNOTALLOWED = "FailedOperation.AgentNotAllowed" // FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" // FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" // FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" // FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_DBTRANSACTIONBEGINFAILED = "FailedOperation.DbTransactionBeginFailed" -// FAILEDOPERATION_DBTRANSACTIONCOMMITFAILED = "FailedOperation.DbTransactionCommitFailed" -// FAILEDOPERATION_DIMQUERYREQUESTFAILED = "FailedOperation.DimQueryRequestFailed" -// FAILEDOPERATION_DRUIDQUERYFAILED = "FailedOperation.DruidQueryFailed" -// FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" -// FAILEDOPERATION_SERVICENOTENABLED = "FailedOperation.ServiceNotEnabled" +// FAILEDOPERATION_INSTANCENOTFOUND = "FailedOperation.InstanceNotFound" +// FAILEDOPERATION_INSTANCENOTRUNNING = "FailedOperation.InstanceNotRunning" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// FAILEDOPERATION_RESOURCEOPERATING = "FailedOperation.ResourceOperating" +// FAILEDOPERATION_TKERESOURCECONFLICT = "FailedOperation.TKEResourceConflict" // INTERNALERROR = "InternalError" -// INTERNALERROR_EXETIMEOUT = "InternalError.ExeTimeout" // INVALIDPARAMETER = "InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETER = "InvalidParameter.InvalidParameter" -// INVALIDPARAMETER_INVALIDPARAMETERPARAM = "InvalidParameter.InvalidParameterParam" -// INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" -// LIMITEXCEEDED_METRICQUOTAEXCEEDED = "LimitExceeded.MetricQuotaExceeded" -// MISSINGPARAMETER = "MissingParameter" -// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" -// RESOURCEINUSE = "ResourceInUse" -// RESOURCEINSUFFICIENT = "ResourceInsufficient" // RESOURCENOTFOUND = "ResourceNotFound" -// RESOURCENOTFOUND_NOTEXISTTASK = "ResourceNotFound.NotExistTask" -// RESOURCEUNAVAILABLE = "ResourceUnavailable" -// RESOURCESSOLDOUT = "ResourcesSoldOut" -// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" -// UNKNOWNPARAMETER = "UnknownParameter" -// UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) UnBindingPolicyObjectWithContext(ctx context.Context, request *UnBindingPolicyObjectRequest) (response *UnBindingPolicyObjectResponse, err error) { +func (c *Client) UpdateExporterIntegrationWithContext(ctx context.Context, request *UpdateExporterIntegrationRequest) (response *UpdateExporterIntegrationResponse, err error) { if request == nil { - request = NewUnBindingPolicyObjectRequest() + request = NewUpdateExporterIntegrationRequest() } if c.GetCredential() == nil { - return nil, errors.New("UnBindingPolicyObject require credential") + return nil, errors.New("UpdateExporterIntegration require credential") } request.SetContext(ctx) - response = NewUnBindingPolicyObjectResponse() + response = NewUpdateExporterIntegrationResponse() err = c.Send(request, response) return } -func NewUnbindPrometheusManagedGrafanaRequest() (request *UnbindPrometheusManagedGrafanaRequest) { - request = &UnbindPrometheusManagedGrafanaRequest{ +func NewUpdateGrafanaConfigRequest() (request *UpdateGrafanaConfigRequest) { + request = &UpdateGrafanaConfigRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "UnbindPrometheusManagedGrafana") + + request.Init().WithApiInfo("monitor", APIVersion, "UpdateGrafanaConfig") return } -func NewUnbindPrometheusManagedGrafanaResponse() (response *UnbindPrometheusManagedGrafanaResponse) { - response = &UnbindPrometheusManagedGrafanaResponse{ +func NewUpdateGrafanaConfigResponse() (response *UpdateGrafanaConfigResponse) { + response = &UpdateGrafanaConfigResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// UnbindPrometheusManagedGrafana -// 解除实例绑定的 Grafana 可视化实例 +// UpdateGrafanaConfig +// 更新 Grafana 配置 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -func (c *Client) UnbindPrometheusManagedGrafana(request *UnbindPrometheusManagedGrafanaRequest) (response *UnbindPrometheusManagedGrafanaResponse, err error) { - return c.UnbindPrometheusManagedGrafanaWithContext(context.Background(), request) +func (c *Client) UpdateGrafanaConfig(request *UpdateGrafanaConfigRequest) (response *UpdateGrafanaConfigResponse, err error) { + return c.UpdateGrafanaConfigWithContext(context.Background(), request) } -// UnbindPrometheusManagedGrafana -// 解除实例绑定的 Grafana 可视化实例 +// UpdateGrafanaConfig +// 更新 Grafana 配置 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -func (c *Client) UnbindPrometheusManagedGrafanaWithContext(ctx context.Context, request *UnbindPrometheusManagedGrafanaRequest) (response *UnbindPrometheusManagedGrafanaResponse, err error) { +func (c *Client) UpdateGrafanaConfigWithContext(ctx context.Context, request *UpdateGrafanaConfigRequest) (response *UpdateGrafanaConfigResponse, err error) { if request == nil { - request = NewUnbindPrometheusManagedGrafanaRequest() + request = NewUpdateGrafanaConfigRequest() } if c.GetCredential() == nil { - return nil, errors.New("UnbindPrometheusManagedGrafana require credential") + return nil, errors.New("UpdateGrafanaConfig require credential") } request.SetContext(ctx) - response = NewUnbindPrometheusManagedGrafanaResponse() + response = NewUpdateGrafanaConfigResponse() err = c.Send(request, response) return } -func NewUninstallGrafanaDashboardRequest() (request *UninstallGrafanaDashboardRequest) { - request = &UninstallGrafanaDashboardRequest{ +func NewUpdateGrafanaEnvironmentsRequest() (request *UpdateGrafanaEnvironmentsRequest) { + request = &UpdateGrafanaEnvironmentsRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "UninstallGrafanaDashboard") + + request.Init().WithApiInfo("monitor", APIVersion, "UpdateGrafanaEnvironments") return } -func NewUninstallGrafanaDashboardResponse() (response *UninstallGrafanaDashboardResponse) { - response = &UninstallGrafanaDashboardResponse{ +func NewUpdateGrafanaEnvironmentsResponse() (response *UpdateGrafanaEnvironmentsResponse) { + response = &UpdateGrafanaEnvironmentsResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// UninstallGrafanaDashboard -// 删除 Grafana Dashboard +// UpdateGrafanaEnvironments +// 更新 Grafana 环境变量 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -func (c *Client) UninstallGrafanaDashboard(request *UninstallGrafanaDashboardRequest) (response *UninstallGrafanaDashboardResponse, err error) { - return c.UninstallGrafanaDashboardWithContext(context.Background(), request) +func (c *Client) UpdateGrafanaEnvironments(request *UpdateGrafanaEnvironmentsRequest) (response *UpdateGrafanaEnvironmentsResponse, err error) { + return c.UpdateGrafanaEnvironmentsWithContext(context.Background(), request) } -// UninstallGrafanaDashboard -// 删除 Grafana Dashboard +// UpdateGrafanaEnvironments +// 更新 Grafana 环境变量 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -func (c *Client) UninstallGrafanaDashboardWithContext(ctx context.Context, request *UninstallGrafanaDashboardRequest) (response *UninstallGrafanaDashboardResponse, err error) { +func (c *Client) UpdateGrafanaEnvironmentsWithContext(ctx context.Context, request *UpdateGrafanaEnvironmentsRequest) (response *UpdateGrafanaEnvironmentsResponse, err error) { if request == nil { - request = NewUninstallGrafanaDashboardRequest() + request = NewUpdateGrafanaEnvironmentsRequest() } if c.GetCredential() == nil { - return nil, errors.New("UninstallGrafanaDashboard require credential") + return nil, errors.New("UpdateGrafanaEnvironments require credential") } request.SetContext(ctx) - response = NewUninstallGrafanaDashboardResponse() + response = NewUpdateGrafanaEnvironmentsResponse() err = c.Send(request, response) return } -func NewUpdateAlertRuleRequest() (request *UpdateAlertRuleRequest) { - request = &UpdateAlertRuleRequest{ +func NewUpdateGrafanaIntegrationRequest() (request *UpdateGrafanaIntegrationRequest) { + request = &UpdateGrafanaIntegrationRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "UpdateAlertRule") + + request.Init().WithApiInfo("monitor", APIVersion, "UpdateGrafanaIntegration") return } -func NewUpdateAlertRuleResponse() (response *UpdateAlertRuleResponse) { - response = &UpdateAlertRuleResponse{ +func NewUpdateGrafanaIntegrationResponse() (response *UpdateGrafanaIntegrationResponse) { + response = &UpdateGrafanaIntegrationResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// UpdateAlertRule -// 更新 Prometheus 的报警规则。 -// -// -// -// 请注意,**告警对象和告警消息是 Prometheus Rule Annotations 的特殊字段,需要通过 annotations 来传递,对应的 Key 分别为summary/description**,,请参考 [Prometheus Rule更多配置请参考](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)。 +// UpdateGrafanaIntegration +// 更新 Grafana 集成配置 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" -// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -// INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -func (c *Client) UpdateAlertRule(request *UpdateAlertRuleRequest) (response *UpdateAlertRuleResponse, err error) { - return c.UpdateAlertRuleWithContext(context.Background(), request) +func (c *Client) UpdateGrafanaIntegration(request *UpdateGrafanaIntegrationRequest) (response *UpdateGrafanaIntegrationResponse, err error) { + return c.UpdateGrafanaIntegrationWithContext(context.Background(), request) } -// UpdateAlertRule -// 更新 Prometheus 的报警规则。 -// -// -// -// 请注意,**告警对象和告警消息是 Prometheus Rule Annotations 的特殊字段,需要通过 annotations 来传递,对应的 Key 分别为summary/description**,,请参考 [Prometheus Rule更多配置请参考](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)。 +// UpdateGrafanaIntegration +// 更新 Grafana 集成配置 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" -// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -// INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -func (c *Client) UpdateAlertRuleWithContext(ctx context.Context, request *UpdateAlertRuleRequest) (response *UpdateAlertRuleResponse, err error) { +func (c *Client) UpdateGrafanaIntegrationWithContext(ctx context.Context, request *UpdateGrafanaIntegrationRequest) (response *UpdateGrafanaIntegrationResponse, err error) { if request == nil { - request = NewUpdateAlertRuleRequest() + request = NewUpdateGrafanaIntegrationRequest() } if c.GetCredential() == nil { - return nil, errors.New("UpdateAlertRule require credential") + return nil, errors.New("UpdateGrafanaIntegration require credential") } request.SetContext(ctx) - response = NewUpdateAlertRuleResponse() + response = NewUpdateGrafanaIntegrationResponse() err = c.Send(request, response) return } -func NewUpdateAlertRuleStateRequest() (request *UpdateAlertRuleStateRequest) { - request = &UpdateAlertRuleStateRequest{ +func NewUpdateGrafanaNotificationChannelRequest() (request *UpdateGrafanaNotificationChannelRequest) { + request = &UpdateGrafanaNotificationChannelRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "UpdateAlertRuleState") + + request.Init().WithApiInfo("monitor", APIVersion, "UpdateGrafanaNotificationChannel") return } -func NewUpdateAlertRuleStateResponse() (response *UpdateAlertRuleStateResponse) { - response = &UpdateAlertRuleStateResponse{ +func NewUpdateGrafanaNotificationChannelResponse() (response *UpdateGrafanaNotificationChannelResponse) { + response = &UpdateGrafanaNotificationChannelResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// UpdateAlertRuleState -// 更新 Prometheus 报警策略状态 +// UpdateGrafanaNotificationChannel +// 更新 Grafana 告警通道 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" -// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -// INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -func (c *Client) UpdateAlertRuleState(request *UpdateAlertRuleStateRequest) (response *UpdateAlertRuleStateResponse, err error) { - return c.UpdateAlertRuleStateWithContext(context.Background(), request) +func (c *Client) UpdateGrafanaNotificationChannel(request *UpdateGrafanaNotificationChannelRequest) (response *UpdateGrafanaNotificationChannelResponse, err error) { + return c.UpdateGrafanaNotificationChannelWithContext(context.Background(), request) } -// UpdateAlertRuleState -// 更新 Prometheus 报警策略状态 +// UpdateGrafanaNotificationChannel +// 更新 Grafana 告警通道 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" -// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -// INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -func (c *Client) UpdateAlertRuleStateWithContext(ctx context.Context, request *UpdateAlertRuleStateRequest) (response *UpdateAlertRuleStateResponse, err error) { +func (c *Client) UpdateGrafanaNotificationChannelWithContext(ctx context.Context, request *UpdateGrafanaNotificationChannelRequest) (response *UpdateGrafanaNotificationChannelResponse, err error) { if request == nil { - request = NewUpdateAlertRuleStateRequest() + request = NewUpdateGrafanaNotificationChannelRequest() } if c.GetCredential() == nil { - return nil, errors.New("UpdateAlertRuleState require credential") + return nil, errors.New("UpdateGrafanaNotificationChannel require credential") } request.SetContext(ctx) - response = NewUpdateAlertRuleStateResponse() + response = NewUpdateGrafanaNotificationChannelResponse() err = c.Send(request, response) return } -func NewUpdateExporterIntegrationRequest() (request *UpdateExporterIntegrationRequest) { - request = &UpdateExporterIntegrationRequest{ +func NewUpdateGrafanaWhiteListRequest() (request *UpdateGrafanaWhiteListRequest) { + request = &UpdateGrafanaWhiteListRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("monitor", APIVersion, "UpdateExporterIntegration") + + request.Init().WithApiInfo("monitor", APIVersion, "UpdateGrafanaWhiteList") return } -func NewUpdateExporterIntegrationResponse() (response *UpdateExporterIntegrationResponse) { - response = &UpdateExporterIntegrationResponse{ +func NewUpdateGrafanaWhiteListResponse() (response *UpdateGrafanaWhiteListResponse) { + response = &UpdateGrafanaWhiteListResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// UpdateExporterIntegration -// 更新 exporter 集成配置 +// UpdateGrafanaWhiteList +// 更新 Grafana 白名单 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" -// FAILEDOPERATION_AGENTNOTALLOWED = "FailedOperation.AgentNotAllowed" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_INSTANCENOTFOUND = "FailedOperation.InstanceNotFound" -// FAILEDOPERATION_INSTANCENOTRUNNING = "FailedOperation.InstanceNotRunning" -// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -// FAILEDOPERATION_RESOURCEOPERATING = "FailedOperation.ResourceOperating" -// FAILEDOPERATION_TKERESOURCECONFLICT = "FailedOperation.TKEResourceConflict" -// INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -// RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) UpdateExporterIntegration(request *UpdateExporterIntegrationRequest) (response *UpdateExporterIntegrationResponse, err error) { - return c.UpdateExporterIntegrationWithContext(context.Background(), request) +func (c *Client) UpdateGrafanaWhiteList(request *UpdateGrafanaWhiteListRequest) (response *UpdateGrafanaWhiteListResponse, err error) { + return c.UpdateGrafanaWhiteListWithContext(context.Background(), request) } -// UpdateExporterIntegration -// 更新 exporter 集成配置 +// UpdateGrafanaWhiteList +// 更新 Grafana 白名单 // // 可能返回的错误码: -// AUTHFAILURE = "AuthFailure" -// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" // FAILEDOPERATION = "FailedOperation" -// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" -// FAILEDOPERATION_AGENTNOTALLOWED = "FailedOperation.AgentNotAllowed" -// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" -// FAILEDOPERATION_DBRECORDCREATEFAILED = "FailedOperation.DbRecordCreateFailed" -// FAILEDOPERATION_DBRECORDDELETEFAILED = "FailedOperation.DbRecordDeleteFailed" -// FAILEDOPERATION_DBRECORDUPDATEFAILED = "FailedOperation.DbRecordUpdateFailed" -// FAILEDOPERATION_INSTANCENOTFOUND = "FailedOperation.InstanceNotFound" -// FAILEDOPERATION_INSTANCENOTRUNNING = "FailedOperation.InstanceNotRunning" -// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" -// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" -// FAILEDOPERATION_RESOURCEOPERATING = "FailedOperation.ResourceOperating" -// FAILEDOPERATION_TKERESOURCECONFLICT = "FailedOperation.TKEResourceConflict" -// INTERNALERROR = "InternalError" -// INVALIDPARAMETER = "InvalidParameter" -// RESOURCENOTFOUND = "ResourceNotFound" -func (c *Client) UpdateExporterIntegrationWithContext(ctx context.Context, request *UpdateExporterIntegrationRequest) (response *UpdateExporterIntegrationResponse, err error) { +func (c *Client) UpdateGrafanaWhiteListWithContext(ctx context.Context, request *UpdateGrafanaWhiteListRequest) (response *UpdateGrafanaWhiteListResponse, err error) { if request == nil { - request = NewUpdateExporterIntegrationRequest() + request = NewUpdateGrafanaWhiteListRequest() } if c.GetCredential() == nil { - return nil, errors.New("UpdateExporterIntegration require credential") + return nil, errors.New("UpdateGrafanaWhiteList require credential") } request.SetContext(ctx) - response = NewUpdateExporterIntegrationResponse() + response = NewUpdateGrafanaWhiteListResponse() err = c.Send(request, response) return } @@ -5071,6 +6821,7 @@ func NewUpdatePrometheusAgentStatusRequest() (request *UpdatePrometheusAgentStat request = &UpdatePrometheusAgentStatusRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "UpdatePrometheusAgentStatus") @@ -5130,6 +6881,7 @@ func NewUpdatePrometheusScrapeJobRequest() (request *UpdatePrometheusScrapeJobRe request = &UpdatePrometheusScrapeJobRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "UpdatePrometheusScrapeJob") @@ -5197,6 +6949,7 @@ func NewUpdateRecordingRuleRequest() (request *UpdateRecordingRuleRequest) { request = &UpdateRecordingRuleRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "UpdateRecordingRule") @@ -5262,10 +7015,59 @@ func (c *Client) UpdateRecordingRuleWithContext(ctx context.Context, request *Up return } +func NewUpdateSSOAccountRequest() (request *UpdateSSOAccountRequest) { + request = &UpdateSSOAccountRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "UpdateSSOAccount") + + + return +} + +func NewUpdateSSOAccountResponse() (response *UpdateSSOAccountResponse) { + response = &UpdateSSOAccountResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// UpdateSSOAccount +// 更新已授权账号的备注、权限信息,会直接覆盖原有的信息,不传则不会更新。 +// +// 可能返回的错误码: +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +func (c *Client) UpdateSSOAccount(request *UpdateSSOAccountRequest) (response *UpdateSSOAccountResponse, err error) { + return c.UpdateSSOAccountWithContext(context.Background(), request) +} + +// UpdateSSOAccount +// 更新已授权账号的备注、权限信息,会直接覆盖原有的信息,不传则不会更新。 +// +// 可能返回的错误码: +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +func (c *Client) UpdateSSOAccountWithContext(ctx context.Context, request *UpdateSSOAccountRequest) (response *UpdateSSOAccountResponse, err error) { + if request == nil { + request = NewUpdateSSOAccountRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("UpdateSSOAccount require credential") + } + + request.SetContext(ctx) + + response = NewUpdateSSOAccountResponse() + err = c.Send(request, response) + return +} + func NewUpdateServiceDiscoveryRequest() (request *UpdateServiceDiscoveryRequest) { request = &UpdateServiceDiscoveryRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "UpdateServiceDiscovery") @@ -5335,6 +7137,7 @@ func NewUpgradeGrafanaDashboardRequest() (request *UpgradeGrafanaDashboardReques request = &UpgradeGrafanaDashboardRequest{ BaseRequest: &tchttp.BaseRequest{}, } + request.Init().WithApiInfo("monitor", APIVersion, "UpgradeGrafanaDashboard") @@ -5391,3 +7194,65 @@ func (c *Client) UpgradeGrafanaDashboardWithContext(ctx context.Context, request err = c.Send(request, response) return } + +func NewUpgradeGrafanaInstanceRequest() (request *UpgradeGrafanaInstanceRequest) { + request = &UpgradeGrafanaInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "UpgradeGrafanaInstance") + + + return +} + +func NewUpgradeGrafanaInstanceResponse() (response *UpgradeGrafanaInstanceResponse) { + response = &UpgradeGrafanaInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// UpgradeGrafanaInstance +// 升级 Grafana 实例 +// +// 可能返回的错误码: +// FAILEDOPERATION_ACCESSSTSFAIL = "FailedOperation.AccessSTSFail" +// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" +// FAILEDOPERATION_AGENTVERSIONNOTSUPPORTED = "FailedOperation.AgentVersionNotSupported" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_TKEENDPOINTSTATUSERROR = "FailedOperation.TKEEndpointStatusError" +// FAILEDOPERATION_TKERESOURCECONFLICT = "FailedOperation.TKEResourceConflict" +// INVALIDPARAMETER = "InvalidParameter" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) UpgradeGrafanaInstance(request *UpgradeGrafanaInstanceRequest) (response *UpgradeGrafanaInstanceResponse, err error) { + return c.UpgradeGrafanaInstanceWithContext(context.Background(), request) +} + +// UpgradeGrafanaInstance +// 升级 Grafana 实例 +// +// 可能返回的错误码: +// FAILEDOPERATION_ACCESSSTSFAIL = "FailedOperation.AccessSTSFail" +// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" +// FAILEDOPERATION_AGENTVERSIONNOTSUPPORTED = "FailedOperation.AgentVersionNotSupported" +// FAILEDOPERATION_BADYAMLFORMAT = "FailedOperation.BadYamlFormat" +// FAILEDOPERATION_TKEENDPOINTSTATUSERROR = "FailedOperation.TKEEndpointStatusError" +// FAILEDOPERATION_TKERESOURCECONFLICT = "FailedOperation.TKEResourceConflict" +// INVALIDPARAMETER = "InvalidParameter" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) UpgradeGrafanaInstanceWithContext(ctx context.Context, request *UpgradeGrafanaInstanceRequest) (response *UpgradeGrafanaInstanceResponse, err error) { + if request == nil { + request = NewUpgradeGrafanaInstanceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("UpgradeGrafanaInstance require credential") + } + + request.SetContext(ctx) + + response = NewUpgradeGrafanaInstanceResponse() + err = c.Send(request, response) + return +} diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/errors.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/errors.go index 391af3ef13..1d2ef56584 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/errors.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/errors.go @@ -20,6 +20,9 @@ const ( // CAM签名/鉴权错误。 AUTHFAILURE = "AuthFailure" + // 访问鉴权失败。 + AUTHFAILURE_ACCESSCAMFAIL = "AuthFailure.AccessCAMFail" + // 请求未授权。请参考 CAM 文档对鉴权的说明。 AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" @@ -116,6 +119,12 @@ const ( // 名字重复。 FAILEDOPERATION_DUPLICATENAME = "FailedOperation.DuplicateName" + // 未开通。 + FAILEDOPERATION_ERRNOTOPEN = "FailedOperation.ErrNotOpen" + + // 欠费。 + FAILEDOPERATION_ERROWED = "FailedOperation.ErrOwed" + // 生成资源ID错误。 FAILEDOPERATION_GENERATEINSTANCEIDFAILED = "FailedOperation.GenerateInstanceIDFailed" @@ -125,6 +134,12 @@ const ( // 实例没有运行。 FAILEDOPERATION_INSTANCENOTRUNNING = "FailedOperation.InstanceNotRunning" + // 内部服务错误。 + FAILEDOPERATION_INTERNALERROR = "FailedOperation.InternalError" + + // 地区不可用。 + FAILEDOPERATION_REGIONUNAVAILABLE = "FailedOperation.RegionUnavailable" + // 资源已经存在。 FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" @@ -149,6 +164,9 @@ const ( // 更新TKE资源时出现冲突。 FAILEDOPERATION_TKERESOURCECONFLICT = "FailedOperation.TKEResourceConflict" + // 可用区不可用。 + FAILEDOPERATION_ZONEUNAVAILABLE = "FailedOperation.ZoneUnavailable" + // 内部错误。 INTERNALERROR = "InternalError" diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go index 941a3489a4..4ca624a4c5 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go @@ -165,6 +165,10 @@ type AlarmNotice struct { // 注意:此字段可能返回 null,表示取不到有效值。 PolicyIds []*string `json:"PolicyIds,omitempty" name:"PolicyIds"` + // 后台 amp consumer id + // 注意:此字段可能返回 null,表示取不到有效值。 + AMPConsumerId *string `json:"AMPConsumerId,omitempty" name:"AMPConsumerId"` + // 推送cls渠道 // 注意:此字段可能返回 null,表示取不到有效值。 CLSNotices []*CLSNotice `json:"CLSNotices,omitempty" name:"CLSNotices"` @@ -688,6 +692,60 @@ type CLSNotice struct { Enable *int64 `json:"Enable,omitempty" name:"Enable"` } +// Predefined struct for user +type CleanGrafanaInstanceRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +type CleanGrafanaInstanceRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +func (r *CleanGrafanaInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CleanGrafanaInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CleanGrafanaInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CleanGrafanaInstanceResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type CleanGrafanaInstanceResponse struct { + *tchttp.BaseResponse + Response *CleanGrafanaInstanceResponseParams `json:"Response"` +} + +func (r *CleanGrafanaInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CleanGrafanaInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type CommonNamespace struct { // 命名空间标示 Id *string `json:"Id,omitempty" name:"Id"` @@ -714,6 +772,20 @@ type CommonNamespace struct { DashboardId *string `json:"DashboardId,omitempty" name:"DashboardId"` } +type CommonNamespaceNew struct { + // 命名空间标示 + Id *string `json:"Id,omitempty" name:"Id"` + + // 命名空间名称 + Name *string `json:"Name,omitempty" name:"Name"` + + // 监控类型 + MonitorType *string `json:"MonitorType,omitempty" name:"MonitorType"` + + // 维度信息 + Dimensions []*DimensionNew `json:"Dimensions,omitempty" name:"Dimensions"` +} + type Condition struct { // 告警通知频率 AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"` @@ -1226,6 +1298,248 @@ func (r *CreateExporterIntegrationResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type CreateGrafanaInstanceRequestParams struct { + // 实例名 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` + + // VPC ID + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 子网 ID 数组 + SubnetIds []*string `json:"SubnetIds,omitempty" name:"SubnetIds"` + + // Grafana 初始密码 + GrafanaInitPassword *string `json:"GrafanaInitPassword,omitempty" name:"GrafanaInitPassword"` + + // 是否启用外网 + EnableInternet *bool `json:"EnableInternet,omitempty" name:"EnableInternet"` + + // 标签 + TagSpecification []*PrometheusTag `json:"TagSpecification,omitempty" name:"TagSpecification"` +} + +type CreateGrafanaInstanceRequest struct { + *tchttp.BaseRequest + + // 实例名 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` + + // VPC ID + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 子网 ID 数组 + SubnetIds []*string `json:"SubnetIds,omitempty" name:"SubnetIds"` + + // Grafana 初始密码 + GrafanaInitPassword *string `json:"GrafanaInitPassword,omitempty" name:"GrafanaInitPassword"` + + // 是否启用外网 + EnableInternet *bool `json:"EnableInternet,omitempty" name:"EnableInternet"` + + // 标签 + TagSpecification []*PrometheusTag `json:"TagSpecification,omitempty" name:"TagSpecification"` +} + +func (r *CreateGrafanaInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateGrafanaInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceName") + delete(f, "VpcId") + delete(f, "SubnetIds") + delete(f, "GrafanaInitPassword") + delete(f, "EnableInternet") + delete(f, "TagSpecification") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateGrafanaInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateGrafanaInstanceResponseParams struct { + // 实例名 + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type CreateGrafanaInstanceResponse struct { + *tchttp.BaseResponse + Response *CreateGrafanaInstanceResponseParams `json:"Response"` +} + +func (r *CreateGrafanaInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateGrafanaInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateGrafanaIntegrationRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` + + // 配置 + Content *string `json:"Content,omitempty" name:"Content"` +} + +type CreateGrafanaIntegrationRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` + + // 配置 + Content *string `json:"Content,omitempty" name:"Content"` +} + +func (r *CreateGrafanaIntegrationRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateGrafanaIntegrationRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "Kind") + delete(f, "Content") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateGrafanaIntegrationRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateGrafanaIntegrationResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type CreateGrafanaIntegrationResponse struct { + *tchttp.BaseResponse + Response *CreateGrafanaIntegrationResponseParams `json:"Response"` +} + +func (r *CreateGrafanaIntegrationResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateGrafanaIntegrationResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateGrafanaNotificationChannelRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 渠道名 + ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` + + // 组织 ID + OrgId *int64 `json:"OrgId,omitempty" name:"OrgId"` + + // 接受告警通道 ID 数组 + Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` + + // 额外组织 ID 数组 + ExtraOrgIds []*string `json:"ExtraOrgIds,omitempty" name:"ExtraOrgIds"` +} + +type CreateGrafanaNotificationChannelRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 渠道名 + ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` + + // 组织 ID + OrgId *int64 `json:"OrgId,omitempty" name:"OrgId"` + + // 接受告警通道 ID 数组 + Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` + + // 额外组织 ID 数组 + ExtraOrgIds []*string `json:"ExtraOrgIds,omitempty" name:"ExtraOrgIds"` +} + +func (r *CreateGrafanaNotificationChannelRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateGrafanaNotificationChannelRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "ChannelName") + delete(f, "OrgId") + delete(f, "Receivers") + delete(f, "ExtraOrgIds") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateGrafanaNotificationChannelRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateGrafanaNotificationChannelResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type CreateGrafanaNotificationChannelResponse struct { + *tchttp.BaseResponse + Response *CreateGrafanaNotificationChannelResponseParams `json:"Response"` +} + +func (r *CreateGrafanaNotificationChannelResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateGrafanaNotificationChannelResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type CreatePolicyGroupCondition struct { // 指标Id MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"` @@ -1722,31 +2036,106 @@ func (r *CreateRecordingRuleResponse) FromJsonString(s string) error { } // Predefined struct for user -type CreateServiceDiscoveryRequestParams struct { - // Prometheus 实例 ID +type CreateSSOAccountRequestParams struct { + // 实例ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - //
  • 类型为TKE:对应集成的腾讯云容器服务集群 ID
  • - KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"` - - // 用户 Kubernetes 集群类型: - //
  • 1 = 容器服务集群(TKE)
  • - KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` + // 用户账号ID + UserId *string `json:"UserId,omitempty" name:"UserId"` - // 服务发现类型,取值如下: - //
  • 1 = ServiceMonitor
  • - //
  • 2 = PodMonitor
  • - //
  • 3 = JobMonitor
  • - Type *int64 `json:"Type,omitempty" name:"Type"` + // 权限 + Role []*GrafanaAccountRole `json:"Role,omitempty" name:"Role"` - // 服务发现配置信息 - Yaml *string `json:"Yaml,omitempty" name:"Yaml"` + // 备注 + Notes *string `json:"Notes,omitempty" name:"Notes"` } -type CreateServiceDiscoveryRequest struct { +type CreateSSOAccountRequest struct { *tchttp.BaseRequest - // Prometheus 实例 ID + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 用户账号ID + UserId *string `json:"UserId,omitempty" name:"UserId"` + + // 权限 + Role []*GrafanaAccountRole `json:"Role,omitempty" name:"Role"` + + // 备注 + Notes *string `json:"Notes,omitempty" name:"Notes"` +} + +func (r *CreateSSOAccountRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateSSOAccountRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "UserId") + delete(f, "Role") + delete(f, "Notes") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSSOAccountRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateSSOAccountResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type CreateSSOAccountResponse struct { + *tchttp.BaseResponse + Response *CreateSSOAccountResponseParams `json:"Response"` +} + +func (r *CreateSSOAccountResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateSSOAccountResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateServiceDiscoveryRequestParams struct { + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + //
  • 类型为TKE:对应集成的腾讯云容器服务集群 ID
  • + KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"` + + // 用户 Kubernetes 集群类型: + //
  • 1 = 容器服务集群(TKE)
  • + KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` + + // 服务发现类型,取值如下: + //
  • 1 = ServiceMonitor
  • + //
  • 2 = PodMonitor
  • + //
  • 3 = JobMonitor
  • + Type *int64 `json:"Type,omitempty" name:"Type"` + + // 服务发现配置信息 + Yaml *string `json:"Yaml,omitempty" name:"Yaml"` +} + +type CreateServiceDiscoveryRequest struct { + *tchttp.BaseRequest + + // Prometheus 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` //
  • 类型为TKE:对应集成的腾讯云容器服务集群 ID
  • @@ -2013,6 +2402,12 @@ type DeleteExporterIntegrationRequestParams struct { // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + // 类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` + + // 名字 + Name *string `json:"Name,omitempty" name:"Name"` + // Kubernetes 集群类型,取值如下: //
  • 1= 容器集群(TKE)
  • //
  • 2=弹性集群
  • @@ -2021,12 +2416,6 @@ type DeleteExporterIntegrationRequestParams struct { // 集群 ID ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"` - - // 类型 - Kind *string `json:"Kind,omitempty" name:"Kind"` - - // 名字 - Name *string `json:"Name,omitempty" name:"Name"` } type DeleteExporterIntegrationRequest struct { @@ -2035,6 +2424,12 @@ type DeleteExporterIntegrationRequest struct { // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + // 类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` + + // 名字 + Name *string `json:"Name,omitempty" name:"Name"` + // Kubernetes 集群类型,取值如下: //
  • 1= 容器集群(TKE)
  • //
  • 2=弹性集群
  • @@ -2043,12 +2438,6 @@ type DeleteExporterIntegrationRequest struct { // 集群 ID ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"` - - // 类型 - Kind *string `json:"Kind,omitempty" name:"Kind"` - - // 名字 - Name *string `json:"Name,omitempty" name:"Name"` } func (r *DeleteExporterIntegrationRequest) ToJsonString() string { @@ -2064,10 +2453,10 @@ func (r *DeleteExporterIntegrationRequest) FromJsonString(s string) error { return err } delete(f, "InstanceId") - delete(f, "KubeType") - delete(f, "ClusterId") delete(f, "Kind") delete(f, "Name") + delete(f, "KubeType") + delete(f, "ClusterId") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteExporterIntegrationRequest has unknown keys!", "") } @@ -2096,6 +2485,182 @@ func (r *DeleteExporterIntegrationResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DeleteGrafanaInstanceRequestParams struct { + // 实例名数组 + InstanceIDs []*string `json:"InstanceIDs,omitempty" name:"InstanceIDs"` +} + +type DeleteGrafanaInstanceRequest struct { + *tchttp.BaseRequest + + // 实例名数组 + InstanceIDs []*string `json:"InstanceIDs,omitempty" name:"InstanceIDs"` +} + +func (r *DeleteGrafanaInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteGrafanaInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceIDs") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteGrafanaInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteGrafanaInstanceResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type DeleteGrafanaInstanceResponse struct { + *tchttp.BaseResponse + Response *DeleteGrafanaInstanceResponseParams `json:"Response"` +} + +func (r *DeleteGrafanaInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteGrafanaInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteGrafanaIntegrationRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 集成 ID + IntegrationId *string `json:"IntegrationId,omitempty" name:"IntegrationId"` +} + +type DeleteGrafanaIntegrationRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 集成 ID + IntegrationId *string `json:"IntegrationId,omitempty" name:"IntegrationId"` +} + +func (r *DeleteGrafanaIntegrationRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteGrafanaIntegrationRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "IntegrationId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteGrafanaIntegrationRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteGrafanaIntegrationResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type DeleteGrafanaIntegrationResponse struct { + *tchttp.BaseResponse + Response *DeleteGrafanaIntegrationResponseParams `json:"Response"` +} + +func (r *DeleteGrafanaIntegrationResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteGrafanaIntegrationResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteGrafanaNotificationChannelRequestParams struct { + // 通道 ID 数组 + ChannelIDs []*string `json:"ChannelIDs,omitempty" name:"ChannelIDs"` + + // 实例名 + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +type DeleteGrafanaNotificationChannelRequest struct { + *tchttp.BaseRequest + + // 通道 ID 数组 + ChannelIDs []*string `json:"ChannelIDs,omitempty" name:"ChannelIDs"` + + // 实例名 + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +func (r *DeleteGrafanaNotificationChannelRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteGrafanaNotificationChannelRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "ChannelIDs") + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteGrafanaNotificationChannelRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteGrafanaNotificationChannelResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type DeleteGrafanaNotificationChannelResponse struct { + *tchttp.BaseResponse + Response *DeleteGrafanaNotificationChannelResponseParams `json:"Response"` +} + +func (r *DeleteGrafanaNotificationChannelResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteGrafanaNotificationChannelResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DeletePolicyGroupRequestParams struct { // 固定值,为"monitor" @@ -2287,39 +2852,100 @@ func (r *DeleteRecordingRulesResponse) FromJsonString(s string) error { } // Predefined struct for user -type DeleteServiceDiscoveryRequestParams struct { - // Prometheus 实例 ID +type DeleteSSOAccountRequestParams struct { + // 实例ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - //
  • 类型是 TKE,为对应的腾讯云容器服务集群 ID
  • - KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"` - - // 用户 Kubernetes 集群类型: - //
  • 1 = 容器服务集群(TKE)
  • - KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` - - // 服务发现类型,取值如下: - //
  • 1 = ServiceMonitor
  • - //
  • 2 = PodMonitor
  • - //
  • 3 = PodMonitor
  • - Type *int64 `json:"Type,omitempty" name:"Type"` - - // 服务发现配置信息 - Yaml *string `json:"Yaml,omitempty" name:"Yaml"` + // 用户账号ID + UserId *string `json:"UserId,omitempty" name:"UserId"` } -type DeleteServiceDiscoveryRequest struct { +type DeleteSSOAccountRequest struct { *tchttp.BaseRequest - // Prometheus 实例 ID + // 实例ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - //
  • 类型是 TKE,为对应的腾讯云容器服务集群 ID
  • - KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"` + // 用户账号ID + UserId *string `json:"UserId,omitempty" name:"UserId"` +} - // 用户 Kubernetes 集群类型: - //
  • 1 = 容器服务集群(TKE)
  • - KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` +func (r *DeleteSSOAccountRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteSSOAccountRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "UserId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteSSOAccountRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteSSOAccountResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type DeleteSSOAccountResponse struct { + *tchttp.BaseResponse + Response *DeleteSSOAccountResponseParams `json:"Response"` +} + +func (r *DeleteSSOAccountResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteSSOAccountResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteServiceDiscoveryRequestParams struct { + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + //
  • 类型是 TKE,为对应的腾讯云容器服务集群 ID
  • + KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"` + + // 用户 Kubernetes 集群类型: + //
  • 1 = 容器服务集群(TKE)
  • + KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` + + // 服务发现类型,取值如下: + //
  • 1 = ServiceMonitor
  • + //
  • 2 = PodMonitor
  • + //
  • 3 = PodMonitor
  • + Type *int64 `json:"Type,omitempty" name:"Type"` + + // 服务发现配置信息 + Yaml *string `json:"Yaml,omitempty" name:"Yaml"` +} + +type DeleteServiceDiscoveryRequest struct { + *tchttp.BaseRequest + + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + //
  • 类型是 TKE,为对应的腾讯云容器服务集群 ID
  • + KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"` + + // 用户 Kubernetes 集群类型: + //
  • 1 = 容器服务集群(TKE)
  • + KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` // 服务发现类型,取值如下: //
  • 1 = ServiceMonitor
  • @@ -3575,6 +4201,10 @@ type DescribeAllNamespacesResponseParams struct { // 其他告警策略类型,暂不支持 CustomNamespacesNew []*CommonNamespace `json:"CustomNamespacesNew,omitempty" name:"CustomNamespacesNew"` + // 通用告警策略类型(包括:应用性能监控,前端性能监控,云拨测) + // 注意:此字段可能返回 null,表示取不到有效值。 + CommonNamespaces []*CommonNamespaceNew `json:"CommonNamespaces,omitempty" name:"CommonNamespaces"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } @@ -3874,6 +4504,10 @@ type DescribeBasicAlarmListResponseParams struct { // 注意:此字段可能返回 null,表示取不到有效值。 Total *int64 `json:"Total,omitempty" name:"Total"` + // 备注信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + Warning *string `json:"Warning,omitempty" name:"Warning"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } @@ -4155,6 +4789,63 @@ func (r *DescribeConditionsTemplateListResponse) FromJsonString(s string) error return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DescribeDNSConfigRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +type DescribeDNSConfigRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +func (r *DescribeDNSConfigRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeDNSConfigRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDNSConfigRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeDNSConfigResponseParams struct { + // DNS 服务器数组 + NameServers []*string `json:"NameServers,omitempty" name:"NameServers"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type DescribeDNSConfigResponse struct { + *tchttp.BaseResponse + Response *DescribeDNSConfigResponseParams `json:"Response"` +} + +func (r *DescribeDNSConfigResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeDNSConfigResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DescribeExporterIntegrationsRequestParams struct { // 实例 ID @@ -4247,4505 +4938,6114 @@ func (r *DescribeExporterIntegrationsResponse) FromJsonString(s string) error { } // Predefined struct for user -type DescribeMonitorTypesRequestParams struct { - // 模块名,固定值 monitor - Module *string `json:"Module,omitempty" name:"Module"` +type DescribeGrafanaConfigRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } -type DescribeMonitorTypesRequest struct { +type DescribeGrafanaConfigRequest struct { *tchttp.BaseRequest - // 模块名,固定值 monitor - Module *string `json:"Module,omitempty" name:"Module"` + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } -func (r *DescribeMonitorTypesRequest) ToJsonString() string { +func (r *DescribeGrafanaConfigRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribeMonitorTypesRequest) FromJsonString(s string) error { +func (r *DescribeGrafanaConfigRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Module") + delete(f, "InstanceId") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMonitorTypesRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeGrafanaConfigRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DescribeMonitorTypesResponseParams struct { - // 监控类型,云产品监控为 MT_QCE - MonitorTypes []*string `json:"MonitorTypes,omitempty" name:"MonitorTypes"` +type DescribeGrafanaConfigResponseParams struct { + // JSON 编码后的字符串 + Config *string `json:"Config,omitempty" name:"Config"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type DescribeMonitorTypesResponse struct { +type DescribeGrafanaConfigResponse struct { *tchttp.BaseResponse - Response *DescribeMonitorTypesResponseParams `json:"Response"` + Response *DescribeGrafanaConfigResponseParams `json:"Response"` } -func (r *DescribeMonitorTypesResponse) ToJsonString() string { +func (r *DescribeGrafanaConfigResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribeMonitorTypesResponse) FromJsonString(s string) error { +func (r *DescribeGrafanaConfigResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type DescribePolicyConditionListCondition struct { - // 策略视图名称 - PolicyViewName *string `json:"PolicyViewName,omitempty" name:"PolicyViewName"` +// Predefined struct for user +type DescribeGrafanaEnvironmentsRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} - // 事件告警条件 - // 注意:此字段可能返回 null,表示取不到有效值。 - EventMetrics []*DescribePolicyConditionListEventMetric `json:"EventMetrics,omitempty" name:"EventMetrics"` +type DescribeGrafanaEnvironmentsRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} - // 是否支持多地域 - IsSupportMultiRegion *bool `json:"IsSupportMultiRegion,omitempty" name:"IsSupportMultiRegion"` +func (r *DescribeGrafanaEnvironmentsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 指标告警条件 - // 注意:此字段可能返回 null,表示取不到有效值。 - Metrics []*DescribePolicyConditionListMetric `json:"Metrics,omitempty" name:"Metrics"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeGrafanaEnvironmentsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeGrafanaEnvironmentsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // 策略类型名称 - Name *string `json:"Name,omitempty" name:"Name"` +// Predefined struct for user +type DescribeGrafanaEnvironmentsResponseParams struct { + // 环境变量字符串 + Envs *string `json:"Envs,omitempty" name:"Envs"` - // 排序id - SortId *int64 `json:"SortId,omitempty" name:"SortId"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // 是否支持默认策略 - SupportDefault *bool `json:"SupportDefault,omitempty" name:"SupportDefault"` +type DescribeGrafanaEnvironmentsResponse struct { + *tchttp.BaseResponse + Response *DescribeGrafanaEnvironmentsResponseParams `json:"Response"` +} - // 支持该策略类型的地域列表 - // 注意:此字段可能返回 null,表示取不到有效值。 - SupportRegions []*string `json:"SupportRegions,omitempty" name:"SupportRegions"` +func (r *DescribeGrafanaEnvironmentsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) } -type DescribePolicyConditionListConfigManual struct { - // 检测方式 - // 注意:此字段可能返回 null,表示取不到有效值。 - CalcType *DescribePolicyConditionListConfigManualCalcType `json:"CalcType,omitempty" name:"CalcType"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeGrafanaEnvironmentsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} - // 检测阈值 - // 注意:此字段可能返回 null,表示取不到有效值。 - CalcValue *DescribePolicyConditionListConfigManualCalcValue `json:"CalcValue,omitempty" name:"CalcValue"` +// Predefined struct for user +type DescribeGrafanaInstancesRequestParams struct { + // 查询偏移量 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` - // 持续时间 - // 注意:此字段可能返回 null,表示取不到有效值。 - ContinueTime *DescribePolicyConditionListConfigManualContinueTime `json:"ContinueTime,omitempty" name:"ContinueTime"` + // 查询数量 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` - // 数据周期 - // 注意:此字段可能返回 null,表示取不到有效值。 - Period *DescribePolicyConditionListConfigManualPeriod `json:"Period,omitempty" name:"Period"` + // 实例 ID 数组 + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"` - // 持续周期个数 - // 注意:此字段可能返回 null,表示取不到有效值。 - PeriodNum *DescribePolicyConditionListConfigManualPeriodNum `json:"PeriodNum,omitempty" name:"PeriodNum"` + // 实例名,支持前缀模糊搜索 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` - // 聚合方式 - // 注意:此字段可能返回 null,表示取不到有效值。 - StatType *DescribePolicyConditionListConfigManualStatType `json:"StatType,omitempty" name:"StatType"` + // 查询状态 + InstanceStatus []*int64 `json:"InstanceStatus,omitempty" name:"InstanceStatus"` + + // 标签过滤数组 + TagFilters []*PrometheusTag `json:"TagFilters,omitempty" name:"TagFilters"` } -type DescribePolicyConditionListConfigManualCalcType struct { - // CalcType 取值 - // 注意:此字段可能返回 null,表示取不到有效值。 - Keys []*int64 `json:"Keys,omitempty" name:"Keys"` +type DescribeGrafanaInstancesRequest struct { + *tchttp.BaseRequest + + // 查询偏移量 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` - // 是否必须 - Need *bool `json:"Need,omitempty" name:"Need"` -} + // 查询数量 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` -type DescribePolicyConditionListConfigManualCalcValue struct { - // 默认值 - // 注意:此字段可能返回 null,表示取不到有效值。 - Default *string `json:"Default,omitempty" name:"Default"` + // 实例 ID 数组 + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"` - // 固定值 - // 注意:此字段可能返回 null,表示取不到有效值。 - Fixed *string `json:"Fixed,omitempty" name:"Fixed"` + // 实例名,支持前缀模糊搜索 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` - // 最大值 - // 注意:此字段可能返回 null,表示取不到有效值。 - Max *string `json:"Max,omitempty" name:"Max"` + // 查询状态 + InstanceStatus []*int64 `json:"InstanceStatus,omitempty" name:"InstanceStatus"` - // 最小值 - // 注意:此字段可能返回 null,表示取不到有效值。 - Min *string `json:"Min,omitempty" name:"Min"` + // 标签过滤数组 + TagFilters []*PrometheusTag `json:"TagFilters,omitempty" name:"TagFilters"` +} - // 是否必须 - Need *bool `json:"Need,omitempty" name:"Need"` +func (r *DescribeGrafanaInstancesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) } -type DescribePolicyConditionListConfigManualContinueTime struct { - // 默认持续时间,单位:秒 - // 注意:此字段可能返回 null,表示取不到有效值。 - Default *int64 `json:"Default,omitempty" name:"Default"` - - // 可选持续时间,单位:秒 - // 注意:此字段可能返回 null,表示取不到有效值。 - Keys []*int64 `json:"Keys,omitempty" name:"Keys"` - - // 是否必须 - Need *bool `json:"Need,omitempty" name:"Need"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeGrafanaInstancesRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Offset") + delete(f, "Limit") + delete(f, "InstanceIds") + delete(f, "InstanceName") + delete(f, "InstanceStatus") + delete(f, "TagFilters") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeGrafanaInstancesRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) } -type DescribePolicyConditionListConfigManualPeriod struct { - // 默认周期,单位:秒 - // 注意:此字段可能返回 null,表示取不到有效值。 - Default *int64 `json:"Default,omitempty" name:"Default"` +// Predefined struct for user +type DescribeGrafanaInstancesResponseParams struct { + // 已废弃,请使用 Instances + InstanceSet []*GrafanaInstanceInfo `json:"InstanceSet,omitempty" name:"InstanceSet"` - // 可选周期,单位:秒 - // 注意:此字段可能返回 null,表示取不到有效值。 - Keys []*int64 `json:"Keys,omitempty" name:"Keys"` + // 符合查询条件的实例总数 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` - // 是否必须 - Need *bool `json:"Need,omitempty" name:"Need"` + // 实例列表 + Instances []*GrafanaInstanceInfo `json:"Instances,omitempty" name:"Instances"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type DescribePolicyConditionListConfigManualPeriodNum struct { - // 默认周期数 - // 注意:此字段可能返回 null,表示取不到有效值。 - Default *int64 `json:"Default,omitempty" name:"Default"` +type DescribeGrafanaInstancesResponse struct { + *tchttp.BaseResponse + Response *DescribeGrafanaInstancesResponseParams `json:"Response"` +} - // 可选周期数 - // 注意:此字段可能返回 null,表示取不到有效值。 - Keys []*int64 `json:"Keys,omitempty" name:"Keys"` +func (r *DescribeGrafanaInstancesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 是否必须 - Need *bool `json:"Need,omitempty" name:"Need"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeGrafanaInstancesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) } -type DescribePolicyConditionListConfigManualStatType struct { - // 数据聚合方式,周期5秒 - // 注意:此字段可能返回 null,表示取不到有效值。 - P5 *string `json:"P5,omitempty" name:"P5"` +// Predefined struct for user +type DescribeGrafanaIntegrationsRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 数据聚合方式,周期10秒 - // 注意:此字段可能返回 null,表示取不到有效值。 - P10 *string `json:"P10,omitempty" name:"P10"` + // 集成 ID + IntegrationId *string `json:"IntegrationId,omitempty" name:"IntegrationId"` - // 数据聚合方式,周期1分钟 - // 注意:此字段可能返回 null,表示取不到有效值。 - P60 *string `json:"P60,omitempty" name:"P60"` + // 类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` +} - // 数据聚合方式,周期5分钟 - // 注意:此字段可能返回 null,表示取不到有效值。 - P300 *string `json:"P300,omitempty" name:"P300"` +type DescribeGrafanaIntegrationsRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 数据聚合方式,周期10分钟 - // 注意:此字段可能返回 null,表示取不到有效值。 - P600 *string `json:"P600,omitempty" name:"P600"` + // 集成 ID + IntegrationId *string `json:"IntegrationId,omitempty" name:"IntegrationId"` - // 数据聚合方式,周期30分钟 - // 注意:此字段可能返回 null,表示取不到有效值。 - P1800 *string `json:"P1800,omitempty" name:"P1800"` + // 类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` +} - // 数据聚合方式,周期1小时 - // 注意:此字段可能返回 null,表示取不到有效值。 - P3600 *string `json:"P3600,omitempty" name:"P3600"` +func (r *DescribeGrafanaIntegrationsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 数据聚合方式,周期1天 - // 注意:此字段可能返回 null,表示取不到有效值。 - P86400 *string `json:"P86400,omitempty" name:"P86400"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeGrafanaIntegrationsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "IntegrationId") + delete(f, "Kind") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeGrafanaIntegrationsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) } -type DescribePolicyConditionListEventMetric struct { - // 事件id - EventId *int64 `json:"EventId,omitempty" name:"EventId"` +// Predefined struct for user +type DescribeGrafanaIntegrationsResponseParams struct { + // 集成数组 + IntegrationSet []*GrafanaIntegrationConfig `json:"IntegrationSet,omitempty" name:"IntegrationSet"` - // 事件名称 - EventShowName *string `json:"EventShowName,omitempty" name:"EventShowName"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // 是否需要恢复 - NeedRecovered *bool `json:"NeedRecovered,omitempty" name:"NeedRecovered"` +type DescribeGrafanaIntegrationsResponse struct { + *tchttp.BaseResponse + Response *DescribeGrafanaIntegrationsResponseParams `json:"Response"` +} - // 事件类型,预留字段,当前固定取值为2 - Type *int64 `json:"Type,omitempty" name:"Type"` +func (r *DescribeGrafanaIntegrationsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) } -type DescribePolicyConditionListMetric struct { - // 指标配置 - // 注意:此字段可能返回 null,表示取不到有效值。 - ConfigManual *DescribePolicyConditionListConfigManual `json:"ConfigManual,omitempty" name:"ConfigManual"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeGrafanaIntegrationsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} - // 指标id - MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"` +// Predefined struct for user +type DescribeGrafanaNotificationChannelsRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 指标名称 - MetricShowName *string `json:"MetricShowName,omitempty" name:"MetricShowName"` + // 偏移量 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` - // 指标单位 - MetricUnit *string `json:"MetricUnit,omitempty" name:"MetricUnit"` -} + // 查询数量 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` -// Predefined struct for user -type DescribePolicyConditionListRequestParams struct { - // 固定值,为"monitor" - Module *string `json:"Module,omitempty" name:"Module"` + // 渠道名 + ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` + + // 渠道 ID + ChannelIDs []*string `json:"ChannelIDs,omitempty" name:"ChannelIDs"` + + // 状态 + ChannelState *int64 `json:"ChannelState,omitempty" name:"ChannelState"` } -type DescribePolicyConditionListRequest struct { +type DescribeGrafanaNotificationChannelsRequest struct { *tchttp.BaseRequest - // 固定值,为"monitor" - Module *string `json:"Module,omitempty" name:"Module"` + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 偏移量 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 查询数量 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` + + // 渠道名 + ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` + + // 渠道 ID + ChannelIDs []*string `json:"ChannelIDs,omitempty" name:"ChannelIDs"` + + // 状态 + ChannelState *int64 `json:"ChannelState,omitempty" name:"ChannelState"` } -func (r *DescribePolicyConditionListRequest) ToJsonString() string { +func (r *DescribeGrafanaNotificationChannelsRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribePolicyConditionListRequest) FromJsonString(s string) error { +func (r *DescribeGrafanaNotificationChannelsRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Module") + delete(f, "InstanceId") + delete(f, "Offset") + delete(f, "Limit") + delete(f, "ChannelName") + delete(f, "ChannelIDs") + delete(f, "ChannelState") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePolicyConditionListRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeGrafanaNotificationChannelsRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DescribePolicyConditionListResponseParams struct { - // 告警策略条件列表 - Conditions []*DescribePolicyConditionListCondition `json:"Conditions,omitempty" name:"Conditions"` +type DescribeGrafanaNotificationChannelsResponseParams struct { + // 告警通道数组 + NotificationChannelSet []*GrafanaNotificationChannel `json:"NotificationChannelSet,omitempty" name:"NotificationChannelSet"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type DescribePolicyConditionListResponse struct { +type DescribeGrafanaNotificationChannelsResponse struct { *tchttp.BaseResponse - Response *DescribePolicyConditionListResponseParams `json:"Response"` + Response *DescribeGrafanaNotificationChannelsResponseParams `json:"Response"` } -func (r *DescribePolicyConditionListResponse) ToJsonString() string { +func (r *DescribeGrafanaNotificationChannelsResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribePolicyConditionListResponse) FromJsonString(s string) error { +func (r *DescribeGrafanaNotificationChannelsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type DescribePolicyGroupInfoCallback struct { - // 用户回调接口地址 - CallbackUrl *string `json:"CallbackUrl,omitempty" name:"CallbackUrl"` - - // 用户回调接口状态,0表示未验证,1表示已验证,2表示存在url但没有通过验证 - ValidFlag *int64 `json:"ValidFlag,omitempty" name:"ValidFlag"` - - // 用户回调接口验证码 - VerifyCode *string `json:"VerifyCode,omitempty" name:"VerifyCode"` +// Predefined struct for user +type DescribeGrafanaWhiteListRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } -type DescribePolicyGroupInfoCondition struct { - // 指标名称 - MetricShowName *string `json:"MetricShowName,omitempty" name:"MetricShowName"` - - // 数据聚合周期(单位秒) - Period *int64 `json:"Period,omitempty" name:"Period"` +type DescribeGrafanaWhiteListRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} - // 指标id - MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"` +func (r *DescribeGrafanaWhiteListRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 阈值规则id - RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeGrafanaWhiteListRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeGrafanaWhiteListRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // 指标单位 - Unit *string `json:"Unit,omitempty" name:"Unit"` +// Predefined struct for user +type DescribeGrafanaWhiteListResponseParams struct { + // 数组 + WhiteList []*string `json:"WhiteList,omitempty" name:"WhiteList"` - // 告警发送收敛类型。0连续告警,1指数告警 - AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次 - AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"` +type DescribeGrafanaWhiteListResponse struct { + *tchttp.BaseResponse + Response *DescribeGrafanaWhiteListResponseParams `json:"Response"` +} - // 比较类型,1表示大于,2表示大于等于,3表示小于,4表示小于等于,5表示相等,6表示不相等,7表示日同比上涨,8表示日同比下降,9表示周同比上涨,10表示周同比下降,11表示周期环比上涨,12表示周期环比下降 - // 注意:此字段可能返回 null,表示取不到有效值。 - CalcType *int64 `json:"CalcType,omitempty" name:"CalcType"` +func (r *DescribeGrafanaWhiteListResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 检测阈值 - // 注意:此字段可能返回 null,表示取不到有效值。 - CalcValue *string `json:"CalcValue,omitempty" name:"CalcValue"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeGrafanaWhiteListResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} - // 持续多长时间触发规则会告警(单位秒) - // 注意:此字段可能返回 null,表示取不到有效值。 - ContinueTime *int64 `json:"ContinueTime,omitempty" name:"ContinueTime"` +// Predefined struct for user +type DescribeInstalledPluginsRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} - // 告警指标名 - // 注意:此字段可能返回 null,表示取不到有效值。 - MetricName *string `json:"MetricName,omitempty" name:"MetricName"` +type DescribeInstalledPluginsRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } -type DescribePolicyGroupInfoConditionTpl struct { - // 策略组id - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` - - // 策略组名称 - GroupName *string `json:"GroupName,omitempty" name:"GroupName"` - - // 策略类型 - ViewName *string `json:"ViewName,omitempty" name:"ViewName"` - - // 策略组说明 - Remark *string `json:"Remark,omitempty" name:"Remark"` - - // 最后编辑的用户uin - LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"` - - // 更新时间 - // 注意:此字段可能返回 null,表示取不到有效值。 - UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"` - - // 创建时间 - // 注意:此字段可能返回 null,表示取不到有效值。 - InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"` - - // 是否且规则 - // 注意:此字段可能返回 null,表示取不到有效值。 - IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` +func (r *DescribeInstalledPluginsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) } -type DescribePolicyGroupInfoEventCondition struct { - // 事件id - EventId *int64 `json:"EventId,omitempty" name:"EventId"` - - // 事件告警规则id - RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"` - - // 事件名称 - EventShowName *string `json:"EventShowName,omitempty" name:"EventShowName"` - - // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次 - AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"` - - // 告警发送收敛类型。0连续告警,1指数告警 - AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstalledPluginsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstalledPluginsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) } -type DescribePolicyGroupInfoReceiverInfo struct { - // 告警接收组id列表 - ReceiverGroupList []*int64 `json:"ReceiverGroupList,omitempty" name:"ReceiverGroupList"` - - // 告警接收人id列表 - ReceiverUserList []*int64 `json:"ReceiverUserList,omitempty" name:"ReceiverUserList"` - - // 告警时间段开始时间。范围[0,86400),作为unix时间戳转成北京时间后去掉日期,例如7200表示"10:0:0" - StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` - - // 告警时间段结束时间。含义同StartTime - EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` - - // 接收类型。“group”(接收组)或“user”(接收人) - ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"` - - // 告警通知方式。可选 "SMS","SITE","EMAIL","CALL","WECHAT" - NotifyWay []*string `json:"NotifyWay,omitempty" name:"NotifyWay"` - - // 电话告警接收者uid - // 注意:此字段可能返回 null,表示取不到有效值。 - UidList []*int64 `json:"UidList,omitempty" name:"UidList"` - - // 电话告警轮数 - RoundNumber *int64 `json:"RoundNumber,omitempty" name:"RoundNumber"` - - // 电话告警每轮间隔(秒) - RoundInterval *int64 `json:"RoundInterval,omitempty" name:"RoundInterval"` - - // 电话告警对个人间隔(秒) - PersonInterval *int64 `json:"PersonInterval,omitempty" name:"PersonInterval"` +// Predefined struct for user +type DescribeInstalledPluginsResponseParams struct { + // 插件列表 + PluginSet []*GrafanaPlugin `json:"PluginSet,omitempty" name:"PluginSet"` - // 是否需要电话告警触达提示。0不需要,1需要 - NeedSendNotice *int64 `json:"NeedSendNotice,omitempty" name:"NeedSendNotice"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // 电话告警通知时机。可选"OCCUR"(告警时通知),"RECOVER"(恢复时通知) - SendFor []*string `json:"SendFor,omitempty" name:"SendFor"` +type DescribeInstalledPluginsResponse struct { + *tchttp.BaseResponse + Response *DescribeInstalledPluginsResponseParams `json:"Response"` +} - // 恢复通知方式。可选"SMS" - RecoverNotify []*string `json:"RecoverNotify,omitempty" name:"RecoverNotify"` +func (r *DescribeInstalledPluginsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 告警发送语言 - // 注意:此字段可能返回 null,表示取不到有效值。 - ReceiveLanguage *string `json:"ReceiveLanguage,omitempty" name:"ReceiveLanguage"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstalledPluginsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DescribePolicyGroupInfoRequestParams struct { - // 固定值,为"monitor" +type DescribeMonitorTypesRequestParams struct { + // 模块名,固定值 monitor Module *string `json:"Module,omitempty" name:"Module"` - - // 策略组id - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` } -type DescribePolicyGroupInfoRequest struct { +type DescribeMonitorTypesRequest struct { *tchttp.BaseRequest - // 固定值,为"monitor" + // 模块名,固定值 monitor Module *string `json:"Module,omitempty" name:"Module"` - - // 策略组id - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` } -func (r *DescribePolicyGroupInfoRequest) ToJsonString() string { +func (r *DescribeMonitorTypesRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribePolicyGroupInfoRequest) FromJsonString(s string) error { +func (r *DescribeMonitorTypesRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } delete(f, "Module") - delete(f, "GroupId") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePolicyGroupInfoRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMonitorTypesRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DescribePolicyGroupInfoResponseParams struct { - // 策略组名称 - GroupName *string `json:"GroupName,omitempty" name:"GroupName"` - - // 策略组所属的项目id - ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` - - // 是否为默认策略,0表示非默认策略,1表示默认策略 - IsDefault *int64 `json:"IsDefault,omitempty" name:"IsDefault"` - - // 策略类型 - ViewName *string `json:"ViewName,omitempty" name:"ViewName"` - - // 策略说明 - Remark *string `json:"Remark,omitempty" name:"Remark"` - - // 策略类型名称 - ShowName *string `json:"ShowName,omitempty" name:"ShowName"` +type DescribeMonitorTypesResponseParams struct { + // 监控类型,云产品监控为 MT_QCE + MonitorTypes []*string `json:"MonitorTypes,omitempty" name:"MonitorTypes"` - // 最近编辑的用户uin - LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"` + // 监控类型详情 + MonitorTypeInfos []*MonitorTypeInfo `json:"MonitorTypeInfos,omitempty" name:"MonitorTypeInfos"` - // 最近编辑时间 - UpdateTime *string `json:"UpdateTime,omitempty" name:"UpdateTime"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // 该策略支持的地域 - Region []*string `json:"Region,omitempty" name:"Region"` +type DescribeMonitorTypesResponse struct { + *tchttp.BaseResponse + Response *DescribeMonitorTypesResponseParams `json:"Response"` +} - // 策略类型的维度列表 - DimensionGroup []*string `json:"DimensionGroup,omitempty" name:"DimensionGroup"` +func (r *DescribeMonitorTypesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 阈值规则列表 - // 注意:此字段可能返回 null,表示取不到有效值。 - ConditionsConfig []*DescribePolicyGroupInfoCondition `json:"ConditionsConfig,omitempty" name:"ConditionsConfig"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeMonitorTypesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} - // 产品事件规则列表 - // 注意:此字段可能返回 null,表示取不到有效值。 - EventConfig []*DescribePolicyGroupInfoEventCondition `json:"EventConfig,omitempty" name:"EventConfig"` +// Predefined struct for user +type DescribePluginOverviewsRequestParams struct { - // 用户接收人列表 - // 注意:此字段可能返回 null,表示取不到有效值。 - ReceiverInfos []*DescribePolicyGroupInfoReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos"` +} - // 用户回调信息 - // 注意:此字段可能返回 null,表示取不到有效值。 - Callback *DescribePolicyGroupInfoCallback `json:"Callback,omitempty" name:"Callback"` +type DescribePluginOverviewsRequest struct { + *tchttp.BaseRequest + +} - // 模板策略组 - // 注意:此字段可能返回 null,表示取不到有效值。 - ConditionsTemp *DescribePolicyGroupInfoConditionTpl `json:"ConditionsTemp,omitempty" name:"ConditionsTemp"` +func (r *DescribePluginOverviewsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 是否可以设置成默认策略 - CanSetDefault *bool `json:"CanSetDefault,omitempty" name:"CanSetDefault"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribePluginOverviewsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePluginOverviewsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // 是否且规则 - // 注意:此字段可能返回 null,表示取不到有效值。 - IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` +// Predefined struct for user +type DescribePluginOverviewsResponseParams struct { + // 插件列表 + PluginSet []*GrafanaPlugin `json:"PluginSet,omitempty" name:"PluginSet"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type DescribePolicyGroupInfoResponse struct { +type DescribePluginOverviewsResponse struct { *tchttp.BaseResponse - Response *DescribePolicyGroupInfoResponseParams `json:"Response"` + Response *DescribePluginOverviewsResponseParams `json:"Response"` } -func (r *DescribePolicyGroupInfoResponse) ToJsonString() string { +func (r *DescribePluginOverviewsResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribePolicyGroupInfoResponse) FromJsonString(s string) error { +func (r *DescribePluginOverviewsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type DescribePolicyGroupListGroup struct { - // 策略组id - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` - - // 策略组名称 - GroupName *string `json:"GroupName,omitempty" name:"GroupName"` - - // 是否开启 - IsOpen *bool `json:"IsOpen,omitempty" name:"IsOpen"` - +type DescribePolicyConditionListCondition struct { // 策略视图名称 - ViewName *string `json:"ViewName,omitempty" name:"ViewName"` + PolicyViewName *string `json:"PolicyViewName,omitempty" name:"PolicyViewName"` - // 最近编辑的用户uin - LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"` + // 事件告警条件 + // 注意:此字段可能返回 null,表示取不到有效值。 + EventMetrics []*DescribePolicyConditionListEventMetric `json:"EventMetrics,omitempty" name:"EventMetrics"` - // 最后修改时间 - UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"` + // 是否支持多地域 + IsSupportMultiRegion *bool `json:"IsSupportMultiRegion,omitempty" name:"IsSupportMultiRegion"` - // 创建时间 - InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"` + // 指标告警条件 + // 注意:此字段可能返回 null,表示取不到有效值。 + Metrics []*DescribePolicyConditionListMetric `json:"Metrics,omitempty" name:"Metrics"` - // 策略组绑定的实例数 - UseSum *int64 `json:"UseSum,omitempty" name:"UseSum"` + // 策略类型名称 + Name *string `json:"Name,omitempty" name:"Name"` - // 策略组绑定的未屏蔽实例数 - NoShieldedSum *int64 `json:"NoShieldedSum,omitempty" name:"NoShieldedSum"` + // 排序id + SortId *int64 `json:"SortId,omitempty" name:"SortId"` - // 是否为默认策略,0表示非默认策略,1表示默认策略 - IsDefault *int64 `json:"IsDefault,omitempty" name:"IsDefault"` + // 是否支持默认策略 + SupportDefault *bool `json:"SupportDefault,omitempty" name:"SupportDefault"` - // 是否可以设置成默认策略 - CanSetDefault *bool `json:"CanSetDefault,omitempty" name:"CanSetDefault"` - - // 父策略组id - ParentGroupId *int64 `json:"ParentGroupId,omitempty" name:"ParentGroupId"` - - // 策略组备注 - Remark *string `json:"Remark,omitempty" name:"Remark"` - - // 策略组所属项目id - ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` + // 支持该策略类型的地域列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + SupportRegions []*string `json:"SupportRegions,omitempty" name:"SupportRegions"` +} - // 阈值规则列表 +type DescribePolicyConditionListConfigManual struct { + // 检测方式 // 注意:此字段可能返回 null,表示取不到有效值。 - Conditions []*DescribePolicyGroupInfoCondition `json:"Conditions,omitempty" name:"Conditions"` + CalcType *DescribePolicyConditionListConfigManualCalcType `json:"CalcType,omitempty" name:"CalcType"` - // 产品事件规则列表 + // 检测阈值 // 注意:此字段可能返回 null,表示取不到有效值。 - EventConditions []*DescribePolicyGroupInfoEventCondition `json:"EventConditions,omitempty" name:"EventConditions"` + CalcValue *DescribePolicyConditionListConfigManualCalcValue `json:"CalcValue,omitempty" name:"CalcValue"` - // 用户接收人列表 + // 持续时间 // 注意:此字段可能返回 null,表示取不到有效值。 - ReceiverInfos []*DescribePolicyGroupInfoReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos"` + ContinueTime *DescribePolicyConditionListConfigManualContinueTime `json:"ContinueTime,omitempty" name:"ContinueTime"` - // 模板策略组 + // 数据周期 // 注意:此字段可能返回 null,表示取不到有效值。 - ConditionsTemp *DescribePolicyGroupInfoConditionTpl `json:"ConditionsTemp,omitempty" name:"ConditionsTemp"` + Period *DescribePolicyConditionListConfigManualPeriod `json:"Period,omitempty" name:"Period"` - // 策略组绑定的实例组信息 + // 持续周期个数 // 注意:此字段可能返回 null,表示取不到有效值。 - InstanceGroup *DescribePolicyGroupListGroupInstanceGroup `json:"InstanceGroup,omitempty" name:"InstanceGroup"` + PeriodNum *DescribePolicyConditionListConfigManualPeriodNum `json:"PeriodNum,omitempty" name:"PeriodNum"` - // 且或规则标识, 0表示或规则(任意一条规则满足阈值条件就告警), 1表示且规则(所有规则都满足阈值条件才告警) + // 聚合方式 // 注意:此字段可能返回 null,表示取不到有效值。 - IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` + StatType *DescribePolicyConditionListConfigManualStatType `json:"StatType,omitempty" name:"StatType"` } -type DescribePolicyGroupListGroupInstanceGroup struct { - // 实例分组名称id - InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` +type DescribePolicyConditionListConfigManualCalcType struct { + // CalcType 取值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Keys []*int64 `json:"Keys,omitempty" name:"Keys"` - // 策略类型视图名称 - ViewName *string `json:"ViewName,omitempty" name:"ViewName"` + // 是否必须 + Need *bool `json:"Need,omitempty" name:"Need"` +} - // 最近编辑的用户uin - LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"` +type DescribePolicyConditionListConfigManualCalcValue struct { + // 默认值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Default *string `json:"Default,omitempty" name:"Default"` - // 实例分组名称 - GroupName *string `json:"GroupName,omitempty" name:"GroupName"` + // 固定值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Fixed *string `json:"Fixed,omitempty" name:"Fixed"` - // 实例数量 - InstanceSum *int64 `json:"InstanceSum,omitempty" name:"InstanceSum"` + // 最大值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Max *string `json:"Max,omitempty" name:"Max"` - // 更新时间 - UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"` + // 最小值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Min *string `json:"Min,omitempty" name:"Min"` - // 创建时间 - InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"` + // 是否必须 + Need *bool `json:"Need,omitempty" name:"Need"` } -// Predefined struct for user -type DescribePolicyGroupListRequestParams struct { - // 固定值,为"monitor" - Module *string `json:"Module,omitempty" name:"Module"` - - // 分页参数,每页返回的数量,取值1~100 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` - - // 分页参数,页偏移量,从0开始计数 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` - - // 按策略名搜索 - Like *string `json:"Like,omitempty" name:"Like"` +type DescribePolicyConditionListConfigManualContinueTime struct { + // 默认持续时间,单位:秒 + // 注意:此字段可能返回 null,表示取不到有效值。 + Default *int64 `json:"Default,omitempty" name:"Default"` - // 实例分组id - InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` + // 可选持续时间,单位:秒 + // 注意:此字段可能返回 null,表示取不到有效值。 + Keys []*int64 `json:"Keys,omitempty" name:"Keys"` - // 按更新时间排序, asc 或者 desc - UpdateTimeOrder *string `json:"UpdateTimeOrder,omitempty" name:"UpdateTimeOrder"` + // 是否必须 + Need *bool `json:"Need,omitempty" name:"Need"` +} - // 项目id列表 - ProjectIds []*int64 `json:"ProjectIds,omitempty" name:"ProjectIds"` +type DescribePolicyConditionListConfigManualPeriod struct { + // 默认周期,单位:秒 + // 注意:此字段可能返回 null,表示取不到有效值。 + Default *int64 `json:"Default,omitempty" name:"Default"` - // 告警策略类型列表 - ViewNames []*string `json:"ViewNames,omitempty" name:"ViewNames"` + // 可选周期,单位:秒 + // 注意:此字段可能返回 null,表示取不到有效值。 + Keys []*int64 `json:"Keys,omitempty" name:"Keys"` - // 是否过滤无接收人策略组, 1表示过滤, 0表示不过滤 - FilterUnuseReceiver *int64 `json:"FilterUnuseReceiver,omitempty" name:"FilterUnuseReceiver"` + // 是否必须 + Need *bool `json:"Need,omitempty" name:"Need"` +} - // 过滤条件, 接收组列表 - Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` +type DescribePolicyConditionListConfigManualPeriodNum struct { + // 默认周期数 + // 注意:此字段可能返回 null,表示取不到有效值。 + Default *int64 `json:"Default,omitempty" name:"Default"` - // 过滤条件, 接收人列表 - ReceiverUserList []*string `json:"ReceiverUserList,omitempty" name:"ReceiverUserList"` + // 可选周期数 + // 注意:此字段可能返回 null,表示取不到有效值。 + Keys []*int64 `json:"Keys,omitempty" name:"Keys"` - // 维度组合字段(json字符串), 例如[[{"name":"unInstanceId","value":"ins-6e4b2aaa"}]] - Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"` + // 是否必须 + Need *bool `json:"Need,omitempty" name:"Need"` +} - // 模板策略组id, 多个id用逗号分隔 - ConditionTempGroupId *string `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"` +type DescribePolicyConditionListConfigManualStatType struct { + // 数据聚合方式,周期5秒 + // 注意:此字段可能返回 null,表示取不到有效值。 + P5 *string `json:"P5,omitempty" name:"P5"` - // 过滤条件, 接收人或者接收组, user表示接收人, group表示接收组 - ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"` + // 数据聚合方式,周期10秒 + // 注意:此字段可能返回 null,表示取不到有效值。 + P10 *string `json:"P10,omitempty" name:"P10"` - // 过滤条件,告警策略是否已启动或停止 - IsOpen *bool `json:"IsOpen,omitempty" name:"IsOpen"` -} + // 数据聚合方式,周期1分钟 + // 注意:此字段可能返回 null,表示取不到有效值。 + P60 *string `json:"P60,omitempty" name:"P60"` -type DescribePolicyGroupListRequest struct { - *tchttp.BaseRequest - - // 固定值,为"monitor" - Module *string `json:"Module,omitempty" name:"Module"` + // 数据聚合方式,周期5分钟 + // 注意:此字段可能返回 null,表示取不到有效值。 + P300 *string `json:"P300,omitempty" name:"P300"` - // 分页参数,每页返回的数量,取值1~100 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` + // 数据聚合方式,周期10分钟 + // 注意:此字段可能返回 null,表示取不到有效值。 + P600 *string `json:"P600,omitempty" name:"P600"` - // 分页参数,页偏移量,从0开始计数 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` + // 数据聚合方式,周期30分钟 + // 注意:此字段可能返回 null,表示取不到有效值。 + P1800 *string `json:"P1800,omitempty" name:"P1800"` - // 按策略名搜索 - Like *string `json:"Like,omitempty" name:"Like"` + // 数据聚合方式,周期1小时 + // 注意:此字段可能返回 null,表示取不到有效值。 + P3600 *string `json:"P3600,omitempty" name:"P3600"` - // 实例分组id - InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` + // 数据聚合方式,周期1天 + // 注意:此字段可能返回 null,表示取不到有效值。 + P86400 *string `json:"P86400,omitempty" name:"P86400"` +} - // 按更新时间排序, asc 或者 desc - UpdateTimeOrder *string `json:"UpdateTimeOrder,omitempty" name:"UpdateTimeOrder"` +type DescribePolicyConditionListEventMetric struct { + // 事件id + EventId *int64 `json:"EventId,omitempty" name:"EventId"` - // 项目id列表 - ProjectIds []*int64 `json:"ProjectIds,omitempty" name:"ProjectIds"` + // 事件名称 + EventShowName *string `json:"EventShowName,omitempty" name:"EventShowName"` - // 告警策略类型列表 - ViewNames []*string `json:"ViewNames,omitempty" name:"ViewNames"` + // 是否需要恢复 + NeedRecovered *bool `json:"NeedRecovered,omitempty" name:"NeedRecovered"` - // 是否过滤无接收人策略组, 1表示过滤, 0表示不过滤 - FilterUnuseReceiver *int64 `json:"FilterUnuseReceiver,omitempty" name:"FilterUnuseReceiver"` + // 事件类型,预留字段,当前固定取值为2 + Type *int64 `json:"Type,omitempty" name:"Type"` +} - // 过滤条件, 接收组列表 - Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` +type DescribePolicyConditionListMetric struct { + // 指标配置 + // 注意:此字段可能返回 null,表示取不到有效值。 + ConfigManual *DescribePolicyConditionListConfigManual `json:"ConfigManual,omitempty" name:"ConfigManual"` - // 过滤条件, 接收人列表 - ReceiverUserList []*string `json:"ReceiverUserList,omitempty" name:"ReceiverUserList"` + // 指标id + MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"` - // 维度组合字段(json字符串), 例如[[{"name":"unInstanceId","value":"ins-6e4b2aaa"}]] - Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"` + // 指标名称 + MetricShowName *string `json:"MetricShowName,omitempty" name:"MetricShowName"` - // 模板策略组id, 多个id用逗号分隔 - ConditionTempGroupId *string `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"` + // 指标单位 + MetricUnit *string `json:"MetricUnit,omitempty" name:"MetricUnit"` +} - // 过滤条件, 接收人或者接收组, user表示接收人, group表示接收组 - ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"` +// Predefined struct for user +type DescribePolicyConditionListRequestParams struct { + // 固定值,为"monitor" + Module *string `json:"Module,omitempty" name:"Module"` +} - // 过滤条件,告警策略是否已启动或停止 - IsOpen *bool `json:"IsOpen,omitempty" name:"IsOpen"` +type DescribePolicyConditionListRequest struct { + *tchttp.BaseRequest + + // 固定值,为"monitor" + Module *string `json:"Module,omitempty" name:"Module"` } -func (r *DescribePolicyGroupListRequest) ToJsonString() string { +func (r *DescribePolicyConditionListRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribePolicyGroupListRequest) FromJsonString(s string) error { +func (r *DescribePolicyConditionListRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } delete(f, "Module") - delete(f, "Limit") - delete(f, "Offset") - delete(f, "Like") - delete(f, "InstanceGroupId") - delete(f, "UpdateTimeOrder") - delete(f, "ProjectIds") - delete(f, "ViewNames") - delete(f, "FilterUnuseReceiver") - delete(f, "Receivers") - delete(f, "ReceiverUserList") - delete(f, "Dimensions") - delete(f, "ConditionTempGroupId") - delete(f, "ReceiverType") - delete(f, "IsOpen") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePolicyGroupListRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePolicyConditionListRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DescribePolicyGroupListResponseParams struct { - // 策略组列表 - // 注意:此字段可能返回 null,表示取不到有效值。 - GroupList []*DescribePolicyGroupListGroup `json:"GroupList,omitempty" name:"GroupList"` - - // 策略组总数 - Total *int64 `json:"Total,omitempty" name:"Total"` +type DescribePolicyConditionListResponseParams struct { + // 告警策略条件列表 + Conditions []*DescribePolicyConditionListCondition `json:"Conditions,omitempty" name:"Conditions"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type DescribePolicyGroupListResponse struct { +type DescribePolicyConditionListResponse struct { *tchttp.BaseResponse - Response *DescribePolicyGroupListResponseParams `json:"Response"` + Response *DescribePolicyConditionListResponseParams `json:"Response"` } -func (r *DescribePolicyGroupListResponse) ToJsonString() string { +func (r *DescribePolicyConditionListResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribePolicyGroupListResponse) FromJsonString(s string) error { +func (r *DescribePolicyConditionListResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type DescribeProductEventListDimensions struct { - // 维度名 - Name *string `json:"Name,omitempty" name:"Name"` +type DescribePolicyGroupInfoCallback struct { + // 用户回调接口地址 + CallbackUrl *string `json:"CallbackUrl,omitempty" name:"CallbackUrl"` - // 维度值 - Value *string `json:"Value,omitempty" name:"Value"` + // 用户回调接口状态,0表示未验证,1表示已验证,2表示存在url但没有通过验证 + ValidFlag *int64 `json:"ValidFlag,omitempty" name:"ValidFlag"` + + // 用户回调接口验证码 + VerifyCode *string `json:"VerifyCode,omitempty" name:"VerifyCode"` } -type DescribeProductEventListEvents struct { - // 事件ID - // 注意:此字段可能返回 null,表示取不到有效值。 - EventId *int64 `json:"EventId,omitempty" name:"EventId"` +type DescribePolicyGroupInfoCondition struct { + // 指标名称 + MetricShowName *string `json:"MetricShowName,omitempty" name:"MetricShowName"` - // 事件中文名 - // 注意:此字段可能返回 null,表示取不到有效值。 - EventCName *string `json:"EventCName,omitempty" name:"EventCName"` + // 数据聚合周期(单位秒) + Period *int64 `json:"Period,omitempty" name:"Period"` - // 事件英文名 - // 注意:此字段可能返回 null,表示取不到有效值。 - EventEName *string `json:"EventEName,omitempty" name:"EventEName"` + // 指标id + MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"` - // 事件简称 - // 注意:此字段可能返回 null,表示取不到有效值。 - EventName *string `json:"EventName,omitempty" name:"EventName"` + // 阈值规则id + RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"` - // 产品中文名 - // 注意:此字段可能返回 null,表示取不到有效值。 - ProductCName *string `json:"ProductCName,omitempty" name:"ProductCName"` + // 指标单位 + Unit *string `json:"Unit,omitempty" name:"Unit"` - // 产品英文名 - // 注意:此字段可能返回 null,表示取不到有效值。 - ProductEName *string `json:"ProductEName,omitempty" name:"ProductEName"` + // 告警发送收敛类型。0连续告警,1指数告警 + AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"` - // 产品简称 - // 注意:此字段可能返回 null,表示取不到有效值。 - ProductName *string `json:"ProductName,omitempty" name:"ProductName"` + // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次 + AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"` - // 实例ID + // 比较类型,1表示大于,2表示大于等于,3表示小于,4表示小于等于,5表示相等,6表示不相等,7表示日同比上涨,8表示日同比下降,9表示周同比上涨,10表示周同比下降,11表示周期环比上涨,12表示周期环比下降 // 注意:此字段可能返回 null,表示取不到有效值。 - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + CalcType *int64 `json:"CalcType,omitempty" name:"CalcType"` - // 实例名称 + // 检测阈值 // 注意:此字段可能返回 null,表示取不到有效值。 - InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` + CalcValue *string `json:"CalcValue,omitempty" name:"CalcValue"` - // 项目ID + // 持续多长时间触发规则会告警(单位秒) // 注意:此字段可能返回 null,表示取不到有效值。 - ProjectId *string `json:"ProjectId,omitempty" name:"ProjectId"` + ContinueTime *int64 `json:"ContinueTime,omitempty" name:"ContinueTime"` - // 地域 + // 告警指标名 // 注意:此字段可能返回 null,表示取不到有效值。 - Region *string `json:"Region,omitempty" name:"Region"` + MetricName *string `json:"MetricName,omitempty" name:"MetricName"` +} - // 状态 - // 注意:此字段可能返回 null,表示取不到有效值。 - Status *string `json:"Status,omitempty" name:"Status"` +type DescribePolicyGroupInfoConditionTpl struct { + // 策略组id + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` - // 是否支持告警 - // 注意:此字段可能返回 null,表示取不到有效值。 - SupportAlarm *int64 `json:"SupportAlarm,omitempty" name:"SupportAlarm"` + // 策略组名称 + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` - // 事件类型 - // 注意:此字段可能返回 null,表示取不到有效值。 - Type *string `json:"Type,omitempty" name:"Type"` + // 策略类型 + ViewName *string `json:"ViewName,omitempty" name:"ViewName"` - // 开始时间 - // 注意:此字段可能返回 null,表示取不到有效值。 - StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` + // 策略组说明 + Remark *string `json:"Remark,omitempty" name:"Remark"` + + // 最后编辑的用户uin + LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"` // 更新时间 // 注意:此字段可能返回 null,表示取不到有效值。 UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"` - // 实例对象信息 - // 注意:此字段可能返回 null,表示取不到有效值。 - Dimensions []*DescribeProductEventListEventsDimensions `json:"Dimensions,omitempty" name:"Dimensions"` - - // 实例对象附加信息 - // 注意:此字段可能返回 null,表示取不到有效值。 - AdditionMsg []*DescribeProductEventListEventsDimensions `json:"AdditionMsg,omitempty" name:"AdditionMsg"` - - // 是否配置告警 - // 注意:此字段可能返回 null,表示取不到有效值。 - IsAlarmConfig *int64 `json:"IsAlarmConfig,omitempty" name:"IsAlarmConfig"` - - // 策略信息 + // 创建时间 // 注意:此字段可能返回 null,表示取不到有效值。 - GroupInfo []*DescribeProductEventListEventsGroupInfo `json:"GroupInfo,omitempty" name:"GroupInfo"` + InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"` - // 显示名称ViewName + // 是否且规则 // 注意:此字段可能返回 null,表示取不到有效值。 - ViewName *string `json:"ViewName,omitempty" name:"ViewName"` + IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` } -type DescribeProductEventListEventsDimensions struct { - // 维度名(英文) - // 注意:此字段可能返回 null,表示取不到有效值。 - Key *string `json:"Key,omitempty" name:"Key"` +type DescribePolicyGroupInfoEventCondition struct { + // 事件id + EventId *int64 `json:"EventId,omitempty" name:"EventId"` - // 维度名(中文) - // 注意:此字段可能返回 null,表示取不到有效值。 - Name *string `json:"Name,omitempty" name:"Name"` + // 事件告警规则id + RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"` - // 维度值 - // 注意:此字段可能返回 null,表示取不到有效值。 - Value *string `json:"Value,omitempty" name:"Value"` -} + // 事件名称 + EventShowName *string `json:"EventShowName,omitempty" name:"EventShowName"` -type DescribeProductEventListEventsGroupInfo struct { - // 策略ID - // 注意:此字段可能返回 null,表示取不到有效值。 - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次 + AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"` - // 策略名 - // 注意:此字段可能返回 null,表示取不到有效值。 - GroupName *string `json:"GroupName,omitempty" name:"GroupName"` + // 告警发送收敛类型。0连续告警,1指数告警 + AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"` } -type DescribeProductEventListOverView struct { - // 状态变更的事件数量 - // 注意:此字段可能返回 null,表示取不到有效值。 - StatusChangeAmount *int64 `json:"StatusChangeAmount,omitempty" name:"StatusChangeAmount"` - - // 告警状态未配置的事件数量 - // 注意:此字段可能返回 null,表示取不到有效值。 - UnConfigAlarmAmount *int64 `json:"UnConfigAlarmAmount,omitempty" name:"UnConfigAlarmAmount"` - - // 异常事件数量 - // 注意:此字段可能返回 null,表示取不到有效值。 - UnNormalEventAmount *int64 `json:"UnNormalEventAmount,omitempty" name:"UnNormalEventAmount"` - - // 未恢复的事件数量 - // 注意:此字段可能返回 null,表示取不到有效值。 - UnRecoverAmount *int64 `json:"UnRecoverAmount,omitempty" name:"UnRecoverAmount"` -} +type DescribePolicyGroupInfoReceiverInfo struct { + // 告警接收组id列表 + ReceiverGroupList []*int64 `json:"ReceiverGroupList,omitempty" name:"ReceiverGroupList"` -// Predefined struct for user -type DescribeProductEventListRequestParams struct { - // 接口模块名,固定值"monitor" - Module *string `json:"Module,omitempty" name:"Module"` + // 告警接收人id列表 + ReceiverUserList []*int64 `json:"ReceiverUserList,omitempty" name:"ReceiverUserList"` - // 产品类型过滤,比如"cvm"表示云服务器 - ProductName []*string `json:"ProductName,omitempty" name:"ProductName"` + // 告警时间段开始时间。范围[0,86400),作为 UNIX 时间戳转成北京时间后去掉日期,例如7200表示"10:0:0" + StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` - // 事件名称过滤,比如"guest_reboot"表示机器重启 - EventName []*string `json:"EventName,omitempty" name:"EventName"` + // 告警时间段结束时间。含义同StartTime + EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` - // 影响对象,比如"ins-19708ino" - InstanceId []*string `json:"InstanceId,omitempty" name:"InstanceId"` + // 接收类型。“group”(接收组)或“user”(接收人) + ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"` - // 维度过滤,比如外网IP:10.0.0.1 - Dimensions []*DescribeProductEventListDimensions `json:"Dimensions,omitempty" name:"Dimensions"` + // 告警通知方式。可选 "SMS","SITE","EMAIL","CALL","WECHAT" + NotifyWay []*string `json:"NotifyWay,omitempty" name:"NotifyWay"` - // 产品事件地域过滤参数,比如gz,各地域缩写可参见[地域列表](https://cloud.tencent.com/document/product/248/50863) - RegionList []*string `json:"RegionList,omitempty" name:"RegionList"` + // 电话告警接收者uid + // 注意:此字段可能返回 null,表示取不到有效值。 + UidList []*int64 `json:"UidList,omitempty" name:"UidList"` - // 事件类型过滤,取值范围["status_change","abnormal"],分别表示状态变更、异常事件 - Type []*string `json:"Type,omitempty" name:"Type"` + // 电话告警轮数 + RoundNumber *int64 `json:"RoundNumber,omitempty" name:"RoundNumber"` - // 事件状态过滤,取值范围["recover","alarm","-"],分别表示已恢复、未恢复、无状态 - Status []*string `json:"Status,omitempty" name:"Status"` + // 电话告警每轮间隔(秒) + RoundInterval *int64 `json:"RoundInterval,omitempty" name:"RoundInterval"` - // 项目ID过滤 - Project []*string `json:"Project,omitempty" name:"Project"` + // 电话告警对个人间隔(秒) + PersonInterval *int64 `json:"PersonInterval,omitempty" name:"PersonInterval"` - // 告警状态配置过滤,1表示已配置,0表示未配置 - IsAlarmConfig *int64 `json:"IsAlarmConfig,omitempty" name:"IsAlarmConfig"` + // 是否需要电话告警触达提示。0不需要,1需要 + NeedSendNotice *int64 `json:"NeedSendNotice,omitempty" name:"NeedSendNotice"` - // 按更新时间排序,ASC表示升序,DESC表示降序,默认DESC - TimeOrder *string `json:"TimeOrder,omitempty" name:"TimeOrder"` + // 电话告警通知时机。可选"OCCUR"(告警时通知),"RECOVER"(恢复时通知) + SendFor []*string `json:"SendFor,omitempty" name:"SendFor"` - // 起始时间,默认一天前的时间戳 - StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` + // 恢复通知方式。可选"SMS" + RecoverNotify []*string `json:"RecoverNotify,omitempty" name:"RecoverNotify"` - // 结束时间,默认当前时间戳 - EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` + // 告警发送语言 + // 注意:此字段可能返回 null,表示取不到有效值。 + ReceiveLanguage *string `json:"ReceiveLanguage,omitempty" name:"ReceiveLanguage"` +} - // 页偏移量,默认0 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` +// Predefined struct for user +type DescribePolicyGroupInfoRequestParams struct { + // 固定值,为"monitor" + Module *string `json:"Module,omitempty" name:"Module"` - // 每页返回的数量,默认20 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` + // 策略组id + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` } -type DescribeProductEventListRequest struct { +type DescribePolicyGroupInfoRequest struct { *tchttp.BaseRequest - // 接口模块名,固定值"monitor" + // 固定值,为"monitor" Module *string `json:"Module,omitempty" name:"Module"` - // 产品类型过滤,比如"cvm"表示云服务器 - ProductName []*string `json:"ProductName,omitempty" name:"ProductName"` + // 策略组id + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` +} - // 事件名称过滤,比如"guest_reboot"表示机器重启 - EventName []*string `json:"EventName,omitempty" name:"EventName"` - - // 影响对象,比如"ins-19708ino" - InstanceId []*string `json:"InstanceId,omitempty" name:"InstanceId"` - - // 维度过滤,比如外网IP:10.0.0.1 - Dimensions []*DescribeProductEventListDimensions `json:"Dimensions,omitempty" name:"Dimensions"` - - // 产品事件地域过滤参数,比如gz,各地域缩写可参见[地域列表](https://cloud.tencent.com/document/product/248/50863) - RegionList []*string `json:"RegionList,omitempty" name:"RegionList"` - - // 事件类型过滤,取值范围["status_change","abnormal"],分别表示状态变更、异常事件 - Type []*string `json:"Type,omitempty" name:"Type"` - - // 事件状态过滤,取值范围["recover","alarm","-"],分别表示已恢复、未恢复、无状态 - Status []*string `json:"Status,omitempty" name:"Status"` - - // 项目ID过滤 - Project []*string `json:"Project,omitempty" name:"Project"` - - // 告警状态配置过滤,1表示已配置,0表示未配置 - IsAlarmConfig *int64 `json:"IsAlarmConfig,omitempty" name:"IsAlarmConfig"` - - // 按更新时间排序,ASC表示升序,DESC表示降序,默认DESC - TimeOrder *string `json:"TimeOrder,omitempty" name:"TimeOrder"` - - // 起始时间,默认一天前的时间戳 - StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` - - // 结束时间,默认当前时间戳 - EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` - - // 页偏移量,默认0 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` - - // 每页返回的数量,默认20 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` -} - -func (r *DescribeProductEventListRequest) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} +func (r *DescribePolicyGroupInfoRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribeProductEventListRequest) FromJsonString(s string) error { +func (r *DescribePolicyGroupInfoRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } delete(f, "Module") - delete(f, "ProductName") - delete(f, "EventName") - delete(f, "InstanceId") - delete(f, "Dimensions") - delete(f, "RegionList") - delete(f, "Type") - delete(f, "Status") - delete(f, "Project") - delete(f, "IsAlarmConfig") - delete(f, "TimeOrder") - delete(f, "StartTime") - delete(f, "EndTime") - delete(f, "Offset") - delete(f, "Limit") + delete(f, "GroupId") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProductEventListRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePolicyGroupInfoRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DescribeProductEventListResponseParams struct { - // 事件列表 - // 注意:此字段可能返回 null,表示取不到有效值。 - Events []*DescribeProductEventListEvents `json:"Events,omitempty" name:"Events"` - - // 事件统计 - OverView *DescribeProductEventListOverView `json:"OverView,omitempty" name:"OverView"` - - // 事件总数 - // 注意:此字段可能返回 null,表示取不到有效值。 - Total *int64 `json:"Total,omitempty" name:"Total"` - - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` -} +type DescribePolicyGroupInfoResponseParams struct { + // 策略组名称 + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` -type DescribeProductEventListResponse struct { - *tchttp.BaseResponse - Response *DescribeProductEventListResponseParams `json:"Response"` -} + // 策略组所属的项目id + ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` -func (r *DescribeProductEventListResponse) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} + // 是否为默认策略,0表示非默认策略,1表示默认策略 + IsDefault *int64 `json:"IsDefault,omitempty" name:"IsDefault"` -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *DescribeProductEventListResponse) FromJsonString(s string) error { - return json.Unmarshal([]byte(s), &r) -} + // 策略类型 + ViewName *string `json:"ViewName,omitempty" name:"ViewName"` -// Predefined struct for user -type DescribeProductListRequestParams struct { - // 固定传值monitor - Module *string `json:"Module,omitempty" name:"Module"` + // 策略说明 + Remark *string `json:"Remark,omitempty" name:"Remark"` - // 排序方式:DESC/ASC(区分大小写),默认值DESC - Order *string `json:"Order,omitempty" name:"Order"` + // 策略类型名称 + ShowName *string `json:"ShowName,omitempty" name:"ShowName"` - // 分页查询的偏移量,默认值0 - Offset *uint64 `json:"Offset,omitempty" name:"Offset"` + // 最近编辑的用户uin + LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"` - // 分页查询的每页数据量,默认值20 - Limit *uint64 `json:"Limit,omitempty" name:"Limit"` -} + // 最近编辑时间 + UpdateTime *string `json:"UpdateTime,omitempty" name:"UpdateTime"` -type DescribeProductListRequest struct { - *tchttp.BaseRequest - - // 固定传值monitor - Module *string `json:"Module,omitempty" name:"Module"` + // 该策略支持的地域 + Region []*string `json:"Region,omitempty" name:"Region"` - // 排序方式:DESC/ASC(区分大小写),默认值DESC - Order *string `json:"Order,omitempty" name:"Order"` + // 策略类型的维度列表 + DimensionGroup []*string `json:"DimensionGroup,omitempty" name:"DimensionGroup"` - // 分页查询的偏移量,默认值0 - Offset *uint64 `json:"Offset,omitempty" name:"Offset"` + // 阈值规则列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + ConditionsConfig []*DescribePolicyGroupInfoCondition `json:"ConditionsConfig,omitempty" name:"ConditionsConfig"` - // 分页查询的每页数据量,默认值20 - Limit *uint64 `json:"Limit,omitempty" name:"Limit"` -} + // 产品事件规则列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + EventConfig []*DescribePolicyGroupInfoEventCondition `json:"EventConfig,omitempty" name:"EventConfig"` -func (r *DescribeProductListRequest) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} + // 用户接收人列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + ReceiverInfos []*DescribePolicyGroupInfoReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos"` -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *DescribeProductListRequest) FromJsonString(s string) error { - f := make(map[string]interface{}) - if err := json.Unmarshal([]byte(s), &f); err != nil { - return err - } - delete(f, "Module") - delete(f, "Order") - delete(f, "Offset") - delete(f, "Limit") - if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProductListRequest has unknown keys!", "") - } - return json.Unmarshal([]byte(s), &r) -} + // 用户回调信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + Callback *DescribePolicyGroupInfoCallback `json:"Callback,omitempty" name:"Callback"` -// Predefined struct for user -type DescribeProductListResponseParams struct { - // 产品信息列表 + // 模板策略组 // 注意:此字段可能返回 null,表示取不到有效值。 - ProductList []*ProductSimple `json:"ProductList,omitempty" name:"ProductList"` + ConditionsTemp *DescribePolicyGroupInfoConditionTpl `json:"ConditionsTemp,omitempty" name:"ConditionsTemp"` - // 产品总数 + // 是否可以设置成默认策略 + CanSetDefault *bool `json:"CanSetDefault,omitempty" name:"CanSetDefault"` + + // 是否且规则 // 注意:此字段可能返回 null,表示取不到有效值。 - TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` + IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type DescribeProductListResponse struct { +type DescribePolicyGroupInfoResponse struct { *tchttp.BaseResponse - Response *DescribeProductListResponseParams `json:"Response"` + Response *DescribePolicyGroupInfoResponseParams `json:"Response"` } -func (r *DescribeProductListResponse) ToJsonString() string { +func (r *DescribePolicyGroupInfoResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribeProductListResponse) FromJsonString(s string) error { +func (r *DescribePolicyGroupInfoResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -// Predefined struct for user -type DescribePrometheusAgentsRequestParams struct { - // 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - - // Agent 名称 - Name *string `json:"Name,omitempty" name:"Name"` +type DescribePolicyGroupListGroup struct { + // 策略组id + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` - // Agent ID 列表 - AgentIds []*string `json:"AgentIds,omitempty" name:"AgentIds"` + // 策略组名称 + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` - // 偏移量,默认为0 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` + // 是否开启 + IsOpen *bool `json:"IsOpen,omitempty" name:"IsOpen"` - // 返回数量,默认为20,最大值为100 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` -} + // 策略视图名称 + ViewName *string `json:"ViewName,omitempty" name:"ViewName"` -type DescribePrometheusAgentsRequest struct { - *tchttp.BaseRequest - - // 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + // 最近编辑的用户uin + LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"` - // Agent 名称 - Name *string `json:"Name,omitempty" name:"Name"` + // 最后修改时间 + UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"` - // Agent ID 列表 - AgentIds []*string `json:"AgentIds,omitempty" name:"AgentIds"` + // 创建时间 + InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"` - // 偏移量,默认为0 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` + // 策略组绑定的实例数 + UseSum *int64 `json:"UseSum,omitempty" name:"UseSum"` - // 返回数量,默认为20,最大值为100 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` -} + // 策略组绑定的未屏蔽实例数 + NoShieldedSum *int64 `json:"NoShieldedSum,omitempty" name:"NoShieldedSum"` -func (r *DescribePrometheusAgentsRequest) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} + // 是否为默认策略,0表示非默认策略,1表示默认策略 + IsDefault *int64 `json:"IsDefault,omitempty" name:"IsDefault"` -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *DescribePrometheusAgentsRequest) FromJsonString(s string) error { - f := make(map[string]interface{}) - if err := json.Unmarshal([]byte(s), &f); err != nil { - return err - } - delete(f, "InstanceId") - delete(f, "Name") - delete(f, "AgentIds") - delete(f, "Offset") - delete(f, "Limit") - if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePrometheusAgentsRequest has unknown keys!", "") - } - return json.Unmarshal([]byte(s), &r) -} + // 是否可以设置成默认策略 + CanSetDefault *bool `json:"CanSetDefault,omitempty" name:"CanSetDefault"` -// Predefined struct for user -type DescribePrometheusAgentsResponseParams struct { - // Agent 列表 + // 父策略组id + ParentGroupId *int64 `json:"ParentGroupId,omitempty" name:"ParentGroupId"` + + // 策略组备注 + Remark *string `json:"Remark,omitempty" name:"Remark"` + + // 策略组所属项目id + ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` + + // 阈值规则列表 // 注意:此字段可能返回 null,表示取不到有效值。 - AgentSet []*PrometheusAgent `json:"AgentSet,omitempty" name:"AgentSet"` + Conditions []*DescribePolicyGroupInfoCondition `json:"Conditions,omitempty" name:"Conditions"` - // Agent 总量 - TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + // 产品事件规则列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + EventConditions []*DescribePolicyGroupInfoEventCondition `json:"EventConditions,omitempty" name:"EventConditions"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` -} + // 用户接收人列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + ReceiverInfos []*DescribePolicyGroupInfoReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos"` -type DescribePrometheusAgentsResponse struct { - *tchttp.BaseResponse - Response *DescribePrometheusAgentsResponseParams `json:"Response"` -} + // 模板策略组 + // 注意:此字段可能返回 null,表示取不到有效值。 + ConditionsTemp *DescribePolicyGroupInfoConditionTpl `json:"ConditionsTemp,omitempty" name:"ConditionsTemp"` -func (r *DescribePrometheusAgentsResponse) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} + // 策略组绑定的实例组信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceGroup *DescribePolicyGroupListGroupInstanceGroup `json:"InstanceGroup,omitempty" name:"InstanceGroup"` -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *DescribePrometheusAgentsResponse) FromJsonString(s string) error { - return json.Unmarshal([]byte(s), &r) + // 且或规则标识, 0表示或规则(任意一条规则满足阈值条件就告警), 1表示且规则(所有规则都满足阈值条件才告警) + // 注意:此字段可能返回 null,表示取不到有效值。 + IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` } -// Predefined struct for user -type DescribePrometheusInstancesRequestParams struct { - // 按照一个或者多个实例ID查询。实例ID形如:prom-xxxxxxxx。请求的实例的上限为100。 - InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"` +type DescribePolicyGroupListGroupInstanceGroup struct { + // 实例分组名称id + InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` - // 按照【实例状态】进行过滤。 - // - InstanceStatus []*int64 `json:"InstanceStatus,omitempty" name:"InstanceStatus"` + // 策略类型视图名称 + ViewName *string `json:"ViewName,omitempty" name:"ViewName"` - // 按照【实例名称】进行过滤。 - InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` + // 最近编辑的用户uin + LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"` - // 按照【可用区】进行过滤。可用区形如:ap-guangzhou-1。 - Zones []*string `json:"Zones,omitempty" name:"Zones"` + // 实例分组名称 + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` - // 按照【标签键值对】进行过滤。tag-key使用具体的标签键进行替换。 - TagFilters []*PrometheusTag `json:"TagFilters,omitempty" name:"TagFilters"` + // 实例数量 + InstanceSum *int64 `json:"InstanceSum,omitempty" name:"InstanceSum"` - // 按照【实例的IPv4地址】进行过滤。 - IPv4Address []*string `json:"IPv4Address,omitempty" name:"IPv4Address"` + // 更新时间 + UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"` - // 返回数量,默认为20,最大值为100。 + // 创建时间 + InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"` +} + +// Predefined struct for user +type DescribePolicyGroupListRequestParams struct { + // 固定值,为"monitor" + Module *string `json:"Module,omitempty" name:"Module"` + + // 分页参数,每页返回的数量,取值1~100 Limit *int64 `json:"Limit,omitempty" name:"Limit"` - // 偏移量,默认为0。 + // 分页参数,页偏移量,从0开始计数 Offset *int64 `json:"Offset,omitempty" name:"Offset"` - // 按照【计费类型】进行过滤。 - //
  • 2:包年包月
  • - //
  • 3:按量
  • - InstanceChargeType *int64 `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` + // 按策略名搜索 + Like *string `json:"Like,omitempty" name:"Like"` + + // 实例分组id + InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` + + // 按更新时间排序, asc 或者 desc + UpdateTimeOrder *string `json:"UpdateTimeOrder,omitempty" name:"UpdateTimeOrder"` + + // 项目id列表 + ProjectIds []*int64 `json:"ProjectIds,omitempty" name:"ProjectIds"` + + // 告警策略类型列表 + ViewNames []*string `json:"ViewNames,omitempty" name:"ViewNames"` + + // 是否过滤无接收人策略组, 1表示过滤, 0表示不过滤 + FilterUnuseReceiver *int64 `json:"FilterUnuseReceiver,omitempty" name:"FilterUnuseReceiver"` + + // 过滤条件, 接收组列表 + Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` + + // 过滤条件, 接收人列表 + ReceiverUserList []*string `json:"ReceiverUserList,omitempty" name:"ReceiverUserList"` + + // 维度组合字段(json字符串), 例如[[{"name":"unInstanceId","value":"ins-6e4b2aaa"}]] + Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"` + + // 模板策略组id, 多个id用逗号分隔 + ConditionTempGroupId *string `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"` + + // 过滤条件, 接收人或者接收组, user表示接收人, group表示接收组 + ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"` + + // 过滤条件,告警策略是否已启动或停止 + IsOpen *bool `json:"IsOpen,omitempty" name:"IsOpen"` } -type DescribePrometheusInstancesRequest struct { +type DescribePolicyGroupListRequest struct { *tchttp.BaseRequest - // 按照一个或者多个实例ID查询。实例ID形如:prom-xxxxxxxx。请求的实例的上限为100。 - InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"` + // 固定值,为"monitor" + Module *string `json:"Module,omitempty" name:"Module"` - // 按照【实例状态】进行过滤。 - // - InstanceStatus []*int64 `json:"InstanceStatus,omitempty" name:"InstanceStatus"` + // 分页参数,每页返回的数量,取值1~100 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` - // 按照【实例名称】进行过滤。 - InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` + // 分页参数,页偏移量,从0开始计数 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` - // 按照【可用区】进行过滤。可用区形如:ap-guangzhou-1。 - Zones []*string `json:"Zones,omitempty" name:"Zones"` + // 按策略名搜索 + Like *string `json:"Like,omitempty" name:"Like"` - // 按照【标签键值对】进行过滤。tag-key使用具体的标签键进行替换。 - TagFilters []*PrometheusTag `json:"TagFilters,omitempty" name:"TagFilters"` + // 实例分组id + InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` - // 按照【实例的IPv4地址】进行过滤。 - IPv4Address []*string `json:"IPv4Address,omitempty" name:"IPv4Address"` + // 按更新时间排序, asc 或者 desc + UpdateTimeOrder *string `json:"UpdateTimeOrder,omitempty" name:"UpdateTimeOrder"` - // 返回数量,默认为20,最大值为100。 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` + // 项目id列表 + ProjectIds []*int64 `json:"ProjectIds,omitempty" name:"ProjectIds"` - // 偏移量,默认为0。 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` + // 告警策略类型列表 + ViewNames []*string `json:"ViewNames,omitempty" name:"ViewNames"` - // 按照【计费类型】进行过滤。 - //
  • 2:包年包月
  • - //
  • 3:按量
  • - InstanceChargeType *int64 `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` + // 是否过滤无接收人策略组, 1表示过滤, 0表示不过滤 + FilterUnuseReceiver *int64 `json:"FilterUnuseReceiver,omitempty" name:"FilterUnuseReceiver"` + + // 过滤条件, 接收组列表 + Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` + + // 过滤条件, 接收人列表 + ReceiverUserList []*string `json:"ReceiverUserList,omitempty" name:"ReceiverUserList"` + + // 维度组合字段(json字符串), 例如[[{"name":"unInstanceId","value":"ins-6e4b2aaa"}]] + Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"` + + // 模板策略组id, 多个id用逗号分隔 + ConditionTempGroupId *string `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"` + + // 过滤条件, 接收人或者接收组, user表示接收人, group表示接收组 + ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"` + + // 过滤条件,告警策略是否已启动或停止 + IsOpen *bool `json:"IsOpen,omitempty" name:"IsOpen"` } -func (r *DescribePrometheusInstancesRequest) ToJsonString() string { +func (r *DescribePolicyGroupListRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribePrometheusInstancesRequest) FromJsonString(s string) error { +func (r *DescribePolicyGroupListRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "InstanceIds") - delete(f, "InstanceStatus") - delete(f, "InstanceName") - delete(f, "Zones") - delete(f, "TagFilters") - delete(f, "IPv4Address") + delete(f, "Module") delete(f, "Limit") delete(f, "Offset") - delete(f, "InstanceChargeType") + delete(f, "Like") + delete(f, "InstanceGroupId") + delete(f, "UpdateTimeOrder") + delete(f, "ProjectIds") + delete(f, "ViewNames") + delete(f, "FilterUnuseReceiver") + delete(f, "Receivers") + delete(f, "ReceiverUserList") + delete(f, "Dimensions") + delete(f, "ConditionTempGroupId") + delete(f, "ReceiverType") + delete(f, "IsOpen") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePrometheusInstancesRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePolicyGroupListRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DescribePrometheusInstancesResponseParams struct { - // 实例详细信息列表。 +type DescribePolicyGroupListResponseParams struct { + // 策略组列表 // 注意:此字段可能返回 null,表示取不到有效值。 - InstanceSet []*PrometheusInstancesItem `json:"InstanceSet,omitempty" name:"InstanceSet"` + GroupList []*DescribePolicyGroupListGroup `json:"GroupList,omitempty" name:"GroupList"` - // 符合条件的实例数量。 - TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + // 策略组总数 + Total *int64 `json:"Total,omitempty" name:"Total"` + + // 备注信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + Warning *string `json:"Warning,omitempty" name:"Warning"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type DescribePrometheusInstancesResponse struct { +type DescribePolicyGroupListResponse struct { *tchttp.BaseResponse - Response *DescribePrometheusInstancesResponseParams `json:"Response"` + Response *DescribePolicyGroupListResponseParams `json:"Response"` } -func (r *DescribePrometheusInstancesResponse) ToJsonString() string { +func (r *DescribePolicyGroupListResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribePrometheusInstancesResponse) FromJsonString(s string) error { +func (r *DescribePolicyGroupListResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -// Predefined struct for user -type DescribePrometheusScrapeJobsRequestParams struct { - // 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - - // Agent ID - AgentId *string `json:"AgentId,omitempty" name:"AgentId"` - - // 任务名 +type DescribeProductEventListDimensions struct { + // 维度名 Name *string `json:"Name,omitempty" name:"Name"` - // 任务 ID 列表 - JobIds []*string `json:"JobIds,omitempty" name:"JobIds"` - - // 偏移量,默认为0 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` - - // 返回数量,默认为20,最大值为100 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` + // 维度值 + Value *string `json:"Value,omitempty" name:"Value"` } -type DescribePrometheusScrapeJobsRequest struct { - *tchttp.BaseRequest - - // 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - - // Agent ID - AgentId *string `json:"AgentId,omitempty" name:"AgentId"` - - // 任务名 - Name *string `json:"Name,omitempty" name:"Name"` - - // 任务 ID 列表 - JobIds []*string `json:"JobIds,omitempty" name:"JobIds"` +type DescribeProductEventListEvents struct { + // 事件ID + // 注意:此字段可能返回 null,表示取不到有效值。 + EventId *int64 `json:"EventId,omitempty" name:"EventId"` - // 偏移量,默认为0 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` + // 事件中文名 + // 注意:此字段可能返回 null,表示取不到有效值。 + EventCName *string `json:"EventCName,omitempty" name:"EventCName"` - // 返回数量,默认为20,最大值为100 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` -} + // 事件英文名 + // 注意:此字段可能返回 null,表示取不到有效值。 + EventEName *string `json:"EventEName,omitempty" name:"EventEName"` -func (r *DescribePrometheusScrapeJobsRequest) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} + // 事件简称 + // 注意:此字段可能返回 null,表示取不到有效值。 + EventName *string `json:"EventName,omitempty" name:"EventName"` -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *DescribePrometheusScrapeJobsRequest) FromJsonString(s string) error { - f := make(map[string]interface{}) - if err := json.Unmarshal([]byte(s), &f); err != nil { - return err - } - delete(f, "InstanceId") - delete(f, "AgentId") - delete(f, "Name") - delete(f, "JobIds") - delete(f, "Offset") - delete(f, "Limit") - if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePrometheusScrapeJobsRequest has unknown keys!", "") - } - return json.Unmarshal([]byte(s), &r) -} + // 产品中文名 + // 注意:此字段可能返回 null,表示取不到有效值。 + ProductCName *string `json:"ProductCName,omitempty" name:"ProductCName"` -// Predefined struct for user -type DescribePrometheusScrapeJobsResponseParams struct { - // 任务列表 + // 产品英文名 // 注意:此字段可能返回 null,表示取不到有效值。 - ScrapeJobSet []*PrometheusScrapeJob `json:"ScrapeJobSet,omitempty" name:"ScrapeJobSet"` + ProductEName *string `json:"ProductEName,omitempty" name:"ProductEName"` - // 任务总量 - TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + // 产品简称 + // 注意:此字段可能返回 null,表示取不到有效值。 + ProductName *string `json:"ProductName,omitempty" name:"ProductName"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` -} + // 实例ID + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` -type DescribePrometheusScrapeJobsResponse struct { - *tchttp.BaseResponse - Response *DescribePrometheusScrapeJobsResponseParams `json:"Response"` -} + // 实例名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` -func (r *DescribePrometheusScrapeJobsResponse) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} + // 项目ID + // 注意:此字段可能返回 null,表示取不到有效值。 + ProjectId *string `json:"ProjectId,omitempty" name:"ProjectId"` -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *DescribePrometheusScrapeJobsResponse) FromJsonString(s string) error { - return json.Unmarshal([]byte(s), &r) -} + // 地域 + // 注意:此字段可能返回 null,表示取不到有效值。 + Region *string `json:"Region,omitempty" name:"Region"` -// Predefined struct for user -type DescribeRecordingRulesRequestParams struct { - // Prometheus 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + // 状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *string `json:"Status,omitempty" name:"Status"` - // 返回数量,默认为 20,最大值为 100 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` + // 是否支持告警 + // 注意:此字段可能返回 null,表示取不到有效值。 + SupportAlarm *int64 `json:"SupportAlarm,omitempty" name:"SupportAlarm"` - // 偏移量,默认为 0 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` + // 事件类型 + // 注意:此字段可能返回 null,表示取不到有效值。 + Type *string `json:"Type,omitempty" name:"Type"` - // 规则 ID - RuleId *string `json:"RuleId,omitempty" name:"RuleId"` + // 开始时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` - // 规则状态码,取值如下: - //
  • 1=RuleDeleted
  • - //
  • 2=RuleEnabled
  • - //
  • 3=RuleDisabled
  • - RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` + // 更新时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"` - // 规则名称 - Name *string `json:"Name,omitempty" name:"Name"` -} + // 实例对象信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + Dimensions []*DescribeProductEventListEventsDimensions `json:"Dimensions,omitempty" name:"Dimensions"` -type DescribeRecordingRulesRequest struct { - *tchttp.BaseRequest - - // Prometheus 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + // 实例对象附加信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + AdditionMsg []*DescribeProductEventListEventsDimensions `json:"AdditionMsg,omitempty" name:"AdditionMsg"` - // 返回数量,默认为 20,最大值为 100 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` + // 是否配置告警 + // 注意:此字段可能返回 null,表示取不到有效值。 + IsAlarmConfig *int64 `json:"IsAlarmConfig,omitempty" name:"IsAlarmConfig"` - // 偏移量,默认为 0 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` + // 策略信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + GroupInfo []*DescribeProductEventListEventsGroupInfo `json:"GroupInfo,omitempty" name:"GroupInfo"` - // 规则 ID - RuleId *string `json:"RuleId,omitempty" name:"RuleId"` + // 显示名称ViewName + // 注意:此字段可能返回 null,表示取不到有效值。 + ViewName *string `json:"ViewName,omitempty" name:"ViewName"` +} - // 规则状态码,取值如下: - //
  • 1=RuleDeleted
  • - //
  • 2=RuleEnabled
  • - //
  • 3=RuleDisabled
  • - RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` +type DescribeProductEventListEventsDimensions struct { + // 维度名(英文) + // 注意:此字段可能返回 null,表示取不到有效值。 + Key *string `json:"Key,omitempty" name:"Key"` - // 规则名称 + // 维度名(中文) + // 注意:此字段可能返回 null,表示取不到有效值。 Name *string `json:"Name,omitempty" name:"Name"` -} -func (r *DescribeRecordingRulesRequest) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) + // 维度值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Value *string `json:"Value,omitempty" name:"Value"` } -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *DescribeRecordingRulesRequest) FromJsonString(s string) error { - f := make(map[string]interface{}) - if err := json.Unmarshal([]byte(s), &f); err != nil { - return err - } - delete(f, "InstanceId") - delete(f, "Limit") - delete(f, "Offset") - delete(f, "RuleId") - delete(f, "RuleState") - delete(f, "Name") - if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRecordingRulesRequest has unknown keys!", "") - } - return json.Unmarshal([]byte(s), &r) +type DescribeProductEventListEventsGroupInfo struct { + // 策略ID + // 注意:此字段可能返回 null,表示取不到有效值。 + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + + // 策略名 + // 注意:此字段可能返回 null,表示取不到有效值。 + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` } -// Predefined struct for user -type DescribeRecordingRulesResponseParams struct { - // 规则组数量 - TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` +type DescribeProductEventListOverView struct { + // 状态变更的事件数量 + // 注意:此字段可能返回 null,表示取不到有效值。 + StatusChangeAmount *int64 `json:"StatusChangeAmount,omitempty" name:"StatusChangeAmount"` - // 规则组详情 + // 告警状态未配置的事件数量 // 注意:此字段可能返回 null,表示取不到有效值。 - RecordingRuleSet []*RecordingRuleSet `json:"RecordingRuleSet,omitempty" name:"RecordingRuleSet"` + UnConfigAlarmAmount *int64 `json:"UnConfigAlarmAmount,omitempty" name:"UnConfigAlarmAmount"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` -} + // 异常事件数量 + // 注意:此字段可能返回 null,表示取不到有效值。 + UnNormalEventAmount *int64 `json:"UnNormalEventAmount,omitempty" name:"UnNormalEventAmount"` -type DescribeRecordingRulesResponse struct { - *tchttp.BaseResponse - Response *DescribeRecordingRulesResponseParams `json:"Response"` + // 未恢复的事件数量 + // 注意:此字段可能返回 null,表示取不到有效值。 + UnRecoverAmount *int64 `json:"UnRecoverAmount,omitempty" name:"UnRecoverAmount"` } -func (r *DescribeRecordingRulesResponse) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} +// Predefined struct for user +type DescribeProductEventListRequestParams struct { + // 接口模块名,固定值"monitor" + Module *string `json:"Module,omitempty" name:"Module"` -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *DescribeRecordingRulesResponse) FromJsonString(s string) error { - return json.Unmarshal([]byte(s), &r) -} + // 产品类型过滤,比如"cvm"表示云服务器 + ProductName []*string `json:"ProductName,omitempty" name:"ProductName"` -// Predefined struct for user -type DescribeServiceDiscoveryRequestParams struct { - // Prometheus 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + // 事件名称过滤,比如"guest_reboot"表示机器重启 + EventName []*string `json:"EventName,omitempty" name:"EventName"` - //
  • 类型是 TKE,为对应的腾讯云容器服务集群 ID
  • - KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"` + // 影响对象,比如"ins-19708ino" + InstanceId []*string `json:"InstanceId,omitempty" name:"InstanceId"` - // 用户 Kubernetes 集群类型: - //
  • 1 = 容器服务集群(TKE)
  • - KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` + // 维度过滤,比如外网IP:10.0.0.1 + Dimensions []*DescribeProductEventListDimensions `json:"Dimensions,omitempty" name:"Dimensions"` + + // 产品事件地域过滤参数,比如gz,各地域缩写可参见[地域列表](https://cloud.tencent.com/document/product/248/50863) + RegionList []*string `json:"RegionList,omitempty" name:"RegionList"` + + // 事件类型过滤,取值范围["status_change","abnormal"],分别表示状态变更、异常事件 + Type []*string `json:"Type,omitempty" name:"Type"` + + // 事件状态过滤,取值范围["recover","alarm","-"],分别表示已恢复、未恢复、无状态 + Status []*string `json:"Status,omitempty" name:"Status"` + + // 项目ID过滤 + Project []*string `json:"Project,omitempty" name:"Project"` + + // 告警状态配置过滤,1表示已配置,0表示未配置 + IsAlarmConfig *int64 `json:"IsAlarmConfig,omitempty" name:"IsAlarmConfig"` + + // 按更新时间排序,ASC表示升序,DESC表示降序,默认DESC + TimeOrder *string `json:"TimeOrder,omitempty" name:"TimeOrder"` + + // 起始时间,默认一天前的时间戳 + StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` + + // 结束时间,默认当前时间戳 + EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` + + // 页偏移量,默认0 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 每页返回的数量,默认20 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` } -type DescribeServiceDiscoveryRequest struct { +type DescribeProductEventListRequest struct { *tchttp.BaseRequest - // Prometheus 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + // 接口模块名,固定值"monitor" + Module *string `json:"Module,omitempty" name:"Module"` - //
  • 类型是 TKE,为对应的腾讯云容器服务集群 ID
  • - KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"` + // 产品类型过滤,比如"cvm"表示云服务器 + ProductName []*string `json:"ProductName,omitempty" name:"ProductName"` - // 用户 Kubernetes 集群类型: - //
  • 1 = 容器服务集群(TKE)
  • - KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` + // 事件名称过滤,比如"guest_reboot"表示机器重启 + EventName []*string `json:"EventName,omitempty" name:"EventName"` + + // 影响对象,比如"ins-19708ino" + InstanceId []*string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 维度过滤,比如外网IP:10.0.0.1 + Dimensions []*DescribeProductEventListDimensions `json:"Dimensions,omitempty" name:"Dimensions"` + + // 产品事件地域过滤参数,比如gz,各地域缩写可参见[地域列表](https://cloud.tencent.com/document/product/248/50863) + RegionList []*string `json:"RegionList,omitempty" name:"RegionList"` + + // 事件类型过滤,取值范围["status_change","abnormal"],分别表示状态变更、异常事件 + Type []*string `json:"Type,omitempty" name:"Type"` + + // 事件状态过滤,取值范围["recover","alarm","-"],分别表示已恢复、未恢复、无状态 + Status []*string `json:"Status,omitempty" name:"Status"` + + // 项目ID过滤 + Project []*string `json:"Project,omitempty" name:"Project"` + + // 告警状态配置过滤,1表示已配置,0表示未配置 + IsAlarmConfig *int64 `json:"IsAlarmConfig,omitempty" name:"IsAlarmConfig"` + + // 按更新时间排序,ASC表示升序,DESC表示降序,默认DESC + TimeOrder *string `json:"TimeOrder,omitempty" name:"TimeOrder"` + + // 起始时间,默认一天前的时间戳 + StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` + + // 结束时间,默认当前时间戳 + EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` + + // 页偏移量,默认0 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 每页返回的数量,默认20 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` } -func (r *DescribeServiceDiscoveryRequest) ToJsonString() string { +func (r *DescribeProductEventListRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribeServiceDiscoveryRequest) FromJsonString(s string) error { +func (r *DescribeProductEventListRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } + delete(f, "Module") + delete(f, "ProductName") + delete(f, "EventName") delete(f, "InstanceId") - delete(f, "KubeClusterId") - delete(f, "KubeType") + delete(f, "Dimensions") + delete(f, "RegionList") + delete(f, "Type") + delete(f, "Status") + delete(f, "Project") + delete(f, "IsAlarmConfig") + delete(f, "TimeOrder") + delete(f, "StartTime") + delete(f, "EndTime") + delete(f, "Offset") + delete(f, "Limit") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeServiceDiscoveryRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProductEventListRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DescribeServiceDiscoveryResponseParams struct { - // 返回服务发现列表信息 +type DescribeProductEventListResponseParams struct { + // 事件列表 // 注意:此字段可能返回 null,表示取不到有效值。 - ServiceDiscoverySet []*ServiceDiscoveryItem `json:"ServiceDiscoverySet,omitempty" name:"ServiceDiscoverySet"` + Events []*DescribeProductEventListEvents `json:"Events,omitempty" name:"Events"` + + // 事件统计 + OverView *DescribeProductEventListOverView `json:"OverView,omitempty" name:"OverView"` + + // 事件总数 + // 注意:此字段可能返回 null,表示取不到有效值。 + Total *int64 `json:"Total,omitempty" name:"Total"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type DescribeServiceDiscoveryResponse struct { +type DescribeProductEventListResponse struct { *tchttp.BaseResponse - Response *DescribeServiceDiscoveryResponseParams `json:"Response"` + Response *DescribeProductEventListResponseParams `json:"Response"` } -func (r *DescribeServiceDiscoveryResponse) ToJsonString() string { +func (r *DescribeProductEventListResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribeServiceDiscoveryResponse) FromJsonString(s string) error { +func (r *DescribeProductEventListResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DescribeStatisticDataRequestParams struct { - // 所属模块,固定值,为monitor +type DescribeProductListRequestParams struct { + // 固定传值monitor Module *string `json:"Module,omitempty" name:"Module"` - // 命名空间,目前只支持QCE/TKE - Namespace *string `json:"Namespace,omitempty" name:"Namespace"` - - // 指标名列表 - MetricNames []*string `json:"MetricNames,omitempty" name:"MetricNames"` - - // 维度条件,操作符支持=、in - Conditions []*MidQueryCondition `json:"Conditions,omitempty" name:"Conditions"` - - // 统计粒度。默认取值为300,单位为s;可选的值为60、300、3600、86400 - // 受存储时长限制,统计粒度与统计的时间范围有关: - // 60s:EndTime-StartTime<12小时,且StartTime距当前时间不能超过15天; - // 300s:EndTime-StartTime<3天,且StartTime距当前时间不能超过31天; - // 3600s:EndTime-StartTime<30天,且StartTime距当前时间不能超过93天; - // 86400s:EndTime-StartTime<186天,且StartTime距当前时间不能超过186天。 - Period *uint64 `json:"Period,omitempty" name:"Period"` - - // 起始时间,默认为当前时间,如2020-12-08T19:51:23+08:00 - StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + // 排序方式:DESC/ASC(区分大小写),默认值DESC + Order *string `json:"Order,omitempty" name:"Order"` - // 结束时间,默认为当前时间,如2020-12-08T19:51:23+08:00 - EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + // 分页查询的偏移量,默认值0 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` - // 按指定维度groupBy - GroupBys []*string `json:"GroupBys,omitempty" name:"GroupBys"` + // 分页查询的每页数据量,默认值20 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } -type DescribeStatisticDataRequest struct { +type DescribeProductListRequest struct { *tchttp.BaseRequest - // 所属模块,固定值,为monitor + // 固定传值monitor Module *string `json:"Module,omitempty" name:"Module"` - // 命名空间,目前只支持QCE/TKE - Namespace *string `json:"Namespace,omitempty" name:"Namespace"` - - // 指标名列表 - MetricNames []*string `json:"MetricNames,omitempty" name:"MetricNames"` - - // 维度条件,操作符支持=、in - Conditions []*MidQueryCondition `json:"Conditions,omitempty" name:"Conditions"` - - // 统计粒度。默认取值为300,单位为s;可选的值为60、300、3600、86400 - // 受存储时长限制,统计粒度与统计的时间范围有关: - // 60s:EndTime-StartTime<12小时,且StartTime距当前时间不能超过15天; - // 300s:EndTime-StartTime<3天,且StartTime距当前时间不能超过31天; - // 3600s:EndTime-StartTime<30天,且StartTime距当前时间不能超过93天; - // 86400s:EndTime-StartTime<186天,且StartTime距当前时间不能超过186天。 - Period *uint64 `json:"Period,omitempty" name:"Period"` - - // 起始时间,默认为当前时间,如2020-12-08T19:51:23+08:00 - StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + // 排序方式:DESC/ASC(区分大小写),默认值DESC + Order *string `json:"Order,omitempty" name:"Order"` - // 结束时间,默认为当前时间,如2020-12-08T19:51:23+08:00 - EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + // 分页查询的偏移量,默认值0 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` - // 按指定维度groupBy - GroupBys []*string `json:"GroupBys,omitempty" name:"GroupBys"` + // 分页查询的每页数据量,默认值20 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } -func (r *DescribeStatisticDataRequest) ToJsonString() string { +func (r *DescribeProductListRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribeStatisticDataRequest) FromJsonString(s string) error { +func (r *DescribeProductListRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } delete(f, "Module") - delete(f, "Namespace") - delete(f, "MetricNames") - delete(f, "Conditions") - delete(f, "Period") - delete(f, "StartTime") - delete(f, "EndTime") - delete(f, "GroupBys") + delete(f, "Order") + delete(f, "Offset") + delete(f, "Limit") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStatisticDataRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProductListRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DescribeStatisticDataResponseParams struct { - // 统计周期 - Period *uint64 `json:"Period,omitempty" name:"Period"` - - // 开始时间 - StartTime *string `json:"StartTime,omitempty" name:"StartTime"` - - // 结束时间 - EndTime *string `json:"EndTime,omitempty" name:"EndTime"` +type DescribeProductListResponseParams struct { + // 产品信息列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + ProductList []*ProductSimple `json:"ProductList,omitempty" name:"ProductList"` - // 监控数据 - Data []*MetricData `json:"Data,omitempty" name:"Data"` + // 产品总数 + // 注意:此字段可能返回 null,表示取不到有效值。 + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type DescribeStatisticDataResponse struct { +type DescribeProductListResponse struct { *tchttp.BaseResponse - Response *DescribeStatisticDataResponseParams `json:"Response"` + Response *DescribeProductListResponseParams `json:"Response"` } -func (r *DescribeStatisticDataResponse) ToJsonString() string { +func (r *DescribeProductListResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DescribeStatisticDataResponse) FromJsonString(s string) error { +func (r *DescribeProductListResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DestroyPrometheusInstanceRequestParams struct { - // 实例 ID,该实例必须先被 terminate +type DescribePrometheusAgentsRequestParams struct { + // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` -} -type DestroyPrometheusInstanceRequest struct { - *tchttp.BaseRequest - - // 实例 ID,该实例必须先被 terminate - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + // Agent 名称 + Name *string `json:"Name,omitempty" name:"Name"` + + // Agent ID 列表 + AgentIds []*string `json:"AgentIds,omitempty" name:"AgentIds"` + + // 偏移量,默认为0 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 返回数量,默认为20,最大值为100 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` } -func (r *DestroyPrometheusInstanceRequest) ToJsonString() string { +type DescribePrometheusAgentsRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // Agent 名称 + Name *string `json:"Name,omitempty" name:"Name"` + + // Agent ID 列表 + AgentIds []*string `json:"AgentIds,omitempty" name:"AgentIds"` + + // 偏移量,默认为0 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 返回数量,默认为20,最大值为100 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` +} + +func (r *DescribePrometheusAgentsRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DestroyPrometheusInstanceRequest) FromJsonString(s string) error { +func (r *DescribePrometheusAgentsRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } delete(f, "InstanceId") + delete(f, "Name") + delete(f, "AgentIds") + delete(f, "Offset") + delete(f, "Limit") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DestroyPrometheusInstanceRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePrometheusAgentsRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DestroyPrometheusInstanceResponseParams struct { +type DescribePrometheusAgentsResponseParams struct { + // Agent 列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + AgentSet []*PrometheusAgent `json:"AgentSet,omitempty" name:"AgentSet"` + + // Agent 总量 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type DestroyPrometheusInstanceResponse struct { +type DescribePrometheusAgentsResponse struct { *tchttp.BaseResponse - Response *DestroyPrometheusInstanceResponseParams `json:"Response"` + Response *DescribePrometheusAgentsResponseParams `json:"Response"` } -func (r *DestroyPrometheusInstanceResponse) ToJsonString() string { +func (r *DescribePrometheusAgentsResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DestroyPrometheusInstanceResponse) FromJsonString(s string) error { +func (r *DescribePrometheusAgentsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type Dimension struct { - // 实例维度名称 - Name *string `json:"Name,omitempty" name:"Name"` - - // 实例维度值 - Value *string `json:"Value,omitempty" name:"Value"` -} - -type DimensionsDesc struct { - // 维度名数组 - Dimensions []*string `json:"Dimensions,omitempty" name:"Dimensions"` -} - -type EventCondition struct { - // 告警通知频率 - // 注意:此字段可能返回 null,表示取不到有效值。 - AlarmNotifyPeriod *string `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"` - - // 重复通知策略预定义(0 - 只告警一次, 1 - 指数告警,2 - 连接告警) - // 注意:此字段可能返回 null,表示取不到有效值。 - AlarmNotifyType *string `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"` - - // 事件ID - EventID *string `json:"EventID,omitempty" name:"EventID"` +// Predefined struct for user +type DescribePrometheusInstancesRequestParams struct { + // 按照一个或者多个实例ID查询。实例ID形如:prom-xxxxxxxx。请求的实例的上限为100。 + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"` - // 事件展示名称(对外) - EventDisplayName *string `json:"EventDisplayName,omitempty" name:"EventDisplayName"` + // 按照【实例状态】进行过滤。 + // + InstanceStatus []*int64 `json:"InstanceStatus,omitempty" name:"InstanceStatus"` - // 规则ID - RuleID *string `json:"RuleID,omitempty" name:"RuleID"` -} + // 按照【实例名称】进行过滤。 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` -// Predefined struct for user -type GetMonitorDataRequestParams struct { - // 命名空间,如QCE/CVM。各个云产品的详细命名空间说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档 - Namespace *string `json:"Namespace,omitempty" name:"Namespace"` + // 按照【可用区】进行过滤。可用区形如:ap-guangzhou-1。 + Zones []*string `json:"Zones,omitempty" name:"Zones"` - // 指标名称,如CPUUsage,仅支持单指标拉取。各个云产品的详细指标说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的指标英文名即为MetricName - MetricName *string `json:"MetricName,omitempty" name:"MetricName"` + // 按照【标签键值对】进行过滤。tag-key使用具体的标签键进行替换。 + TagFilters []*PrometheusTag `json:"TagFilters,omitempty" name:"TagFilters"` - // 实例对象的维度组合,格式为key-value键值对形式的集合。不同类型的实例字段完全不同,如CVM为[{"Name":"InstanceId","Value":"ins-j0hk02zo"}],Ckafka为[{"Name":"instanceId","Value":"ckafka-l49k54dd"}],COS为[{"Name":"appid","Value":"1258344699"},{"Name":"bucket","Value":"rig-1258344699"}]。各个云产品的维度请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的维度列即为维度组合的key,value为key对应的值。单请求最多支持批量拉取10个实例的监控数据。 - Instances []*Instance `json:"Instances,omitempty" name:"Instances"` + // 按照【实例的IPv4地址】进行过滤。 + IPv4Address []*string `json:"IPv4Address,omitempty" name:"IPv4Address"` - // 监控统计周期,如60。默认为取值为300,单位为s。每个指标支持的统计周期不一定相同,各个云产品支持的统计周期请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的统计周期列即为支持的统计周期。单请求的数据点数限制为1440个。 - Period *uint64 `json:"Period,omitempty" name:"Period"` + // 返回数量,默认为20,最大值为100。 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` - // 起始时间,如2018-09-22T19:51:23+08:00 - StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + // 偏移量,默认为0。 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` - // 结束时间,如2018-09-22T20:51:23+08:00,默认为当前时间。 EndTime不能小于StartTime - EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + // 按照【计费类型】进行过滤。 + //
  • 2:包年包月
  • + //
  • 3:按量
  • + InstanceChargeType *int64 `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` } -type GetMonitorDataRequest struct { +type DescribePrometheusInstancesRequest struct { *tchttp.BaseRequest - // 命名空间,如QCE/CVM。各个云产品的详细命名空间说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档 - Namespace *string `json:"Namespace,omitempty" name:"Namespace"` + // 按照一个或者多个实例ID查询。实例ID形如:prom-xxxxxxxx。请求的实例的上限为100。 + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"` - // 指标名称,如CPUUsage,仅支持单指标拉取。各个云产品的详细指标说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的指标英文名即为MetricName - MetricName *string `json:"MetricName,omitempty" name:"MetricName"` + // 按照【实例状态】进行过滤。 + // + InstanceStatus []*int64 `json:"InstanceStatus,omitempty" name:"InstanceStatus"` - // 实例对象的维度组合,格式为key-value键值对形式的集合。不同类型的实例字段完全不同,如CVM为[{"Name":"InstanceId","Value":"ins-j0hk02zo"}],Ckafka为[{"Name":"instanceId","Value":"ckafka-l49k54dd"}],COS为[{"Name":"appid","Value":"1258344699"},{"Name":"bucket","Value":"rig-1258344699"}]。各个云产品的维度请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的维度列即为维度组合的key,value为key对应的值。单请求最多支持批量拉取10个实例的监控数据。 - Instances []*Instance `json:"Instances,omitempty" name:"Instances"` + // 按照【实例名称】进行过滤。 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` - // 监控统计周期,如60。默认为取值为300,单位为s。每个指标支持的统计周期不一定相同,各个云产品支持的统计周期请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的统计周期列即为支持的统计周期。单请求的数据点数限制为1440个。 - Period *uint64 `json:"Period,omitempty" name:"Period"` + // 按照【可用区】进行过滤。可用区形如:ap-guangzhou-1。 + Zones []*string `json:"Zones,omitempty" name:"Zones"` - // 起始时间,如2018-09-22T19:51:23+08:00 - StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + // 按照【标签键值对】进行过滤。tag-key使用具体的标签键进行替换。 + TagFilters []*PrometheusTag `json:"TagFilters,omitempty" name:"TagFilters"` - // 结束时间,如2018-09-22T20:51:23+08:00,默认为当前时间。 EndTime不能小于StartTime - EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + // 按照【实例的IPv4地址】进行过滤。 + IPv4Address []*string `json:"IPv4Address,omitempty" name:"IPv4Address"` + + // 返回数量,默认为20,最大值为100。 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` + + // 偏移量,默认为0。 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 按照【计费类型】进行过滤。 + //
  • 2:包年包月
  • + //
  • 3:按量
  • + InstanceChargeType *int64 `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` } -func (r *GetMonitorDataRequest) ToJsonString() string { +func (r *DescribePrometheusInstancesRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *GetMonitorDataRequest) FromJsonString(s string) error { +func (r *DescribePrometheusInstancesRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Namespace") - delete(f, "MetricName") - delete(f, "Instances") - delete(f, "Period") - delete(f, "StartTime") - delete(f, "EndTime") + delete(f, "InstanceIds") + delete(f, "InstanceStatus") + delete(f, "InstanceName") + delete(f, "Zones") + delete(f, "TagFilters") + delete(f, "IPv4Address") + delete(f, "Limit") + delete(f, "Offset") + delete(f, "InstanceChargeType") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetMonitorDataRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePrometheusInstancesRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type GetMonitorDataResponseParams struct { - // 统计周期 - Period *uint64 `json:"Period,omitempty" name:"Period"` - - // 指标名 - MetricName *string `json:"MetricName,omitempty" name:"MetricName"` - - // 数据点数组 - DataPoints []*DataPoint `json:"DataPoints,omitempty" name:"DataPoints"` - - // 开始时间 - StartTime *string `json:"StartTime,omitempty" name:"StartTime"` +type DescribePrometheusInstancesResponseParams struct { + // 实例详细信息列表。 + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceSet []*PrometheusInstancesItem `json:"InstanceSet,omitempty" name:"InstanceSet"` - // 结束时间 - EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + // 符合条件的实例数量。 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type GetMonitorDataResponse struct { +type DescribePrometheusInstancesResponse struct { *tchttp.BaseResponse - Response *GetMonitorDataResponseParams `json:"Response"` + Response *DescribePrometheusInstancesResponseParams `json:"Response"` } -func (r *GetMonitorDataResponse) ToJsonString() string { +func (r *DescribePrometheusInstancesResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *GetMonitorDataResponse) FromJsonString(s string) error { +func (r *DescribePrometheusInstancesResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type GetPrometheusAgentManagementCommandRequestParams struct { - // Prometheus 实例 ID +type DescribePrometheusScrapeJobsRequestParams struct { + // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // Prometheus Agent ID + // Agent ID AgentId *string `json:"AgentId,omitempty" name:"AgentId"` + + // 任务名 + Name *string `json:"Name,omitempty" name:"Name"` + + // 任务 ID 列表 + JobIds []*string `json:"JobIds,omitempty" name:"JobIds"` + + // 偏移量,默认为0 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 返回数量,默认为20,最大值为100 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` } -type GetPrometheusAgentManagementCommandRequest struct { +type DescribePrometheusScrapeJobsRequest struct { *tchttp.BaseRequest - // Prometheus 实例 ID + // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // Prometheus Agent ID + // Agent ID AgentId *string `json:"AgentId,omitempty" name:"AgentId"` -} -func (r *GetPrometheusAgentManagementCommandRequest) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) + // 任务名 + Name *string `json:"Name,omitempty" name:"Name"` + + // 任务 ID 列表 + JobIds []*string `json:"JobIds,omitempty" name:"JobIds"` + + // 偏移量,默认为0 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 返回数量,默认为20,最大值为100 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` +} + +func (r *DescribePrometheusScrapeJobsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *GetPrometheusAgentManagementCommandRequest) FromJsonString(s string) error { +func (r *DescribePrometheusScrapeJobsRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } delete(f, "InstanceId") delete(f, "AgentId") + delete(f, "Name") + delete(f, "JobIds") + delete(f, "Offset") + delete(f, "Limit") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetPrometheusAgentManagementCommandRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePrometheusScrapeJobsRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type GetPrometheusAgentManagementCommandResponseParams struct { - // Agent 管理命令 - Command *ManagementCommand `json:"Command,omitempty" name:"Command"` +type DescribePrometheusScrapeJobsResponseParams struct { + // 任务列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + ScrapeJobSet []*PrometheusScrapeJob `json:"ScrapeJobSet,omitempty" name:"ScrapeJobSet"` + + // 任务总量 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type GetPrometheusAgentManagementCommandResponse struct { +type DescribePrometheusScrapeJobsResponse struct { *tchttp.BaseResponse - Response *GetPrometheusAgentManagementCommandResponseParams `json:"Response"` + Response *DescribePrometheusScrapeJobsResponseParams `json:"Response"` } -func (r *GetPrometheusAgentManagementCommandResponse) ToJsonString() string { +func (r *DescribePrometheusScrapeJobsResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *GetPrometheusAgentManagementCommandResponse) FromJsonString(s string) error { +func (r *DescribePrometheusScrapeJobsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type Instance struct { - // 实例的维度组合 - Dimensions []*Dimension `json:"Dimensions,omitempty" name:"Dimensions"` -} +// Predefined struct for user +type DescribeRecordingRulesRequestParams struct { + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` -type InstanceGroup struct { - // 实例组ID - // 注意:此字段可能返回 null,表示取不到有效值。 - InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` + // 返回数量,默认为 20,最大值为 100 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` - // 实例组名 - // 注意:此字段可能返回 null,表示取不到有效值。 - InstanceGroupName *string `json:"InstanceGroupName,omitempty" name:"InstanceGroupName"` -} + // 偏移量,默认为 0 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` -type InstanceGroups struct { - // 实例组 Id - Id *int64 `json:"Id,omitempty" name:"Id"` + // 规则 ID + RuleId *string `json:"RuleId,omitempty" name:"RuleId"` - // 实例组名称 - Name *string `json:"Name,omitempty" name:"Name"` -} + // 规则状态码,取值如下: + //
  • 1=RuleDeleted
  • + //
  • 2=RuleEnabled
  • + //
  • 3=RuleDisabled
  • + RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` -type IntegrationConfiguration struct { - // 名字 + // 规则名称 Name *string `json:"Name,omitempty" name:"Name"` +} - // 类型 - Kind *string `json:"Kind,omitempty" name:"Kind"` +type DescribeRecordingRulesRequest struct { + *tchttp.BaseRequest + + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 内容 - Content *string `json:"Content,omitempty" name:"Content"` + // 返回数量,默认为 20,最大值为 100 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` - // 状态 - Status *int64 `json:"Status,omitempty" name:"Status"` + // 偏移量,默认为 0 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` - // 实例类型 - Category *string `json:"Category,omitempty" name:"Category"` + // 规则 ID + RuleId *string `json:"RuleId,omitempty" name:"RuleId"` - // 实例描述 - InstanceDesc *string `json:"InstanceDesc,omitempty" name:"InstanceDesc"` + // 规则状态码,取值如下: + //
  • 1=RuleDeleted
  • + //
  • 2=RuleEnabled
  • + //
  • 3=RuleDisabled
  • + RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` - // dashboard 的 URL - GrafanaDashboardURL *string `json:"GrafanaDashboardURL,omitempty" name:"GrafanaDashboardURL"` + // 规则名称 + Name *string `json:"Name,omitempty" name:"Name"` } -type ManagementCommand struct { - // Agent 安装命令 - // 注意:此字段可能返回 null,表示取不到有效值。 - Install *string `json:"Install,omitempty" name:"Install"` +func (r *DescribeRecordingRulesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // Agent 重启命令 - // 注意:此字段可能返回 null,表示取不到有效值。 - Restart *string `json:"Restart,omitempty" name:"Restart"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeRecordingRulesRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "Limit") + delete(f, "Offset") + delete(f, "RuleId") + delete(f, "RuleState") + delete(f, "Name") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRecordingRulesRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // Agent 停止命令 - // 注意:此字段可能返回 null,表示取不到有效值。 - Stop *string `json:"Stop,omitempty" name:"Stop"` +// Predefined struct for user +type DescribeRecordingRulesResponseParams struct { + // 规则组数量 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` - // Agent 状态检测命令 + // 规则组详情 // 注意:此字段可能返回 null,表示取不到有效值。 - StatusCheck *string `json:"StatusCheck,omitempty" name:"StatusCheck"` + RecordingRuleSet []*RecordingRuleSet `json:"RecordingRuleSet,omitempty" name:"RecordingRuleSet"` - // Agent 日志检测命令 - // 注意:此字段可能返回 null,表示取不到有效值。 - LogCheck *string `json:"LogCheck,omitempty" name:"LogCheck"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type Metric struct { - // 告警策略类型 - Namespace *string `json:"Namespace,omitempty" name:"Namespace"` - - // 指标名 - MetricName *string `json:"MetricName,omitempty" name:"MetricName"` - - // 指标展示名 - Description *string `json:"Description,omitempty" name:"Description"` +type DescribeRecordingRulesResponse struct { + *tchttp.BaseResponse + Response *DescribeRecordingRulesResponseParams `json:"Response"` +} - // 最小值 - Min *float64 `json:"Min,omitempty" name:"Min"` +func (r *DescribeRecordingRulesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 最大值 - Max *float64 `json:"Max,omitempty" name:"Max"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeRecordingRulesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} - // 维度列表 - Dimensions []*string `json:"Dimensions,omitempty" name:"Dimensions"` +// Predefined struct for user +type DescribeSSOAccountRequestParams struct { + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} - // 单位 - Unit *string `json:"Unit,omitempty" name:"Unit"` +type DescribeSSOAccountRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} - // 指标配置 - // 注意:此字段可能返回 null,表示取不到有效值。 - MetricConfig *MetricConfig `json:"MetricConfig,omitempty" name:"MetricConfig"` +func (r *DescribeSSOAccountRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 是否为高级指标。1是 0否 - // 注意:此字段可能返回 null,表示取不到有效值。 - IsAdvanced *int64 `json:"IsAdvanced,omitempty" name:"IsAdvanced"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeSSOAccountRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSSOAccountRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // 高级指标是否开通。1是 0否 +// Predefined struct for user +type DescribeSSOAccountResponseParams struct { + // 授权账号列表 // 注意:此字段可能返回 null,表示取不到有效值。 - IsOpen *int64 `json:"IsOpen,omitempty" name:"IsOpen"` + AccountSet []*GrafanaAccountInfo `json:"AccountSet,omitempty" name:"AccountSet"` - // 集成中心产品ID - // 注意:此字段可能返回 null,表示取不到有效值。 - ProductId *int64 `json:"ProductId,omitempty" name:"ProductId"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type MetricConfig struct { - // 允许使用的运算符 - Operator []*string `json:"Operator,omitempty" name:"Operator"` - - // 允许配置的数据周期,以秒为单位 - Period []*int64 `json:"Period,omitempty" name:"Period"` - - // 允许配置的持续周期个数 - ContinuePeriod []*int64 `json:"ContinuePeriod,omitempty" name:"ContinuePeriod"` +type DescribeSSOAccountResponse struct { + *tchttp.BaseResponse + Response *DescribeSSOAccountResponseParams `json:"Response"` } -type MetricData struct { - // 指标名 - MetricName *string `json:"MetricName,omitempty" name:"MetricName"` - - // 监控数据点 - Points []*MetricDataPoint `json:"Points,omitempty" name:"Points"` +func (r *DescribeSSOAccountResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) } -type MetricDataPoint struct { - // 实例对象维度组合 - Dimensions []*Dimension `json:"Dimensions,omitempty" name:"Dimensions"` - - // 数据点列表 - Values []*Point `json:"Values,omitempty" name:"Values"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeSSOAccountResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) } -type MetricDatum struct { - // 指标名称 - MetricName *string `json:"MetricName,omitempty" name:"MetricName"` +// Predefined struct for user +type DescribeServiceDiscoveryRequestParams struct { + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 指标的值 - Value *uint64 `json:"Value,omitempty" name:"Value"` -} - -type MetricObjectMeaning struct { - // 指标英文解释 - En *string `json:"En,omitempty" name:"En"` - - // 指标中文解释 - Zh *string `json:"Zh,omitempty" name:"Zh"` -} - -type MetricSet struct { - // 命名空间,每个云产品会有一个命名空间 - Namespace *string `json:"Namespace,omitempty" name:"Namespace"` - - // 指标名称 - MetricName *string `json:"MetricName,omitempty" name:"MetricName"` - - // 指标使用的单位 - Unit *string `json:"Unit,omitempty" name:"Unit"` - - // 指标使用的单位 - UnitCname *string `json:"UnitCname,omitempty" name:"UnitCname"` - - // 指标支持的统计周期,单位是秒,如60、300 - Period []*int64 `json:"Period,omitempty" name:"Period"` - - // 统计周期内指标方式 - Periods []*PeriodsSt `json:"Periods,omitempty" name:"Periods"` - - // 统计指标含义解释 - Meaning *MetricObjectMeaning `json:"Meaning,omitempty" name:"Meaning"` - - // 维度描述信息 - Dimensions []*DimensionsDesc `json:"Dimensions,omitempty" name:"Dimensions"` - - // 指标中文名 - // 注意:此字段可能返回 null,表示取不到有效值。 - MetricCName *string `json:"MetricCName,omitempty" name:"MetricCName"` - - // 指标英文名 - // 注意:此字段可能返回 null,表示取不到有效值。 - MetricEName *string `json:"MetricEName,omitempty" name:"MetricEName"` -} - -type MidQueryCondition struct { - // 维度 - Key *string `json:"Key,omitempty" name:"Key"` - - // 操作符,支持等于(eq)、不等于(ne),以及in - Operator *string `json:"Operator,omitempty" name:"Operator"` - - // 维度值,当Op是eq、ne时,只使用第一个元素 - Value []*string `json:"Value,omitempty" name:"Value"` -} - -// Predefined struct for user -type ModifyAlarmNoticeRequestParams struct { - // 模块名,这里填“monitor” - Module *string `json:"Module,omitempty" name:"Module"` - - // 告警通知规则名称 60字符以内 - Name *string `json:"Name,omitempty" name:"Name"` - - // 通知类型 ALARM=未恢复通知 OK=已恢复通知 ALL=都通知 - NoticeType *string `json:"NoticeType,omitempty" name:"NoticeType"` - - // 通知语言 zh-CN=中文 en-US=英文 - NoticeLanguage *string `json:"NoticeLanguage,omitempty" name:"NoticeLanguage"` - - // 告警通知模板 ID - NoticeId *string `json:"NoticeId,omitempty" name:"NoticeId"` - - // 用户通知 最多5个 - UserNotices []*UserNotice `json:"UserNotices,omitempty" name:"UserNotices"` - - // 回调通知 最多3个 - URLNotices []*URLNotice `json:"URLNotices,omitempty" name:"URLNotices"` + //
  • 类型是 TKE,为对应的腾讯云容器服务集群 ID
  • + KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"` - // 告警通知推送到CLS服务 最多1个 - CLSNotices []*CLSNotice `json:"CLSNotices,omitempty" name:"CLSNotices"` + // 用户 Kubernetes 集群类型: + //
  • 1 = 容器服务集群(TKE)
  • + KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` } -type ModifyAlarmNoticeRequest struct { +type DescribeServiceDiscoveryRequest struct { *tchttp.BaseRequest - // 模块名,这里填“monitor” - Module *string `json:"Module,omitempty" name:"Module"` - - // 告警通知规则名称 60字符以内 - Name *string `json:"Name,omitempty" name:"Name"` - - // 通知类型 ALARM=未恢复通知 OK=已恢复通知 ALL=都通知 - NoticeType *string `json:"NoticeType,omitempty" name:"NoticeType"` - - // 通知语言 zh-CN=中文 en-US=英文 - NoticeLanguage *string `json:"NoticeLanguage,omitempty" name:"NoticeLanguage"` - - // 告警通知模板 ID - NoticeId *string `json:"NoticeId,omitempty" name:"NoticeId"` - - // 用户通知 最多5个 - UserNotices []*UserNotice `json:"UserNotices,omitempty" name:"UserNotices"` + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 回调通知 最多3个 - URLNotices []*URLNotice `json:"URLNotices,omitempty" name:"URLNotices"` + //
  • 类型是 TKE,为对应的腾讯云容器服务集群 ID
  • + KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"` - // 告警通知推送到CLS服务 最多1个 - CLSNotices []*CLSNotice `json:"CLSNotices,omitempty" name:"CLSNotices"` + // 用户 Kubernetes 集群类型: + //
  • 1 = 容器服务集群(TKE)
  • + KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` } -func (r *ModifyAlarmNoticeRequest) ToJsonString() string { +func (r *DescribeServiceDiscoveryRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmNoticeRequest) FromJsonString(s string) error { +func (r *DescribeServiceDiscoveryRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Module") - delete(f, "Name") - delete(f, "NoticeType") - delete(f, "NoticeLanguage") - delete(f, "NoticeId") - delete(f, "UserNotices") - delete(f, "URLNotices") - delete(f, "CLSNotices") + delete(f, "InstanceId") + delete(f, "KubeClusterId") + delete(f, "KubeType") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmNoticeRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeServiceDiscoveryRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyAlarmNoticeResponseParams struct { +type DescribeServiceDiscoveryResponseParams struct { + // 返回服务发现列表信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ServiceDiscoverySet []*ServiceDiscoveryItem `json:"ServiceDiscoverySet,omitempty" name:"ServiceDiscoverySet"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type ModifyAlarmNoticeResponse struct { +type DescribeServiceDiscoveryResponse struct { *tchttp.BaseResponse - Response *ModifyAlarmNoticeResponseParams `json:"Response"` + Response *DescribeServiceDiscoveryResponseParams `json:"Response"` } -func (r *ModifyAlarmNoticeResponse) ToJsonString() string { +func (r *DescribeServiceDiscoveryResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmNoticeResponse) FromJsonString(s string) error { +func (r *DescribeServiceDiscoveryResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyAlarmPolicyConditionRequestParams struct { - // 模块名,固定值 monitor +type DescribeStatisticDataRequestParams struct { + // 所属模块,固定值,为monitor Module *string `json:"Module,omitempty" name:"Module"` - // 告警策略 ID - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // 命名空间,目前只支持QCE/TKE + Namespace *string `json:"Namespace,omitempty" name:"Namespace"` - // 触发条件模板 Id,可不传 - ConditionTemplateId *int64 `json:"ConditionTemplateId,omitempty" name:"ConditionTemplateId"` + // 指标名列表 + MetricNames []*string `json:"MetricNames,omitempty" name:"MetricNames"` - // 指标触发条件 - Condition *AlarmPolicyCondition `json:"Condition,omitempty" name:"Condition"` + // 维度条件,操作符支持=、in + Conditions []*MidQueryCondition `json:"Conditions,omitempty" name:"Conditions"` - // 事件触发条件 - EventCondition *AlarmPolicyEventCondition `json:"EventCondition,omitempty" name:"EventCondition"` + // 统计粒度。默认取值为300,单位为s;可选的值为60、300、3600、86400 + // 受存储时长限制,统计粒度与统计的时间范围有关: + // 60s:EndTime-StartTime<12小时,且StartTime距当前时间不能超过15天; + // 300s:EndTime-StartTime<3天,且StartTime距当前时间不能超过31天; + // 3600s:EndTime-StartTime<30天,且StartTime距当前时间不能超过93天; + // 86400s:EndTime-StartTime<186天,且StartTime距当前时间不能超过186天。 + Period *uint64 `json:"Period,omitempty" name:"Period"` - // 全局过滤条件 - Filter *AlarmPolicyFilter `json:"Filter,omitempty" name:"Filter"` + // 起始时间,默认为当前时间,如2020-12-08T19:51:23+08:00 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` - // 聚合维度列表,指定按哪些维度 key 来做 group by - GroupBy []*string `json:"GroupBy,omitempty" name:"GroupBy"` + // 结束时间,默认为当前时间,如2020-12-08T19:51:23+08:00 + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + + // 按指定维度groupBy + GroupBys []*string `json:"GroupBys,omitempty" name:"GroupBys"` } -type ModifyAlarmPolicyConditionRequest struct { +type DescribeStatisticDataRequest struct { *tchttp.BaseRequest - // 模块名,固定值 monitor + // 所属模块,固定值,为monitor Module *string `json:"Module,omitempty" name:"Module"` - // 告警策略 ID - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // 命名空间,目前只支持QCE/TKE + Namespace *string `json:"Namespace,omitempty" name:"Namespace"` - // 触发条件模板 Id,可不传 - ConditionTemplateId *int64 `json:"ConditionTemplateId,omitempty" name:"ConditionTemplateId"` + // 指标名列表 + MetricNames []*string `json:"MetricNames,omitempty" name:"MetricNames"` - // 指标触发条件 - Condition *AlarmPolicyCondition `json:"Condition,omitempty" name:"Condition"` + // 维度条件,操作符支持=、in + Conditions []*MidQueryCondition `json:"Conditions,omitempty" name:"Conditions"` - // 事件触发条件 - EventCondition *AlarmPolicyEventCondition `json:"EventCondition,omitempty" name:"EventCondition"` + // 统计粒度。默认取值为300,单位为s;可选的值为60、300、3600、86400 + // 受存储时长限制,统计粒度与统计的时间范围有关: + // 60s:EndTime-StartTime<12小时,且StartTime距当前时间不能超过15天; + // 300s:EndTime-StartTime<3天,且StartTime距当前时间不能超过31天; + // 3600s:EndTime-StartTime<30天,且StartTime距当前时间不能超过93天; + // 86400s:EndTime-StartTime<186天,且StartTime距当前时间不能超过186天。 + Period *uint64 `json:"Period,omitempty" name:"Period"` - // 全局过滤条件 - Filter *AlarmPolicyFilter `json:"Filter,omitempty" name:"Filter"` + // 起始时间,默认为当前时间,如2020-12-08T19:51:23+08:00 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` - // 聚合维度列表,指定按哪些维度 key 来做 group by - GroupBy []*string `json:"GroupBy,omitempty" name:"GroupBy"` + // 结束时间,默认为当前时间,如2020-12-08T19:51:23+08:00 + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + + // 按指定维度groupBy + GroupBys []*string `json:"GroupBys,omitempty" name:"GroupBys"` } -func (r *ModifyAlarmPolicyConditionRequest) ToJsonString() string { +func (r *DescribeStatisticDataRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmPolicyConditionRequest) FromJsonString(s string) error { +func (r *DescribeStatisticDataRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } delete(f, "Module") - delete(f, "PolicyId") - delete(f, "ConditionTemplateId") - delete(f, "Condition") - delete(f, "EventCondition") - delete(f, "Filter") - delete(f, "GroupBy") + delete(f, "Namespace") + delete(f, "MetricNames") + delete(f, "Conditions") + delete(f, "Period") + delete(f, "StartTime") + delete(f, "EndTime") + delete(f, "GroupBys") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmPolicyConditionRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStatisticDataRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyAlarmPolicyConditionResponseParams struct { +type DescribeStatisticDataResponseParams struct { + // 统计周期 + Period *uint64 `json:"Period,omitempty" name:"Period"` + + // 开始时间 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + + // 监控数据 + Data []*MetricData `json:"Data,omitempty" name:"Data"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type ModifyAlarmPolicyConditionResponse struct { +type DescribeStatisticDataResponse struct { *tchttp.BaseResponse - Response *ModifyAlarmPolicyConditionResponseParams `json:"Response"` + Response *DescribeStatisticDataResponseParams `json:"Response"` } -func (r *ModifyAlarmPolicyConditionResponse) ToJsonString() string { +func (r *DescribeStatisticDataResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmPolicyConditionResponse) FromJsonString(s string) error { +func (r *DescribeStatisticDataResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyAlarmPolicyInfoRequestParams struct { - // 模块名,这里填“monitor” - Module *string `json:"Module,omitempty" name:"Module"` - - // 告警策略 ID - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` - - // 要修改的字段 NAME=策略名称 REMARK=策略备注 - Key *string `json:"Key,omitempty" name:"Key"` - - // 修改后的值 - Value *string `json:"Value,omitempty" name:"Value"` +type DestroyPrometheusInstanceRequestParams struct { + // 实例 ID,该实例必须先被 terminate + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } -type ModifyAlarmPolicyInfoRequest struct { +type DestroyPrometheusInstanceRequest struct { *tchttp.BaseRequest - // 模块名,这里填“monitor” - Module *string `json:"Module,omitempty" name:"Module"` - - // 告警策略 ID - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` - - // 要修改的字段 NAME=策略名称 REMARK=策略备注 - Key *string `json:"Key,omitempty" name:"Key"` - - // 修改后的值 - Value *string `json:"Value,omitempty" name:"Value"` + // 实例 ID,该实例必须先被 terminate + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } -func (r *ModifyAlarmPolicyInfoRequest) ToJsonString() string { +func (r *DestroyPrometheusInstanceRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmPolicyInfoRequest) FromJsonString(s string) error { +func (r *DestroyPrometheusInstanceRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Module") - delete(f, "PolicyId") - delete(f, "Key") - delete(f, "Value") + delete(f, "InstanceId") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmPolicyInfoRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DestroyPrometheusInstanceRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyAlarmPolicyInfoResponseParams struct { +type DestroyPrometheusInstanceResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type ModifyAlarmPolicyInfoResponse struct { +type DestroyPrometheusInstanceResponse struct { *tchttp.BaseResponse - Response *ModifyAlarmPolicyInfoResponseParams `json:"Response"` + Response *DestroyPrometheusInstanceResponseParams `json:"Response"` } -func (r *ModifyAlarmPolicyInfoResponse) ToJsonString() string { +func (r *DestroyPrometheusInstanceResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmPolicyInfoResponse) FromJsonString(s string) error { +func (r *DestroyPrometheusInstanceResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -// Predefined struct for user -type ModifyAlarmPolicyNoticeRequestParams struct { - // 模块名,这里填“monitor”。 - Module *string `json:"Module,omitempty" name:"Module"` +type Dimension struct { + // 实例维度名称 + Name *string `json:"Name,omitempty" name:"Name"` - // 告警策略 ID,如果该参数与PolicyIds参数同时存在,则以PolicyIds为准。 - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // 实例维度值 + Value *string `json:"Value,omitempty" name:"Value"` +} - // 告警通知模板 ID 列表。 - NoticeIds []*string `json:"NoticeIds,omitempty" name:"NoticeIds"` +type DimensionNew struct { + // 维度 key 标示,后台英文名 + Key *string `json:"Key,omitempty" name:"Key"` - // 告警策略ID数组,支持给多个告警策略批量绑定通知模板。最多30个。 - PolicyIds []*string `json:"PolicyIds,omitempty" name:"PolicyIds"` -} + // 维度 key 名称,中英文前台展示名 + Name *string `json:"Name,omitempty" name:"Name"` -type ModifyAlarmPolicyNoticeRequest struct { - *tchttp.BaseRequest - - // 模块名,这里填“monitor”。 - Module *string `json:"Module,omitempty" name:"Module"` + // 是否必选 + IsRequired *bool `json:"IsRequired,omitempty" name:"IsRequired"` - // 告警策略 ID,如果该参数与PolicyIds参数同时存在,则以PolicyIds为准。 - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // 支持的操作符列表 + Operators []*Operator `json:"Operators,omitempty" name:"Operators"` - // 告警通知模板 ID 列表。 - NoticeIds []*string `json:"NoticeIds,omitempty" name:"NoticeIds"` + // 是否支持多选 + IsMultiple *bool `json:"IsMultiple,omitempty" name:"IsMultiple"` - // 告警策略ID数组,支持给多个告警策略批量绑定通知模板。最多30个。 - PolicyIds []*string `json:"PolicyIds,omitempty" name:"PolicyIds"` -} + // 创建后是否可以修改 + IsMutable *bool `json:"IsMutable,omitempty" name:"IsMutable"` -func (r *ModifyAlarmPolicyNoticeRequest) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} + // 是否展示给用户 + IsVisible *bool `json:"IsVisible,omitempty" name:"IsVisible"` -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *ModifyAlarmPolicyNoticeRequest) FromJsonString(s string) error { - f := make(map[string]interface{}) - if err := json.Unmarshal([]byte(s), &f); err != nil { - return err - } - delete(f, "Module") - delete(f, "PolicyId") - delete(f, "NoticeIds") - delete(f, "PolicyIds") - if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmPolicyNoticeRequest has unknown keys!", "") - } - return json.Unmarshal([]byte(s), &r) -} + // 能否用来过滤策略列表 + CanFilterPolicy *bool `json:"CanFilterPolicy,omitempty" name:"CanFilterPolicy"` -// Predefined struct for user -type ModifyAlarmPolicyNoticeResponseParams struct { - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` -} + // 能否用来过滤告警历史 + CanFilterHistory *bool `json:"CanFilterHistory,omitempty" name:"CanFilterHistory"` -type ModifyAlarmPolicyNoticeResponse struct { - *tchttp.BaseResponse - Response *ModifyAlarmPolicyNoticeResponseParams `json:"Response"` -} + // 能否作为聚合维度 + CanGroupBy *bool `json:"CanGroupBy,omitempty" name:"CanGroupBy"` -func (r *ModifyAlarmPolicyNoticeResponse) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) + // 是否必须作为聚合维度 + MustGroupBy *bool `json:"MustGroupBy,omitempty" name:"MustGroupBy"` + + // 前端翻译要替换的 key + // 注意:此字段可能返回 null,表示取不到有效值。 + ShowValueReplace *string `json:"ShowValueReplace,omitempty" name:"ShowValueReplace"` } -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *ModifyAlarmPolicyNoticeResponse) FromJsonString(s string) error { - return json.Unmarshal([]byte(s), &r) +type DimensionsDesc struct { + // 维度名数组 + Dimensions []*string `json:"Dimensions,omitempty" name:"Dimensions"` } // Predefined struct for user -type ModifyAlarmPolicyStatusRequestParams struct { - // 模块名,固定值 monitor - Module *string `json:"Module,omitempty" name:"Module"` - - // 告警策略 ID - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` +type EnableGrafanaInternetRequestParams struct { + // 实例 ID + InstanceID *string `json:"InstanceID,omitempty" name:"InstanceID"` - // 启停状态 0=停用 1=启用 - Enable *int64 `json:"Enable,omitempty" name:"Enable"` + // 开启或关闭 + EnableInternet *bool `json:"EnableInternet,omitempty" name:"EnableInternet"` } -type ModifyAlarmPolicyStatusRequest struct { +type EnableGrafanaInternetRequest struct { *tchttp.BaseRequest - // 模块名,固定值 monitor - Module *string `json:"Module,omitempty" name:"Module"` - - // 告警策略 ID - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // 实例 ID + InstanceID *string `json:"InstanceID,omitempty" name:"InstanceID"` - // 启停状态 0=停用 1=启用 - Enable *int64 `json:"Enable,omitempty" name:"Enable"` + // 开启或关闭 + EnableInternet *bool `json:"EnableInternet,omitempty" name:"EnableInternet"` } -func (r *ModifyAlarmPolicyStatusRequest) ToJsonString() string { +func (r *EnableGrafanaInternetRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmPolicyStatusRequest) FromJsonString(s string) error { +func (r *EnableGrafanaInternetRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Module") - delete(f, "PolicyId") - delete(f, "Enable") + delete(f, "InstanceID") + delete(f, "EnableInternet") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmPolicyStatusRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "EnableGrafanaInternetRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyAlarmPolicyStatusResponseParams struct { +type EnableGrafanaInternetResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type ModifyAlarmPolicyStatusResponse struct { +type EnableGrafanaInternetResponse struct { *tchttp.BaseResponse - Response *ModifyAlarmPolicyStatusResponseParams `json:"Response"` + Response *EnableGrafanaInternetResponseParams `json:"Response"` } -func (r *ModifyAlarmPolicyStatusResponse) ToJsonString() string { +func (r *EnableGrafanaInternetResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmPolicyStatusResponse) FromJsonString(s string) error { +func (r *EnableGrafanaInternetResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyAlarmPolicyTasksRequestParams struct { - // 模块名,这里填“monitor” - Module *string `json:"Module,omitempty" name:"Module"` - - // 告警策略 ID - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` +type EnableGrafanaSSORequestParams struct { + // 是否开启 SSO + EnableSSO *bool `json:"EnableSSO,omitempty" name:"EnableSSO"` - // 告警策略触发任务列表,空数据代表解绑 - TriggerTasks []*AlarmPolicyTriggerTask `json:"TriggerTasks,omitempty" name:"TriggerTasks"` + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } -type ModifyAlarmPolicyTasksRequest struct { +type EnableGrafanaSSORequest struct { *tchttp.BaseRequest - // 模块名,这里填“monitor” - Module *string `json:"Module,omitempty" name:"Module"` + // 是否开启 SSO + EnableSSO *bool `json:"EnableSSO,omitempty" name:"EnableSSO"` - // 告警策略 ID - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` - - // 告警策略触发任务列表,空数据代表解绑 - TriggerTasks []*AlarmPolicyTriggerTask `json:"TriggerTasks,omitempty" name:"TriggerTasks"` + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } -func (r *ModifyAlarmPolicyTasksRequest) ToJsonString() string { +func (r *EnableGrafanaSSORequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmPolicyTasksRequest) FromJsonString(s string) error { +func (r *EnableGrafanaSSORequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Module") - delete(f, "PolicyId") - delete(f, "TriggerTasks") + delete(f, "EnableSSO") + delete(f, "InstanceId") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmPolicyTasksRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "EnableGrafanaSSORequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyAlarmPolicyTasksResponseParams struct { +type EnableGrafanaSSOResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type ModifyAlarmPolicyTasksResponse struct { +type EnableGrafanaSSOResponse struct { *tchttp.BaseResponse - Response *ModifyAlarmPolicyTasksResponseParams `json:"Response"` + Response *EnableGrafanaSSOResponseParams `json:"Response"` } -func (r *ModifyAlarmPolicyTasksResponse) ToJsonString() string { +func (r *EnableGrafanaSSOResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmPolicyTasksResponse) FromJsonString(s string) error { +func (r *EnableGrafanaSSOResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyAlarmReceiversRequestParams struct { - // 需要修改接收人的策略组Id - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` - - // 必填。固定为“monitor” - Module *string `json:"Module,omitempty" name:"Module"` +type EnableSSOCamCheckRequestParams struct { + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 新接收人信息, 没有填写则删除所有接收人 - ReceiverInfos []*ReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos"` + // 是否开启cam鉴权 + EnableSSOCamCheck *bool `json:"EnableSSOCamCheck,omitempty" name:"EnableSSOCamCheck"` } -type ModifyAlarmReceiversRequest struct { +type EnableSSOCamCheckRequest struct { *tchttp.BaseRequest - // 需要修改接收人的策略组Id - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` - - // 必填。固定为“monitor” - Module *string `json:"Module,omitempty" name:"Module"` + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 新接收人信息, 没有填写则删除所有接收人 - ReceiverInfos []*ReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos"` + // 是否开启cam鉴权 + EnableSSOCamCheck *bool `json:"EnableSSOCamCheck,omitempty" name:"EnableSSOCamCheck"` } -func (r *ModifyAlarmReceiversRequest) ToJsonString() string { +func (r *EnableSSOCamCheckRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmReceiversRequest) FromJsonString(s string) error { +func (r *EnableSSOCamCheckRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "GroupId") - delete(f, "Module") - delete(f, "ReceiverInfos") + delete(f, "InstanceId") + delete(f, "EnableSSOCamCheck") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmReceiversRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "EnableSSOCamCheckRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyAlarmReceiversResponseParams struct { +type EnableSSOCamCheckResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type ModifyAlarmReceiversResponse struct { +type EnableSSOCamCheckResponse struct { *tchttp.BaseResponse - Response *ModifyAlarmReceiversResponseParams `json:"Response"` + Response *EnableSSOCamCheckResponseParams `json:"Response"` } -func (r *ModifyAlarmReceiversResponse) ToJsonString() string { +func (r *EnableSSOCamCheckResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyAlarmReceiversResponse) FromJsonString(s string) error { +func (r *EnableSSOCamCheckResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type ModifyPolicyGroupCondition struct { - // 指标id - MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"` +type EventCondition struct { + // 告警通知频率 + // 注意:此字段可能返回 null,表示取不到有效值。 + AlarmNotifyPeriod *string `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"` - // 比较类型,1表示大于,2表示大于等于,3表示小于,4表示小于等于,5表示相等,6表示不相等 - CalcType *int64 `json:"CalcType,omitempty" name:"CalcType"` + // 重复通知策略预定义(0 - 只告警一次, 1 - 指数告警,2 - 连接告警) + // 注意:此字段可能返回 null,表示取不到有效值。 + AlarmNotifyType *string `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"` - // 检测阈值 - CalcValue *string `json:"CalcValue,omitempty" name:"CalcValue"` + // 事件ID + EventID *string `json:"EventID,omitempty" name:"EventID"` - // 检测指标的数据周期 - CalcPeriod *int64 `json:"CalcPeriod,omitempty" name:"CalcPeriod"` + // 事件展示名称(对外) + EventDisplayName *string `json:"EventDisplayName,omitempty" name:"EventDisplayName"` - // 持续周期个数 - ContinuePeriod *int64 `json:"ContinuePeriod,omitempty" name:"ContinuePeriod"` + // 规则ID + RuleID *string `json:"RuleID,omitempty" name:"RuleID"` +} - // 告警发送收敛类型。0连续告警,1指数告警 - AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"` +// Predefined struct for user +type GetMonitorDataRequestParams struct { + // 命名空间,如QCE/CVM。各个云产品的详细命名空间说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档 + Namespace *string `json:"Namespace,omitempty" name:"Namespace"` - // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次 - AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"` + // 指标名称,如CPUUsage,仅支持单指标拉取。各个云产品的详细指标说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的指标英文名即为MetricName + MetricName *string `json:"MetricName,omitempty" name:"MetricName"` - // 规则id,不填表示新增,填写了ruleId表示在已存在的规则基础上进行修改 - RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"` + // 实例对象的维度组合,格式为key-value键值对形式的集合。不同类型的实例字段完全不同,如CVM为[{"Name":"InstanceId","Value":"ins-j0hk02zo"}],Ckafka为[{"Name":"instanceId","Value":"ckafka-l49k54dd"}],COS为[{"Name":"appid","Value":"1258344699"},{"Name":"bucket","Value":"rig-1258344699"}]。各个云产品的维度请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的维度列即为维度组合的key,value为key对应的值。单请求最多支持批量拉取10个实例的监控数据。 + Instances []*Instance `json:"Instances,omitempty" name:"Instances"` + + // 监控统计周期,如60。默认为取值为300,单位为s。每个指标支持的统计周期不一定相同,各个云产品支持的统计周期请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的统计周期列即为支持的统计周期。单请求的数据点数限制为1440个。 + Period *uint64 `json:"Period,omitempty" name:"Period"` + + // 起始时间,如2018-09-22T19:51:23+08:00 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + + // 结束时间,如2018-09-22T20:51:23+08:00,默认为当前时间。 EndTime不能小于StartTime + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` } -type ModifyPolicyGroupEventCondition struct { - // 事件id - EventId *int64 `json:"EventId,omitempty" name:"EventId"` +type GetMonitorDataRequest struct { + *tchttp.BaseRequest + + // 命名空间,如QCE/CVM。各个云产品的详细命名空间说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档 + Namespace *string `json:"Namespace,omitempty" name:"Namespace"` - // 告警发送收敛类型。0连续告警,1指数告警 - AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"` + // 指标名称,如CPUUsage,仅支持单指标拉取。各个云产品的详细指标说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的指标英文名即为MetricName + MetricName *string `json:"MetricName,omitempty" name:"MetricName"` - // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次 - AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"` + // 实例对象的维度组合,格式为key-value键值对形式的集合。不同类型的实例字段完全不同,如CVM为[{"Name":"InstanceId","Value":"ins-j0hk02zo"}],Ckafka为[{"Name":"instanceId","Value":"ckafka-l49k54dd"}],COS为[{"Name":"appid","Value":"1258344699"},{"Name":"bucket","Value":"rig-1258344699"}]。各个云产品的维度请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的维度列即为维度组合的key,value为key对应的值。单请求最多支持批量拉取10个实例的监控数据。 + Instances []*Instance `json:"Instances,omitempty" name:"Instances"` - // 规则id,不填表示新增,填写了ruleId表示在已存在的规则基础上进行修改 - RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"` + // 监控统计周期,如60。默认为取值为300,单位为s。每个指标支持的统计周期不一定相同,各个云产品支持的统计周期请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的统计周期列即为支持的统计周期。单请求的数据点数限制为1440个。 + Period *uint64 `json:"Period,omitempty" name:"Period"` + + // 起始时间,如2018-09-22T19:51:23+08:00 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + + // 结束时间,如2018-09-22T20:51:23+08:00,默认为当前时间。 EndTime不能小于StartTime + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` +} + +func (r *GetMonitorDataRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *GetMonitorDataRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Namespace") + delete(f, "MetricName") + delete(f, "Instances") + delete(f, "Period") + delete(f, "StartTime") + delete(f, "EndTime") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetMonitorDataRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyPolicyGroupRequestParams struct { - // 固定值,为"monitor" - Module *string `json:"Module,omitempty" name:"Module"` +type GetMonitorDataResponseParams struct { + // 统计周期 + Period *uint64 `json:"Period,omitempty" name:"Period"` - // 策略组id - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + // 指标名 + MetricName *string `json:"MetricName,omitempty" name:"MetricName"` - // 告警类型 - ViewName *string `json:"ViewName,omitempty" name:"ViewName"` + // 数据点数组 + DataPoints []*DataPoint `json:"DataPoints,omitempty" name:"DataPoints"` - // 策略组名称 - GroupName *string `json:"GroupName,omitempty" name:"GroupName"` + // 开始时间 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` - // 指标告警条件的且或关系,1表示且告警,所有指标告警条件都达到才告警,0表示或告警,任意指标告警条件达到都告警 - IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` + // 结束时间 + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` - // 指标告警条件规则,不填表示删除已有的所有指标告警条件规则 - Conditions []*ModifyPolicyGroupCondition `json:"Conditions,omitempty" name:"Conditions"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // 事件告警条件,不填表示删除已有的事件告警条件 - EventConditions []*ModifyPolicyGroupEventCondition `json:"EventConditions,omitempty" name:"EventConditions"` +type GetMonitorDataResponse struct { + *tchttp.BaseResponse + Response *GetMonitorDataResponseParams `json:"Response"` +} - // 模板策略组id - ConditionTempGroupId *int64 `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"` +func (r *GetMonitorDataResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) } -type ModifyPolicyGroupRequest struct { +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *GetMonitorDataResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type GetPrometheusAgentManagementCommandRequestParams struct { + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // Prometheus Agent ID + AgentId *string `json:"AgentId,omitempty" name:"AgentId"` +} + +type GetPrometheusAgentManagementCommandRequest struct { *tchttp.BaseRequest - // 固定值,为"monitor" - Module *string `json:"Module,omitempty" name:"Module"` + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 策略组id - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + // Prometheus Agent ID + AgentId *string `json:"AgentId,omitempty" name:"AgentId"` +} - // 告警类型 - ViewName *string `json:"ViewName,omitempty" name:"ViewName"` +func (r *GetPrometheusAgentManagementCommandRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 策略组名称 - GroupName *string `json:"GroupName,omitempty" name:"GroupName"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *GetPrometheusAgentManagementCommandRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "AgentId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetPrometheusAgentManagementCommandRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // 指标告警条件的且或关系,1表示且告警,所有指标告警条件都达到才告警,0表示或告警,任意指标告警条件达到都告警 - IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` +// Predefined struct for user +type GetPrometheusAgentManagementCommandResponseParams struct { + // Agent 管理命令 + Command *ManagementCommand `json:"Command,omitempty" name:"Command"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type GetPrometheusAgentManagementCommandResponse struct { + *tchttp.BaseResponse + Response *GetPrometheusAgentManagementCommandResponseParams `json:"Response"` +} + +func (r *GetPrometheusAgentManagementCommandResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *GetPrometheusAgentManagementCommandResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type GrafanaAccountInfo struct { + // 用户账号ID + UserId *string `json:"UserId,omitempty" name:"UserId"` + + // 用户权限 + Role []*GrafanaAccountRole `json:"Role,omitempty" name:"Role"` + + // 备注 + Notes *string `json:"Notes,omitempty" name:"Notes"` + + // 创建时间 + CreateAt *string `json:"CreateAt,omitempty" name:"CreateAt"` +} + +type GrafanaAccountRole struct { + // 组织 + Organization *string `json:"Organization,omitempty" name:"Organization"` + + // 权限 + Role *string `json:"Role,omitempty" name:"Role"` +} + +type GrafanaInstanceInfo struct { + // 实例名 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 地域 + Region *string `json:"Region,omitempty" name:"Region"` + + // VPC ID + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 子网 ID 数组 + SubnetIds []*string `json:"SubnetIds,omitempty" name:"SubnetIds"` + + // Grafana 内网地址 + InternetUrl *string `json:"InternetUrl,omitempty" name:"InternetUrl"` + + // Grafana 公网地址 + InternalUrl *string `json:"InternalUrl,omitempty" name:"InternalUrl"` + + // 创建时间 + CreatedAt *string `json:"CreatedAt,omitempty" name:"CreatedAt"` + + // 运行状态(1:正在创建;2:运行中;3:异常;4:重启中;5:停机中; 6:已停机; 7: 已删除) + InstanceStatus *int64 `json:"InstanceStatus,omitempty" name:"InstanceStatus"` + + // 实例的标签 + // 注意:此字段可能返回 null,表示取不到有效值。 + TagSpecification []*PrometheusTag `json:"TagSpecification,omitempty" name:"TagSpecification"` + + // 实例的可用区 + Zone *string `json:"Zone,omitempty" name:"Zone"` + + // 计费模式(1:包年包月) + InstanceChargeType *int64 `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` + + // VPC 名称 + VpcName *string `json:"VpcName,omitempty" name:"VpcName"` + + // 子网名称 + SubnetName *string `json:"SubnetName,omitempty" name:"SubnetName"` + + // 地域 ID + RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"` + + // 可访问此实例的完整 URL + RootUrl *string `json:"RootUrl,omitempty" name:"RootUrl"` + + // 是否开启 SSO + EnableSSO *bool `json:"EnableSSO,omitempty" name:"EnableSSO"` + + // 版本号 + Version *string `json:"Version,omitempty" name:"Version"` + + // SSO登录时是否开启cam鉴权 + EnableSSOCamCheck *bool `json:"EnableSSOCamCheck,omitempty" name:"EnableSSOCamCheck"` +} + +type GrafanaIntegrationConfig struct { + // 集成 ID + IntegrationId *string `json:"IntegrationId,omitempty" name:"IntegrationId"` + + // 集成类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` + + // 集成内容 + Content *string `json:"Content,omitempty" name:"Content"` + + // 集成描述 + Description *string `json:"Description,omitempty" name:"Description"` +} + +type GrafanaNotificationChannel struct { + // 渠道 ID + ChannelId *string `json:"ChannelId,omitempty" name:"ChannelId"` + + // 渠道名 + ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` + + // 告警通道模板 ID 数组 + Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` + + // 创建时间 + CreatedAt *string `json:"CreatedAt,omitempty" name:"CreatedAt"` + + // 更新时间 + UpdatedAt *string `json:"UpdatedAt,omitempty" name:"UpdatedAt"` +} + +type GrafanaPlugin struct { + // Grafana 插件 ID + PluginId *string `json:"PluginId,omitempty" name:"PluginId"` + + // Grafana 插件版本 + // 注意:此字段可能返回 null,表示取不到有效值。 + Version *string `json:"Version,omitempty" name:"Version"` +} + +// Predefined struct for user +type InstallPluginsRequestParams struct { + // 插件信息 + Plugins []*GrafanaPlugin `json:"Plugins,omitempty" name:"Plugins"` + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +type InstallPluginsRequest struct { + *tchttp.BaseRequest + + // 插件信息 + Plugins []*GrafanaPlugin `json:"Plugins,omitempty" name:"Plugins"` + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +func (r *InstallPluginsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *InstallPluginsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Plugins") + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InstallPluginsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type InstallPluginsResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type InstallPluginsResponse struct { + *tchttp.BaseResponse + Response *InstallPluginsResponseParams `json:"Response"` +} + +func (r *InstallPluginsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *InstallPluginsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type Instance struct { + // 实例的维度组合 + Dimensions []*Dimension `json:"Dimensions,omitempty" name:"Dimensions"` +} + +type InstanceGroup struct { + // 实例组ID + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` + + // 实例组名 + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceGroupName *string `json:"InstanceGroupName,omitempty" name:"InstanceGroupName"` +} + +type InstanceGroups struct { + // 实例组 Id + Id *int64 `json:"Id,omitempty" name:"Id"` + + // 实例组名称 + Name *string `json:"Name,omitempty" name:"Name"` +} + +type IntegrationConfiguration struct { + // 名字 + Name *string `json:"Name,omitempty" name:"Name"` + + // 类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` + + // 内容 + Content *string `json:"Content,omitempty" name:"Content"` + + // 状态 + Status *int64 `json:"Status,omitempty" name:"Status"` + + // 实例类型 + Category *string `json:"Category,omitempty" name:"Category"` + + // 实例描述 + InstanceDesc *string `json:"InstanceDesc,omitempty" name:"InstanceDesc"` + + // dashboard 的 URL + GrafanaDashboardURL *string `json:"GrafanaDashboardURL,omitempty" name:"GrafanaDashboardURL"` +} + +type ManagementCommand struct { + // Agent 安装命令 + // 注意:此字段可能返回 null,表示取不到有效值。 + Install *string `json:"Install,omitempty" name:"Install"` + + // Agent 重启命令 + // 注意:此字段可能返回 null,表示取不到有效值。 + Restart *string `json:"Restart,omitempty" name:"Restart"` + + // Agent 停止命令 + // 注意:此字段可能返回 null,表示取不到有效值。 + Stop *string `json:"Stop,omitempty" name:"Stop"` + + // Agent 状态检测命令 + // 注意:此字段可能返回 null,表示取不到有效值。 + StatusCheck *string `json:"StatusCheck,omitempty" name:"StatusCheck"` + + // Agent 日志检测命令 + // 注意:此字段可能返回 null,表示取不到有效值。 + LogCheck *string `json:"LogCheck,omitempty" name:"LogCheck"` +} + +type Metric struct { + // 告警策略类型 + Namespace *string `json:"Namespace,omitempty" name:"Namespace"` + + // 指标名 + MetricName *string `json:"MetricName,omitempty" name:"MetricName"` + + // 指标展示名 + Description *string `json:"Description,omitempty" name:"Description"` + + // 最小值 + Min *float64 `json:"Min,omitempty" name:"Min"` + + // 最大值 + Max *float64 `json:"Max,omitempty" name:"Max"` + + // 维度列表 + Dimensions []*string `json:"Dimensions,omitempty" name:"Dimensions"` + + // 单位 + Unit *string `json:"Unit,omitempty" name:"Unit"` + + // 指标配置 + // 注意:此字段可能返回 null,表示取不到有效值。 + MetricConfig *MetricConfig `json:"MetricConfig,omitempty" name:"MetricConfig"` + + // 是否为高级指标。1是 0否 + // 注意:此字段可能返回 null,表示取不到有效值。 + IsAdvanced *int64 `json:"IsAdvanced,omitempty" name:"IsAdvanced"` + + // 高级指标是否开通。1是 0否 + // 注意:此字段可能返回 null,表示取不到有效值。 + IsOpen *int64 `json:"IsOpen,omitempty" name:"IsOpen"` + + // 集成中心产品ID + // 注意:此字段可能返回 null,表示取不到有效值。 + ProductId *int64 `json:"ProductId,omitempty" name:"ProductId"` +} + +type MetricConfig struct { + // 允许使用的运算符 + Operator []*string `json:"Operator,omitempty" name:"Operator"` + + // 允许配置的数据周期,以秒为单位 + Period []*int64 `json:"Period,omitempty" name:"Period"` + + // 允许配置的持续周期个数 + ContinuePeriod []*int64 `json:"ContinuePeriod,omitempty" name:"ContinuePeriod"` +} + +type MetricData struct { + // 指标名 + MetricName *string `json:"MetricName,omitempty" name:"MetricName"` + + // 监控数据点 + Points []*MetricDataPoint `json:"Points,omitempty" name:"Points"` +} + +type MetricDataPoint struct { + // 实例对象维度组合 + Dimensions []*Dimension `json:"Dimensions,omitempty" name:"Dimensions"` + + // 数据点列表 + Values []*Point `json:"Values,omitempty" name:"Values"` +} + +type MetricDatum struct { + // 指标名称 + MetricName *string `json:"MetricName,omitempty" name:"MetricName"` + + // 指标的值 + Value *uint64 `json:"Value,omitempty" name:"Value"` +} + +type MetricObjectMeaning struct { + // 指标英文解释 + En *string `json:"En,omitempty" name:"En"` + + // 指标中文解释 + Zh *string `json:"Zh,omitempty" name:"Zh"` +} + +type MetricSet struct { + // 命名空间,每个云产品会有一个命名空间 + Namespace *string `json:"Namespace,omitempty" name:"Namespace"` + + // 指标名称 + MetricName *string `json:"MetricName,omitempty" name:"MetricName"` + + // 指标使用的单位 + Unit *string `json:"Unit,omitempty" name:"Unit"` + + // 指标使用的单位 + UnitCname *string `json:"UnitCname,omitempty" name:"UnitCname"` + + // 指标支持的统计周期,单位是秒,如60、300 + Period []*int64 `json:"Period,omitempty" name:"Period"` + + // 统计周期内指标方式 + Periods []*PeriodsSt `json:"Periods,omitempty" name:"Periods"` + + // 统计指标含义解释 + Meaning *MetricObjectMeaning `json:"Meaning,omitempty" name:"Meaning"` + + // 维度描述信息 + Dimensions []*DimensionsDesc `json:"Dimensions,omitempty" name:"Dimensions"` + + // 指标中文名 + // 注意:此字段可能返回 null,表示取不到有效值。 + MetricCName *string `json:"MetricCName,omitempty" name:"MetricCName"` + + // 指标英文名 + // 注意:此字段可能返回 null,表示取不到有效值。 + MetricEName *string `json:"MetricEName,omitempty" name:"MetricEName"` +} + +type MidQueryCondition struct { + // 维度 + Key *string `json:"Key,omitempty" name:"Key"` + + // 操作符,支持等于(eq)、不等于(ne),以及in + Operator *string `json:"Operator,omitempty" name:"Operator"` + + // 维度值,当Op是eq、ne时,只使用第一个元素 + Value []*string `json:"Value,omitempty" name:"Value"` +} + +// Predefined struct for user +type ModifyAlarmNoticeRequestParams struct { + // 模块名,这里填“monitor” + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警通知规则名称 60字符以内 + Name *string `json:"Name,omitempty" name:"Name"` + + // 通知类型 ALARM=未恢复通知 OK=已恢复通知 ALL=都通知 + NoticeType *string `json:"NoticeType,omitempty" name:"NoticeType"` + + // 通知语言 zh-CN=中文 en-US=英文 + NoticeLanguage *string `json:"NoticeLanguage,omitempty" name:"NoticeLanguage"` + + // 告警通知模板 ID + NoticeId *string `json:"NoticeId,omitempty" name:"NoticeId"` + + // 用户通知 最多5个 + UserNotices []*UserNotice `json:"UserNotices,omitempty" name:"UserNotices"` + + // 回调通知 最多3个 + URLNotices []*URLNotice `json:"URLNotices,omitempty" name:"URLNotices"` + + // 告警通知推送到CLS服务 最多1个 + CLSNotices []*CLSNotice `json:"CLSNotices,omitempty" name:"CLSNotices"` +} + +type ModifyAlarmNoticeRequest struct { + *tchttp.BaseRequest + + // 模块名,这里填“monitor” + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警通知规则名称 60字符以内 + Name *string `json:"Name,omitempty" name:"Name"` + + // 通知类型 ALARM=未恢复通知 OK=已恢复通知 ALL=都通知 + NoticeType *string `json:"NoticeType,omitempty" name:"NoticeType"` + + // 通知语言 zh-CN=中文 en-US=英文 + NoticeLanguage *string `json:"NoticeLanguage,omitempty" name:"NoticeLanguage"` + + // 告警通知模板 ID + NoticeId *string `json:"NoticeId,omitempty" name:"NoticeId"` + + // 用户通知 最多5个 + UserNotices []*UserNotice `json:"UserNotices,omitempty" name:"UserNotices"` + + // 回调通知 最多3个 + URLNotices []*URLNotice `json:"URLNotices,omitempty" name:"URLNotices"` + + // 告警通知推送到CLS服务 最多1个 + CLSNotices []*CLSNotice `json:"CLSNotices,omitempty" name:"CLSNotices"` +} + +func (r *ModifyAlarmNoticeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmNoticeRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Module") + delete(f, "Name") + delete(f, "NoticeType") + delete(f, "NoticeLanguage") + delete(f, "NoticeId") + delete(f, "UserNotices") + delete(f, "URLNotices") + delete(f, "CLSNotices") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmNoticeRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmNoticeResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type ModifyAlarmNoticeResponse struct { + *tchttp.BaseResponse + Response *ModifyAlarmNoticeResponseParams `json:"Response"` +} + +func (r *ModifyAlarmNoticeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmNoticeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmPolicyConditionRequestParams struct { + // 模块名,固定值 monitor + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警策略 ID + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + + // 触发条件模板 Id,可不传 + ConditionTemplateId *int64 `json:"ConditionTemplateId,omitempty" name:"ConditionTemplateId"` + + // 指标触发条件 + Condition *AlarmPolicyCondition `json:"Condition,omitempty" name:"Condition"` + + // 事件触发条件 + EventCondition *AlarmPolicyEventCondition `json:"EventCondition,omitempty" name:"EventCondition"` + + // 全局过滤条件 + Filter *AlarmPolicyFilter `json:"Filter,omitempty" name:"Filter"` + + // 聚合维度列表,指定按哪些维度 key 来做 group by + GroupBy []*string `json:"GroupBy,omitempty" name:"GroupBy"` +} + +type ModifyAlarmPolicyConditionRequest struct { + *tchttp.BaseRequest + + // 模块名,固定值 monitor + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警策略 ID + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + + // 触发条件模板 Id,可不传 + ConditionTemplateId *int64 `json:"ConditionTemplateId,omitempty" name:"ConditionTemplateId"` + + // 指标触发条件 + Condition *AlarmPolicyCondition `json:"Condition,omitempty" name:"Condition"` + + // 事件触发条件 + EventCondition *AlarmPolicyEventCondition `json:"EventCondition,omitempty" name:"EventCondition"` + + // 全局过滤条件 + Filter *AlarmPolicyFilter `json:"Filter,omitempty" name:"Filter"` + + // 聚合维度列表,指定按哪些维度 key 来做 group by + GroupBy []*string `json:"GroupBy,omitempty" name:"GroupBy"` +} + +func (r *ModifyAlarmPolicyConditionRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmPolicyConditionRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Module") + delete(f, "PolicyId") + delete(f, "ConditionTemplateId") + delete(f, "Condition") + delete(f, "EventCondition") + delete(f, "Filter") + delete(f, "GroupBy") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmPolicyConditionRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmPolicyConditionResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type ModifyAlarmPolicyConditionResponse struct { + *tchttp.BaseResponse + Response *ModifyAlarmPolicyConditionResponseParams `json:"Response"` +} + +func (r *ModifyAlarmPolicyConditionResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmPolicyConditionResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmPolicyInfoRequestParams struct { + // 模块名,这里填“monitor” + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警策略 ID + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + + // 要修改的字段 NAME=策略名称 REMARK=策略备注 + Key *string `json:"Key,omitempty" name:"Key"` + + // 修改后的值 + Value *string `json:"Value,omitempty" name:"Value"` +} + +type ModifyAlarmPolicyInfoRequest struct { + *tchttp.BaseRequest + + // 模块名,这里填“monitor” + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警策略 ID + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + + // 要修改的字段 NAME=策略名称 REMARK=策略备注 + Key *string `json:"Key,omitempty" name:"Key"` + + // 修改后的值 + Value *string `json:"Value,omitempty" name:"Value"` +} + +func (r *ModifyAlarmPolicyInfoRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmPolicyInfoRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Module") + delete(f, "PolicyId") + delete(f, "Key") + delete(f, "Value") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmPolicyInfoRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmPolicyInfoResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type ModifyAlarmPolicyInfoResponse struct { + *tchttp.BaseResponse + Response *ModifyAlarmPolicyInfoResponseParams `json:"Response"` +} + +func (r *ModifyAlarmPolicyInfoResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmPolicyInfoResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmPolicyNoticeRequestParams struct { + // 模块名,这里填“monitor”。 + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警策略 ID,如果该参数与PolicyIds参数同时存在,则以PolicyIds为准。 + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + + // 告警通知模板 ID 列表。 + NoticeIds []*string `json:"NoticeIds,omitempty" name:"NoticeIds"` + + // 告警策略ID数组,支持给多个告警策略批量绑定通知模板。最多30个。 + PolicyIds []*string `json:"PolicyIds,omitempty" name:"PolicyIds"` +} + +type ModifyAlarmPolicyNoticeRequest struct { + *tchttp.BaseRequest + + // 模块名,这里填“monitor”。 + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警策略 ID,如果该参数与PolicyIds参数同时存在,则以PolicyIds为准。 + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + + // 告警通知模板 ID 列表。 + NoticeIds []*string `json:"NoticeIds,omitempty" name:"NoticeIds"` + + // 告警策略ID数组,支持给多个告警策略批量绑定通知模板。最多30个。 + PolicyIds []*string `json:"PolicyIds,omitempty" name:"PolicyIds"` +} + +func (r *ModifyAlarmPolicyNoticeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmPolicyNoticeRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Module") + delete(f, "PolicyId") + delete(f, "NoticeIds") + delete(f, "PolicyIds") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmPolicyNoticeRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmPolicyNoticeResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type ModifyAlarmPolicyNoticeResponse struct { + *tchttp.BaseResponse + Response *ModifyAlarmPolicyNoticeResponseParams `json:"Response"` +} + +func (r *ModifyAlarmPolicyNoticeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmPolicyNoticeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmPolicyStatusRequestParams struct { + // 模块名,固定值 monitor + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警策略 ID + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + + // 启停状态 0=停用 1=启用 + Enable *int64 `json:"Enable,omitempty" name:"Enable"` +} + +type ModifyAlarmPolicyStatusRequest struct { + *tchttp.BaseRequest + + // 模块名,固定值 monitor + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警策略 ID + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + + // 启停状态 0=停用 1=启用 + Enable *int64 `json:"Enable,omitempty" name:"Enable"` +} + +func (r *ModifyAlarmPolicyStatusRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmPolicyStatusRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Module") + delete(f, "PolicyId") + delete(f, "Enable") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmPolicyStatusRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmPolicyStatusResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type ModifyAlarmPolicyStatusResponse struct { + *tchttp.BaseResponse + Response *ModifyAlarmPolicyStatusResponseParams `json:"Response"` +} + +func (r *ModifyAlarmPolicyStatusResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmPolicyStatusResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmPolicyTasksRequestParams struct { + // 模块名,这里填“monitor” + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警策略 ID + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + + // 告警策略触发任务列表,空数据代表解绑 + TriggerTasks []*AlarmPolicyTriggerTask `json:"TriggerTasks,omitempty" name:"TriggerTasks"` +} + +type ModifyAlarmPolicyTasksRequest struct { + *tchttp.BaseRequest + + // 模块名,这里填“monitor” + Module *string `json:"Module,omitempty" name:"Module"` + + // 告警策略 ID + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + + // 告警策略触发任务列表,空数据代表解绑 + TriggerTasks []*AlarmPolicyTriggerTask `json:"TriggerTasks,omitempty" name:"TriggerTasks"` +} + +func (r *ModifyAlarmPolicyTasksRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmPolicyTasksRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Module") + delete(f, "PolicyId") + delete(f, "TriggerTasks") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmPolicyTasksRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmPolicyTasksResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type ModifyAlarmPolicyTasksResponse struct { + *tchttp.BaseResponse + Response *ModifyAlarmPolicyTasksResponseParams `json:"Response"` +} + +func (r *ModifyAlarmPolicyTasksResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmPolicyTasksResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmReceiversRequestParams struct { + // 需要修改接收人的策略组Id + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + + // 必填。固定为“monitor” + Module *string `json:"Module,omitempty" name:"Module"` + + // 新接收人信息, 没有填写则删除所有接收人 + ReceiverInfos []*ReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos"` +} + +type ModifyAlarmReceiversRequest struct { + *tchttp.BaseRequest + + // 需要修改接收人的策略组Id + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + + // 必填。固定为“monitor” + Module *string `json:"Module,omitempty" name:"Module"` + + // 新接收人信息, 没有填写则删除所有接收人 + ReceiverInfos []*ReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos"` +} + +func (r *ModifyAlarmReceiversRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmReceiversRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "GroupId") + delete(f, "Module") + delete(f, "ReceiverInfos") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAlarmReceiversRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyAlarmReceiversResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type ModifyAlarmReceiversResponse struct { + *tchttp.BaseResponse + Response *ModifyAlarmReceiversResponseParams `json:"Response"` +} + +func (r *ModifyAlarmReceiversResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyAlarmReceiversResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyGrafanaInstanceRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 实例名称 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` +} + +type ModifyGrafanaInstanceRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 实例名称 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` +} + +func (r *ModifyGrafanaInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyGrafanaInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "InstanceName") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyGrafanaInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyGrafanaInstanceResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type ModifyGrafanaInstanceResponse struct { + *tchttp.BaseResponse + Response *ModifyGrafanaInstanceResponseParams `json:"Response"` +} + +func (r *ModifyGrafanaInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyGrafanaInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyPolicyGroupCondition struct { + // 指标id + MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"` + + // 比较类型,1表示大于,2表示大于等于,3表示小于,4表示小于等于,5表示相等,6表示不相等 + CalcType *int64 `json:"CalcType,omitempty" name:"CalcType"` + + // 检测阈值 + CalcValue *string `json:"CalcValue,omitempty" name:"CalcValue"` + + // 检测指标的数据周期 + CalcPeriod *int64 `json:"CalcPeriod,omitempty" name:"CalcPeriod"` + + // 持续周期个数 + ContinuePeriod *int64 `json:"ContinuePeriod,omitempty" name:"ContinuePeriod"` + + // 告警发送收敛类型。0连续告警,1指数告警 + AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"` + + // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次 + AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"` + + // 规则id,不填表示新增,填写了ruleId表示在已存在的规则基础上进行修改 + RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"` +} + +type ModifyPolicyGroupEventCondition struct { + // 事件id + EventId *int64 `json:"EventId,omitempty" name:"EventId"` + + // 告警发送收敛类型。0连续告警,1指数告警 + AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"` + + // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次 + AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"` + + // 规则id,不填表示新增,填写了ruleId表示在已存在的规则基础上进行修改 + RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"` +} + +// Predefined struct for user +type ModifyPolicyGroupRequestParams struct { + // 固定值,为"monitor" + Module *string `json:"Module,omitempty" name:"Module"` + + // 策略组id + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + + // 告警类型 + ViewName *string `json:"ViewName,omitempty" name:"ViewName"` + + // 策略组名称 + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` + + // 指标告警条件的且或关系,1表示且告警,所有指标告警条件都达到才告警,0表示或告警,任意指标告警条件达到都告警 + IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` + + // 指标告警条件规则,不填表示删除已有的所有指标告警条件规则 + Conditions []*ModifyPolicyGroupCondition `json:"Conditions,omitempty" name:"Conditions"` + + // 事件告警条件,不填表示删除已有的事件告警条件 + EventConditions []*ModifyPolicyGroupEventCondition `json:"EventConditions,omitempty" name:"EventConditions"` + + // 模板策略组id + ConditionTempGroupId *int64 `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"` +} + +type ModifyPolicyGroupRequest struct { + *tchttp.BaseRequest + + // 固定值,为"monitor" + Module *string `json:"Module,omitempty" name:"Module"` + + // 策略组id + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + + // 告警类型 + ViewName *string `json:"ViewName,omitempty" name:"ViewName"` + + // 策略组名称 + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` + + // 指标告警条件的且或关系,1表示且告警,所有指标告警条件都达到才告警,0表示或告警,任意指标告警条件达到都告警 + IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` + + // 指标告警条件规则,不填表示删除已有的所有指标告警条件规则 + Conditions []*ModifyPolicyGroupCondition `json:"Conditions,omitempty" name:"Conditions"` + + // 事件告警条件,不填表示删除已有的事件告警条件 + EventConditions []*ModifyPolicyGroupEventCondition `json:"EventConditions,omitempty" name:"EventConditions"` + + // 模板策略组id + ConditionTempGroupId *int64 `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"` +} + +func (r *ModifyPolicyGroupRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyPolicyGroupRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Module") + delete(f, "GroupId") + delete(f, "ViewName") + delete(f, "GroupName") + delete(f, "IsUnionRule") + delete(f, "Conditions") + delete(f, "EventConditions") + delete(f, "ConditionTempGroupId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyPolicyGroupRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyPolicyGroupResponseParams struct { + // 策略组id + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type ModifyPolicyGroupResponse struct { + *tchttp.BaseResponse + Response *ModifyPolicyGroupResponseParams `json:"Response"` +} + +func (r *ModifyPolicyGroupResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyPolicyGroupResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyPrometheusInstanceAttributesRequestParams struct { + // 实例名称 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 存储时长(取值为 15、30、45。此参数不适用于包年包月实例) + DataRetentionTime *int64 `json:"DataRetentionTime,omitempty" name:"DataRetentionTime"` +} + +type ModifyPrometheusInstanceAttributesRequest struct { + *tchttp.BaseRequest + + // 实例名称 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 存储时长(取值为 15、30、45。此参数不适用于包年包月实例) + DataRetentionTime *int64 `json:"DataRetentionTime,omitempty" name:"DataRetentionTime"` +} + +func (r *ModifyPrometheusInstanceAttributesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyPrometheusInstanceAttributesRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceName") + delete(f, "InstanceId") + delete(f, "DataRetentionTime") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyPrometheusInstanceAttributesRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyPrometheusInstanceAttributesResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type ModifyPrometheusInstanceAttributesResponse struct { + *tchttp.BaseResponse + Response *ModifyPrometheusInstanceAttributesResponseParams `json:"Response"` +} + +func (r *ModifyPrometheusInstanceAttributesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyPrometheusInstanceAttributesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type MonitorTypeInfo struct { + // 监控类型ID + Id *string `json:"Id,omitempty" name:"Id"` + + // 监控类型 + Name *string `json:"Name,omitempty" name:"Name"` + + // 排列顺序 + SortId *int64 `json:"SortId,omitempty" name:"SortId"` +} + +type MonitorTypeNamespace struct { + // 监控类型 + MonitorType *string `json:"MonitorType,omitempty" name:"MonitorType"` + + // 策略类型值 + Namespace *string `json:"Namespace,omitempty" name:"Namespace"` +} + +type Operator struct { + // 运算符标识 + Id *string `json:"Id,omitempty" name:"Id"` + + // 运算符展示名 + Name *string `json:"Name,omitempty" name:"Name"` +} + +type PeriodsSt struct { + // 周期 + Period *string `json:"Period,omitempty" name:"Period"` + + // 统计方式 + StatType []*string `json:"StatType,omitempty" name:"StatType"` +} + +type Point struct { + // 该监控数据点生成的时间点 + Timestamp *uint64 `json:"Timestamp,omitempty" name:"Timestamp"` + + // 监控数据点的值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Value *float64 `json:"Value,omitempty" name:"Value"` +} + +type PolicyGroup struct { + // 是否可设为默认告警策略 + CanSetDefault *bool `json:"CanSetDefault,omitempty" name:"CanSetDefault"` + + // 告警策略组ID + GroupID *int64 `json:"GroupID,omitempty" name:"GroupID"` + + // 告警策略组名称 + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` + + // 创建时间 + InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"` + + // 是否为默认告警策略 + IsDefault *int64 `json:"IsDefault,omitempty" name:"IsDefault"` + + // 告警策略启用状态 + Enable *bool `json:"Enable,omitempty" name:"Enable"` + + // 最后修改人UIN + LastEditUin *int64 `json:"LastEditUin,omitempty" name:"LastEditUin"` + + // 未屏蔽的实例数 + NoShieldedInstanceCount *int64 `json:"NoShieldedInstanceCount,omitempty" name:"NoShieldedInstanceCount"` + + // 父策略组ID + ParentGroupID *int64 `json:"ParentGroupID,omitempty" name:"ParentGroupID"` + + // 所属项目ID + ProjectID *int64 `json:"ProjectID,omitempty" name:"ProjectID"` + + // 告警接收对象信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ReceiverInfos []*PolicyGroupReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos"` + + // 备注信息 + Remark *string `json:"Remark,omitempty" name:"Remark"` + + // 修改时间 + UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"` + + // 总绑定实例数 + TotalInstanceCount *int64 `json:"TotalInstanceCount,omitempty" name:"TotalInstanceCount"` + + // 视图 + ViewName *string `json:"ViewName,omitempty" name:"ViewName"` + + // 是否为与关系规则 + IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` +} + +type PolicyGroupReceiverInfo struct { + // 有效时段结束时间 + EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` + + // 是否需要发送通知 + NeedSendNotice *int64 `json:"NeedSendNotice,omitempty" name:"NeedSendNotice"` + + // 告警接收渠道 + // 注意:此字段可能返回 null,表示取不到有效值。 + NotifyWay []*string `json:"NotifyWay,omitempty" name:"NotifyWay"` + + // 电话告警对个人间隔(秒) + PersonInterval *int64 `json:"PersonInterval,omitempty" name:"PersonInterval"` + + // 消息接收组列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + ReceiverGroupList []*int64 `json:"ReceiverGroupList,omitempty" name:"ReceiverGroupList"` + + // 接受者类型 + ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"` + + // 接收人列表。通过平台接口查询到的接收人id列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + ReceiverUserList []*int64 `json:"ReceiverUserList,omitempty" name:"ReceiverUserList"` + + // 告警恢复通知方式 + // 注意:此字段可能返回 null,表示取不到有效值。 + RecoverNotify []*string `json:"RecoverNotify,omitempty" name:"RecoverNotify"` + + // 电话告警每轮间隔(秒) + RoundInterval *int64 `json:"RoundInterval,omitempty" name:"RoundInterval"` + + // 电话告警轮数 + RoundNumber *int64 `json:"RoundNumber,omitempty" name:"RoundNumber"` + + // 电话告警通知时机。可选"OCCUR"(告警时通知),"RECOVER"(恢复时通知) + // 注意:此字段可能返回 null,表示取不到有效值。 + SendFor []*string `json:"SendFor,omitempty" name:"SendFor"` + + // 有效时段开始时间 + StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` + + // 电话告警接收者uid + // 注意:此字段可能返回 null,表示取不到有效值。 + UIDList []*int64 `json:"UIDList,omitempty" name:"UIDList"` +} + +type PolicyTag struct { + // 标签Key + Key *string `json:"Key,omitempty" name:"Key"` + + // 标签Value + Value *string `json:"Value,omitempty" name:"Value"` +} + +type ProductSimple struct { + // 命名空间 + Namespace *string `json:"Namespace,omitempty" name:"Namespace"` + + // 产品中文名称 + ProductName *string `json:"ProductName,omitempty" name:"ProductName"` + + // 产品英文名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + ProductEnName *string `json:"ProductEnName,omitempty" name:"ProductEnName"` +} + +type PrometheusAgent struct { + // Agent 名 + // 注意:此字段可能返回 null,表示取不到有效值。 + Name *string `json:"Name,omitempty" name:"Name"` + + // Agent ID + AgentId *string `json:"AgentId,omitempty" name:"AgentId"` + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // Agent IP + // 注意:此字段可能返回 null,表示取不到有效值。 + Ipv4 *string `json:"Ipv4,omitempty" name:"Ipv4"` + + // 心跳时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + HeartbeatTime *string `json:"HeartbeatTime,omitempty" name:"HeartbeatTime"` + + // 最近一次错误 + // 注意:此字段可能返回 null,表示取不到有效值。 + LastError *string `json:"LastError,omitempty" name:"LastError"` + + // Agent 版本 + // 注意:此字段可能返回 null,表示取不到有效值。 + AgentVersion *string `json:"AgentVersion,omitempty" name:"AgentVersion"` + + // Agent 状态 + Status *int64 `json:"Status,omitempty" name:"Status"` +} + +type PrometheusInstanceGrantInfo struct { + // 是否有计费操作权限(1=有,2=无) + HasChargeOperation *int64 `json:"HasChargeOperation,omitempty" name:"HasChargeOperation"` + + // 是否显示VPC信息的权限(1=有,2=无) + HasVpcDisplay *int64 `json:"HasVpcDisplay,omitempty" name:"HasVpcDisplay"` + + // 是否可修改Grafana的状态(1=有,2=无) + HasGrafanaStatusChange *int64 `json:"HasGrafanaStatusChange,omitempty" name:"HasGrafanaStatusChange"` + + // 是否有管理agent的权限(1=有,2=无) + HasAgentManage *int64 `json:"HasAgentManage,omitempty" name:"HasAgentManage"` + + // 是否有管理TKE集成的权限(1=有,2=无) + HasTkeManage *int64 `json:"HasTkeManage,omitempty" name:"HasTkeManage"` + + // 是否显示API等信息(1=有, 2=无) + HasApiOperation *int64 `json:"HasApiOperation,omitempty" name:"HasApiOperation"` +} + +type PrometheusInstancesItem struct { + // 实例ID。 + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 实例名称。 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` + + // 实例计费模式。取值范围: + // + InstanceChargeType *int64 `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` + + // 地域 ID + RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"` + + // 可用区 + Zone *string `json:"Zone,omitempty" name:"Zone"` + + // VPC ID + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 子网 ID + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` + + // 存储周期 + // 注意:此字段可能返回 null,表示取不到有效值。 + DataRetentionTime *int64 `json:"DataRetentionTime,omitempty" name:"DataRetentionTime"` + + // 实例业务状态。取值范围: + // + InstanceStatus *int64 `json:"InstanceStatus,omitempty" name:"InstanceStatus"` + + // Grafana 面板 URL + // 注意:此字段可能返回 null,表示取不到有效值。 + GrafanaURL *string `json:"GrafanaURL,omitempty" name:"GrafanaURL"` + + // 创建时间 + CreatedAt *string `json:"CreatedAt,omitempty" name:"CreatedAt"` + + // 是否开启 Grafana + //
  • 0:不开启
  • + //
  • 1:开启
  • + EnableGrafana *int64 `json:"EnableGrafana,omitempty" name:"EnableGrafana"` + + // 实例IPV4地址 + // 注意:此字段可能返回 null,表示取不到有效值。 + IPv4Address *string `json:"IPv4Address,omitempty" name:"IPv4Address"` + + // 实例关联的标签列表。 + // 注意:此字段可能返回 null,表示取不到有效值。 + TagSpecification []*PrometheusTag `json:"TagSpecification,omitempty" name:"TagSpecification"` + + // 购买的实例过期时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + ExpireTime *string `json:"ExpireTime,omitempty" name:"ExpireTime"` + + // 计费状态 + // + // 注意:此字段可能返回 null,表示取不到有效值。 + ChargeStatus *int64 `json:"ChargeStatus,omitempty" name:"ChargeStatus"` + + // 规格名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + SpecName *string `json:"SpecName,omitempty" name:"SpecName"` + + // 自动续费标记 + // + // 注意:此字段可能返回 null,表示取不到有效值。 + AutoRenewFlag *int64 `json:"AutoRenewFlag,omitempty" name:"AutoRenewFlag"` + + // 是否快过期 + // + // 注意:此字段可能返回 null,表示取不到有效值。 + IsNearExpire *int64 `json:"IsNearExpire,omitempty" name:"IsNearExpire"` + + // 数据写入需要的 Token + // 注意:此字段可能返回 null,表示取不到有效值。 + AuthToken *string `json:"AuthToken,omitempty" name:"AuthToken"` + + // Prometheus Remote Write 的地址 + // 注意:此字段可能返回 null,表示取不到有效值。 + RemoteWrite *string `json:"RemoteWrite,omitempty" name:"RemoteWrite"` + + // Prometheus HTTP Api 根地址 + // 注意:此字段可能返回 null,表示取不到有效值。 + ApiRootPath *string `json:"ApiRootPath,omitempty" name:"ApiRootPath"` + + // Proxy 的地址 + // 注意:此字段可能返回 null,表示取不到有效值。 + ProxyAddress *string `json:"ProxyAddress,omitempty" name:"ProxyAddress"` + + // Grafana 运行状态 + // + // 注意:此字段可能返回 null,表示取不到有效值。 + GrafanaStatus *int64 `json:"GrafanaStatus,omitempty" name:"GrafanaStatus"` + + // Grafana IP 白名单列表,使用英文分号分隔 + // 注意:此字段可能返回 null,表示取不到有效值。 + GrafanaIpWhiteList *string `json:"GrafanaIpWhiteList,omitempty" name:"GrafanaIpWhiteList"` + + // 实例的授权信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + Grant *PrometheusInstanceGrantInfo `json:"Grant,omitempty" name:"Grant"` + + // 绑定的 Grafana 实例 ID + // 注意:此字段可能返回 null,表示取不到有效值。 + GrafanaInstanceId *string `json:"GrafanaInstanceId,omitempty" name:"GrafanaInstanceId"` +} + +type PrometheusRuleKV struct { + // 键 + Key *string `json:"Key,omitempty" name:"Key"` + + // 值 + Value *string `json:"Value,omitempty" name:"Value"` +} + +type PrometheusRuleSet struct { + // 规则 ID + RuleId *string `json:"RuleId,omitempty" name:"RuleId"` + + // 规则名称 + RuleName *string `json:"RuleName,omitempty" name:"RuleName"` + + // 规则状态码 + RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` + + // 规则类别 + // 注意:此字段可能返回 null,表示取不到有效值。 + Type *string `json:"Type,omitempty" name:"Type"` + + // 规则标签列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + Labels []*PrometheusRuleKV `json:"Labels,omitempty" name:"Labels"` + + // 规则注释列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + Annotations []*PrometheusRuleKV `json:"Annotations,omitempty" name:"Annotations"` + + // 规则表达式 + // 注意:此字段可能返回 null,表示取不到有效值。 + Expr *string `json:"Expr,omitempty" name:"Expr"` + + // 规则报警持续时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + Duration *string `json:"Duration,omitempty" name:"Duration"` - // 指标告警条件规则,不填表示删除已有的所有指标告警条件规则 - Conditions []*ModifyPolicyGroupCondition `json:"Conditions,omitempty" name:"Conditions"` + // 报警接收组列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` - // 事件告警条件,不填表示删除已有的事件告警条件 - EventConditions []*ModifyPolicyGroupEventCondition `json:"EventConditions,omitempty" name:"EventConditions"` + // 规则运行健康状态,取值如下: + //
  • unknown 未知状态
  • + //
  • pending 加载中
  • + //
  • ok 运行正常
  • + //
  • err 运行错误
  • + Health *string `json:"Health,omitempty" name:"Health"` - // 模板策略组id - ConditionTempGroupId *int64 `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"` -} + // 规则创建时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + CreatedAt *string `json:"CreatedAt,omitempty" name:"CreatedAt"` -func (r *ModifyPolicyGroupRequest) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) + // 规则更新时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + UpdatedAt *string `json:"UpdatedAt,omitempty" name:"UpdatedAt"` } -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *ModifyPolicyGroupRequest) FromJsonString(s string) error { - f := make(map[string]interface{}) - if err := json.Unmarshal([]byte(s), &f); err != nil { - return err - } - delete(f, "Module") - delete(f, "GroupId") - delete(f, "ViewName") - delete(f, "GroupName") - delete(f, "IsUnionRule") - delete(f, "Conditions") - delete(f, "EventConditions") - delete(f, "ConditionTempGroupId") - if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyPolicyGroupRequest has unknown keys!", "") - } - return json.Unmarshal([]byte(s), &r) -} +type PrometheusScrapeJob struct { + // 任务名 + // 注意:此字段可能返回 null,表示取不到有效值。 + Name *string `json:"Name,omitempty" name:"Name"` -// Predefined struct for user -type ModifyPolicyGroupResponseParams struct { - // 策略组id - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + // Agent ID + AgentId *string `json:"AgentId,omitempty" name:"AgentId"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` -} + // 任务 ID + JobId *string `json:"JobId,omitempty" name:"JobId"` -type ModifyPolicyGroupResponse struct { - *tchttp.BaseResponse - Response *ModifyPolicyGroupResponseParams `json:"Response"` + // 配置 + // 注意:此字段可能返回 null,表示取不到有效值。 + Config *string `json:"Config,omitempty" name:"Config"` } -func (r *ModifyPolicyGroupResponse) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} +type PrometheusTag struct { + // 标签的健值 + Key *string `json:"Key,omitempty" name:"Key"` -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *ModifyPolicyGroupResponse) FromJsonString(s string) error { - return json.Unmarshal([]byte(s), &r) + // 标签对应的值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Value *string `json:"Value,omitempty" name:"Value"` } // Predefined struct for user -type ModifyPrometheusInstanceAttributesRequestParams struct { - // 实例名称 - InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` +type PutMonitorDataRequestParams struct { + // 一组指标和数据 + Metrics []*MetricDatum `json:"Metrics,omitempty" name:"Metrics"` - // 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + // 上报时自行指定的 IP + AnnounceIp *string `json:"AnnounceIp,omitempty" name:"AnnounceIp"` - // 存储时长(取值为 15、30、45。此参数不适用于包年包月实例) - DataRetentionTime *int64 `json:"DataRetentionTime,omitempty" name:"DataRetentionTime"` + // 上报时自行指定的时间戳 + AnnounceTimestamp *uint64 `json:"AnnounceTimestamp,omitempty" name:"AnnounceTimestamp"` + + // 上报时自行指定的 IP 或 产品实例ID + AnnounceInstance *string `json:"AnnounceInstance,omitempty" name:"AnnounceInstance"` } -type ModifyPrometheusInstanceAttributesRequest struct { +type PutMonitorDataRequest struct { *tchttp.BaseRequest - // 实例名称 - InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` + // 一组指标和数据 + Metrics []*MetricDatum `json:"Metrics,omitempty" name:"Metrics"` - // 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + // 上报时自行指定的 IP + AnnounceIp *string `json:"AnnounceIp,omitempty" name:"AnnounceIp"` - // 存储时长(取值为 15、30、45。此参数不适用于包年包月实例) - DataRetentionTime *int64 `json:"DataRetentionTime,omitempty" name:"DataRetentionTime"` + // 上报时自行指定的时间戳 + AnnounceTimestamp *uint64 `json:"AnnounceTimestamp,omitempty" name:"AnnounceTimestamp"` + + // 上报时自行指定的 IP 或 产品实例ID + AnnounceInstance *string `json:"AnnounceInstance,omitempty" name:"AnnounceInstance"` } -func (r *ModifyPrometheusInstanceAttributesRequest) ToJsonString() string { +func (r *PutMonitorDataRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyPrometheusInstanceAttributesRequest) FromJsonString(s string) error { +func (r *PutMonitorDataRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "InstanceName") - delete(f, "InstanceId") - delete(f, "DataRetentionTime") + delete(f, "Metrics") + delete(f, "AnnounceIp") + delete(f, "AnnounceTimestamp") + delete(f, "AnnounceInstance") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyPrometheusInstanceAttributesRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "PutMonitorDataRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type ModifyPrometheusInstanceAttributesResponseParams struct { +type PutMonitorDataResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type ModifyPrometheusInstanceAttributesResponse struct { +type PutMonitorDataResponse struct { *tchttp.BaseResponse - Response *ModifyPrometheusInstanceAttributesResponseParams `json:"Response"` + Response *PutMonitorDataResponseParams `json:"Response"` } -func (r *ModifyPrometheusInstanceAttributesResponse) ToJsonString() string { +func (r *PutMonitorDataResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *ModifyPrometheusInstanceAttributesResponse) FromJsonString(s string) error { +func (r *PutMonitorDataResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type MonitorTypeNamespace struct { - // 监控类型 - MonitorType *string `json:"MonitorType,omitempty" name:"MonitorType"` +type ReceiverInfo struct { + // 告警时间段开始时间。范围[0,86400),作为 UNIX 时间戳转成北京时间后去掉日期,例如7200表示"10:0:0" + StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` - // 策略类型值 - Namespace *string `json:"Namespace,omitempty" name:"Namespace"` -} + // 告警时间段结束时间。含义同StartTime + EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` -type PeriodsSt struct { - // 周期 - Period *string `json:"Period,omitempty" name:"Period"` + // 告警通知方式。可选 "SMS","SITE","EMAIL","CALL","WECHAT" + NotifyWay []*string `json:"NotifyWay,omitempty" name:"NotifyWay"` - // 统计方式 - StatType []*string `json:"StatType,omitempty" name:"StatType"` -} + // 接收人类型。“group” 或 “user” + ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"` -type Point struct { - // 该监控数据点生成的时间点 - Timestamp *uint64 `json:"Timestamp,omitempty" name:"Timestamp"` + // ReceiverId + Id *int64 `json:"Id,omitempty" name:"Id"` - // 监控数据点的值 - // 注意:此字段可能返回 null,表示取不到有效值。 - Value *float64 `json:"Value,omitempty" name:"Value"` -} + // 电话告警通知时机。可选"OCCUR"(告警时通知),"RECOVER"(恢复时通知) + SendFor []*string `json:"SendFor,omitempty" name:"SendFor"` -type PolicyGroup struct { - // 是否可设为默认告警策略 - CanSetDefault *bool `json:"CanSetDefault,omitempty" name:"CanSetDefault"` + // 电话告警接收者 UID + UidList []*int64 `json:"UidList,omitempty" name:"UidList"` - // 告警策略组ID - GroupID *int64 `json:"GroupID,omitempty" name:"GroupID"` + // 电话告警轮数 + RoundNumber *int64 `json:"RoundNumber,omitempty" name:"RoundNumber"` - // 告警策略组名称 - GroupName *string `json:"GroupName,omitempty" name:"GroupName"` + // 电话告警对个人间隔(秒) + PersonInterval *int64 `json:"PersonInterval,omitempty" name:"PersonInterval"` - // 创建时间 - InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"` + // 电话告警每轮间隔(秒) + RoundInterval *int64 `json:"RoundInterval,omitempty" name:"RoundInterval"` - // 是否为默认告警策略 - IsDefault *int64 `json:"IsDefault,omitempty" name:"IsDefault"` + // 恢复通知方式。可选"SMS" + RecoverNotify []*string `json:"RecoverNotify,omitempty" name:"RecoverNotify"` - // 告警策略启用状态 - Enable *bool `json:"Enable,omitempty" name:"Enable"` + // 是否需要电话告警触达提示。0不需要,1需要 + NeedSendNotice *int64 `json:"NeedSendNotice,omitempty" name:"NeedSendNotice"` - // 最后修改人UIN - LastEditUin *int64 `json:"LastEditUin,omitempty" name:"LastEditUin"` + // 接收组列表。通过平台接口查询到的接收组 ID 列表 + ReceiverGroupList []*int64 `json:"ReceiverGroupList,omitempty" name:"ReceiverGroupList"` - // 未屏蔽的实例数 - NoShieldedInstanceCount *int64 `json:"NoShieldedInstanceCount,omitempty" name:"NoShieldedInstanceCount"` + // 接收人列表。通过平台接口查询到的接收人 ID 列表 + ReceiverUserList []*int64 `json:"ReceiverUserList,omitempty" name:"ReceiverUserList"` - // 父策略组ID - ParentGroupID *int64 `json:"ParentGroupID,omitempty" name:"ParentGroupID"` + // 告警接收语言,枚举值(zh-CN,en-US) + ReceiveLanguage *string `json:"ReceiveLanguage,omitempty" name:"ReceiveLanguage"` +} - // 所属项目ID - ProjectID *int64 `json:"ProjectID,omitempty" name:"ProjectID"` +type RecordingRuleSet struct { + // 规则 ID + RuleId *string `json:"RuleId,omitempty" name:"RuleId"` - // 告警接收对象信息 - // 注意:此字段可能返回 null,表示取不到有效值。 - ReceiverInfos []*PolicyGroupReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos"` + // 规则状态码 + RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` - // 备注信息 - Remark *string `json:"Remark,omitempty" name:"Remark"` + // 规则名称 + Name *string `json:"Name,omitempty" name:"Name"` - // 修改时间 - UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"` + // 规则内容组 + Group *string `json:"Group,omitempty" name:"Group"` - // 总绑定实例数 - TotalInstanceCount *int64 `json:"TotalInstanceCount,omitempty" name:"TotalInstanceCount"` + // 规则数量 + Total *int64 `json:"Total,omitempty" name:"Total"` - // 视图 - ViewName *string `json:"ViewName,omitempty" name:"ViewName"` + // 规则创建时间 + CreatedAt *string `json:"CreatedAt,omitempty" name:"CreatedAt"` - // 是否为与关系规则 - IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` + // 规则最近更新时间 + UpdatedAt *string `json:"UpdatedAt,omitempty" name:"UpdatedAt"` +} + +// Predefined struct for user +type ResumeGrafanaInstanceRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +type ResumeGrafanaInstanceRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +func (r *ResumeGrafanaInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ResumeGrafanaInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ResumeGrafanaInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) } -type PolicyGroupReceiverInfo struct { - // 有效时段结束时间 - EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` - - // 是否需要发送通知 - NeedSendNotice *int64 `json:"NeedSendNotice,omitempty" name:"NeedSendNotice"` - - // 告警接收渠道 - // 注意:此字段可能返回 null,表示取不到有效值。 - NotifyWay []*string `json:"NotifyWay,omitempty" name:"NotifyWay"` +// Predefined struct for user +type ResumeGrafanaInstanceResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // 电话告警对个人间隔(秒) - PersonInterval *int64 `json:"PersonInterval,omitempty" name:"PersonInterval"` +type ResumeGrafanaInstanceResponse struct { + *tchttp.BaseResponse + Response *ResumeGrafanaInstanceResponseParams `json:"Response"` +} - // 消息接收组列表 - // 注意:此字段可能返回 null,表示取不到有效值。 - ReceiverGroupList []*int64 `json:"ReceiverGroupList,omitempty" name:"ReceiverGroupList"` +func (r *ResumeGrafanaInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 接受者类型 - ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ResumeGrafanaInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} - // 接收人列表。通过平台接口查询到的接收人id列表 - // 注意:此字段可能返回 null,表示取不到有效值。 - ReceiverUserList []*int64 `json:"ReceiverUserList,omitempty" name:"ReceiverUserList"` +// Predefined struct for user +type SendCustomAlarmMsgRequestParams struct { + // 接口模块名,当前取值monitor + Module *string `json:"Module,omitempty" name:"Module"` - // 告警恢复通知方式 - // 注意:此字段可能返回 null,表示取不到有效值。 - RecoverNotify []*string `json:"RecoverNotify,omitempty" name:"RecoverNotify"` + // 消息策略ID,在云监控自定义消息页面配置 + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` - // 电话告警每轮间隔(秒) - RoundInterval *int64 `json:"RoundInterval,omitempty" name:"RoundInterval"` + // 用户想要发送的自定义消息内容 + Msg *string `json:"Msg,omitempty" name:"Msg"` +} - // 电话告警轮数 - RoundNumber *int64 `json:"RoundNumber,omitempty" name:"RoundNumber"` +type SendCustomAlarmMsgRequest struct { + *tchttp.BaseRequest + + // 接口模块名,当前取值monitor + Module *string `json:"Module,omitempty" name:"Module"` - // 电话告警通知时机。可选"OCCUR"(告警时通知),"RECOVER"(恢复时通知) - // 注意:此字段可能返回 null,表示取不到有效值。 - SendFor []*string `json:"SendFor,omitempty" name:"SendFor"` + // 消息策略ID,在云监控自定义消息页面配置 + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` - // 有效时段开始时间 - StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` + // 用户想要发送的自定义消息内容 + Msg *string `json:"Msg,omitempty" name:"Msg"` +} - // 电话告警接收者uid - // 注意:此字段可能返回 null,表示取不到有效值。 - UIDList []*int64 `json:"UIDList,omitempty" name:"UIDList"` +func (r *SendCustomAlarmMsgRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) } -type PolicyTag struct { - // 标签Key - Key *string `json:"Key,omitempty" name:"Key"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *SendCustomAlarmMsgRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Module") + delete(f, "PolicyId") + delete(f, "Msg") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SendCustomAlarmMsgRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // 标签Value - Value *string `json:"Value,omitempty" name:"Value"` +// Predefined struct for user +type SendCustomAlarmMsgResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type ProductSimple struct { - // 命名空间 - Namespace *string `json:"Namespace,omitempty" name:"Namespace"` +type SendCustomAlarmMsgResponse struct { + *tchttp.BaseResponse + Response *SendCustomAlarmMsgResponseParams `json:"Response"` +} - // 产品中文名称 - ProductName *string `json:"ProductName,omitempty" name:"ProductName"` +func (r *SendCustomAlarmMsgResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 产品英文名称 - // 注意:此字段可能返回 null,表示取不到有效值。 - ProductEnName *string `json:"ProductEnName,omitempty" name:"ProductEnName"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *SendCustomAlarmMsgResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) } -type PrometheusAgent struct { - // Agent 名 - // 注意:此字段可能返回 null,表示取不到有效值。 +type ServiceDiscoveryItem struct { + // 服务发现名称 Name *string `json:"Name,omitempty" name:"Name"` - // Agent ID - AgentId *string `json:"AgentId,omitempty" name:"AgentId"` + // 服务发现属于的 Namespace + Namespace *string `json:"Namespace,omitempty" name:"Namespace"` - // 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + // 服务发现类型: ServiceMonitor/PodMonitor + Kind *string `json:"Kind,omitempty" name:"Kind"` - // Agent IP + // Namespace 选取方式 // 注意:此字段可能返回 null,表示取不到有效值。 - Ipv4 *string `json:"Ipv4,omitempty" name:"Ipv4"` + NamespaceSelector *string `json:"NamespaceSelector,omitempty" name:"NamespaceSelector"` - // 心跳时间 + // Label 选取方式 // 注意:此字段可能返回 null,表示取不到有效值。 - HeartbeatTime *string `json:"HeartbeatTime,omitempty" name:"HeartbeatTime"` + Selector *string `json:"Selector,omitempty" name:"Selector"` - // 最近一次错误 - // 注意:此字段可能返回 null,表示取不到有效值。 - LastError *string `json:"LastError,omitempty" name:"LastError"` + // Endpoints 信息(PodMonitor 不含该参数) + Endpoints *string `json:"Endpoints,omitempty" name:"Endpoints"` - // Agent 版本 + // 服务发现对应的配置信息 // 注意:此字段可能返回 null,表示取不到有效值。 - AgentVersion *string `json:"AgentVersion,omitempty" name:"AgentVersion"` - - // Agent 状态 - Status *int64 `json:"Status,omitempty" name:"Status"` + Yaml *string `json:"Yaml,omitempty" name:"Yaml"` } -type PrometheusInstanceGrantInfo struct { - // 是否有计费操作权限(1=有,2=无) - HasChargeOperation *int64 `json:"HasChargeOperation,omitempty" name:"HasChargeOperation"` - - // 是否显示VPC信息的权限(1=有,2=无) - HasVpcDisplay *int64 `json:"HasVpcDisplay,omitempty" name:"HasVpcDisplay"` - - // 是否可修改Grafana的状态(1=有,2=无) - HasGrafanaStatusChange *int64 `json:"HasGrafanaStatusChange,omitempty" name:"HasGrafanaStatusChange"` - - // 是否有管理agent的权限(1=有,2=无) - HasAgentManage *int64 `json:"HasAgentManage,omitempty" name:"HasAgentManage"` - - // 是否有管理TKE集成的权限(1=有,2=无) - HasTkeManage *int64 `json:"HasTkeManage,omitempty" name:"HasTkeManage"` +// Predefined struct for user +type SetDefaultAlarmPolicyRequestParams struct { + // 模块名,固定值 monitor + Module *string `json:"Module,omitempty" name:"Module"` - // 是否显示API等信息(1=有, 2=无) - HasApiOperation *int64 `json:"HasApiOperation,omitempty" name:"HasApiOperation"` + // 告警策略 ID + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` } -type PrometheusInstancesItem struct { - // 实例ID。 - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - - // 实例名称。 - InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` - - // 实例计费模式。取值范围: - // - InstanceChargeType *int64 `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` - - // 地域 ID - RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"` - - // 可用区 - Zone *string `json:"Zone,omitempty" name:"Zone"` +type SetDefaultAlarmPolicyRequest struct { + *tchttp.BaseRequest + + // 模块名,固定值 monitor + Module *string `json:"Module,omitempty" name:"Module"` - // VPC ID - VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + // 告警策略 ID + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` +} - // 子网 ID - SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` +func (r *SetDefaultAlarmPolicyRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 存储周期 - // 注意:此字段可能返回 null,表示取不到有效值。 - DataRetentionTime *int64 `json:"DataRetentionTime,omitempty" name:"DataRetentionTime"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *SetDefaultAlarmPolicyRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Module") + delete(f, "PolicyId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SetDefaultAlarmPolicyRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // 实例业务状态。取值范围: - // - InstanceStatus *int64 `json:"InstanceStatus,omitempty" name:"InstanceStatus"` +// Predefined struct for user +type SetDefaultAlarmPolicyResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // Grafana 面板 URL - // 注意:此字段可能返回 null,表示取不到有效值。 - GrafanaURL *string `json:"GrafanaURL,omitempty" name:"GrafanaURL"` +type SetDefaultAlarmPolicyResponse struct { + *tchttp.BaseResponse + Response *SetDefaultAlarmPolicyResponseParams `json:"Response"` +} - // 创建时间 - CreatedAt *string `json:"CreatedAt,omitempty" name:"CreatedAt"` +func (r *SetDefaultAlarmPolicyResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 是否开启 Grafana - //
  • 0:不开启
  • - //
  • 1:开启
  • - EnableGrafana *int64 `json:"EnableGrafana,omitempty" name:"EnableGrafana"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *SetDefaultAlarmPolicyResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} - // 实例IPV4地址 +type TagInstance struct { + // 标签Key // 注意:此字段可能返回 null,表示取不到有效值。 - IPv4Address *string `json:"IPv4Address,omitempty" name:"IPv4Address"` + Key *string `json:"Key,omitempty" name:"Key"` - // 实例关联的标签列表。 + // 标签Value // 注意:此字段可能返回 null,表示取不到有效值。 - TagSpecification []*PrometheusTag `json:"TagSpecification,omitempty" name:"TagSpecification"` + Value *string `json:"Value,omitempty" name:"Value"` - // 购买的实例过期时间 + // 实例个数 // 注意:此字段可能返回 null,表示取不到有效值。 - ExpireTime *string `json:"ExpireTime,omitempty" name:"ExpireTime"` + InstanceSum *int64 `json:"InstanceSum,omitempty" name:"InstanceSum"` - // 计费状态 - // + // 产品类型,如:cvm // 注意:此字段可能返回 null,表示取不到有效值。 - ChargeStatus *int64 `json:"ChargeStatus,omitempty" name:"ChargeStatus"` + ServiceType *string `json:"ServiceType,omitempty" name:"ServiceType"` - // 规格名称 + // 地域ID // 注意:此字段可能返回 null,表示取不到有效值。 - SpecName *string `json:"SpecName,omitempty" name:"SpecName"` + RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"` - // 自动续费标记 - // + // 绑定状态,2:绑定成功,1:绑定中 // 注意:此字段可能返回 null,表示取不到有效值。 - AutoRenewFlag *int64 `json:"AutoRenewFlag,omitempty" name:"AutoRenewFlag"` + BindingStatus *int64 `json:"BindingStatus,omitempty" name:"BindingStatus"` - // 是否快过期 - // + // 标签状态,2:标签存在,1:标签不存在 // 注意:此字段可能返回 null,表示取不到有效值。 - IsNearExpire *int64 `json:"IsNearExpire,omitempty" name:"IsNearExpire"` + TagStatus *int64 `json:"TagStatus,omitempty" name:"TagStatus"` +} - // 数据写入需要的 Token +type TemplateGroup struct { + // 指标告警规则 // 注意:此字段可能返回 null,表示取不到有效值。 - AuthToken *string `json:"AuthToken,omitempty" name:"AuthToken"` + Conditions []*Condition `json:"Conditions,omitempty" name:"Conditions"` - // Prometheus Remote Write 的地址 + // 事件告警规则 // 注意:此字段可能返回 null,表示取不到有效值。 - RemoteWrite *string `json:"RemoteWrite,omitempty" name:"RemoteWrite"` + EventConditions []*EventCondition `json:"EventConditions,omitempty" name:"EventConditions"` - // Prometheus HTTP Api 根地址 + // 关联告警策略组 // 注意:此字段可能返回 null,表示取不到有效值。 - ApiRootPath *string `json:"ApiRootPath,omitempty" name:"ApiRootPath"` + PolicyGroups []*PolicyGroup `json:"PolicyGroups,omitempty" name:"PolicyGroups"` - // Proxy 的地址 - // 注意:此字段可能返回 null,表示取不到有效值。 - ProxyAddress *string `json:"ProxyAddress,omitempty" name:"ProxyAddress"` + // 模板策略组ID + GroupID *int64 `json:"GroupID,omitempty" name:"GroupID"` - // Grafana 运行状态 - // - // 注意:此字段可能返回 null,表示取不到有效值。 - GrafanaStatus *int64 `json:"GrafanaStatus,omitempty" name:"GrafanaStatus"` + // 模板策略组名称 + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` - // Grafana IP 白名单列表,使用英文分号分隔 - // 注意:此字段可能返回 null,表示取不到有效值。 - GrafanaIpWhiteList *string `json:"GrafanaIpWhiteList,omitempty" name:"GrafanaIpWhiteList"` + // 创建时间 + InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"` - // 实例的授权信息 - // 注意:此字段可能返回 null,表示取不到有效值。 - Grant *PrometheusInstanceGrantInfo `json:"Grant,omitempty" name:"Grant"` + // 最后修改人UIN + LastEditUin *int64 `json:"LastEditUin,omitempty" name:"LastEditUin"` - // 绑定的 Grafana 实例 ID - // 注意:此字段可能返回 null,表示取不到有效值。 - GrafanaInstanceId *string `json:"GrafanaInstanceId,omitempty" name:"GrafanaInstanceId"` + // 备注 + Remark *string `json:"Remark,omitempty" name:"Remark"` + + // 更新时间 + UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"` + + // 视图 + ViewName *string `json:"ViewName,omitempty" name:"ViewName"` + + // 是否为与关系 + IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` } -type PrometheusRuleKV struct { - // 键 - Key *string `json:"Key,omitempty" name:"Key"` +// Predefined struct for user +type TerminatePrometheusInstancesRequestParams struct { + // 实例 ID 列表 + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"` +} - // 值 - Value *string `json:"Value,omitempty" name:"Value"` +type TerminatePrometheusInstancesRequest struct { + *tchttp.BaseRequest + + // 实例 ID 列表 + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"` } -type PrometheusRuleSet struct { - // 规则 ID - RuleId *string `json:"RuleId,omitempty" name:"RuleId"` +func (r *TerminatePrometheusInstancesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 规则名称 - RuleName *string `json:"RuleName,omitempty" name:"RuleName"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *TerminatePrometheusInstancesRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceIds") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "TerminatePrometheusInstancesRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // 规则状态码 - RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` +// Predefined struct for user +type TerminatePrometheusInstancesResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // 规则类别 +type TerminatePrometheusInstancesResponse struct { + *tchttp.BaseResponse + Response *TerminatePrometheusInstancesResponseParams `json:"Response"` +} + +func (r *TerminatePrometheusInstancesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *TerminatePrometheusInstancesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type URLNotice struct { + // 回调 url(限长256字符) // 注意:此字段可能返回 null,表示取不到有效值。 - Type *string `json:"Type,omitempty" name:"Type"` + URL *string `json:"URL,omitempty" name:"URL"` - // 规则标签列表 + // 是否通过验证 0=否 1=是 // 注意:此字段可能返回 null,表示取不到有效值。 - Labels []*PrometheusRuleKV `json:"Labels,omitempty" name:"Labels"` + IsValid *int64 `json:"IsValid,omitempty" name:"IsValid"` - // 规则注释列表 + // 验证码 // 注意:此字段可能返回 null,表示取不到有效值。 - Annotations []*PrometheusRuleKV `json:"Annotations,omitempty" name:"Annotations"` + ValidationCode *string `json:"ValidationCode,omitempty" name:"ValidationCode"` - // 规则表达式 + // 通知开始时间 一天开始的秒数 // 注意:此字段可能返回 null,表示取不到有效值。 - Expr *string `json:"Expr,omitempty" name:"Expr"` + StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` - // 规则报警持续时间 + // 通知结束时间 一天开始的秒数 // 注意:此字段可能返回 null,表示取不到有效值。 - Duration *string `json:"Duration,omitempty" name:"Duration"` + EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` - // 报警接收组列表 + // 通知周期 1-7表示周一到周日 // 注意:此字段可能返回 null,表示取不到有效值。 - Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` + Weekday []*int64 `json:"Weekday,omitempty" name:"Weekday"` +} - // 规则运行健康状态,取值如下: - //
  • unknown 未知状态
  • - //
  • pending 加载中
  • - //
  • ok 运行正常
  • - //
  • err 运行错误
  • - Health *string `json:"Health,omitempty" name:"Health"` +// Predefined struct for user +type UnBindingAllPolicyObjectRequestParams struct { + // 固定值,为"monitor" + Module *string `json:"Module,omitempty" name:"Module"` - // 规则创建时间 - // 注意:此字段可能返回 null,表示取不到有效值。 - CreatedAt *string `json:"CreatedAt,omitempty" name:"CreatedAt"` + // 策略组id,如传入 PolicyId 则该字段被忽略可传入任意值如 0 + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` - // 规则更新时间 - // 注意:此字段可能返回 null,表示取不到有效值。 - UpdatedAt *string `json:"UpdatedAt,omitempty" name:"UpdatedAt"` + // 告警策略ID,使用此字段时 GroupId 会被忽略 + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` } -type PrometheusScrapeJob struct { - // 任务名 - // 注意:此字段可能返回 null,表示取不到有效值。 - Name *string `json:"Name,omitempty" name:"Name"` +type UnBindingAllPolicyObjectRequest struct { + *tchttp.BaseRequest + + // 固定值,为"monitor" + Module *string `json:"Module,omitempty" name:"Module"` - // Agent ID - AgentId *string `json:"AgentId,omitempty" name:"AgentId"` + // 策略组id,如传入 PolicyId 则该字段被忽略可传入任意值如 0 + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + + // 告警策略ID,使用此字段时 GroupId 会被忽略 + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` +} + +func (r *UnBindingAllPolicyObjectRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UnBindingAllPolicyObjectRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Module") + delete(f, "GroupId") + delete(f, "PolicyId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UnBindingAllPolicyObjectRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // 任务 ID - JobId *string `json:"JobId,omitempty" name:"JobId"` +// Predefined struct for user +type UnBindingAllPolicyObjectResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // 配置 - // 注意:此字段可能返回 null,表示取不到有效值。 - Config *string `json:"Config,omitempty" name:"Config"` +type UnBindingAllPolicyObjectResponse struct { + *tchttp.BaseResponse + Response *UnBindingAllPolicyObjectResponseParams `json:"Response"` } -type PrometheusTag struct { - // 标签的健值 - Key *string `json:"Key,omitempty" name:"Key"` +func (r *UnBindingAllPolicyObjectResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 标签对应的值 - // 注意:此字段可能返回 null,表示取不到有效值。 - Value *string `json:"Value,omitempty" name:"Value"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UnBindingAllPolicyObjectResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type PutMonitorDataRequestParams struct { - // 一组指标和数据 - Metrics []*MetricDatum `json:"Metrics,omitempty" name:"Metrics"` +type UnBindingPolicyObjectRequestParams struct { + // 固定值,为"monitor" + Module *string `json:"Module,omitempty" name:"Module"` - // 上报时自行指定的 IP - AnnounceIp *string `json:"AnnounceIp,omitempty" name:"AnnounceIp"` + // 策略组id,如传入 PolicyId 则该字段被忽略可传入任意值如 0 + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` - // 上报时自行指定的时间戳 - AnnounceTimestamp *uint64 `json:"AnnounceTimestamp,omitempty" name:"AnnounceTimestamp"` + // 待删除对象实例的唯一id列表,UniqueId从调用[获取已绑定对象列表接口](https://cloud.tencent.com/document/api/248/40570)的出参的List中得到 + UniqueId []*string `json:"UniqueId,omitempty" name:"UniqueId"` - // 上报时自行指定的 IP 或 产品实例ID - AnnounceInstance *string `json:"AnnounceInstance,omitempty" name:"AnnounceInstance"` + // 实例分组id,如果按实例分组删除的话UniqueId参数是无效的 + InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` + + // 告警策略ID,使用此字段时 GroupId 会被忽略 + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` } -type PutMonitorDataRequest struct { +type UnBindingPolicyObjectRequest struct { *tchttp.BaseRequest - // 一组指标和数据 - Metrics []*MetricDatum `json:"Metrics,omitempty" name:"Metrics"` + // 固定值,为"monitor" + Module *string `json:"Module,omitempty" name:"Module"` - // 上报时自行指定的 IP - AnnounceIp *string `json:"AnnounceIp,omitempty" name:"AnnounceIp"` + // 策略组id,如传入 PolicyId 则该字段被忽略可传入任意值如 0 + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` - // 上报时自行指定的时间戳 - AnnounceTimestamp *uint64 `json:"AnnounceTimestamp,omitempty" name:"AnnounceTimestamp"` + // 待删除对象实例的唯一id列表,UniqueId从调用[获取已绑定对象列表接口](https://cloud.tencent.com/document/api/248/40570)的出参的List中得到 + UniqueId []*string `json:"UniqueId,omitempty" name:"UniqueId"` - // 上报时自行指定的 IP 或 产品实例ID - AnnounceInstance *string `json:"AnnounceInstance,omitempty" name:"AnnounceInstance"` + // 实例分组id,如果按实例分组删除的话UniqueId参数是无效的 + InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` + + // 告警策略ID,使用此字段时 GroupId 会被忽略 + PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` } -func (r *PutMonitorDataRequest) ToJsonString() string { +func (r *UnBindingPolicyObjectRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *PutMonitorDataRequest) FromJsonString(s string) error { +func (r *UnBindingPolicyObjectRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Metrics") - delete(f, "AnnounceIp") - delete(f, "AnnounceTimestamp") - delete(f, "AnnounceInstance") + delete(f, "Module") + delete(f, "GroupId") + delete(f, "UniqueId") + delete(f, "InstanceGroupId") + delete(f, "PolicyId") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "PutMonitorDataRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UnBindingPolicyObjectRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type PutMonitorDataResponseParams struct { +type UnBindingPolicyObjectResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type PutMonitorDataResponse struct { +type UnBindingPolicyObjectResponse struct { *tchttp.BaseResponse - Response *PutMonitorDataResponseParams `json:"Response"` + Response *UnBindingPolicyObjectResponseParams `json:"Response"` } -func (r *PutMonitorDataResponse) ToJsonString() string { +func (r *UnBindingPolicyObjectResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *PutMonitorDataResponse) FromJsonString(s string) error { +func (r *UnBindingPolicyObjectResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type ReceiverInfo struct { - // 告警时间段开始时间。范围[0,86400),作为unix时间戳转成北京时间后去掉日期,例如7200表示"10:0:0" - StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` - - // 告警时间段结束时间。含义同StartTime - EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` - - // 告警通知方式。可选 "SMS","SITE","EMAIL","CALL","WECHAT" - NotifyWay []*string `json:"NotifyWay,omitempty" name:"NotifyWay"` - - // 接收人类型。“group” 或 “user” - ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"` - - // ReceiverId - Id *int64 `json:"Id,omitempty" name:"Id"` - - // 电话告警通知时机。可选"OCCUR"(告警时通知),"RECOVER"(恢复时通知) - SendFor []*string `json:"SendFor,omitempty" name:"SendFor"` - - // 电话告警接收者uid - UidList []*int64 `json:"UidList,omitempty" name:"UidList"` - - // 电话告警轮数 - RoundNumber *int64 `json:"RoundNumber,omitempty" name:"RoundNumber"` - - // 电话告警对个人间隔(秒) - PersonInterval *int64 `json:"PersonInterval,omitempty" name:"PersonInterval"` - - // 电话告警每轮间隔(秒) - RoundInterval *int64 `json:"RoundInterval,omitempty" name:"RoundInterval"` - - // 恢复通知方式。可选"SMS" - RecoverNotify []*string `json:"RecoverNotify,omitempty" name:"RecoverNotify"` - - // 是否需要电话告警触达提示。0不需要,1需要 - NeedSendNotice *int64 `json:"NeedSendNotice,omitempty" name:"NeedSendNotice"` +// Predefined struct for user +type UnbindPrometheusManagedGrafanaRequestParams struct { + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 接收组列表。通过平台接口查询到的接收组id列表 - ReceiverGroupList []*int64 `json:"ReceiverGroupList,omitempty" name:"ReceiverGroupList"` + // Grafana 实例 ID + GrafanaId *string `json:"GrafanaId,omitempty" name:"GrafanaId"` +} - // 接收人列表。通过平台接口查询到的接收人id列表 - ReceiverUserList []*int64 `json:"ReceiverUserList,omitempty" name:"ReceiverUserList"` +type UnbindPrometheusManagedGrafanaRequest struct { + *tchttp.BaseRequest + + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 告警接收语言,枚举值(zh-CN,en-US) - ReceiveLanguage *string `json:"ReceiveLanguage,omitempty" name:"ReceiveLanguage"` + // Grafana 实例 ID + GrafanaId *string `json:"GrafanaId,omitempty" name:"GrafanaId"` } -type RecordingRuleSet struct { - // 规则 ID - RuleId *string `json:"RuleId,omitempty" name:"RuleId"` - - // 规则状态码 - RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` +func (r *UnbindPrometheusManagedGrafanaRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 规则名称 - Name *string `json:"Name,omitempty" name:"Name"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UnbindPrometheusManagedGrafanaRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "GrafanaId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UnbindPrometheusManagedGrafanaRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // 规则内容组 - Group *string `json:"Group,omitempty" name:"Group"` +// Predefined struct for user +type UnbindPrometheusManagedGrafanaResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // 规则数量 - Total *int64 `json:"Total,omitempty" name:"Total"` +type UnbindPrometheusManagedGrafanaResponse struct { + *tchttp.BaseResponse + Response *UnbindPrometheusManagedGrafanaResponseParams `json:"Response"` +} - // 规则创建时间 - CreatedAt *string `json:"CreatedAt,omitempty" name:"CreatedAt"` +func (r *UnbindPrometheusManagedGrafanaResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 规则最近更新时间 - UpdatedAt *string `json:"UpdatedAt,omitempty" name:"UpdatedAt"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UnbindPrometheusManagedGrafanaResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type SendCustomAlarmMsgRequestParams struct { - // 接口模块名,当前取值monitor - Module *string `json:"Module,omitempty" name:"Module"` - - // 消息策略ID,在云监控自定义消息页面配置 - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` +type UninstallGrafanaDashboardRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 用户想要发送的自定义消息内容 - Msg *string `json:"Msg,omitempty" name:"Msg"` + // Prometheus 集成项 Code,删除对应的 Dashboard,Code 如下: + //
  • spring_mvc
  • + //
  • mysql
  • + //
  • go
  • + //
  • redis
  • + //
  • jvm
  • + //
  • pgsql
  • + //
  • mongo
  • + //
  • kafka
  • + //
  • es
  • + //
  • flink
  • + //
  • blackbox
  • + //
  • consule
  • + //
  • memcached
  • + //
  • zk
  • + //
  • tps
  • + //
  • istio
  • + //
  • etcd
  • + IntegrationCodes []*string `json:"IntegrationCodes,omitempty" name:"IntegrationCodes"` } -type SendCustomAlarmMsgRequest struct { +type UninstallGrafanaDashboardRequest struct { *tchttp.BaseRequest - // 接口模块名,当前取值monitor - Module *string `json:"Module,omitempty" name:"Module"` - - // 消息策略ID,在云监控自定义消息页面配置 - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 用户想要发送的自定义消息内容 - Msg *string `json:"Msg,omitempty" name:"Msg"` + // Prometheus 集成项 Code,删除对应的 Dashboard,Code 如下: + //
  • spring_mvc
  • + //
  • mysql
  • + //
  • go
  • + //
  • redis
  • + //
  • jvm
  • + //
  • pgsql
  • + //
  • mongo
  • + //
  • kafka
  • + //
  • es
  • + //
  • flink
  • + //
  • blackbox
  • + //
  • consule
  • + //
  • memcached
  • + //
  • zk
  • + //
  • tps
  • + //
  • istio
  • + //
  • etcd
  • + IntegrationCodes []*string `json:"IntegrationCodes,omitempty" name:"IntegrationCodes"` } -func (r *SendCustomAlarmMsgRequest) ToJsonString() string { +func (r *UninstallGrafanaDashboardRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *SendCustomAlarmMsgRequest) FromJsonString(s string) error { +func (r *UninstallGrafanaDashboardRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Module") - delete(f, "PolicyId") - delete(f, "Msg") + delete(f, "InstanceId") + delete(f, "IntegrationCodes") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SendCustomAlarmMsgRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UninstallGrafanaDashboardRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type SendCustomAlarmMsgResponseParams struct { +type UninstallGrafanaDashboardResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type SendCustomAlarmMsgResponse struct { +type UninstallGrafanaDashboardResponse struct { *tchttp.BaseResponse - Response *SendCustomAlarmMsgResponseParams `json:"Response"` + Response *UninstallGrafanaDashboardResponseParams `json:"Response"` } -func (r *SendCustomAlarmMsgResponse) ToJsonString() string { +func (r *UninstallGrafanaDashboardResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *SendCustomAlarmMsgResponse) FromJsonString(s string) error { +func (r *UninstallGrafanaDashboardResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type ServiceDiscoveryItem struct { - // 服务发现名称 - Name *string `json:"Name,omitempty" name:"Name"` - - // 服务发现属于的 Namespace - Namespace *string `json:"Namespace,omitempty" name:"Namespace"` - - // 服务发现类型: ServiceMonitor/PodMonitor - Kind *string `json:"Kind,omitempty" name:"Kind"` - - // Namespace 选取方式 - // 注意:此字段可能返回 null,表示取不到有效值。 - NamespaceSelector *string `json:"NamespaceSelector,omitempty" name:"NamespaceSelector"` - - // Label 选取方式 - // 注意:此字段可能返回 null,表示取不到有效值。 - Selector *string `json:"Selector,omitempty" name:"Selector"` - - // Endpoints 信息(PodMonitor 不含该参数) - Endpoints *string `json:"Endpoints,omitempty" name:"Endpoints"` - - // 服务发现对应的配置信息 - // 注意:此字段可能返回 null,表示取不到有效值。 - Yaml *string `json:"Yaml,omitempty" name:"Yaml"` -} - // Predefined struct for user -type SetDefaultAlarmPolicyRequestParams struct { - // 模块名,固定值 monitor - Module *string `json:"Module,omitempty" name:"Module"` +type UninstallGrafanaPluginsRequestParams struct { + // 插件 ID 数组 + PluginIds []*string `json:"PluginIds,omitempty" name:"PluginIds"` - // 告警策略 ID - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } -type SetDefaultAlarmPolicyRequest struct { +type UninstallGrafanaPluginsRequest struct { *tchttp.BaseRequest - // 模块名,固定值 monitor - Module *string `json:"Module,omitempty" name:"Module"` + // 插件 ID 数组 + PluginIds []*string `json:"PluginIds,omitempty" name:"PluginIds"` - // 告警策略 ID - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } -func (r *SetDefaultAlarmPolicyRequest) ToJsonString() string { +func (r *UninstallGrafanaPluginsRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *SetDefaultAlarmPolicyRequest) FromJsonString(s string) error { +func (r *UninstallGrafanaPluginsRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Module") - delete(f, "PolicyId") + delete(f, "PluginIds") + delete(f, "InstanceId") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SetDefaultAlarmPolicyRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UninstallGrafanaPluginsRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type SetDefaultAlarmPolicyResponseParams struct { +type UninstallGrafanaPluginsResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type SetDefaultAlarmPolicyResponse struct { +type UninstallGrafanaPluginsResponse struct { *tchttp.BaseResponse - Response *SetDefaultAlarmPolicyResponseParams `json:"Response"` + Response *UninstallGrafanaPluginsResponseParams `json:"Response"` } -func (r *SetDefaultAlarmPolicyResponse) ToJsonString() string { +func (r *UninstallGrafanaPluginsResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *SetDefaultAlarmPolicyResponse) FromJsonString(s string) error { +func (r *UninstallGrafanaPluginsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type TagInstance struct { - // 标签Key - // 注意:此字段可能返回 null,表示取不到有效值。 - Key *string `json:"Key,omitempty" name:"Key"` +// Predefined struct for user +type UpdateAlertRuleRequestParams struct { + // Prometheus 报警规则 ID + RuleId *string `json:"RuleId,omitempty" name:"RuleId"` - // 标签Value - // 注意:此字段可能返回 null,表示取不到有效值。 - Value *string `json:"Value,omitempty" name:"Value"` + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 实例个数 - // 注意:此字段可能返回 null,表示取不到有效值。 - InstanceSum *int64 `json:"InstanceSum,omitempty" name:"InstanceSum"` + // 规则状态码,取值如下: + //
  • 1=RuleDeleted
  • + //
  • 2=RuleEnabled
  • + //
  • 3=RuleDisabled
  • + // 默认状态码为 2 启用。 + RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` - // 产品类型,如:cvm - // 注意:此字段可能返回 null,表示取不到有效值。 - ServiceType *string `json:"ServiceType,omitempty" name:"ServiceType"` + // 报警规则名称 + RuleName *string `json:"RuleName,omitempty" name:"RuleName"` - // 地域ID - // 注意:此字段可能返回 null,表示取不到有效值。 - RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"` + // 报警规则表达式 + Expr *string `json:"Expr,omitempty" name:"Expr"` - // 绑定状态,2:绑定成功,1:绑定中 - // 注意:此字段可能返回 null,表示取不到有效值。 - BindingStatus *int64 `json:"BindingStatus,omitempty" name:"BindingStatus"` + // 报警规则持续时间 + Duration *string `json:"Duration,omitempty" name:"Duration"` - // 标签状态,2:标签存在,1:标签不存在 - // 注意:此字段可能返回 null,表示取不到有效值。 - TagStatus *int64 `json:"TagStatus,omitempty" name:"TagStatus"` -} + // 报警规则接收组列表 + Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` -type TemplateGroup struct { - // 指标告警规则 - // 注意:此字段可能返回 null,表示取不到有效值。 - Conditions []*Condition `json:"Conditions,omitempty" name:"Conditions"` + // 报警规则标签列表 + Labels []*PrometheusRuleKV `json:"Labels,omitempty" name:"Labels"` - // 事件告警规则 - // 注意:此字段可能返回 null,表示取不到有效值。 - EventConditions []*EventCondition `json:"EventConditions,omitempty" name:"EventConditions"` + // 报警规则注释列表。 + // + // 告警对象和告警消息是 Prometheus Rule Annotations 的特殊字段,需要通过 annotations 来传递,对应的 Key 分别为summary/description。 + Annotations []*PrometheusRuleKV `json:"Annotations,omitempty" name:"Annotations"` - // 关联告警策略组 - // 注意:此字段可能返回 null,表示取不到有效值。 - PolicyGroups []*PolicyGroup `json:"PolicyGroups,omitempty" name:"PolicyGroups"` + // 报警策略模板分类 + Type *string `json:"Type,omitempty" name:"Type"` +} - // 模板策略组ID - GroupID *int64 `json:"GroupID,omitempty" name:"GroupID"` +type UpdateAlertRuleRequest struct { + *tchttp.BaseRequest + + // Prometheus 报警规则 ID + RuleId *string `json:"RuleId,omitempty" name:"RuleId"` - // 模板策略组名称 - GroupName *string `json:"GroupName,omitempty" name:"GroupName"` + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 创建时间 - InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"` + // 规则状态码,取值如下: + //
  • 1=RuleDeleted
  • + //
  • 2=RuleEnabled
  • + //
  • 3=RuleDisabled
  • + // 默认状态码为 2 启用。 + RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` - // 最后修改人UIN - LastEditUin *int64 `json:"LastEditUin,omitempty" name:"LastEditUin"` + // 报警规则名称 + RuleName *string `json:"RuleName,omitempty" name:"RuleName"` - // 备注 - Remark *string `json:"Remark,omitempty" name:"Remark"` + // 报警规则表达式 + Expr *string `json:"Expr,omitempty" name:"Expr"` - // 更新时间 - UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"` + // 报警规则持续时间 + Duration *string `json:"Duration,omitempty" name:"Duration"` - // 视图 - ViewName *string `json:"ViewName,omitempty" name:"ViewName"` + // 报警规则接收组列表 + Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` - // 是否为与关系 - IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"` -} + // 报警规则标签列表 + Labels []*PrometheusRuleKV `json:"Labels,omitempty" name:"Labels"` -// Predefined struct for user -type TerminatePrometheusInstancesRequestParams struct { - // 实例 ID 列表 - InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"` -} + // 报警规则注释列表。 + // + // 告警对象和告警消息是 Prometheus Rule Annotations 的特殊字段,需要通过 annotations 来传递,对应的 Key 分别为summary/description。 + Annotations []*PrometheusRuleKV `json:"Annotations,omitempty" name:"Annotations"` -type TerminatePrometheusInstancesRequest struct { - *tchttp.BaseRequest - - // 实例 ID 列表 - InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"` + // 报警策略模板分类 + Type *string `json:"Type,omitempty" name:"Type"` } -func (r *TerminatePrometheusInstancesRequest) ToJsonString() string { +func (r *UpdateAlertRuleRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *TerminatePrometheusInstancesRequest) FromJsonString(s string) error { +func (r *UpdateAlertRuleRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "InstanceIds") + delete(f, "RuleId") + delete(f, "InstanceId") + delete(f, "RuleState") + delete(f, "RuleName") + delete(f, "Expr") + delete(f, "Duration") + delete(f, "Receivers") + delete(f, "Labels") + delete(f, "Annotations") + delete(f, "Type") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "TerminatePrometheusInstancesRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateAlertRuleRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type TerminatePrometheusInstancesResponseParams struct { +type UpdateAlertRuleResponseParams struct { + // 规则 ID + RuleId *string `json:"RuleId,omitempty" name:"RuleId"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type TerminatePrometheusInstancesResponse struct { +type UpdateAlertRuleResponse struct { *tchttp.BaseResponse - Response *TerminatePrometheusInstancesResponseParams `json:"Response"` + Response *UpdateAlertRuleResponseParams `json:"Response"` } -func (r *TerminatePrometheusInstancesResponse) ToJsonString() string { +func (r *UpdateAlertRuleResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *TerminatePrometheusInstancesResponse) FromJsonString(s string) error { +func (r *UpdateAlertRuleResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } -type URLNotice struct { - // 回调 url(限长256字符) - // 注意:此字段可能返回 null,表示取不到有效值。 - URL *string `json:"URL,omitempty" name:"URL"` - - // 是否通过验证 0=否 1=是 - // 注意:此字段可能返回 null,表示取不到有效值。 - IsValid *int64 `json:"IsValid,omitempty" name:"IsValid"` - - // 验证码 - // 注意:此字段可能返回 null,表示取不到有效值。 - ValidationCode *string `json:"ValidationCode,omitempty" name:"ValidationCode"` - - // 通知开始时间 一天开始的秒数 - // 注意:此字段可能返回 null,表示取不到有效值。 - StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` - - // 通知结束时间 一天开始的秒数 - // 注意:此字段可能返回 null,表示取不到有效值。 - EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` - - // 通知周期 1-7表示周一到周日 - // 注意:此字段可能返回 null,表示取不到有效值。 - Weekday []*int64 `json:"Weekday,omitempty" name:"Weekday"` -} - // Predefined struct for user -type UnBindingAllPolicyObjectRequestParams struct { - // 固定值,为"monitor" - Module *string `json:"Module,omitempty" name:"Module"` +type UpdateAlertRuleStateRequestParams struct { + // 规则 ID 列表 + RuleIds []*string `json:"RuleIds,omitempty" name:"RuleIds"` - // 策略组id,如传入 PolicyId 则该字段被忽略可传入任意值如 0 - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 告警策略ID,使用此字段时 GroupId 会被忽略 - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // 规则状态码,取值如下: + //
  • 2=RuleEnabled
  • + //
  • 3=RuleDisabled
  • + // 默认状态码为 2 启用。 + RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` } -type UnBindingAllPolicyObjectRequest struct { +type UpdateAlertRuleStateRequest struct { *tchttp.BaseRequest - // 固定值,为"monitor" - Module *string `json:"Module,omitempty" name:"Module"` + // 规则 ID 列表 + RuleIds []*string `json:"RuleIds,omitempty" name:"RuleIds"` - // 策略组id,如传入 PolicyId 则该字段被忽略可传入任意值如 0 - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + // Prometheus 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 告警策略ID,使用此字段时 GroupId 会被忽略 - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // 规则状态码,取值如下: + //
  • 2=RuleEnabled
  • + //
  • 3=RuleDisabled
  • + // 默认状态码为 2 启用。 + RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` } -func (r *UnBindingAllPolicyObjectRequest) ToJsonString() string { +func (r *UpdateAlertRuleStateRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UnBindingAllPolicyObjectRequest) FromJsonString(s string) error { +func (r *UpdateAlertRuleStateRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Module") - delete(f, "GroupId") - delete(f, "PolicyId") + delete(f, "RuleIds") + delete(f, "InstanceId") + delete(f, "RuleState") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UnBindingAllPolicyObjectRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateAlertRuleStateRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UnBindingAllPolicyObjectResponseParams struct { +type UpdateAlertRuleStateResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type UnBindingAllPolicyObjectResponse struct { +type UpdateAlertRuleStateResponse struct { *tchttp.BaseResponse - Response *UnBindingAllPolicyObjectResponseParams `json:"Response"` + Response *UpdateAlertRuleStateResponseParams `json:"Response"` } -func (r *UnBindingAllPolicyObjectResponse) ToJsonString() string { +func (r *UpdateAlertRuleStateResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UnBindingAllPolicyObjectResponse) FromJsonString(s string) error { +func (r *UpdateAlertRuleStateResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UnBindingPolicyObjectRequestParams struct { - // 固定值,为"monitor" - Module *string `json:"Module,omitempty" name:"Module"` - - // 策略组id,如传入 PolicyId 则该字段被忽略可传入任意值如 0 - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` - - // 待删除对象实例的唯一id列表,UniqueId从调用[获取已绑定对象列表接口](https://cloud.tencent.com/document/api/248/40570)的出参的List中得到 - UniqueId []*string `json:"UniqueId,omitempty" name:"UniqueId"` - - // 实例分组id,如果按实例分组删除的话UniqueId参数是无效的 - InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` +type UpdateDNSConfigRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 告警策略ID,使用此字段时 GroupId 会被忽略 - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // DNS 数组 + NameServers []*string `json:"NameServers,omitempty" name:"NameServers"` } -type UnBindingPolicyObjectRequest struct { +type UpdateDNSConfigRequest struct { *tchttp.BaseRequest - // 固定值,为"monitor" - Module *string `json:"Module,omitempty" name:"Module"` - - // 策略组id,如传入 PolicyId 则该字段被忽略可传入任意值如 0 - GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` - - // 待删除对象实例的唯一id列表,UniqueId从调用[获取已绑定对象列表接口](https://cloud.tencent.com/document/api/248/40570)的出参的List中得到 - UniqueId []*string `json:"UniqueId,omitempty" name:"UniqueId"` - - // 实例分组id,如果按实例分组删除的话UniqueId参数是无效的 - InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"` + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 告警策略ID,使用此字段时 GroupId 会被忽略 - PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"` + // DNS 数组 + NameServers []*string `json:"NameServers,omitempty" name:"NameServers"` } -func (r *UnBindingPolicyObjectRequest) ToJsonString() string { +func (r *UpdateDNSConfigRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UnBindingPolicyObjectRequest) FromJsonString(s string) error { +func (r *UpdateDNSConfigRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "Module") - delete(f, "GroupId") - delete(f, "UniqueId") - delete(f, "InstanceGroupId") - delete(f, "PolicyId") + delete(f, "InstanceId") + delete(f, "NameServers") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UnBindingPolicyObjectRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateDNSConfigRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UnBindingPolicyObjectResponseParams struct { +type UpdateDNSConfigResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type UnBindingPolicyObjectResponse struct { +type UpdateDNSConfigResponse struct { *tchttp.BaseResponse - Response *UnBindingPolicyObjectResponseParams `json:"Response"` + Response *UpdateDNSConfigResponseParams `json:"Response"` } -func (r *UnBindingPolicyObjectResponse) ToJsonString() string { +func (r *UpdateDNSConfigResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UnBindingPolicyObjectResponse) FromJsonString(s string) error { +func (r *UpdateDNSConfigResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UnbindPrometheusManagedGrafanaRequestParams struct { - // Prometheus 实例 ID +type UpdateExporterIntegrationRequestParams struct { + // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // Grafana 实例 ID - GrafanaId *string `json:"GrafanaId,omitempty" name:"GrafanaId"` + // Kubernetes 集群类型,取值如下: + //
  • 1= 容器集群(TKE)
  • + //
  • 2=弹性集群
  • + //
  • 3= Prometheus管理的弹性集群
  • + KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` + + // 集群 ID + ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"` + + // 类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` + + // 配置内容 + Content *string `json:"Content,omitempty" name:"Content"` } -type UnbindPrometheusManagedGrafanaRequest struct { +type UpdateExporterIntegrationRequest struct { *tchttp.BaseRequest - // Prometheus 实例 ID + // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // Grafana 实例 ID - GrafanaId *string `json:"GrafanaId,omitempty" name:"GrafanaId"` + // Kubernetes 集群类型,取值如下: + //
  • 1= 容器集群(TKE)
  • + //
  • 2=弹性集群
  • + //
  • 3= Prometheus管理的弹性集群
  • + KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` + + // 集群 ID + ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"` + + // 类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` + + // 配置内容 + Content *string `json:"Content,omitempty" name:"Content"` } -func (r *UnbindPrometheusManagedGrafanaRequest) ToJsonString() string { +func (r *UpdateExporterIntegrationRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UnbindPrometheusManagedGrafanaRequest) FromJsonString(s string) error { +func (r *UpdateExporterIntegrationRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } delete(f, "InstanceId") - delete(f, "GrafanaId") + delete(f, "KubeType") + delete(f, "ClusterId") + delete(f, "Kind") + delete(f, "Content") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UnbindPrometheusManagedGrafanaRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateExporterIntegrationRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UnbindPrometheusManagedGrafanaResponseParams struct { +type UpdateExporterIntegrationResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type UnbindPrometheusManagedGrafanaResponse struct { +type UpdateExporterIntegrationResponse struct { *tchttp.BaseResponse - Response *UnbindPrometheusManagedGrafanaResponseParams `json:"Response"` + Response *UpdateExporterIntegrationResponseParams `json:"Response"` } -func (r *UnbindPrometheusManagedGrafanaResponse) ToJsonString() string { +func (r *UpdateExporterIntegrationResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UnbindPrometheusManagedGrafanaResponse) FromJsonString(s string) error { +func (r *UpdateExporterIntegrationResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UninstallGrafanaDashboardRequestParams struct { +type UpdateGrafanaConfigRequestParams struct { // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // Prometheus 集成项 Code,删除对应的 Dashboard,Code 如下: - //
  • spring_mvc
  • - //
  • mysql
  • - //
  • go
  • - //
  • redis
  • - //
  • jvm
  • - //
  • pgsql
  • - //
  • mongo
  • - //
  • kafka
  • - //
  • es
  • - //
  • flink
  • - //
  • blackbox
  • - //
  • consule
  • - //
  • memcached
  • - //
  • zk
  • - //
  • tps
  • - //
  • istio
  • - //
  • etcd
  • - IntegrationCodes []*string `json:"IntegrationCodes,omitempty" name:"IntegrationCodes"` + // JSON 编码后的字符串 + Config *string `json:"Config,omitempty" name:"Config"` } -type UninstallGrafanaDashboardRequest struct { +type UpdateGrafanaConfigRequest struct { *tchttp.BaseRequest // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // Prometheus 集成项 Code,删除对应的 Dashboard,Code 如下: - //
  • spring_mvc
  • - //
  • mysql
  • - //
  • go
  • - //
  • redis
  • - //
  • jvm
  • - //
  • pgsql
  • - //
  • mongo
  • - //
  • kafka
  • - //
  • es
  • - //
  • flink
  • - //
  • blackbox
  • - //
  • consule
  • - //
  • memcached
  • - //
  • zk
  • - //
  • tps
  • - //
  • istio
  • - //
  • etcd
  • - IntegrationCodes []*string `json:"IntegrationCodes,omitempty" name:"IntegrationCodes"` + // JSON 编码后的字符串 + Config *string `json:"Config,omitempty" name:"Config"` } -func (r *UninstallGrafanaDashboardRequest) ToJsonString() string { +func (r *UpdateGrafanaConfigRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UninstallGrafanaDashboardRequest) FromJsonString(s string) error { +func (r *UpdateGrafanaConfigRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } delete(f, "InstanceId") - delete(f, "IntegrationCodes") + delete(f, "Config") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UninstallGrafanaDashboardRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateGrafanaConfigRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UninstallGrafanaDashboardResponseParams struct { +type UpdateGrafanaConfigResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type UninstallGrafanaDashboardResponse struct { +type UpdateGrafanaConfigResponse struct { *tchttp.BaseResponse - Response *UninstallGrafanaDashboardResponseParams `json:"Response"` + Response *UpdateGrafanaConfigResponseParams `json:"Response"` } -func (r *UninstallGrafanaDashboardResponse) ToJsonString() string { +func (r *UpdateGrafanaConfigResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UninstallGrafanaDashboardResponse) FromJsonString(s string) error { +func (r *UpdateGrafanaConfigResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UpdateAlertRuleRequestParams struct { - // Prometheus 报警规则 ID - RuleId *string `json:"RuleId,omitempty" name:"RuleId"` - - // Prometheus 实例 ID +type UpdateGrafanaEnvironmentsRequestParams struct { + // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 规则状态码,取值如下: - //
  • 1=RuleDeleted
  • - //
  • 2=RuleEnabled
  • - //
  • 3=RuleDisabled
  • - // 默认状态码为 2 启用。 - RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` - - // 报警规则名称 - RuleName *string `json:"RuleName,omitempty" name:"RuleName"` + // 环境变量字符串 + Envs *string `json:"Envs,omitempty" name:"Envs"` +} - // 报警规则表达式 - Expr *string `json:"Expr,omitempty" name:"Expr"` +type UpdateGrafanaEnvironmentsRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 报警规则持续时间 - Duration *string `json:"Duration,omitempty" name:"Duration"` + // 环境变量字符串 + Envs *string `json:"Envs,omitempty" name:"Envs"` +} - // 报警规则接收组列表 - Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` +func (r *UpdateGrafanaEnvironmentsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // 报警规则标签列表 - Labels []*PrometheusRuleKV `json:"Labels,omitempty" name:"Labels"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpdateGrafanaEnvironmentsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "Envs") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateGrafanaEnvironmentsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} - // 报警规则注释列表。 - // - // 告警对象和告警消息是 Prometheus Rule Annotations 的特殊字段,需要通过 annotations 来传递,对应的 Key 分别为summary/description。 - Annotations []*PrometheusRuleKV `json:"Annotations,omitempty" name:"Annotations"` +// Predefined struct for user +type UpdateGrafanaEnvironmentsResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} - // 报警策略模板分类 - Type *string `json:"Type,omitempty" name:"Type"` +type UpdateGrafanaEnvironmentsResponse struct { + *tchttp.BaseResponse + Response *UpdateGrafanaEnvironmentsResponseParams `json:"Response"` } -type UpdateAlertRuleRequest struct { - *tchttp.BaseRequest - - // Prometheus 报警规则 ID - RuleId *string `json:"RuleId,omitempty" name:"RuleId"` +func (r *UpdateGrafanaEnvironmentsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} - // Prometheus 实例 ID - InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpdateGrafanaEnvironmentsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} - // 规则状态码,取值如下: - //
  • 1=RuleDeleted
  • - //
  • 2=RuleEnabled
  • - //
  • 3=RuleDisabled
  • - // 默认状态码为 2 启用。 - RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` +// Predefined struct for user +type UpdateGrafanaIntegrationRequestParams struct { + // 集成 ID + IntegrationId *string `json:"IntegrationId,omitempty" name:"IntegrationId"` - // 报警规则名称 - RuleName *string `json:"RuleName,omitempty" name:"RuleName"` + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 报警规则表达式 - Expr *string `json:"Expr,omitempty" name:"Expr"` + // 集成类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` - // 报警规则持续时间 - Duration *string `json:"Duration,omitempty" name:"Duration"` + // 集成内容 + Content *string `json:"Content,omitempty" name:"Content"` +} - // 报警规则接收组列表 - Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` +type UpdateGrafanaIntegrationRequest struct { + *tchttp.BaseRequest + + // 集成 ID + IntegrationId *string `json:"IntegrationId,omitempty" name:"IntegrationId"` - // 报警规则标签列表 - Labels []*PrometheusRuleKV `json:"Labels,omitempty" name:"Labels"` + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 报警规则注释列表。 - // - // 告警对象和告警消息是 Prometheus Rule Annotations 的特殊字段,需要通过 annotations 来传递,对应的 Key 分别为summary/description。 - Annotations []*PrometheusRuleKV `json:"Annotations,omitempty" name:"Annotations"` + // 集成类型 + Kind *string `json:"Kind,omitempty" name:"Kind"` - // 报警策略模板分类 - Type *string `json:"Type,omitempty" name:"Type"` + // 集成内容 + Content *string `json:"Content,omitempty" name:"Content"` } -func (r *UpdateAlertRuleRequest) ToJsonString() string { +func (r *UpdateGrafanaIntegrationRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UpdateAlertRuleRequest) FromJsonString(s string) error { +func (r *UpdateGrafanaIntegrationRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "RuleId") + delete(f, "IntegrationId") delete(f, "InstanceId") - delete(f, "RuleState") - delete(f, "RuleName") - delete(f, "Expr") - delete(f, "Duration") - delete(f, "Receivers") - delete(f, "Labels") - delete(f, "Annotations") - delete(f, "Type") + delete(f, "Kind") + delete(f, "Content") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateAlertRuleRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateGrafanaIntegrationRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UpdateAlertRuleResponseParams struct { - // 规则 ID - RuleId *string `json:"RuleId,omitempty" name:"RuleId"` - +type UpdateGrafanaIntegrationResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type UpdateAlertRuleResponse struct { +type UpdateGrafanaIntegrationResponse struct { *tchttp.BaseResponse - Response *UpdateAlertRuleResponseParams `json:"Response"` + Response *UpdateGrafanaIntegrationResponseParams `json:"Response"` } -func (r *UpdateAlertRuleResponse) ToJsonString() string { +func (r *UpdateGrafanaIntegrationResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UpdateAlertRuleResponse) FromJsonString(s string) error { +func (r *UpdateGrafanaIntegrationResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UpdateAlertRuleStateRequestParams struct { - // 规则 ID 列表 - RuleIds []*string `json:"RuleIds,omitempty" name:"RuleIds"` +type UpdateGrafanaNotificationChannelRequestParams struct { + // 通道 ID + ChannelId *string `json:"ChannelId,omitempty" name:"ChannelId"` - // Prometheus 实例 ID + // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 规则状态码,取值如下: - //
  • 2=RuleEnabled
  • - //
  • 3=RuleDisabled
  • - // 默认状态码为 2 启用。 - RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` + // 渠道名 + ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` + + // 接受告警通道 ID 数组 + Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` + + // 额外组织 ID 数组 + ExtraOrgIds []*string `json:"ExtraOrgIds,omitempty" name:"ExtraOrgIds"` } -type UpdateAlertRuleStateRequest struct { +type UpdateGrafanaNotificationChannelRequest struct { *tchttp.BaseRequest - // 规则 ID 列表 - RuleIds []*string `json:"RuleIds,omitempty" name:"RuleIds"` + // 通道 ID + ChannelId *string `json:"ChannelId,omitempty" name:"ChannelId"` - // Prometheus 实例 ID + // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 规则状态码,取值如下: - //
  • 2=RuleEnabled
  • - //
  • 3=RuleDisabled
  • - // 默认状态码为 2 启用。 - RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` + // 渠道名 + ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` + + // 接受告警通道 ID 数组 + Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` + + // 额外组织 ID 数组 + ExtraOrgIds []*string `json:"ExtraOrgIds,omitempty" name:"ExtraOrgIds"` } -func (r *UpdateAlertRuleStateRequest) ToJsonString() string { +func (r *UpdateGrafanaNotificationChannelRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UpdateAlertRuleStateRequest) FromJsonString(s string) error { +func (r *UpdateGrafanaNotificationChannelRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "RuleIds") + delete(f, "ChannelId") delete(f, "InstanceId") - delete(f, "RuleState") + delete(f, "ChannelName") + delete(f, "Receivers") + delete(f, "ExtraOrgIds") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateAlertRuleStateRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateGrafanaNotificationChannelRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UpdateAlertRuleStateResponseParams struct { +type UpdateGrafanaNotificationChannelResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type UpdateAlertRuleStateResponse struct { +type UpdateGrafanaNotificationChannelResponse struct { *tchttp.BaseResponse - Response *UpdateAlertRuleStateResponseParams `json:"Response"` + Response *UpdateGrafanaNotificationChannelResponseParams `json:"Response"` } -func (r *UpdateAlertRuleStateResponse) ToJsonString() string { +func (r *UpdateGrafanaNotificationChannelResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UpdateAlertRuleStateResponse) FromJsonString(s string) error { +func (r *UpdateGrafanaNotificationChannelResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UpdateExporterIntegrationRequestParams struct { - // 实例 ID +type UpdateGrafanaWhiteListRequestParams struct { + // 实例名 InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // Kubernetes 集群类型,取值如下: - //
  • 1= 容器集群(TKE)
  • - //
  • 2=弹性集群
  • - //
  • 3= Prometheus管理的弹性集群
  • - KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` - - // 集群 ID - ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"` - - // 类型 - Kind *string `json:"Kind,omitempty" name:"Kind"` - - // 配置内容 - Content *string `json:"Content,omitempty" name:"Content"` + // 白名单数组 + Whitelist []*string `json:"Whitelist,omitempty" name:"Whitelist"` } -type UpdateExporterIntegrationRequest struct { +type UpdateGrafanaWhiteListRequest struct { *tchttp.BaseRequest - // 实例 ID + // 实例名 InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // Kubernetes 集群类型,取值如下: - //
  • 1= 容器集群(TKE)
  • - //
  • 2=弹性集群
  • - //
  • 3= Prometheus管理的弹性集群
  • - KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"` - - // 集群 ID - ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"` - - // 类型 - Kind *string `json:"Kind,omitempty" name:"Kind"` - - // 配置内容 - Content *string `json:"Content,omitempty" name:"Content"` + // 白名单数组 + Whitelist []*string `json:"Whitelist,omitempty" name:"Whitelist"` } -func (r *UpdateExporterIntegrationRequest) ToJsonString() string { +func (r *UpdateGrafanaWhiteListRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UpdateExporterIntegrationRequest) FromJsonString(s string) error { +func (r *UpdateGrafanaWhiteListRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } delete(f, "InstanceId") - delete(f, "KubeType") - delete(f, "ClusterId") - delete(f, "Kind") - delete(f, "Content") + delete(f, "Whitelist") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateExporterIntegrationRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateGrafanaWhiteListRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type UpdateExporterIntegrationResponseParams struct { +type UpdateGrafanaWhiteListResponseParams struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } -type UpdateExporterIntegrationResponse struct { +type UpdateGrafanaWhiteListResponse struct { *tchttp.BaseResponse - Response *UpdateExporterIntegrationResponseParams `json:"Response"` + Response *UpdateGrafanaWhiteListResponseParams `json:"Response"` } -func (r *UpdateExporterIntegrationResponse) ToJsonString() string { +func (r *UpdateGrafanaWhiteListResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *UpdateExporterIntegrationResponse) FromJsonString(s string) error { +func (r *UpdateGrafanaWhiteListResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } @@ -8990,6 +11290,81 @@ func (r *UpdateRecordingRuleResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type UpdateSSOAccountRequestParams struct { + // 示例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 用户账号ID + UserId *string `json:"UserId,omitempty" name:"UserId"` + + // 权限 + Role []*GrafanaAccountRole `json:"Role,omitempty" name:"Role"` + + // 备注 + Notes *string `json:"Notes,omitempty" name:"Notes"` +} + +type UpdateSSOAccountRequest struct { + *tchttp.BaseRequest + + // 示例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 用户账号ID + UserId *string `json:"UserId,omitempty" name:"UserId"` + + // 权限 + Role []*GrafanaAccountRole `json:"Role,omitempty" name:"Role"` + + // 备注 + Notes *string `json:"Notes,omitempty" name:"Notes"` +} + +func (r *UpdateSSOAccountRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpdateSSOAccountRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "UserId") + delete(f, "Role") + delete(f, "Notes") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateSSOAccountRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type UpdateSSOAccountResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type UpdateSSOAccountResponse struct { + *tchttp.BaseResponse + Response *UpdateSSOAccountResponseParams `json:"Response"` +} + +func (r *UpdateSSOAccountResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpdateSSOAccountResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type UpdateServiceDiscoveryRequestParams struct { // Prometheus 实例 ID @@ -9178,6 +11553,67 @@ func (r *UpgradeGrafanaDashboardResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type UpgradeGrafanaInstanceRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 版本别名 + Alias *string `json:"Alias,omitempty" name:"Alias"` +} + +type UpgradeGrafanaInstanceRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 版本别名 + Alias *string `json:"Alias,omitempty" name:"Alias"` +} + +func (r *UpgradeGrafanaInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpgradeGrafanaInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "Alias") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpgradeGrafanaInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type UpgradeGrafanaInstanceResponseParams struct { + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type UpgradeGrafanaInstanceResponse struct { + *tchttp.BaseResponse + Response *UpgradeGrafanaInstanceResponseParams `json:"Response"` +} + +func (r *UpgradeGrafanaInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpgradeGrafanaInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type UserNotice struct { // 接收者类型 USER=用户 GROUP=用户组 // 注意:此字段可能返回 null,表示取不到有效值。 diff --git a/vendor/modules.txt b/vendor/modules.txt index 5bd2f1ce4c..fbbd49665d 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -555,7 +555,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http @@ -585,7 +585,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms/v20190118 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse/v20200324 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb/v20190725 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.443 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.487 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312 From aa10ee1917be04e6a0cd420daf963c178a8255c0 Mon Sep 17 00:00:00 2001 From: arunma Date: Thu, 1 Sep 2022 19:57:20 +0800 Subject: [PATCH 02/14] feat: support grafana instance --- tencentcloud/provider.go | 3 + .../resource_tc_monitor_grafana_instance.go | 369 ++++++++++++++++++ ...source_tc_monitor_grafana_instance_test.go | 145 +++++++ tencentcloud/service_tencentcloud_monitor.go | 60 +++ .../r/monitor_grafana_instance.html.markdown | 57 +++ website/tencentcloud.erb | 3 + 6 files changed, 637 insertions(+) create mode 100644 tencentcloud/resource_tc_monitor_grafana_instance.go create mode 100644 tencentcloud/resource_tc_monitor_grafana_instance_test.go create mode 100644 website/docs/r/monitor_grafana_instance.html.markdown diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index e9a6eb537e..5e22de8383 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -441,6 +441,8 @@ Monitor tencentcloud_monitor_tmp_tke_global_notification tencentcloud_monitor_tmp_tke_cluster_agent + tencentcloud_monitor_grafana_instance + PostgreSQL Data Source tencentcloud_postgresql_instances @@ -1126,6 +1128,7 @@ func Provider() terraform.ResourceProvider { "tencentcloud_monitor_tmp_tke_config": resourceTencentCloudMonitorTmpTkeConfig(), "tencentcloud_monitor_tmp_tke_record_rule_yaml": resourceTencentCloudMonitorTmpTkeRecordRuleYaml(), "tencentcloud_monitor_tmp_tke_global_notification": resourceTencentCloudMonitorTmpTkeGlobalNotification(), + "tencentcloud_monitor_grafana_instance": resourceTencentCloudMonitorGrafanaInstance(), "tencentcloud_mongodb_standby_instance": resourceTencentCloudMongodbStandbyInstance(), "tencentcloud_elasticsearch_instance": resourceTencentCloudElasticsearchInstance(), "tencentcloud_postgresql_instance": resourceTencentCloudPostgresqlInstance(), diff --git a/tencentcloud/resource_tc_monitor_grafana_instance.go b/tencentcloud/resource_tc_monitor_grafana_instance.go new file mode 100644 index 0000000000..68c6330ea7 --- /dev/null +++ b/tencentcloud/resource_tc_monitor_grafana_instance.go @@ -0,0 +1,369 @@ +/* +Provides a resource to create a monitor grafanaInstance + +Example Usage + +```hcl +resource "tencentcloud_monitor_grafana_instance" "grafanaInstance" { + instance_name = "test-grafana" + vpc_id = "vpc-2hfyray3" + subnet_ids = ["subnet-rdkj0agk"] + grafana_init_password = "1234567890" + enable_internet = false + + tags = { + "createdBy" = "test" + } +} + +``` +Import + +monitor grafanaInstance can be imported using the id, e.g. +``` +$ terraform import tencentcloud_monitor_grafana_instance.grafanaInstance grafanaInstance_id#grafana_init_password +``` +*/ +package tencentcloud + +import ( + "context" + "fmt" + "log" + "strings" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + monitor "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func resourceTencentCloudMonitorGrafanaInstance() *schema.Resource { + return &schema.Resource{ + Read: resourceTencentCloudMonitorGrafanaInstanceRead, + Create: resourceTencentCloudMonitorGrafanaInstanceCreate, + Update: resourceTencentCloudMonitorGrafanaInstanceUpdate, + Delete: resourceTencentCloudMonitorGrafanaInstanceDelete, + Importer: &schema.ResourceImporter{ + State: func(d *schema.ResourceData, i interface{}) ([]*schema.ResourceData, error) { + ids := strings.Split(d.Id(), FILED_SP) + d.SetId(ids[0]) + _ = d.Set("grafana_init_password", ids[1]) + return []*schema.ResourceData{d}, nil + }, + }, + Schema: map[string]*schema.Schema{ + "instance_name": { + Type: schema.TypeString, + Required: true, + Description: "Instance name.", + }, + + "instance_id": { + Type: schema.TypeString, + Computed: true, + Description: "Grafana instance id.", + }, + + "root_url": { + Type: schema.TypeString, + Computed: true, + Description: "Grafana external url which could be accessed by user.", + }, + + "vpc_id": { + Type: schema.TypeString, + Optional: true, + Computed: true, + Description: "Vpc Id.", + }, + + "subnet_ids": { + Type: schema.TypeSet, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + Optional: true, + Computed: true, + Description: "Subnet Id array.", + }, + + "grafana_init_password": { + Type: schema.TypeString, + Optional: true, + Computed: true, + Description: "Grafana server admin password.", + }, + + "enable_internet": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + Description: "Control whether grafana could be accessed by internet.", + }, + + "instance_status": { + Type: schema.TypeInt, + Computed: true, + Description: "Grafana instance status, 1: Creating, 2: Running, 6: Stopped.", + }, + + "tags": { + Type: schema.TypeMap, + Optional: true, + Description: "Tag description list.", + }, + }, + } +} + +func resourceTencentCloudMonitorGrafanaInstanceCreate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_instance.create")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + + var ( + request = monitor.NewCreateGrafanaInstanceRequest() + response *monitor.CreateGrafanaInstanceResponse + ) + + if v, ok := d.GetOk("instance_name"); ok { + request.InstanceName = helper.String(v.(string)) + } + + if v, ok := d.GetOk("vpc_id"); ok { + request.VpcId = helper.String(v.(string)) + } + + if v, ok := d.GetOk("subnet_ids"); ok { + subnetIdsSet := v.(*schema.Set).List() + for i := range subnetIdsSet { + subnetIds := subnetIdsSet[i].(string) + request.SubnetIds = append(request.SubnetIds, &subnetIds) + } + } + + if v, ok := d.GetOk("grafana_init_password"); ok { + request.GrafanaInitPassword = helper.String(v.(string)) + } + + if v, _ := d.GetOk("enable_internet"); v != nil { + request.EnableInternet = helper.Bool(v.(bool)) + } + + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { + result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().CreateGrafanaInstance(request) + if e != nil { + return retryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + response = result + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s create monitor grafanaInstance failed, reason:%+v", logId, err) + return err + } + + grafanaInstanceId := *response.Response.InstanceId + + service := MonitorService{client: meta.(*TencentCloudClient).apiV3Conn} + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + err = resource.Retry(5*readRetryTimeout, func() *resource.RetryError { + instance, errRet := service.DescribeMonitorGrafanaInstance(ctx, grafanaInstanceId) + if errRet != nil { + return retryError(errRet, InternalError) + } + if *instance.InstanceStatus == 2 { + return nil + } + if *instance.InstanceStatus == 6 { + return resource.NonRetryableError(fmt.Errorf("grafanaInstance status is %v, operate failed.", *instance.InstanceStatus)) + } + return resource.RetryableError(fmt.Errorf("grafanaInstance status is %v, retry...", *instance.InstanceStatus)) + }) + if err != nil { + return err + } + + d.SetId(grafanaInstanceId) + if tags := helper.GetTags(d, "tags"); len(tags) > 0 { + tagService := TagService{client: meta.(*TencentCloudClient).apiV3Conn} + region := meta.(*TencentCloudClient).apiV3Conn.Region + resourceName := fmt.Sprintf("qcs::monitor:%s:uin/:grafana-instance/%s", region, grafanaInstanceId) + if err := tagService.ModifyTags(ctx, resourceName, tags, nil); err != nil { + return err + } + } + return resourceTencentCloudMonitorGrafanaInstanceRead(d, meta) +} + +func resourceTencentCloudMonitorGrafanaInstanceRead(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_instance.read")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + service := MonitorService{client: meta.(*TencentCloudClient).apiV3Conn} + + instanceId := d.Id() + + grafanaInstance, err := service.DescribeMonitorGrafanaInstance(ctx, instanceId) + + if err != nil { + return err + } + + if grafanaInstance == nil { + d.SetId("") + return fmt.Errorf("resource `grafanaInstance` %s does not exist", instanceId) + } + + if grafanaInstance.InstanceName != nil { + _ = d.Set("instance_name", grafanaInstance.InstanceName) + } + + if grafanaInstance.InstanceId != nil { + _ = d.Set("instance_id", grafanaInstance.InstanceId) + } + + if grafanaInstance.RootUrl != nil { + _ = d.Set("root_url", grafanaInstance.RootUrl) + } + + if grafanaInstance.VpcId != nil { + _ = d.Set("vpc_id", grafanaInstance.VpcId) + } + + if grafanaInstance.SubnetIds != nil { + var subnetIds []string + for _, v := range grafanaInstance.SubnetIds { + subnetIds = append(subnetIds, *v) + } + _ = d.Set("subnet_ids", subnetIds) + } + + if grafanaInstance.InternetUrl != nil && *grafanaInstance.InternetUrl != "" { + _ = d.Set("enable_internet", true) + } else { + _ = d.Set("enable_internet", false) + } + + if grafanaInstance.InstanceStatus != nil { + _ = d.Set("instance_status", grafanaInstance.InstanceStatus) + } + + tcClient := meta.(*TencentCloudClient).apiV3Conn + tagService := &TagService{client: tcClient} + tags, err := tagService.DescribeResourceTags(ctx, "monitor", "grafana-instance", tcClient.Region, d.Id()) + if err != nil { + return err + } + _ = d.Set("tags", tags) + + return nil +} + +func resourceTencentCloudMonitorGrafanaInstanceUpdate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_instance.update")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + request := monitor.NewModifyGrafanaInstanceRequest() + + instanceId := d.Id() + + request.InstanceId = &instanceId + + if d.HasChange("instance_name") { + if v, ok := d.GetOk("instance_name"); ok { + request.InstanceName = helper.String(v.(string)) + } + } + + if d.HasChange("vpc_id") { + return fmt.Errorf("`vpc_id` do not support change now.") + } + + if d.HasChange("subnet_ids") { + return fmt.Errorf("`subnet_ids` do not support change now.") + } + + if d.HasChange("grafana_init_password") { + return fmt.Errorf("`grafana_init_password` do not support change now.") + } + + if d.HasChange("enable_internet") { + return fmt.Errorf("`enable_internet` do not support change now.") + } + + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { + result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().ModifyGrafanaInstance(request) + if e != nil { + return retryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + return nil + }) + + if err != nil { + return err + } + + if d.HasChange("tags") { + tcClient := meta.(*TencentCloudClient).apiV3Conn + tagService := &TagService{client: tcClient} + oldTags, newTags := d.GetChange("tags") + replaceTags, deleteTags := diffTags(oldTags.(map[string]interface{}), newTags.(map[string]interface{})) + resourceName := BuildTagResourceName("monitor", "grafana-instance", tcClient.Region, d.Id()) + if err := tagService.ModifyTags(ctx, resourceName, replaceTags, deleteTags); err != nil { + return err + } + } + + return resourceTencentCloudMonitorGrafanaInstanceRead(d, meta) +} + +func resourceTencentCloudMonitorGrafanaInstanceDelete(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_instance.delete")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + service := MonitorService{client: meta.(*TencentCloudClient).apiV3Conn} + + instanceId := d.Id() + + if err := service.DeleteMonitorGrafanaInstanceById(ctx, instanceId); err != nil { + return err + } + + err := resource.Retry(1*readRetryTimeout, func() *resource.RetryError { + instance, errRet := service.DescribeMonitorGrafanaInstance(ctx, instanceId) + if errRet != nil { + return retryError(errRet, InternalError) + } + if *instance.InstanceStatus == 6 { + return nil + } + if *instance.InstanceStatus == 7 { + return resource.NonRetryableError(fmt.Errorf("grafanaInstance status is %v, operate failed.", *instance.InstanceStatus)) + } + return resource.RetryableError(fmt.Errorf("grafanaInstance status is %v, retry...", *instance.InstanceStatus)) + }) + if err != nil { + return err + } + return nil +} diff --git a/tencentcloud/resource_tc_monitor_grafana_instance_test.go b/tencentcloud/resource_tc_monitor_grafana_instance_test.go new file mode 100644 index 0000000000..6863a75cfb --- /dev/null +++ b/tencentcloud/resource_tc_monitor_grafana_instance_test.go @@ -0,0 +1,145 @@ +package tencentcloud + +import ( + "context" + "fmt" + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/terraform" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" +) + +// go test -i; go test -test.run TestAccTencentCloudMonitorGrafanaInstance_basic -v +func TestAccTencentCloudMonitorGrafanaInstance_basic(t *testing.T) { + t.Parallel() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckGrafanaInstanceDestroy, + Steps: []resource.TestStep{ + { + Config: testAccMonitorGrafanaInstance, + Check: resource.ComposeTestCheckFunc( + testAccCheckGrafanaInstanceExists("tencentcloud_monitor_grafana_instance.grafanaInstance"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "instance_name", "test-grafana"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "vpc_id", defaultVpcId), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "subnet_ids.#", "1"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "enable_internet", "false"), + ), + }, + { + Config: testAccMonitorGrafanaInstance_update, + Check: resource.ComposeTestCheckFunc( + testAccCheckGrafanaInstanceExists("tencentcloud_monitor_grafana_instance.grafanaInstance"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "instance_name", "test-grafana-update"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "vpc_id", defaultVpcId), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "subnet_ids.#", "1"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "enable_internet", "false"), + ), + }, + { + ResourceName: "tencentcloud_monitor_grafana_instance.grafanaInstance", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"grafana_init_password"}, + }, + }, + }) +} + +func testAccCheckGrafanaInstanceDestroy(s *terraform.State) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + service := MonitorService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} + for _, rs := range s.RootModule().Resources { + if rs.Type != "tencentcloud_monitor_grafana_instance" { + continue + } + if rs.Primary.ID == "" { + return fmt.Errorf("resource id is not set") + } + instanceId := rs.Primary.ID + + instance, err := service.DescribeMonitorGrafanaInstance(ctx, instanceId) + if err != nil { + return err + } + + if instance == nil { + return nil + } + + if instance != nil && *instance.InstanceStatus < 5 { + return fmt.Errorf("GrafanaInstance %s still exists", rs.Primary.ID) + } + } + return nil +} + +func testAccCheckGrafanaInstanceExists(r string) resource.TestCheckFunc { + return func(s *terraform.State) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + rs, ok := s.RootModule().Resources[r] + if !ok { + return fmt.Errorf("resource %s is not found", r) + } + if rs.Primary.ID == "" { + return fmt.Errorf("resource id is not set") + } + instanceId := rs.Primary.ID + + service := MonitorService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} + instance, err := service.DescribeMonitorGrafanaInstance(ctx, instanceId) + if err != nil { + return err + } + + if instance == nil { + return fmt.Errorf("GrafanaInstance %s is not found", rs.Primary.ID) + } + + return nil + } +} + +const testMonitorGrafanaInstanceVar = ` +variable "vpc_id" { + default = "` + defaultVpcId + `" +} +variable "subnet_id" { + default = "` + defaultSubnetId + `" +} +` + +const testAccMonitorGrafanaInstance = testMonitorGrafanaInstanceVar + ` + +resource "tencentcloud_monitor_grafana_instance" "grafanaInstance" { + instance_name = "test-grafana" + vpc_id = "vpc-2hfyray3" + subnet_ids = ["subnet-rdkj0agk"] + grafana_init_password = "1234567890" + enable_internet = false + + tags = { + "createdBy" = "test" + } +} +` +const testAccMonitorGrafanaInstance_update = testMonitorGrafanaInstanceVar + ` + +resource "tencentcloud_monitor_grafana_instance" "grafanaInstance" { + instance_name = "test-grafana-update" + vpc_id = "vpc-2hfyray3" + subnet_ids = ["subnet-rdkj0agk"] + grafana_init_password = "1234567890" + enable_internet = false + + tags = { + "createdBy" = "test" + } +} +` diff --git a/tencentcloud/service_tencentcloud_monitor.go b/tencentcloud/service_tencentcloud_monitor.go index c05a681467..07788c200d 100644 --- a/tencentcloud/service_tencentcloud_monitor.go +++ b/tencentcloud/service_tencentcloud_monitor.go @@ -697,3 +697,63 @@ func (me *MonitorService) DeleteMonitorRecordingRule(ctx context.Context, instan return } + +func (me *MonitorService) DescribeMonitorGrafanaInstance(ctx context.Context, instanceId string) (grafanaInstance *monitor.GrafanaInstanceInfo, errRet error) { + var ( + logId = getLogId(ctx) + request = monitor.NewDescribeGrafanaInstancesRequest() + ) + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, "query object", request.ToJsonString(), errRet.Error()) + } + }() + request.InstanceIds = []*string{&instanceId} + request.Offset = helper.IntInt64(0) + request.Limit = helper.IntInt64(10) + + response, err := me.client.UseMonitorClient().DescribeGrafanaInstances(request) + if err != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, request.GetAction(), request.ToJsonString(), err.Error()) + 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 == nil || response.Response == nil || len(response.Response.Instances) < 1 { + return + } + grafanaInstance = response.Response.Instances[0] + + return +} + +func (me *MonitorService) DeleteMonitorGrafanaInstanceById(ctx context.Context, instanceId string) (errRet error) { + logId := getLogId(ctx) + + request := monitor.NewDeleteGrafanaInstanceRequest() + + request.InstanceIDs = []*string{&instanceId} + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, "delete object", request.ToJsonString(), errRet.Error()) + } + }() + + ratelimit.Check(request.GetAction()) + response, err := me.client.UseMonitorClient().DeleteGrafanaInstance(request) + if err != nil { + errRet = err + return err + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + return +} diff --git a/website/docs/r/monitor_grafana_instance.html.markdown b/website/docs/r/monitor_grafana_instance.html.markdown new file mode 100644 index 0000000000..01099ee5b2 --- /dev/null +++ b/website/docs/r/monitor_grafana_instance.html.markdown @@ -0,0 +1,57 @@ +--- +subcategory: "Monitor" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_monitor_grafana_instance" +sidebar_current: "docs-tencentcloud-resource-monitor_grafana_instance" +description: |- + Provides a resource to create a monitor grafanaInstance +--- + +# tencentcloud_monitor_grafana_instance + +Provides a resource to create a monitor grafanaInstance + +## Example Usage + +```hcl +resource "tencentcloud_monitor_grafana_instance" "grafanaInstance" { + instance_name = "test-grafana" + vpc_id = "vpc-2hfyray3" + subnet_ids = ["subnet-rdkj0agk"] + grafana_init_password = "1234567890" + enable_internet = false + + tags = { + "createdBy" = "test" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `instance_name` - (Required, String) Instance name. +* `enable_internet` - (Optional, Bool) Control whether grafana could be accessed by internet. +* `grafana_init_password` - (Optional, String) Grafana server admin password. +* `subnet_ids` - (Optional, Set: [`String`]) Subnet Id array. +* `tags` - (Optional, Map) Tag description list. +* `vpc_id` - (Optional, String) Vpc Id. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. +* `instance_id` - Grafana instance id. +* `instance_status` - Grafana instance status, 1: Creating, 2: Running, 6: Stopped. +* `root_url` - Grafana external url which could be accessed by user. + + +## Import + +monitor grafanaInstance can be imported using the id, e.g. +``` +$ terraform import tencentcloud_monitor_grafana_instance.grafanaInstance grafanaInstance_id#grafana_init_password +``` + diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index 6f1465d50f..df31e852c1 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -1127,6 +1127,9 @@
  • tencentcloud_monitor_binding_receiver
  • +
  • + tencentcloud_monitor_grafana_instance +
  • tencentcloud_monitor_policy_binding_object
  • From 6bd5897c28d8debb990a6d186e697b20174d27d8 Mon Sep 17 00:00:00 2001 From: arunma Date: Mon, 5 Sep 2022 16:29:59 +0800 Subject: [PATCH 03/14] feat: support grafana --- tencentcloud/provider.go | 2 + ...resource_tc_monitor_grafana_integration.go | 250 +++++++++++++++ ...rce_tc_monitor_grafana_integration_test.go | 39 +++ ...tc_monitor_grafana_notification_channel.go | 294 ++++++++++++++++++ ...nitor_grafana_notification_channel_test.go | 41 +++ .../resource_tc_monitor_grafana_plugin.go | 228 ++++++++++++++ ...resource_tc_monitor_grafana_plugin_test.go | 39 +++ .../resource_tc_monitor_sso_account.go | 258 +++++++++++++++ .../resource_tc_monitor_sso_account_test.go | 44 +++ tencentcloud/service_tencentcloud_monitor.go | 238 ++++++++++++++ .../monitor_grafana_integration.html.markdown | 47 +++ website/tencentcloud.erb | 3 + 12 files changed, 1483 insertions(+) create mode 100644 tencentcloud/resource_tc_monitor_grafana_integration.go create mode 100644 tencentcloud/resource_tc_monitor_grafana_integration_test.go create mode 100644 tencentcloud/resource_tc_monitor_grafana_notification_channel.go create mode 100644 tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go create mode 100644 tencentcloud/resource_tc_monitor_grafana_plugin.go create mode 100644 tencentcloud/resource_tc_monitor_grafana_plugin_test.go create mode 100644 tencentcloud/resource_tc_monitor_sso_account.go create mode 100644 tencentcloud/resource_tc_monitor_sso_account_test.go create mode 100644 website/docs/r/monitor_grafana_integration.html.markdown diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index 5e22de8383..971bc1692b 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -442,6 +442,7 @@ Monitor tencentcloud_monitor_tmp_tke_cluster_agent tencentcloud_monitor_grafana_instance + tencentcloud_monitor_grafana_integration PostgreSQL Data Source @@ -1129,6 +1130,7 @@ func Provider() terraform.ResourceProvider { "tencentcloud_monitor_tmp_tke_record_rule_yaml": resourceTencentCloudMonitorTmpTkeRecordRuleYaml(), "tencentcloud_monitor_tmp_tke_global_notification": resourceTencentCloudMonitorTmpTkeGlobalNotification(), "tencentcloud_monitor_grafana_instance": resourceTencentCloudMonitorGrafanaInstance(), + "tencentcloud_monitor_grafana_integration": resourceTencentCloudMonitorGrafanaIntegration(), "tencentcloud_mongodb_standby_instance": resourceTencentCloudMongodbStandbyInstance(), "tencentcloud_elasticsearch_instance": resourceTencentCloudElasticsearchInstance(), "tencentcloud_postgresql_instance": resourceTencentCloudPostgresqlInstance(), diff --git a/tencentcloud/resource_tc_monitor_grafana_integration.go b/tencentcloud/resource_tc_monitor_grafana_integration.go new file mode 100644 index 0000000000..8b4a476e15 --- /dev/null +++ b/tencentcloud/resource_tc_monitor_grafana_integration.go @@ -0,0 +1,250 @@ +/* +Provides a resource to create a monitor grafanaIntegration + +Example Usage + +```hcl +resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { + instance_id = "" + kind = "" + content = "" +} + +``` +Import + +monitor grafanaIntegration can be imported using the id, e.g. +``` +$ terraform import tencentcloud_monitor_grafana_integration.grafanaIntegration grafanaIntegration_id +``` +*/ +package tencentcloud + +import ( + "context" + "fmt" + "log" + "strings" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + monitor "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func resourceTencentCloudMonitorGrafanaIntegration() *schema.Resource { + return &schema.Resource{ + Read: resourceTencentCloudMonitorGrafanaIntegrationRead, + Create: resourceTencentCloudMonitorGrafanaIntegrationCreate, + Update: resourceTencentCloudMonitorGrafanaIntegrationUpdate, + Delete: resourceTencentCloudMonitorGrafanaIntegrationDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ + "instance_id": { + Type: schema.TypeString, + Required: true, + Description: "grafana instance id.", + }, + + "integration_id": { + Type: schema.TypeString, + Computed: true, + Description: "integration id.", + }, + + "kind": { + Type: schema.TypeString, + Optional: true, + Computed: true, + Description: "integration json schema kind.", + }, + + "content": { + Type: schema.TypeString, + Optional: true, + Computed: true, + Description: "generated json string of given integration json schema.", + }, + + "description": { + Type: schema.TypeString, + Optional: true, + Computed: true, + Description: "integration desc.", + }, + }, + } +} + +func resourceTencentCloudMonitorGrafanaIntegrationCreate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_integration.create")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + + var ( + request = monitor.NewCreateGrafanaIntegrationRequest() + response *monitor.CreateGrafanaIntegrationResponse + integrationId string + instanceId string + ) + + if v, ok := d.GetOk("instance_id"); ok { + instanceId = v.(string) + request.InstanceId = helper.String(v.(string)) + } + + if v, ok := d.GetOk("kind"); ok { + request.Kind = helper.String(v.(string)) + } + + if v, ok := d.GetOk("content"); ok { + request.Content = helper.String(v.(string)) + } + + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { + result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().CreateGrafanaIntegration(request) + if e != nil { + return retryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + response = result + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s create monitor grafanaIntegration failed, reason:%+v", logId, err) + return err + } + + //integrationId := *response.Response.IntegrationId + integrationId = "integration-18yi1w7o" + + d.SetId(strings.Join([]string{integrationId, instanceId}, FILED_SP)) + return resourceTencentCloudMonitorGrafanaIntegrationRead(d, meta) +} + +func resourceTencentCloudMonitorGrafanaIntegrationRead(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_integration.read")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + service := MonitorService{client: meta.(*TencentCloudClient).apiV3Conn} + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + integrationId := idSplit[0] + instanceId := idSplit[1] + + grafanaIntegration, err := service.DescribeMonitorGrafanaIntegration(ctx, integrationId, instanceId) + + if err != nil { + return err + } + + if grafanaIntegration == nil { + d.SetId("") + return fmt.Errorf("resource `grafanaIntegration` %s does not exist", integrationId) + } + + _ = d.Set("instance_id", instanceId) + + if grafanaIntegration.IntegrationId != nil { + _ = d.Set("integration_id", grafanaIntegration.IntegrationId) + } + + if grafanaIntegration.Kind != nil { + _ = d.Set("kind", grafanaIntegration.Kind) + } + + if grafanaIntegration.Content != nil { + _ = d.Set("content", grafanaIntegration.Content) + } + + return nil +} + +func resourceTencentCloudMonitorGrafanaIntegrationUpdate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_integration.update")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + + request := monitor.NewUpdateGrafanaIntegrationRequest() + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + integrationId := idSplit[0] + instanceId := idSplit[1] + + request.IntegrationId = &integrationId + request.InstanceId = &instanceId + + if d.HasChange("instance_id") { + return fmt.Errorf("`instance_id` do not support change now.") + } + + if d.HasChange("kind") { + return fmt.Errorf("`kind` do not support change now.") + } else { + if v, ok := d.GetOk("kind"); ok { + request.Kind = helper.String(v.(string)) + } + } + + if d.HasChange("content") { + if v, ok := d.GetOk("content"); ok { + request.Content = helper.String(v.(string)) + } + } + + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { + result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().UpdateGrafanaIntegration(request) + if e != nil { + return retryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + return nil + }) + + if err != nil { + return err + } + + return resourceTencentCloudMonitorGrafanaIntegrationRead(d, meta) +} + +func resourceTencentCloudMonitorGrafanaIntegrationDelete(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_integration.delete")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + service := MonitorService{client: meta.(*TencentCloudClient).apiV3Conn} + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + integrationId := idSplit[0] + instanceId := idSplit[1] + + if err := service.DeleteMonitorGrafanaIntegrationById(ctx, integrationId, instanceId); err != nil { + return err + } + + return nil +} diff --git a/tencentcloud/resource_tc_monitor_grafana_integration_test.go b/tencentcloud/resource_tc_monitor_grafana_integration_test.go new file mode 100644 index 0000000000..a27c7d26d8 --- /dev/null +++ b/tencentcloud/resource_tc_monitor_grafana_integration_test.go @@ -0,0 +1,39 @@ +package tencentcloud + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" +) + +func TestAccTencentCloudMonitorGrafanaIntegration_basic(t *testing.T) { + t.Parallel() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccMonitorGrafanaIntegration, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_monitor_grafana_integration.grafanaIntegration", "id"), + ), + }, + { + ResourceName: "tencentcloud_monitor_grafana_integration.grafanaIntegration", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +const testAccMonitorGrafanaIntegration = ` + +resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { + instance_id = "" + kind = "" + content = "" +} + +` diff --git a/tencentcloud/resource_tc_monitor_grafana_notification_channel.go b/tencentcloud/resource_tc_monitor_grafana_notification_channel.go new file mode 100644 index 0000000000..448893a3b8 --- /dev/null +++ b/tencentcloud/resource_tc_monitor_grafana_notification_channel.go @@ -0,0 +1,294 @@ +/* +Provides a resource to create a monitor grafanaNotificationChannel + +Example Usage + +```hcl +resource "tencentcloud_monitor_grafana_notification_channel" "grafanaNotificationChannel" { + instance_id = "" + channel_name = "" + org_id = 1 + receivers = "" + extra_org_ids = "" +} + +``` +Import + +monitor grafanaNotificationChannel can be imported using the id, e.g. +``` +$ terraform import tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel grafanaNotificationChannel_id +``` +*/ + +package tencentcloud + +import ( + "context" + "fmt" + "log" + "strings" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + monitor "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func resourceTencentCloudMonitorGrafanaNotificationChannel() *schema.Resource { + return &schema.Resource{ + Read: resourceTencentCloudMonitorGrafanaNotificationChannelRead, + Create: resourceTencentCloudMonitorGrafanaNotificationChannelCreate, + Update: resourceTencentCloudMonitorGrafanaNotificationChannelUpdate, + Delete: resourceTencentCloudMonitorGrafanaNotificationChannelDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ + "instance_id": { + Type: schema.TypeString, + Required: true, + Description: "grafana instance id.", + }, + + "channel_id": { + Type: schema.TypeString, + Computed: true, + Description: "plugin id.", + }, + + "channel_name": { + Type: schema.TypeString, + Optional: true, + Computed: true, + Description: "channel name.", + }, + + "org_id": { + Type: schema.TypeInt, + Optional: true, + Computed: true, + Description: "Grafana organization which channel will be installed, default to 1 representing Main Org.", + }, + + "receivers": { + Type: schema.TypeSet, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + Optional: true, + Computed: true, + Description: "cloud monitor notification template notice-id list.", + }, + + "extra_org_ids": { + Type: schema.TypeSet, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + Optional: true, + Description: "extra grafana organization id list, default to 1 representing Main Org.", + }, + }, + } +} + +func resourceTencentCloudMonitorGrafanaNotificationChannelCreate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_notification_channel.create")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + + var ( + request = monitor.NewCreateGrafanaNotificationChannelRequest() + response *monitor.CreateGrafanaNotificationChannelResponse + channelId string + instanceId string + ) + + if v, ok := d.GetOk("instance_id"); ok { + instanceId = v.(string) + request.InstanceId = helper.String(v.(string)) + } + + if v, ok := d.GetOk("channel_name"); ok { + request.ChannelName = helper.String(v.(string)) + } + + if v, ok := d.GetOk("org_id"); ok { + request.OrgId = helper.IntInt64(v.(int)) + } + + if v, ok := d.GetOk("receivers"); ok { + receiversSet := v.(*schema.Set).List() + for i := range receiversSet { + receivers := receiversSet[i].(string) + request.Receivers = append(request.Receivers, &receivers) + } + } + + if v, ok := d.GetOk("extra_org_ids"); ok { + extraOrgIdsSet := v.(*schema.Set).List() + for i := range extraOrgIdsSet { + extraOrgIds := extraOrgIdsSet[i].(string) + request.ExtraOrgIds = append(request.ExtraOrgIds, &extraOrgIds) + } + } + + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { + result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().CreateGrafanaNotificationChannel(request) + if e != nil { + return retryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + response = result + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s create monitor grafanaNotificationChannel failed, reason:%+v", logId, err) + return err + } + + //channelId = *response.Response.ChannelId + + d.SetId(channelId + FILED_SP + instanceId) + return resourceTencentCloudMonitorGrafanaNotificationChannelRead(d, meta) +} + +func resourceTencentCloudMonitorGrafanaNotificationChannelRead(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_notification_channel.read")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + service := MonitorService{client: meta.(*TencentCloudClient).apiV3Conn} + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + channelId := idSplit[0] + instanceId := idSplit[1] + + grafanaNotificationChannel, err := service.DescribeMonitorGrafanaNotificationChannel(ctx, channelId, instanceId) + + if err != nil { + return err + } + + if grafanaNotificationChannel == nil { + d.SetId("") + return fmt.Errorf("resource `grafanaNotificationChannel` %s does not exist", channelId) + } + + _ = d.Set("instance_id", instanceId) + + if grafanaNotificationChannel.ChannelId != nil { + _ = d.Set("channel_id", grafanaNotificationChannel.ChannelId) + } + + if grafanaNotificationChannel.ChannelName != nil { + _ = d.Set("channel_name", grafanaNotificationChannel.ChannelName) + } + + //if grafanaNotificationChannel.OrgId != nil { + // _ = d.Set("org_id", grafanaNotificationChannel.OrgId) + //} + + if grafanaNotificationChannel.Receivers != nil { + _ = d.Set("receivers", grafanaNotificationChannel.Receivers) + } + + //if grafanaNotificationChannel.ExtraOrgIds != nil { + // _ = d.Set("extra_org_ids", grafanaNotificationChannel.ExtraOrgIds) + //} + + return nil +} + +func resourceTencentCloudMonitorGrafanaNotificationChannelUpdate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_notification_channel.update")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + + request := monitor.NewUpdateGrafanaNotificationChannelRequest() + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + channelId := idSplit[0] + instanceId := idSplit[1] + + request.ChannelId = &channelId + request.InstanceId = &instanceId + + if v, ok := d.GetOk("channel_name"); ok { + request.ChannelName = helper.String(v.(string)) + } + + if d.HasChange("instance_id") { + return fmt.Errorf("`instance_id` do not support change now.") + } + + if d.HasChange("channel_name") { + return fmt.Errorf("`channel_name` do not support change now.") + } + + if d.HasChange("org_id") { + return fmt.Errorf("`org_id` do not support change now.") + } + + if d.HasChange("receivers") { + return fmt.Errorf("`receivers` do not support change now.") + } + + if d.HasChange("extra_org_ids") { + return fmt.Errorf("`extra_org_ids` do not support change now.") + } + + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { + result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().UpdateGrafanaNotificationChannel(request) + if e != nil { + return retryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + return nil + }) + + if err != nil { + return err + } + + return resourceTencentCloudMonitorGrafanaNotificationChannelRead(d, meta) +} + +func resourceTencentCloudMonitorGrafanaNotificationChannelDelete(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_notification_channel.delete")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + service := MonitorService{client: meta.(*TencentCloudClient).apiV3Conn} + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + channelId := idSplit[0] + instanceId := idSplit[1] + + if err := service.DeleteMonitorGrafanaNotificationChannelById(ctx, channelId, instanceId); err != nil { + return err + } + + return nil +} diff --git a/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go b/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go new file mode 100644 index 0000000000..81f99d9471 --- /dev/null +++ b/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go @@ -0,0 +1,41 @@ +package tencentcloud + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" +) + +func TestAccTencentCloudMonitorGrafanaNotificationChannel_basic(t *testing.T) { + t.Parallel() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccMonitorGrafanaNotificationChannel, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "id"), + ), + }, + { + ResourceName: "tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +const testAccMonitorGrafanaNotificationChannel = ` + +resource "tencentcloud_monitor_grafana_notification_channel" "grafanaNotificationChannel" { + instance_id = "" + channel_name = "" + org_id = 1 + receivers = "" + extra_org_ids = "" +} + +` diff --git a/tencentcloud/resource_tc_monitor_grafana_plugin.go b/tencentcloud/resource_tc_monitor_grafana_plugin.go new file mode 100644 index 0000000000..43a41a42d4 --- /dev/null +++ b/tencentcloud/resource_tc_monitor_grafana_plugin.go @@ -0,0 +1,228 @@ +/* +Provides a resource to create a monitor grafanaPlugin + +Example Usage + +```hcl +resource "tencentcloud_monitor_grafana_plugin" "grafanaPlugin" { + instance_id = "" + plugin_id = "" + version = "" +} + +``` +Import + +monitor grafanaPlugin can be imported using the id, e.g. +``` +$ terraform import tencentcloud_monitor_grafana_plugin.grafanaPlugin grafanaPlugin_id +``` +*/ + +package tencentcloud + +import ( + "context" + "fmt" + "log" + "strings" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + monitor "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func resourceTencentCloudMonitorGrafanaPlugin() *schema.Resource { + return &schema.Resource{ + Read: resourceTencentCloudMonitorGrafanaPluginRead, + Create: resourceTencentCloudMonitorGrafanaPluginCreate, + Update: resourceTencentCloudMonitorGrafanaPluginUpdate, + Delete: resourceTencentCloudMonitorGrafanaPluginDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ + "instance_id": { + Type: schema.TypeString, + Required: true, + Description: "Grafana instance id.", + }, + + "plugin_id": { + Type: schema.TypeString, + Required: true, + Description: "Plugin id.", + }, + + "version": { + Type: schema.TypeString, + Optional: true, + Computed: true, + Description: "Plugin version.", + }, + }, + } +} + +func resourceTencentCloudMonitorGrafanaPluginCreate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_plugin.create")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + + var ( + request = monitor.NewInstallPluginsRequest() + response *monitor.InstallPluginsResponse + pluginId string + instanceId string + ) + + if v, ok := d.GetOk("instance_id"); ok { + instanceId = v.(string) + request.InstanceId = helper.String(v.(string)) + } + + var plugin monitor.GrafanaPlugin + if v, ok := d.GetOk("plugin_id"); ok { + plugin.PluginId = helper.String(v.(string)) + } + + if v, ok := d.GetOk("version"); ok { + plugin.Version = helper.String(v.(string)) + } + request.Plugins = append(request.Plugins, &plugin) + + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { + result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().InstallPlugins(request) + if e != nil { + return retryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + response = result + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s create monitor grafanaPlugin failed, reason:%+v", logId, err) + return err + } + + //pluginId = *response.Response.PluginId + + d.SetId(strings.Join([]string{instanceId, pluginId}, FILED_SP)) + return resourceTencentCloudMonitorGrafanaPluginRead(d, meta) +} + +func resourceTencentCloudMonitorGrafanaPluginRead(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_plugin.read")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + service := MonitorService{client: meta.(*TencentCloudClient).apiV3Conn} + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + instanceId := idSplit[0] + pluginId := idSplit[1] + + grafanaPlugin, err := service.DescribeMonitorGrafanaPlugin(ctx, instanceId, pluginId) + + if err != nil { + return err + } + + if grafanaPlugin == nil { + d.SetId("") + return fmt.Errorf("resource `grafanaPlugin` %s does not exist", pluginId) + } + + _ = d.Set("instance_id", instanceId) + + if grafanaPlugin.PluginId != nil { + _ = d.Set("plugin_id", grafanaPlugin.PluginId) + } + + if grafanaPlugin.Version != nil { + _ = d.Set("version", grafanaPlugin.Version) + } + + return nil +} + +func resourceTencentCloudMonitorGrafanaPluginUpdate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_plugin.update")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + + request := monitor.NewUninstallGrafanaPluginsRequest() + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + instanceId := idSplit[0] + pluginId := idSplit[1] + + request.InstanceId = &instanceId + request.PluginIds = []*string{&pluginId} + + if d.HasChange("instance_id") { + return fmt.Errorf("`instance_id` do not support change now.") + } + + if d.HasChange("plugin_id") { + return fmt.Errorf("`plugin_id` do not support change now.") + } + + if d.HasChange("version") { + return fmt.Errorf("`version` do not support change now.") + } + + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { + result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().UninstallGrafanaPlugins(request) + if e != nil { + return retryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + return nil + }) + + if err != nil { + return err + } + + return resourceTencentCloudMonitorGrafanaPluginRead(d, meta) +} + +func resourceTencentCloudMonitorGrafanaPluginDelete(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_plugin.delete")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + service := MonitorService{client: meta.(*TencentCloudClient).apiV3Conn} + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + instanceId := idSplit[0] + pluginId := idSplit[1] + + if err := service.DeleteMonitorGrafanaPluginById(ctx, instanceId, pluginId); err != nil { + return err + } + + return nil +} diff --git a/tencentcloud/resource_tc_monitor_grafana_plugin_test.go b/tencentcloud/resource_tc_monitor_grafana_plugin_test.go new file mode 100644 index 0000000000..95ee465840 --- /dev/null +++ b/tencentcloud/resource_tc_monitor_grafana_plugin_test.go @@ -0,0 +1,39 @@ +package tencentcloud + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" +) + +func TestAccTencentCloudMonitorGrafanaPlugin_basic(t *testing.T) { + t.Parallel() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccMonitorGrafanaPlugin, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_monitor_grafana_plugin.grafanaPlugin", "id"), + ), + }, + { + ResourceName: "tencentcloud_monitor_grafana_plugin.grafanaPlugin", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +const testAccMonitorGrafanaPlugin = ` + +resource "tencentcloud_monitor_grafana_plugin" "grafanaPlugin" { + instance_id = "" + plugin_id = "" + version = "" +} + +` diff --git a/tencentcloud/resource_tc_monitor_sso_account.go b/tencentcloud/resource_tc_monitor_sso_account.go new file mode 100644 index 0000000000..4c3cf925a8 --- /dev/null +++ b/tencentcloud/resource_tc_monitor_sso_account.go @@ -0,0 +1,258 @@ +/* +Provides a resource to create a monitor ssoAccount + +Example Usage + +```hcl +resource "tencentcloud_monitor_sso_account" "ssoAccount" { + instance_id = "" + user_id = "" + notes = "" + role { + organization = "" + role = "" + + } +} + +``` +Import + +monitor ssoAccount can be imported using the id, e.g. +``` +$ terraform import tencentcloud_monitor_sso_account.ssoAccount ssoAccount_id +``` +*/ + +package tencentcloud + +import ( + "context" + "fmt" + "log" + "strings" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + monitor "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func resourceTencentCloudMonitorSsoAccount() *schema.Resource { + return &schema.Resource{ + Read: resourceTencentCloudMonitorSsoAccountRead, + Create: resourceTencentCloudMonitorSsoAccountCreate, + Update: resourceTencentCloudMonitorSsoAccountUpdate, + Delete: resourceTencentCloudMonitorSsoAccountDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ + "instance_id": { + Type: schema.TypeString, + Required: true, + Description: "grafana instance id.", + }, + + "user_id": { + Type: schema.TypeString, + Required: true, + Description: "sub account uin of specific user.", + }, + + "notes": { + Type: schema.TypeString, + Optional: true, + Computed: true, + Description: "account related description.", + }, + + "role": { + Optional: true, + Computed: true, + Description: "grafana role.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "organization": { + Type: schema.TypeString, + Required: true, + Description: "Grafana organization id string.", + }, + "role": { + Type: schema.TypeString, + Required: true, + Description: "Grafana role, one of {Admin,Editor,Viewer}.", + }, + }, + }, + }, + }, + } +} + +func resourceTencentCloudMonitorSsoAccountCreate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_sso_account.create")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + + var ( + request = monitor.NewCreateSSOAccountRequest() + response *monitor.CreateSSOAccountResponse + instanceId string + userId string + ) + + if v, ok := d.GetOk("instance_id"); ok { + instanceId = v.(string) + request.InstanceId = helper.String(v.(string)) + } + + if v, ok := d.GetOk("user_id"); ok { + request.UserId = helper.String(v.(string)) + } + + if v, ok := d.GetOk("notes"); ok { + request.Notes = helper.String(v.(string)) + } + + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { + result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().CreateSSOAccount(request) + if e != nil { + return retryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + response = result + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s create monitor ssoAccount failed, reason:%+v", logId, err) + return err + } + + //userId := *response.Response.UserId + + d.SetId(strings.Join([]string{instanceId, userId}, FILED_SP)) + return resourceTencentCloudMonitorSsoAccountRead(d, meta) +} + +func resourceTencentCloudMonitorSsoAccountRead(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_sso_account.read")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + service := MonitorService{client: meta.(*TencentCloudClient).apiV3Conn} + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + instanceId := idSplit[0] + userId := idSplit[1] + + ssoAccount, err := service.DescribeMonitorSsoAccount(ctx, instanceId, userId) + + if err != nil { + return err + } + + if ssoAccount == nil { + d.SetId("") + return fmt.Errorf("resource `ssoAccount` %s does not exist", userId) + } + + _ = d.Set("instance_id", instanceId) + + if ssoAccount.UserId != nil { + _ = d.Set("user_id", ssoAccount.UserId) + } + + if ssoAccount.Notes != nil { + _ = d.Set("notes", ssoAccount.Notes) + } + + if ssoAccount.Role != nil { + } + + return nil +} + +func resourceTencentCloudMonitorSsoAccountUpdate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_sso_account.update")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + + request := monitor.NewUpdateSSOAccountRequest() + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + instanceId := idSplit[0] + userId := idSplit[1] + + request.InstanceId = &instanceId + request.UserId = &userId + + if d.HasChange("instance_id") { + return fmt.Errorf("`instance_id` do not support change now.") + } + + if d.HasChange("user_id") { + return fmt.Errorf("`user_id` do not support change now.") + } + + if d.HasChange("notes") { + return fmt.Errorf("`notes` do not support change now.") + } + + if d.HasChange("role") { + return fmt.Errorf("`role` do not support change now.") + } + + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { + result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().UpdateSSOAccount(request) + if e != nil { + return retryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + return nil + }) + + if err != nil { + return err + } + + return resourceTencentCloudMonitorSsoAccountRead(d, meta) +} + +func resourceTencentCloudMonitorSsoAccountDelete(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_sso_account.delete")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + service := MonitorService{client: meta.(*TencentCloudClient).apiV3Conn} + + idSplit := strings.Split(d.Id(), FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + instanceId := idSplit[0] + userId := idSplit[1] + + if err := service.DeleteMonitorSsoAccountById(ctx, instanceId, userId); err != nil { + return err + } + + return nil +} diff --git a/tencentcloud/resource_tc_monitor_sso_account_test.go b/tencentcloud/resource_tc_monitor_sso_account_test.go new file mode 100644 index 0000000000..127fe61ba1 --- /dev/null +++ b/tencentcloud/resource_tc_monitor_sso_account_test.go @@ -0,0 +1,44 @@ +package tencentcloud + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" +) + +func TestAccTencentCloudMonitorSsoAccount_basic(t *testing.T) { + t.Parallel() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccMonitorSsoAccount, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_monitor_sso_account.ssoAccount", "id"), + ), + }, + { + ResourceName: "tencentcloud_monitor_sso_account.ssoAccount", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +const testAccMonitorSsoAccount = ` + +resource "tencentcloud_monitor_sso_account" "ssoAccount" { + instance_id = "" + user_id = "" + notes = "" + role { + organization = "" + role = "" + + } +} + +` diff --git a/tencentcloud/service_tencentcloud_monitor.go b/tencentcloud/service_tencentcloud_monitor.go index 07788c200d..f826c92eb8 100644 --- a/tencentcloud/service_tencentcloud_monitor.go +++ b/tencentcloud/service_tencentcloud_monitor.go @@ -757,3 +757,241 @@ func (me *MonitorService) DeleteMonitorGrafanaInstanceById(ctx context.Context, return } + +func (me *MonitorService) DescribeMonitorGrafanaIntegration(ctx context.Context, integrationId, instanceId string) (grafanaIntegration *monitor.GrafanaIntegrationConfig, errRet error) { + var ( + logId = getLogId(ctx) + request = monitor.NewDescribeGrafanaIntegrationsRequest() + ) + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, "query object", request.ToJsonString(), errRet.Error()) + } + }() + request.IntegrationId = &integrationId + request.InstanceId = &instanceId + + response, err := me.client.UseMonitorClient().DescribeGrafanaIntegrations(request) + if err != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, request.GetAction(), request.ToJsonString(), err.Error()) + 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 == nil || response.Response == nil || len(response.Response.IntegrationSet) < 1 { + return + } + grafanaIntegration = response.Response.IntegrationSet[0] + return +} + +func (me *MonitorService) DeleteMonitorGrafanaIntegrationById(ctx context.Context, integrationId, instanceId string) (errRet error) { + logId := getLogId(ctx) + + request := monitor.NewDeleteGrafanaIntegrationRequest() + + request.IntegrationId = &integrationId + request.InstanceId = &instanceId + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, "delete object", request.ToJsonString(), errRet.Error()) + } + }() + + ratelimit.Check(request.GetAction()) + response, err := me.client.UseMonitorClient().DeleteGrafanaIntegration(request) + if err != nil { + errRet = err + return err + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + return +} + +func (me *MonitorService) DescribeMonitorGrafanaNotificationChannel(ctx context.Context, channelId, instanceId string) (grafanaNotificationChannel *monitor.GrafanaNotificationChannel, errRet error) { + var ( + logId = getLogId(ctx) + request = monitor.NewDescribeGrafanaNotificationChannelsRequest() + ) + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, "query object", request.ToJsonString(), errRet.Error()) + } + }() + request.ChannelIDs = []*string{&channelId} + request.InstanceId = &instanceId + + response, err := me.client.UseMonitorClient().DescribeGrafanaNotificationChannels(request) + if err != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, request.GetAction(), request.ToJsonString(), err.Error()) + 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 == nil || response.Response == nil || len(response.Response.NotificationChannelSet) < 1 { + return + } + grafanaNotificationChannel = response.Response.NotificationChannelSet[0] + return +} + +func (me *MonitorService) DeleteMonitorGrafanaNotificationChannelById(ctx context.Context, channelId, instanceId string) (errRet error) { + logId := getLogId(ctx) + + request := monitor.NewDeleteGrafanaNotificationChannelRequest() + + request.ChannelIDs = []*string{&channelId} + request.InstanceId = &instanceId + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, "delete object", request.ToJsonString(), errRet.Error()) + } + }() + + ratelimit.Check(request.GetAction()) + response, err := me.client.UseMonitorClient().DeleteGrafanaNotificationChannel(request) + if err != nil { + errRet = err + return err + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + return +} + +func (me *MonitorService) DescribeMonitorSsoAccount(ctx context.Context, instanceId, userId string) (ssoAccount *monitor.GrafanaAccountInfo, errRet error) { + var ( + logId = getLogId(ctx) + request = monitor.NewDescribeSSOAccountRequest() + ) + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, "query object", request.ToJsonString(), errRet.Error()) + } + }() + request.InstanceId = &instanceId + + response, err := me.client.UseMonitorClient().DescribeSSOAccount(request) + if err != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, request.GetAction(), request.ToJsonString(), err.Error()) + errRet = err + return + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + for _, v := range response.Response.AccountSet { + if *v.UserId == userId { + ssoAccount = v + return + } + } + + return +} + +func (me *MonitorService) DeleteMonitorSsoAccountById(ctx context.Context, instanceId, userId string) (errRet error) { + logId := getLogId(ctx) + + request := monitor.NewDeleteSSOAccountRequest() + + request.InstanceId = &instanceId + request.UserId = &userId + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, "delete object", request.ToJsonString(), errRet.Error()) + } + }() + + ratelimit.Check(request.GetAction()) + response, err := me.client.UseMonitorClient().DeleteSSOAccount(request) + if err != nil { + errRet = err + return err + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + return +} + +func (me *MonitorService) DescribeMonitorGrafanaPlugin(ctx context.Context, instanceId, pluginId string) (grafanaPlugin *monitor.GrafanaPlugin, errRet error) { + var ( + logId = getLogId(ctx) + request = monitor.NewDescribeInstalledPluginsRequest() + ) + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, "query object", request.ToJsonString(), errRet.Error()) + } + }() + request.InstanceId = &instanceId + + response, err := me.client.UseMonitorClient().DescribeInstalledPlugins(request) + if err != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, request.GetAction(), request.ToJsonString(), err.Error()) + errRet = err + return + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + for _, v := range response.Response.PluginSet { + if *v.PluginId == pluginId { + grafanaPlugin = v + return + } + } + return +} + +func (me *MonitorService) DeleteMonitorGrafanaPluginById(ctx context.Context, instanceId, pluginId string) (errRet error) { + logId := getLogId(ctx) + + request := monitor.NewUninstallGrafanaPluginsRequest() + + request.InstanceId = &instanceId + request.PluginIds = []*string{&pluginId} + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, "delete object", request.ToJsonString(), errRet.Error()) + } + }() + + ratelimit.Check(request.GetAction()) + response, err := me.client.UseMonitorClient().UninstallGrafanaPlugins(request) + if err != nil { + errRet = err + return err + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + return +} diff --git a/website/docs/r/monitor_grafana_integration.html.markdown b/website/docs/r/monitor_grafana_integration.html.markdown new file mode 100644 index 0000000000..53806a0299 --- /dev/null +++ b/website/docs/r/monitor_grafana_integration.html.markdown @@ -0,0 +1,47 @@ +--- +subcategory: "Monitor" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_monitor_grafana_integration" +sidebar_current: "docs-tencentcloud-resource-monitor_grafana_integration" +description: |- + Provides a resource to create a monitor grafanaIntegration +--- + +# tencentcloud_monitor_grafana_integration + +Provides a resource to create a monitor grafanaIntegration + +## Example Usage + +```hcl +resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { + instance_id = "" + kind = "" + content = "" +} +``` + +## Argument Reference + +The following arguments are supported: + +* `instance_id` - (Required, String) grafana instance id. +* `content` - (Optional, String) generated json string of given integration json schema. +* `description` - (Optional, String) integration desc. +* `kind` - (Optional, String) integration json schema kind. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. +* `integration_id` - integration id. + + +## Import + +monitor grafanaIntegration can be imported using the id, e.g. +``` +$ terraform import tencentcloud_monitor_grafana_integration.grafanaIntegration grafanaIntegration_id +``` + diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index df31e852c1..bb1699dc43 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -1130,6 +1130,9 @@
  • tencentcloud_monitor_grafana_instance
  • +
  • + tencentcloud_monitor_grafana_integration +
  • tencentcloud_monitor_policy_binding_object
  • From 24b143df974291d734fd37042c74c331a347cf6b Mon Sep 17 00:00:00 2001 From: arunma Date: Wed, 7 Sep 2022 00:32:42 +0800 Subject: [PATCH 04/14] fix: update sdk and resource --- go.mod | 4 +- go.sum | 4 + tencentcloud/provider.go | 6 ++ ...resource_tc_monitor_grafana_integration.go | 6 +- ...tc_monitor_grafana_notification_channel.go | 27 +++--- ...nitor_grafana_notification_channel_test.go | 16 ++-- .../resource_tc_monitor_grafana_plugin.go | 38 +++----- ...resource_tc_monitor_grafana_plugin_test.go | 84 +++++++++++++++-- .../resource_tc_monitor_sso_account.go | 61 +++++++++--- .../resource_tc_monitor_sso_account_test.go | 92 +++++++++++++++++-- tencentcloud/service_tencentcloud_monitor.go | 32 +++++-- .../tencentcloud/common/http/request.go | 2 +- .../tencentcloud/monitor/v20180724/models.go | 44 +++++++++ vendor/modules.txt | 4 +- ...grafana_notification_channel.html.markdown | 50 ++++++++++ .../r/monitor_grafana_plugin.html.markdown | 46 ++++++++++ .../docs/r/monitor_sso_account.html.markdown | 56 +++++++++++ website/tencentcloud.erb | 9 ++ 18 files changed, 492 insertions(+), 89 deletions(-) create mode 100644 website/docs/r/monitor_grafana_notification_channel.html.markdown create mode 100644 website/docs/r/monitor_grafana_plugin.html.markdown create mode 100644 website/docs/r/monitor_sso_account.html.markdown diff --git a/go.mod b/go.mod index 1fa0c06df6..bfe5ae053a 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.445 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.492 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335 @@ -46,7 +46,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse v1.0.413 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.487 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.492 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.290 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.199 diff --git a/go.sum b/go.sum index e339d38fd4..7e84e04eb4 100644 --- a/go.sum +++ b/go.sum @@ -501,6 +501,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486 h1:MUO3 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487 h1:6PCOaohR7z/5lbK1PDJRg0TY9tYK7zvjmDxY1yXWsQE= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.492 h1:jEQ73fWlZVQBsHgwNawDanFDtC1gpQRTjQkvist7wIc= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.492/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 h1:Bh7XD0ypNMHYyBOM8hhKsSu+y0VVKUnJVS+YKKhfpGg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445/go.mod h1:jMDD351efCFpT1+KVFbcpu6SbmP4TYmp4qkoCfr63nQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359 h1:cNKqelPgUxrJkLY0Azd2QHr/UMYOPPnmqs88clt2akk= @@ -530,6 +532,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.443 h1:5uP github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.443/go.mod h1:QGyCdlNx2tu94GMlJDQAwz5eVFa2Gfq3JD0WZ65QqGE= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.487 h1:xLDEsG2ECY75TKwKqJb/by8VWbv3F43cz9C6GeenmSI= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.487/go.mod h1:T3cyKuCL+2DBn2R6d3lpCqMvkpNKEf3qOTz2n9NQzvY= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.492 h1:FbknOhRIYuNxrjApZ20sRFa0ieyHOEBaXxkUv6UTbAY= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.492/go.mod h1:njWZYQpj7rFbCc2qvC0bEKsfhwJrY5CtpdJi5q4/8wU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 h1:1yZh5MrlFqawVGhLdd38hi5HoaKc4LgB+8cEgLT2Qo4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391/go.mod h1:BZSQiBjNQ+6/gL1fFXBr/0BOuPTdHmSYoIg4/AkmZB4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.290 h1:osYZxh9ApEc8UpvIMwjAUfdl7ytRcWUpcnnqLIpiJ/U= diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index 971bc1692b..ed49c71328 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -443,6 +443,9 @@ Monitor tencentcloud_monitor_grafana_instance tencentcloud_monitor_grafana_integration + tencentcloud_monitor_grafana_notification_channel + tencentcloud_monitor_grafana_plugin + tencentcloud_monitor_sso_account PostgreSQL Data Source @@ -1131,6 +1134,9 @@ func Provider() terraform.ResourceProvider { "tencentcloud_monitor_tmp_tke_global_notification": resourceTencentCloudMonitorTmpTkeGlobalNotification(), "tencentcloud_monitor_grafana_instance": resourceTencentCloudMonitorGrafanaInstance(), "tencentcloud_monitor_grafana_integration": resourceTencentCloudMonitorGrafanaIntegration(), + "tencentcloud_monitor_grafana_notification_channel": resourceTencentCloudMonitorGrafanaNotificationChannel(), + "tencentcloud_monitor_grafana_plugin": resourceTencentCloudMonitorGrafanaPlugin(), + "tencentcloud_monitor_sso_account": resourceTencentCloudMonitorSsoAccount(), "tencentcloud_mongodb_standby_instance": resourceTencentCloudMongodbStandbyInstance(), "tencentcloud_elasticsearch_instance": resourceTencentCloudElasticsearchInstance(), "tencentcloud_postgresql_instance": resourceTencentCloudPostgresqlInstance(), diff --git a/tencentcloud/resource_tc_monitor_grafana_integration.go b/tencentcloud/resource_tc_monitor_grafana_integration.go index 8b4a476e15..1a863d1f7e 100644 --- a/tencentcloud/resource_tc_monitor_grafana_integration.go +++ b/tencentcloud/resource_tc_monitor_grafana_integration.go @@ -85,8 +85,8 @@ func resourceTencentCloudMonitorGrafanaIntegrationCreate(d *schema.ResourceData, logId := getLogId(contextNil) var ( - request = monitor.NewCreateGrafanaIntegrationRequest() - response *monitor.CreateGrafanaIntegrationResponse + request = monitor.NewCreateGrafanaIntegrationRequest() + //response *monitor.CreateGrafanaIntegrationResponse integrationId string instanceId string ) @@ -112,7 +112,7 @@ func resourceTencentCloudMonitorGrafanaIntegrationCreate(d *schema.ResourceData, log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) } - response = result + //response = result return nil }) diff --git a/tencentcloud/resource_tc_monitor_grafana_notification_channel.go b/tencentcloud/resource_tc_monitor_grafana_notification_channel.go index 448893a3b8..93337e53c4 100644 --- a/tencentcloud/resource_tc_monitor_grafana_notification_channel.go +++ b/tencentcloud/resource_tc_monitor_grafana_notification_channel.go @@ -5,11 +5,11 @@ Example Usage ```hcl resource "tencentcloud_monitor_grafana_notification_channel" "grafanaNotificationChannel" { - instance_id = "" - channel_name = "" - org_id = 1 - receivers = "" - extra_org_ids = "" + instance_id = "grafana-50nj6v00" + channel_name = "create-channel" + org_id = 1 + receivers = ["Consumer-6vkna7pevq"] + extra_org_ids = [] } ``` @@ -20,7 +20,6 @@ monitor grafanaNotificationChannel can be imported using the id, e.g. $ terraform import tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel grafanaNotificationChannel_id ``` */ - package tencentcloud import ( @@ -152,7 +151,7 @@ func resourceTencentCloudMonitorGrafanaNotificationChannelCreate(d *schema.Resou return err } - //channelId = *response.Response.ChannelId + channelId = *response.Response.ChannelId d.SetId(channelId + FILED_SP + instanceId) return resourceTencentCloudMonitorGrafanaNotificationChannelRead(d, meta) @@ -195,17 +194,21 @@ func resourceTencentCloudMonitorGrafanaNotificationChannelRead(d *schema.Resourc _ = d.Set("channel_name", grafanaNotificationChannel.ChannelName) } - //if grafanaNotificationChannel.OrgId != nil { - // _ = d.Set("org_id", grafanaNotificationChannel.OrgId) + //var orgIds []string + //for _, v := range grafanaNotificationChannel.OrgIds { + // orgIds = append(orgIds, *v) //} + //_ = d.Set("org_id", orgIds) if grafanaNotificationChannel.Receivers != nil { _ = d.Set("receivers", grafanaNotificationChannel.Receivers) } - //if grafanaNotificationChannel.ExtraOrgIds != nil { - // _ = d.Set("extra_org_ids", grafanaNotificationChannel.ExtraOrgIds) - //} + var extraOrgIds []string + for _, v := range grafanaNotificationChannel.ExtraOrgIds { + extraOrgIds = append(extraOrgIds, *v) + } + _ = d.Set("extra_org_ids", extraOrgIds) return nil } diff --git a/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go b/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go index 81f99d9471..fb481b4a75 100644 --- a/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go @@ -16,7 +16,11 @@ func TestAccTencentCloudMonitorGrafanaNotificationChannel_basic(t *testing.T) { { Config: testAccMonitorGrafanaNotificationChannel, Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttrSet("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "id"), + testAccCheckGrafanaInstanceExists("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "channel_name", "create-channel-test"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "org_id", "1"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "receivers.#", "1"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "receivers.0", "Consumer-6vkna7pevq"), ), }, { @@ -31,11 +35,11 @@ func TestAccTencentCloudMonitorGrafanaNotificationChannel_basic(t *testing.T) { const testAccMonitorGrafanaNotificationChannel = ` resource "tencentcloud_monitor_grafana_notification_channel" "grafanaNotificationChannel" { - instance_id = "" - channel_name = "" - org_id = 1 - receivers = "" - extra_org_ids = "" + instance_id = "grafana-50nj6v00" + channel_name = "create-channel-test" + org_id = 1 + receivers = ["Consumer-6vkna7pevq"] + extra_org_ids = [] } ` diff --git a/tencentcloud/resource_tc_monitor_grafana_plugin.go b/tencentcloud/resource_tc_monitor_grafana_plugin.go index 43a41a42d4..beb5ac2abd 100644 --- a/tencentcloud/resource_tc_monitor_grafana_plugin.go +++ b/tencentcloud/resource_tc_monitor_grafana_plugin.go @@ -5,20 +5,19 @@ Example Usage ```hcl resource "tencentcloud_monitor_grafana_plugin" "grafanaPlugin" { - instance_id = "" - plugin_id = "" - version = "" + instance_id = "grafana-50nj6v00" + plugin_id = "grafana-piechart-panel" + version = "1.6.2" } ``` Import -monitor grafanaPlugin can be imported using the id, e.g. +monitor grafanaPlugin can be imported using the instance_id#plugin_id, e.g. ``` -$ terraform import tencentcloud_monitor_grafana_plugin.grafanaPlugin grafanaPlugin_id +$ terraform import tencentcloud_monitor_grafana_plugin.grafanaPlugin grafana-50nj6v00#grafana-piechart-panel ``` */ - package tencentcloud import ( @@ -72,8 +71,8 @@ func resourceTencentCloudMonitorGrafanaPluginCreate(d *schema.ResourceData, meta logId := getLogId(contextNil) var ( - request = monitor.NewInstallPluginsRequest() - response *monitor.InstallPluginsResponse + request = monitor.NewInstallPluginsRequest() + //response *monitor.InstallPluginsResponse pluginId string instanceId string ) @@ -85,6 +84,7 @@ func resourceTencentCloudMonitorGrafanaPluginCreate(d *schema.ResourceData, meta var plugin monitor.GrafanaPlugin if v, ok := d.GetOk("plugin_id"); ok { + pluginId = v.(string) plugin.PluginId = helper.String(v.(string)) } @@ -101,7 +101,7 @@ func resourceTencentCloudMonitorGrafanaPluginCreate(d *schema.ResourceData, meta log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) } - response = result + //response = result return nil }) @@ -160,8 +160,6 @@ func resourceTencentCloudMonitorGrafanaPluginUpdate(d *schema.ResourceData, meta defer logElapsed("resource.tencentcloud_monitor_grafana_plugin.update")() defer inconsistentCheck(d, meta)() - logId := getLogId(contextNil) - request := monitor.NewUninstallGrafanaPluginsRequest() idSplit := strings.Split(d.Id(), FILED_SP) @@ -182,26 +180,12 @@ func resourceTencentCloudMonitorGrafanaPluginUpdate(d *schema.ResourceData, meta return fmt.Errorf("`plugin_id` do not support change now.") } - if d.HasChange("version") { - return fmt.Errorf("`version` do not support change now.") - } - - err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { - result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().UninstallGrafanaPlugins(request) - if e != nil { - return retryError(e) - } else { - log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", - logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) - } - return nil - }) - + err := resourceTencentCloudMonitorGrafanaPluginDelete(d, meta) if err != nil { return err } - return resourceTencentCloudMonitorGrafanaPluginRead(d, meta) + return resourceTencentCloudMonitorGrafanaPluginCreate(d, meta) } func resourceTencentCloudMonitorGrafanaPluginDelete(d *schema.ResourceData, meta interface{}) error { diff --git a/tencentcloud/resource_tc_monitor_grafana_plugin_test.go b/tencentcloud/resource_tc_monitor_grafana_plugin_test.go index 95ee465840..1cf5c4f78b 100644 --- a/tencentcloud/resource_tc_monitor_grafana_plugin_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_plugin_test.go @@ -1,22 +1,31 @@ package tencentcloud import ( + "context" + "fmt" + "strings" "testing" + "github.com/hashicorp/terraform-plugin-sdk/terraform" + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" ) +// go test -i; go test -test.run TestAccTencentCloudMonitorGrafanaPlugin_basic -v func TestAccTencentCloudMonitorGrafanaPlugin_basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ - PreCheck: func() { testAccPreCheck(t) }, - Providers: testAccProviders, + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckGrafanaPluginDestroy, Steps: []resource.TestStep{ { Config: testAccMonitorGrafanaPlugin, Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttrSet("tencentcloud_monitor_grafana_plugin.grafanaPlugin", "id"), + testAccCheckGrafanaPluginExists("tencentcloud_monitor_grafana_plugin.grafanaPlugin"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_plugin.grafanaPlugin", "plugin_id", "grafana-piechart-panel"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_plugin.grafanaPlugin", "version", "1.6.2"), ), }, { @@ -28,12 +37,75 @@ func TestAccTencentCloudMonitorGrafanaPlugin_basic(t *testing.T) { }) } +func testAccCheckGrafanaPluginDestroy(s *terraform.State) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + service := MonitorService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} + for _, rs := range s.RootModule().Resources { + if rs.Type != "tencentcloud_monitor_grafana_plugin" { + continue + } + if rs.Primary.ID == "" { + return fmt.Errorf("resource id is not set") + } + idSplit := strings.Split(rs.Primary.ID, FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", rs.Primary.ID) + } + instanceId := idSplit[0] + pluginId := idSplit[1] + + grafanaPlugin, err := service.DescribeMonitorGrafanaPlugin(ctx, instanceId, pluginId) + if err != nil { + return err + } + + if grafanaPlugin != nil { + return fmt.Errorf("GrafanaPlugin %s still exists", rs.Primary.ID) + } + } + return nil +} + +func testAccCheckGrafanaPluginExists(r string) resource.TestCheckFunc { + return func(s *terraform.State) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + rs, ok := s.RootModule().Resources[r] + if !ok { + return fmt.Errorf("resource %s is not found", r) + } + if rs.Primary.ID == "" { + return fmt.Errorf("resource id is not set") + } + idSplit := strings.Split(rs.Primary.ID, FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", rs.Primary.ID) + } + instanceId := idSplit[0] + pluginId := idSplit[1] + + service := MonitorService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} + grafanaPlugin, err := service.DescribeMonitorGrafanaPlugin(ctx, instanceId, pluginId) + if err != nil { + return err + } + + if grafanaPlugin == nil { + return fmt.Errorf("GrafanaPlugin %s is not found", rs.Primary.ID) + } + + return nil + } +} + const testAccMonitorGrafanaPlugin = ` resource "tencentcloud_monitor_grafana_plugin" "grafanaPlugin" { - instance_id = "" - plugin_id = "" - version = "" + instance_id = "grafana-50nj6v00" + plugin_id = "grafana-piechart-panel" + version = "1.6.2" } ` diff --git a/tencentcloud/resource_tc_monitor_sso_account.go b/tencentcloud/resource_tc_monitor_sso_account.go index 4c3cf925a8..add62cc67f 100644 --- a/tencentcloud/resource_tc_monitor_sso_account.go +++ b/tencentcloud/resource_tc_monitor_sso_account.go @@ -5,25 +5,23 @@ Example Usage ```hcl resource "tencentcloud_monitor_sso_account" "ssoAccount" { - instance_id = "" - user_id = "" - notes = "" + instance_id = "grafana-50nj6v00" + user_id = "111" + notes = "desc12222" role { - organization = "" - role = "" - + organization = "Main Org." + role = "Admin" } } ``` Import -monitor ssoAccount can be imported using the id, e.g. +monitor ssoAccount can be imported using the instance_id#user_id, e.g. ``` -$ terraform import tencentcloud_monitor_sso_account.ssoAccount ssoAccount_id +$ terraform import tencentcloud_monitor_sso_account.ssoAccount grafana-50nj6v00#111 ``` */ - package tencentcloud import ( @@ -68,6 +66,7 @@ func resourceTencentCloudMonitorSsoAccount() *schema.Resource { }, "role": { + Type: schema.TypeList, Optional: true, Computed: true, Description: "grafana role.", @@ -116,6 +115,21 @@ func resourceTencentCloudMonitorSsoAccountCreate(d *schema.ResourceData, meta in request.Notes = helper.String(v.(string)) } + if v, ok := d.GetOk("role"); ok { + roleList := v.([]interface{}) + for _, r := range roleList { + rr := r.(map[string]interface{}) + var role monitor.GrafanaAccountRole + if vv, ok := rr["role"]; ok { + role.Role = helper.String(vv.(string)) + } + if vv, ok := rr["organization"]; ok { + role.Organization = helper.String(vv.(string)) + } + request.Role = append(request.Role, &role) + } + } + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { result, e := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().CreateSSOAccount(request) if e != nil { @@ -133,7 +147,7 @@ func resourceTencentCloudMonitorSsoAccountCreate(d *schema.ResourceData, meta in return err } - //userId := *response.Response.UserId + userId = *response.Response.UserId d.SetId(strings.Join([]string{instanceId, userId}, FILED_SP)) return resourceTencentCloudMonitorSsoAccountRead(d, meta) @@ -177,6 +191,14 @@ func resourceTencentCloudMonitorSsoAccountRead(d *schema.ResourceData, meta inte } if ssoAccount.Role != nil { + roleList := make([]map[string]interface{}, 0, len(ssoAccount.Role)) + for _, role := range ssoAccount.Role { + roleList = append(roleList, map[string]interface{}{ + "role": role.Role, + "organization": role.Organization, + }) + } + _ = d.Set("role", roleList) } return nil @@ -209,11 +231,26 @@ func resourceTencentCloudMonitorSsoAccountUpdate(d *schema.ResourceData, meta in } if d.HasChange("notes") { - return fmt.Errorf("`notes` do not support change now.") + if v, ok := d.GetOk("notes"); ok { + request.Notes = helper.String(v.(string)) + } } if d.HasChange("role") { - return fmt.Errorf("`role` do not support change now.") + if v, ok := d.GetOk("role"); ok { + roleList := v.([]interface{}) + for _, r := range roleList { + rr := r.(map[string]interface{}) + var role monitor.GrafanaAccountRole + if vv, ok := rr["role"]; ok { + role.Role = helper.String(vv.(string)) + } + if vv, ok := rr["organization"]; ok { + role.Organization = helper.String(vv.(string)) + } + request.Role = append(request.Role, &role) + } + } } err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { diff --git a/tencentcloud/resource_tc_monitor_sso_account_test.go b/tencentcloud/resource_tc_monitor_sso_account_test.go index 127fe61ba1..8bfbbe1e5a 100644 --- a/tencentcloud/resource_tc_monitor_sso_account_test.go +++ b/tencentcloud/resource_tc_monitor_sso_account_test.go @@ -1,22 +1,34 @@ package tencentcloud import ( + "context" + "fmt" + "strings" "testing" + "github.com/hashicorp/terraform-plugin-sdk/terraform" + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" ) +// go test -i; go test -test.run TestAccTencentCloudMonitorSsoAccount_basic -v func TestAccTencentCloudMonitorSsoAccount_basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ - PreCheck: func() { testAccPreCheck(t) }, - Providers: testAccProviders, + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckSsoAccountDestroy, Steps: []resource.TestStep{ { Config: testAccMonitorSsoAccount, Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttrSet("tencentcloud_monitor_sso_account.ssoAccount", "id"), + testAccCheckSsoAccountExists("tencentcloud_monitor_sso_account.ssoAccount"), + resource.TestCheckResourceAttr("tencentcloud_monitor_sso_account.ssoAccount", "user_id", "202109071220"), + resource.TestCheckResourceAttr("tencentcloud_monitor_sso_account.ssoAccount", "notes", "desc-202109071220"), + resource.TestCheckResourceAttr("tencentcloud_monitor_sso_account.ssoAccount", "role.#", "1"), + resource.TestCheckResourceAttr("tencentcloud_monitor_sso_account.ssoAccount", "role.0.role", "Admin"), + resource.TestCheckResourceAttr("tencentcloud_monitor_sso_account.ssoAccount", "role.0.organization", "Main Org."), ), }, { @@ -28,16 +40,78 @@ func TestAccTencentCloudMonitorSsoAccount_basic(t *testing.T) { }) } +func testAccCheckSsoAccountDestroy(s *terraform.State) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + service := MonitorService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} + for _, rs := range s.RootModule().Resources { + if rs.Type != "tencentcloud_monitor_sso_account" { + continue + } + if rs.Primary.ID == "" { + return fmt.Errorf("resource id is not set") + } + idSplit := strings.Split(rs.Primary.ID, FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", rs.Primary.ID) + } + instanceId := idSplit[0] + userId := idSplit[1] + + ssoAccount, err := service.DescribeMonitorSsoAccount(ctx, instanceId, userId) + if err != nil { + return err + } + + if ssoAccount != nil { + return fmt.Errorf("SsoAccount %s still exists", rs.Primary.ID) + } + } + return nil +} + +func testAccCheckSsoAccountExists(r string) resource.TestCheckFunc { + return func(s *terraform.State) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + rs, ok := s.RootModule().Resources[r] + if !ok { + return fmt.Errorf("resource %s is not found", r) + } + if rs.Primary.ID == "" { + return fmt.Errorf("resource id is not set") + } + idSplit := strings.Split(rs.Primary.ID, FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", rs.Primary.ID) + } + instanceId := idSplit[0] + userId := idSplit[1] + + service := MonitorService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} + ssoAccount, err := service.DescribeMonitorSsoAccount(ctx, instanceId, userId) + if err != nil { + return err + } + + if ssoAccount == nil { + return fmt.Errorf("SsoAccount %s is not found", rs.Primary.ID) + } + + return nil + } +} + const testAccMonitorSsoAccount = ` resource "tencentcloud_monitor_sso_account" "ssoAccount" { - instance_id = "" - user_id = "" - notes = "" + instance_id = "grafana-50nj6v00" + user_id = "202109071220" + notes = "desc-202109071220" role { - organization = "" - role = "" - + organization = "Main Org." + role = "Admin" } } diff --git a/tencentcloud/service_tencentcloud_monitor.go b/tencentcloud/service_tencentcloud_monitor.go index f826c92eb8..c461d27071 100644 --- a/tencentcloud/service_tencentcloud_monitor.go +++ b/tencentcloud/service_tencentcloud_monitor.go @@ -828,6 +828,8 @@ func (me *MonitorService) DescribeMonitorGrafanaNotificationChannel(ctx context. logId, "query object", request.ToJsonString(), errRet.Error()) } }() + request.Offset = helper.IntInt64(0) + request.Limit = helper.IntInt64(10) request.ChannelIDs = []*string{&channelId} request.InstanceId = &instanceId @@ -888,6 +890,7 @@ func (me *MonitorService) DescribeMonitorSsoAccount(ctx context.Context, instanc } }() request.InstanceId = &instanceId + request.UserId = &userId response, err := me.client.UseMonitorClient().DescribeSSOAccount(request) if err != nil { @@ -938,8 +941,9 @@ func (me *MonitorService) DeleteMonitorSsoAccountById(ctx context.Context, insta func (me *MonitorService) DescribeMonitorGrafanaPlugin(ctx context.Context, instanceId, pluginId string) (grafanaPlugin *monitor.GrafanaPlugin, errRet error) { var ( - logId = getLogId(ctx) - request = monitor.NewDescribeInstalledPluginsRequest() + logId = getLogId(ctx) + request = monitor.NewDescribeInstalledPluginsRequest() + response *monitor.DescribeInstalledPluginsResponse ) defer func() { @@ -949,16 +953,26 @@ func (me *MonitorService) DescribeMonitorGrafanaPlugin(ctx context.Context, inst } }() request.InstanceId = &instanceId + request.PluginId = &pluginId - response, err := me.client.UseMonitorClient().DescribeInstalledPlugins(request) - if err != nil { - log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", - logId, request.GetAction(), request.ToJsonString(), err.Error()) - errRet = err + outErr := resource.Retry(readRetryTimeout, func() *resource.RetryError { + var err error + response, err = me.client.UseMonitorClient().DescribeInstalledPlugins(request) + if err != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, request.GetAction(), request.ToJsonString(), err.Error()) + errRet = err + return nil + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", + logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + return nil + }) + if outErr != nil { + errRet = outErr return } - log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", - logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) for _, v := range response.Response.PluginSet { if *v.PluginId == pluginId { diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go index 242b459be3..dfc1b63b9f 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go @@ -265,7 +265,7 @@ func CompleteCommonParams(request Request, region string) { params["Action"] = request.GetAction() params["Timestamp"] = strconv.FormatInt(time.Now().Unix(), 10) params["Nonce"] = strconv.Itoa(rand.Int()) - params["RequestClient"] = "SDK_GO_1.0.487" + params["RequestClient"] = "SDK_GO_1.0.492" } func ConstructParams(req Request) (err error) { diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go index 4ca624a4c5..f6b39302c7 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go @@ -1520,6 +1520,10 @@ func (r *CreateGrafanaNotificationChannelRequest) FromJsonString(s string) error // Predefined struct for user type CreateGrafanaNotificationChannelResponseParams struct { + // 通道 ID + // 注意:此字段可能返回 null,表示取不到有效值。 + ChannelId *string `json:"ChannelId,omitempty" name:"ChannelId"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } @@ -2090,6 +2094,9 @@ func (r *CreateSSOAccountRequest) FromJsonString(s string) error { // Predefined struct for user type CreateSSOAccountResponseParams struct { + // 已添加的用户 UIN + UserId *string `json:"UserId,omitempty" name:"UserId"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } @@ -5373,6 +5380,9 @@ func (r *DescribeGrafanaWhiteListResponse) FromJsonString(s string) error { type DescribeInstalledPluginsRequestParams struct { // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 按插件 ID 过滤 + PluginId *string `json:"PluginId,omitempty" name:"PluginId"` } type DescribeInstalledPluginsRequest struct { @@ -5380,6 +5390,9 @@ type DescribeInstalledPluginsRequest struct { // 实例 ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 按插件 ID 过滤 + PluginId *string `json:"PluginId,omitempty" name:"PluginId"` } func (r *DescribeInstalledPluginsRequest) ToJsonString() string { @@ -5395,6 +5408,7 @@ func (r *DescribeInstalledPluginsRequest) FromJsonString(s string) error { return err } delete(f, "InstanceId") + delete(f, "PluginId") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstalledPluginsRequest has unknown keys!", "") } @@ -7112,6 +7126,9 @@ func (r *DescribeRecordingRulesResponse) FromJsonString(s string) error { type DescribeSSOAccountRequestParams struct { // 实例ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 按账号 UIN 进行过滤 + UserId *string `json:"UserId,omitempty" name:"UserId"` } type DescribeSSOAccountRequest struct { @@ -7119,6 +7136,9 @@ type DescribeSSOAccountRequest struct { // 实例ID InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 按账号 UIN 进行过滤 + UserId *string `json:"UserId,omitempty" name:"UserId"` } func (r *DescribeSSOAccountRequest) ToJsonString() string { @@ -7134,6 +7154,7 @@ func (r *DescribeSSOAccountRequest) FromJsonString(s string) error { return err } delete(f, "InstanceId") + delete(f, "UserId") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSSOAccountRequest has unknown keys!", "") } @@ -7952,6 +7973,17 @@ type GrafanaNotificationChannel struct { // 更新时间 UpdatedAt *string `json:"UpdatedAt,omitempty" name:"UpdatedAt"` + + // 默认生效组织 + OrgId *string `json:"OrgId,omitempty" name:"OrgId"` + + // 额外生效组织 + // 注意:此字段可能返回 null,表示取不到有效值。 + ExtraOrgIds []*string `json:"ExtraOrgIds,omitempty" name:"ExtraOrgIds"` + + // 生效组织 + // 注意:此字段可能返回 null,表示取不到有效值。 + OrgIds *string `json:"OrgIds,omitempty" name:"OrgIds"` } type GrafanaPlugin struct { @@ -8004,6 +8036,10 @@ func (r *InstallPluginsRequest) FromJsonString(s string) error { // Predefined struct for user type InstallPluginsResponseParams struct { + // 已安装插件 ID + // 注意:此字段可能返回 null,表示取不到有效值。 + PluginIds []*string `json:"PluginIds,omitempty" name:"PluginIds"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } @@ -9400,6 +9436,14 @@ type PrometheusInstancesItem struct { // 绑定的 Grafana 实例 ID // 注意:此字段可能返回 null,表示取不到有效值。 GrafanaInstanceId *string `json:"GrafanaInstanceId,omitempty" name:"GrafanaInstanceId"` + + // 告警规则限制 + // 注意:此字段可能返回 null,表示取不到有效值。 + AlertRuleLimit *int64 `json:"AlertRuleLimit,omitempty" name:"AlertRuleLimit"` + + // 预聚合规则限制 + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordingRuleLimit *int64 `json:"RecordingRuleLimit,omitempty" name:"RecordingRuleLimit"` } type PrometheusRuleKV struct { diff --git a/vendor/modules.txt b/vendor/modules.txt index fbbd49665d..81635f08f2 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -555,7 +555,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.492 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http @@ -585,7 +585,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms/v20190118 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse/v20200324 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb/v20190725 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.487 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.492 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312 diff --git a/website/docs/r/monitor_grafana_notification_channel.html.markdown b/website/docs/r/monitor_grafana_notification_channel.html.markdown new file mode 100644 index 0000000000..1033cd9975 --- /dev/null +++ b/website/docs/r/monitor_grafana_notification_channel.html.markdown @@ -0,0 +1,50 @@ +--- +subcategory: "Monitor" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_monitor_grafana_notification_channel" +sidebar_current: "docs-tencentcloud-resource-monitor_grafana_notification_channel" +description: |- + Provides a resource to create a monitor grafanaNotificationChannel +--- + +# tencentcloud_monitor_grafana_notification_channel + +Provides a resource to create a monitor grafanaNotificationChannel + +## Example Usage + +```hcl +resource "tencentcloud_monitor_grafana_notification_channel" "grafanaNotificationChannel" { + instance_id = "grafana-50nj6v00" + channel_name = "create-channel" + org_id = 1 + receivers = ["Consumer-6vkna7pevq"] + extra_org_ids = [] +} +``` + +## Argument Reference + +The following arguments are supported: + +* `instance_id` - (Required, String) grafana instance id. +* `channel_name` - (Optional, String) channel name. +* `extra_org_ids` - (Optional, Set: [`String`]) extra grafana organization id list, default to 1 representing Main Org. +* `org_id` - (Optional, Int) Grafana organization which channel will be installed, default to 1 representing Main Org. +* `receivers` - (Optional, Set: [`String`]) cloud monitor notification template notice-id list. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. +* `channel_id` - plugin id. + + +## Import + +monitor grafanaNotificationChannel can be imported using the id, e.g. +``` +$ terraform import tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel grafanaNotificationChannel_id +``` + diff --git a/website/docs/r/monitor_grafana_plugin.html.markdown b/website/docs/r/monitor_grafana_plugin.html.markdown new file mode 100644 index 0000000000..d2826c51a9 --- /dev/null +++ b/website/docs/r/monitor_grafana_plugin.html.markdown @@ -0,0 +1,46 @@ +--- +subcategory: "Monitor" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_monitor_grafana_plugin" +sidebar_current: "docs-tencentcloud-resource-monitor_grafana_plugin" +description: |- + Provides a resource to create a monitor grafanaPlugin +--- + +# tencentcloud_monitor_grafana_plugin + +Provides a resource to create a monitor grafanaPlugin + +## Example Usage + +```hcl +resource "tencentcloud_monitor_grafana_plugin" "grafanaPlugin" { + instance_id = "grafana-50nj6v00" + plugin_id = "grafana-piechart-panel" + version = "1.6.2" +} +``` + +## Argument Reference + +The following arguments are supported: + +* `instance_id` - (Required, String) Grafana instance id. +* `plugin_id` - (Required, String) Plugin id. +* `version` - (Optional, String) Plugin version. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. + + + +## Import + +monitor grafanaPlugin can be imported using the instance_id#plugin_id, e.g. +``` +$ terraform import tencentcloud_monitor_grafana_plugin.grafanaPlugin grafana-50nj6v00#grafana-piechart-panel +``` + diff --git a/website/docs/r/monitor_sso_account.html.markdown b/website/docs/r/monitor_sso_account.html.markdown new file mode 100644 index 0000000000..d9b3f68f08 --- /dev/null +++ b/website/docs/r/monitor_sso_account.html.markdown @@ -0,0 +1,56 @@ +--- +subcategory: "Monitor" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_monitor_sso_account" +sidebar_current: "docs-tencentcloud-resource-monitor_sso_account" +description: |- + Provides a resource to create a monitor ssoAccount +--- + +# tencentcloud_monitor_sso_account + +Provides a resource to create a monitor ssoAccount + +## Example Usage + +```hcl +resource "tencentcloud_monitor_sso_account" "ssoAccount" { + instance_id = "grafana-50nj6v00" + user_id = "111" + notes = "desc12222" + role { + organization = "Main Org." + role = "Admin" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `instance_id` - (Required, String) grafana instance id. +* `user_id` - (Required, String) sub account uin of specific user. +* `notes` - (Optional, String) account related description. +* `role` - (Optional, List) grafana role. + +The `role` object supports the following: + +* `organization` - (Required, String) Grafana organization id string. +* `role` - (Required, String) Grafana role, one of {Admin,Editor,Viewer}. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. + + + +## Import + +monitor ssoAccount can be imported using the instance_id#user_id, e.g. +``` +$ terraform import tencentcloud_monitor_sso_account.ssoAccount grafana-50nj6v00#111 +``` + diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index bb1699dc43..686b7910b3 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -1133,12 +1133,21 @@
  • tencentcloud_monitor_grafana_integration
  • +
  • + tencentcloud_monitor_grafana_notification_channel +
  • +
  • + tencentcloud_monitor_grafana_plugin +
  • tencentcloud_monitor_policy_binding_object
  • tencentcloud_monitor_policy_group
  • +
  • + tencentcloud_monitor_sso_account +
  • tencentcloud_monitor_tmp_alert_rule
  • From 016b9fe65bf0b8cc0fac9c972326345fee42f119 Mon Sep 17 00:00:00 2001 From: arunma Date: Wed, 7 Sep 2022 00:48:53 +0800 Subject: [PATCH 05/14] fix: update describe retry --- tencentcloud/service_tencentcloud_monitor.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tencentcloud/service_tencentcloud_monitor.go b/tencentcloud/service_tencentcloud_monitor.go index c461d27071..dcfc6e0a34 100644 --- a/tencentcloud/service_tencentcloud_monitor.go +++ b/tencentcloud/service_tencentcloud_monitor.go @@ -961,12 +961,11 @@ func (me *MonitorService) DescribeMonitorGrafanaPlugin(ctx context.Context, inst if err != nil { log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), err.Error()) - errRet = err - return nil + return retryError(err, InternalError) + } + if len(response.Response.PluginSet) < 1 { + return resource.RetryableError(fmt.Errorf("Installing pluin %v, retry...", pluginId)) } - log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", - logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) - return nil }) if outErr != nil { From 4203769b9550ab435515dc0f54f238f404056bb3 Mon Sep 17 00:00:00 2001 From: arunma Date: Thu, 8 Sep 2022 15:51:44 +0800 Subject: [PATCH 06/14] fix: support grafana integration and notification_channel --- go.mod | 4 +- go.sum | 4 + ...resource_tc_monitor_grafana_integration.go | 31 ++--- ...rce_tc_monitor_grafana_integration_test.go | 108 ++++++++++++++++-- ...nitor_grafana_notification_channel_test.go | 75 +++++++++++- .../tencentcloud/common/http/request.go | 2 +- .../tencentcloud/monitor/v20180724/client.go | 12 ++ .../tencentcloud/monitor/v20180724/models.go | 40 +++++-- vendor/modules.txt | 4 +- .../monitor_grafana_integration.html.markdown | 12 +- 10 files changed, 249 insertions(+), 43 deletions(-) diff --git a/go.mod b/go.mod index bfe5ae053a..c464b794b6 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.445 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.492 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.493 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335 @@ -46,7 +46,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse v1.0.413 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.492 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.493 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.290 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.199 diff --git a/go.sum b/go.sum index 7e84e04eb4..a7baa9611a 100644 --- a/go.sum +++ b/go.sum @@ -503,6 +503,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487 h1:6PCO github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.492 h1:jEQ73fWlZVQBsHgwNawDanFDtC1gpQRTjQkvist7wIc= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.492/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.493 h1:iROpofiufr+AiHdF5Vl9FlD1MNo11T5qe+s4q0pLTVo= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.493/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 h1:Bh7XD0ypNMHYyBOM8hhKsSu+y0VVKUnJVS+YKKhfpGg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445/go.mod h1:jMDD351efCFpT1+KVFbcpu6SbmP4TYmp4qkoCfr63nQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359 h1:cNKqelPgUxrJkLY0Azd2QHr/UMYOPPnmqs88clt2akk= @@ -534,6 +536,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.487 h1:xLD github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.487/go.mod h1:T3cyKuCL+2DBn2R6d3lpCqMvkpNKEf3qOTz2n9NQzvY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.492 h1:FbknOhRIYuNxrjApZ20sRFa0ieyHOEBaXxkUv6UTbAY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.492/go.mod h1:njWZYQpj7rFbCc2qvC0bEKsfhwJrY5CtpdJi5q4/8wU= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.493 h1:Tv9Ioi+5NecHDcay57w4d5bAk2bPxMeUSGyJsP1gpgQ= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.493/go.mod h1:rljlUHcQUgdeAO2HYnCQhPJWimz/DsexcfG6zV1K4/A= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 h1:1yZh5MrlFqawVGhLdd38hi5HoaKc4LgB+8cEgLT2Qo4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391/go.mod h1:BZSQiBjNQ+6/gL1fFXBr/0BOuPTdHmSYoIg4/AkmZB4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.290 h1:osYZxh9ApEc8UpvIMwjAUfdl7ytRcWUpcnnqLIpiJ/U= diff --git a/tencentcloud/resource_tc_monitor_grafana_integration.go b/tencentcloud/resource_tc_monitor_grafana_integration.go index 1a863d1f7e..dfb6aa813f 100644 --- a/tencentcloud/resource_tc_monitor_grafana_integration.go +++ b/tencentcloud/resource_tc_monitor_grafana_integration.go @@ -5,9 +5,15 @@ Example Usage ```hcl resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { - instance_id = "" - kind = "" - content = "" + instance_id = "grafana-50nj6v00" + kind = "tencentcloud-monitor-app" + content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"Tic@12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}" +} + +resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration_update" { + content = "{\"id\":\"integration-9st6kqz6\",\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"name\":\"uint-test3\",\"authProvider\":{\"secretId\":\"ROLE\",\"useRole\":true,\"__anyOf\":\"使用服务角色\"}},\"grafanaSpec\":{\"organizationIds\":[]}}}" + instance_id = "grafana-50nj6v00" + kind = "tencentcloud-monitor-app" } ``` @@ -38,9 +44,7 @@ func resourceTencentCloudMonitorGrafanaIntegration() *schema.Resource { Create: resourceTencentCloudMonitorGrafanaIntegrationCreate, Update: resourceTencentCloudMonitorGrafanaIntegrationUpdate, Delete: resourceTencentCloudMonitorGrafanaIntegrationDelete, - Importer: &schema.ResourceImporter{ - State: schema.ImportStatePassthrough, - }, + Schema: map[string]*schema.Schema{ "instance_id": { Type: schema.TypeString, @@ -85,8 +89,8 @@ func resourceTencentCloudMonitorGrafanaIntegrationCreate(d *schema.ResourceData, logId := getLogId(contextNil) var ( - request = monitor.NewCreateGrafanaIntegrationRequest() - //response *monitor.CreateGrafanaIntegrationResponse + request = monitor.NewCreateGrafanaIntegrationRequest() + response *monitor.CreateGrafanaIntegrationResponse integrationId string instanceId string ) @@ -112,7 +116,7 @@ func resourceTencentCloudMonitorGrafanaIntegrationCreate(d *schema.ResourceData, log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) } - //response = result + response = result return nil }) @@ -121,8 +125,7 @@ func resourceTencentCloudMonitorGrafanaIntegrationCreate(d *schema.ResourceData, return err } - //integrationId := *response.Response.IntegrationId - integrationId = "integration-18yi1w7o" + integrationId = *response.Response.IntegrationId d.SetId(strings.Join([]string{integrationId, instanceId}, FILED_SP)) return resourceTencentCloudMonitorGrafanaIntegrationRead(d, meta) @@ -165,9 +168,9 @@ func resourceTencentCloudMonitorGrafanaIntegrationRead(d *schema.ResourceData, m _ = d.Set("kind", grafanaIntegration.Kind) } - if grafanaIntegration.Content != nil { - _ = d.Set("content", grafanaIntegration.Content) - } + //if grafanaIntegration.Content != nil { + // _ = d.Set("content", grafanaIntegration.Content) + //} return nil } diff --git a/tencentcloud/resource_tc_monitor_grafana_integration_test.go b/tencentcloud/resource_tc_monitor_grafana_integration_test.go index a27c7d26d8..2fe53ca22b 100644 --- a/tencentcloud/resource_tc_monitor_grafana_integration_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_integration_test.go @@ -1,39 +1,129 @@ package tencentcloud import ( + "context" + "fmt" + "strings" "testing" + "github.com/hashicorp/terraform-plugin-sdk/terraform" + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" ) +// go test -i; go test -test.run TestAccTencentCloudMonitorGrafanaIntegration_basic -v func TestAccTencentCloudMonitorGrafanaIntegration_basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ - PreCheck: func() { testAccPreCheck(t) }, - Providers: testAccProviders, + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckGrafanaIntegrationDestroy, Steps: []resource.TestStep{ { Config: testAccMonitorGrafanaIntegration, Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttrSet("tencentcloud_monitor_grafana_integration.grafanaIntegration", "id"), + testAccCheckGrafanaIntegrationExists("tencentcloud_monitor_grafana_integration.grafanaIntegration"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_integration.grafanaIntegration", "instance_id", "grafana-50nj6v00"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_integration.grafanaIntegration", "kind", "tencentcloud-monitor-app"), ), }, { - ResourceName: "tencentcloud_monitor_grafana_integration.grafanaIntegration", - ImportState: true, - ImportStateVerify: true, + Config: testAccMonitorGrafanaIntegration_update, + Check: resource.ComposeTestCheckFunc( + testAccCheckGrafanaIntegrationExists("tencentcloud_monitor_grafana_integration.grafanaIntegration"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_integration.grafanaIntegration", "instance_id", "grafana-50nj6v00"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_integration.grafanaIntegration", "kind", "tencentcloud-monitor-app"), + ), }, + //{ + // ResourceName: "tencentcloud_monitor_grafana_integration.grafanaIntegration", + // ImportState: true, + // ImportStateVerify: true, + //}, }, }) } +func testAccCheckGrafanaIntegrationDestroy(s *terraform.State) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + service := MonitorService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} + for _, rs := range s.RootModule().Resources { + if rs.Type != "tencentcloud_monitor_grafana_integration" { + continue + } + if rs.Primary.ID == "" { + return fmt.Errorf("resource id is not set") + } + idSplit := strings.Split(rs.Primary.ID, FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", rs.Primary.ID) + } + integrationId := idSplit[0] + instanceId := idSplit[1] + + instance, err := service.DescribeMonitorGrafanaIntegration(ctx, integrationId, instanceId) + if err != nil { + return err + } + + if instance != nil { + return fmt.Errorf("GrafanaIntegration %s still exists", rs.Primary.ID) + } + } + return nil +} + +func testAccCheckGrafanaIntegrationExists(r string) resource.TestCheckFunc { + return func(s *terraform.State) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + rs, ok := s.RootModule().Resources[r] + if !ok { + return fmt.Errorf("resource %s is not found", r) + } + if rs.Primary.ID == "" { + return fmt.Errorf("resource id is not set") + } + idSplit := strings.Split(rs.Primary.ID, FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", rs.Primary.ID) + } + integrationId := idSplit[0] + instanceId := idSplit[1] + + service := MonitorService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} + instance, err := service.DescribeMonitorGrafanaIntegration(ctx, integrationId, instanceId) + if err != nil { + return err + } + + if instance == nil { + return fmt.Errorf("GrafanaIntegration %s is not found", rs.Primary.ID) + } + + return nil + } +} + const testAccMonitorGrafanaIntegration = ` resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { - instance_id = "" - kind = "" - content = "" + instance_id = "grafana-50nj6v00" + kind = "tencentcloud-monitor-app" + content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"Tic@12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}" +} + +` + +const testAccMonitorGrafanaIntegration_update = ` + +resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { + content = "{\"id\":\"integration-9st6kqz6\",\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"name\":\"uint-test3\",\"authProvider\":{\"secretId\":\"ROLE\",\"useRole\":true,\"__anyOf\":\"使用服务角色\"}},\"grafanaSpec\":{\"organizationIds\":[]}}}" + instance_id = "grafana-50nj6v00" + kind = "tencentcloud-monitor-app" } ` diff --git a/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go b/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go index fb481b4a75..1c253bb4c9 100644 --- a/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go @@ -1,8 +1,13 @@ package tencentcloud import ( + "context" + "fmt" + "strings" "testing" + "github.com/hashicorp/terraform-plugin-sdk/terraform" + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" ) @@ -10,13 +15,14 @@ func TestAccTencentCloudMonitorGrafanaNotificationChannel_basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ - PreCheck: func() { testAccPreCheck(t) }, - Providers: testAccProviders, + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckGrafanaNotificationChannelDestroy, Steps: []resource.TestStep{ { Config: testAccMonitorGrafanaNotificationChannel, Check: resource.ComposeTestCheckFunc( - testAccCheckGrafanaInstanceExists("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel"), + testAccCheckGrafanaNotificationChannelExists("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel"), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "channel_name", "create-channel-test"), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "org_id", "1"), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "receivers.#", "1"), @@ -32,6 +38,69 @@ func TestAccTencentCloudMonitorGrafanaNotificationChannel_basic(t *testing.T) { }) } +func testAccCheckGrafanaNotificationChannelDestroy(s *terraform.State) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + service := MonitorService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} + for _, rs := range s.RootModule().Resources { + if rs.Type != "tencentcloud_monitor_grafana_notification_channel" { + continue + } + if rs.Primary.ID == "" { + return fmt.Errorf("resource id is not set") + } + idSplit := strings.Split(rs.Primary.ID, FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", rs.Primary.ID) + } + channelId := idSplit[0] + instanceId := idSplit[1] + + notificationChannel, err := service.DescribeMonitorGrafanaNotificationChannel(ctx, channelId, instanceId) + if err != nil { + return err + } + + if notificationChannel != nil { + return fmt.Errorf("GrafanaNotificationChannel %s still exists", rs.Primary.ID) + } + } + return nil +} + +func testAccCheckGrafanaNotificationChannelExists(r string) resource.TestCheckFunc { + return func(s *terraform.State) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + rs, ok := s.RootModule().Resources[r] + if !ok { + return fmt.Errorf("resource %s is not found", r) + } + if rs.Primary.ID == "" { + return fmt.Errorf("resource id is not set") + } + idSplit := strings.Split(rs.Primary.ID, FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", rs.Primary.ID) + } + channelId := idSplit[0] + instanceId := idSplit[1] + + service := MonitorService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} + notificationChannel, err := service.DescribeMonitorGrafanaNotificationChannel(ctx, channelId, instanceId) + if err != nil { + return err + } + + if notificationChannel == nil { + return fmt.Errorf("GrafanaNotificationChannel %s is not found", rs.Primary.ID) + } + + return nil + } +} + const testAccMonitorGrafanaNotificationChannel = ` resource "tencentcloud_monitor_grafana_notification_channel" "grafanaNotificationChannel" { diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go index dfc1b63b9f..d7e9f3a23b 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go @@ -265,7 +265,7 @@ func CompleteCommonParams(request Request, region string) { params["Action"] = request.GetAction() params["Timestamp"] = strconv.FormatInt(time.Now().Unix(), 10) params["Nonce"] = strconv.Itoa(rand.Int()) - params["RequestClient"] = "SDK_GO_1.0.492" + params["RequestClient"] = "SDK_GO_1.0.493" } func ConstructParams(req Request) (err error) { diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go index 47e13bd653..11cb64ca93 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go @@ -4758,6 +4758,12 @@ func NewGetMonitorDataResponse() (response *GetMonitorDataResponse) { // // 若您需要调用的指标、对象较多,可能存在因限频出现拉取失败的情况,建议尽量将请求按时间维度均摊。 // +// +// +// >? +// +// >- 2022年9月1日起,云监控开始对GetMonitorData接口计费。每个主账号每月可获得100万次免费请求额度,超过免费额度后如需继续调用接口需要开通 [API请求按量付费](https://buy.cloud.tencent.com/APIRequestBuy)。计费规则可查看[API计费文档](https://cloud.tencent.com/document/product/248/77914)。 +// // 可能返回的错误码: // FAILEDOPERATION_ERRNOTOPEN = "FailedOperation.ErrNotOpen" // FAILEDOPERATION_ERROWED = "FailedOperation.ErrOwed" @@ -4777,6 +4783,12 @@ func (c *Client) GetMonitorData(request *GetMonitorDataRequest) (response *GetMo // // 若您需要调用的指标、对象较多,可能存在因限频出现拉取失败的情况,建议尽量将请求按时间维度均摊。 // +// +// +// >? +// +// >- 2022年9月1日起,云监控开始对GetMonitorData接口计费。每个主账号每月可获得100万次免费请求额度,超过免费额度后如需继续调用接口需要开通 [API请求按量付费](https://buy.cloud.tencent.com/APIRequestBuy)。计费规则可查看[API计费文档](https://cloud.tencent.com/document/product/248/77914)。 +// // 可能返回的错误码: // FAILEDOPERATION_ERRNOTOPEN = "FailedOperation.ErrNotOpen" // FAILEDOPERATION_ERROWED = "FailedOperation.ErrOwed" diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go index f6b39302c7..c530ba5236 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go @@ -1438,6 +1438,10 @@ func (r *CreateGrafanaIntegrationRequest) FromJsonString(s string) error { // Predefined struct for user type CreateGrafanaIntegrationResponseParams struct { + // 集成 ID + // 注意:此字段可能返回 null,表示取不到有效值。 + IntegrationId *string `json:"IntegrationId,omitempty" name:"IntegrationId"` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } @@ -1466,14 +1470,17 @@ type CreateGrafanaNotificationChannelRequestParams struct { // 渠道名 ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` - // 组织 ID + // 默认为1,已废弃,请使用 OrganizationIds OrgId *int64 `json:"OrgId,omitempty" name:"OrgId"` // 接受告警通道 ID 数组 Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` - // 额外组织 ID 数组 + // 额外组织 ID 数组,已废弃,请使用 OrganizationIds ExtraOrgIds []*string `json:"ExtraOrgIds,omitempty" name:"ExtraOrgIds"` + + // 生效的所有组织 ID 数组,默认为 ["1"] + OrganizationIds []*string `json:"OrganizationIds,omitempty" name:"OrganizationIds"` } type CreateGrafanaNotificationChannelRequest struct { @@ -1485,14 +1492,17 @@ type CreateGrafanaNotificationChannelRequest struct { // 渠道名 ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` - // 组织 ID + // 默认为1,已废弃,请使用 OrganizationIds OrgId *int64 `json:"OrgId,omitempty" name:"OrgId"` // 接受告警通道 ID 数组 Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` - // 额外组织 ID 数组 + // 额外组织 ID 数组,已废弃,请使用 OrganizationIds ExtraOrgIds []*string `json:"ExtraOrgIds,omitempty" name:"ExtraOrgIds"` + + // 生效的所有组织 ID 数组,默认为 ["1"] + OrganizationIds []*string `json:"OrganizationIds,omitempty" name:"OrganizationIds"` } func (r *CreateGrafanaNotificationChannelRequest) ToJsonString() string { @@ -1512,6 +1522,7 @@ func (r *CreateGrafanaNotificationChannelRequest) FromJsonString(s string) error delete(f, "OrgId") delete(f, "Receivers") delete(f, "ExtraOrgIds") + delete(f, "OrganizationIds") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateGrafanaNotificationChannelRequest has unknown keys!", "") } @@ -7974,16 +7985,20 @@ type GrafanaNotificationChannel struct { // 更新时间 UpdatedAt *string `json:"UpdatedAt,omitempty" name:"UpdatedAt"` - // 默认生效组织 + // 默认生效组织,已废弃,请使用 OrganizationIds OrgId *string `json:"OrgId,omitempty" name:"OrgId"` - // 额外生效组织 + // 额外生效组织,已废弃,请使用 OrganizationIds // 注意:此字段可能返回 null,表示取不到有效值。 ExtraOrgIds []*string `json:"ExtraOrgIds,omitempty" name:"ExtraOrgIds"` - // 生效组织 + // 生效组织,已废弃,请使用 OrganizationIds // 注意:此字段可能返回 null,表示取不到有效值。 OrgIds *string `json:"OrgIds,omitempty" name:"OrgIds"` + + // 告警渠道的所有生效组织 + // 注意:此字段可能返回 null,表示取不到有效值。 + OrganizationIds *string `json:"OrganizationIds,omitempty" name:"OrganizationIds"` } type GrafanaPlugin struct { @@ -10964,8 +10979,11 @@ type UpdateGrafanaNotificationChannelRequestParams struct { // 接受告警通道 ID 数组 Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` - // 额外组织 ID 数组 + // 已废弃,请使用 OrganizationIds ExtraOrgIds []*string `json:"ExtraOrgIds,omitempty" name:"ExtraOrgIds"` + + // 生效的组织 ID 数组 + OrganizationIds []*string `json:"OrganizationIds,omitempty" name:"OrganizationIds"` } type UpdateGrafanaNotificationChannelRequest struct { @@ -10983,8 +11001,11 @@ type UpdateGrafanaNotificationChannelRequest struct { // 接受告警通道 ID 数组 Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` - // 额外组织 ID 数组 + // 已废弃,请使用 OrganizationIds ExtraOrgIds []*string `json:"ExtraOrgIds,omitempty" name:"ExtraOrgIds"` + + // 生效的组织 ID 数组 + OrganizationIds []*string `json:"OrganizationIds,omitempty" name:"OrganizationIds"` } func (r *UpdateGrafanaNotificationChannelRequest) ToJsonString() string { @@ -11004,6 +11025,7 @@ func (r *UpdateGrafanaNotificationChannelRequest) FromJsonString(s string) error delete(f, "ChannelName") delete(f, "Receivers") delete(f, "ExtraOrgIds") + delete(f, "OrganizationIds") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateGrafanaNotificationChannelRequest has unknown keys!", "") } diff --git a/vendor/modules.txt b/vendor/modules.txt index 81635f08f2..4c0ca8043c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -555,7 +555,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.492 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.493 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http @@ -585,7 +585,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms/v20190118 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse/v20200324 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb/v20190725 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.492 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.493 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312 diff --git a/website/docs/r/monitor_grafana_integration.html.markdown b/website/docs/r/monitor_grafana_integration.html.markdown index 53806a0299..d1ab6607de 100644 --- a/website/docs/r/monitor_grafana_integration.html.markdown +++ b/website/docs/r/monitor_grafana_integration.html.markdown @@ -15,9 +15,15 @@ Provides a resource to create a monitor grafanaIntegration ```hcl resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { - instance_id = "" - kind = "" - content = "" + instance_id = "grafana-50nj6v00" + kind = "tencentcloud-monitor-app" + content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"Tic@12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}" +} + +resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration_update" { + content = "{\"id\":\"integration-9st6kqz6\",\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"name\":\"uint-test3\",\"authProvider\":{\"secretId\":\"ROLE\",\"useRole\":true,\"__anyOf\":\"使用服务角色\"}},\"grafanaSpec\":{\"organizationIds\":[]}}}" + instance_id = "grafana-50nj6v00" + kind = "tencentcloud-monitor-app" } ``` From 5b5f53f194af7ddd44b3f1a643655cf6a7c48b27 Mon Sep 17 00:00:00 2001 From: arunma Date: Thu, 8 Sep 2022 15:55:32 +0800 Subject: [PATCH 07/14] fix: support grafana integration and notification_channel --- tencentcloud/resource_tc_monitor_grafana_integration.go | 2 +- tencentcloud/resource_tc_monitor_grafana_integration_test.go | 2 +- website/docs/r/monitor_grafana_integration.html.markdown | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tencentcloud/resource_tc_monitor_grafana_integration.go b/tencentcloud/resource_tc_monitor_grafana_integration.go index dfb6aa813f..97e0c453fd 100644 --- a/tencentcloud/resource_tc_monitor_grafana_integration.go +++ b/tencentcloud/resource_tc_monitor_grafana_integration.go @@ -7,7 +7,7 @@ Example Usage resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { instance_id = "grafana-50nj6v00" kind = "tencentcloud-monitor-app" - content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"Tic@12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}" + content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}" } resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration_update" { diff --git a/tencentcloud/resource_tc_monitor_grafana_integration_test.go b/tencentcloud/resource_tc_monitor_grafana_integration_test.go index 2fe53ca22b..0336d3fbdb 100644 --- a/tencentcloud/resource_tc_monitor_grafana_integration_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_integration_test.go @@ -113,7 +113,7 @@ const testAccMonitorGrafanaIntegration = ` resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { instance_id = "grafana-50nj6v00" kind = "tencentcloud-monitor-app" - content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"Tic@12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}" + content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"123456789\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}" } ` diff --git a/website/docs/r/monitor_grafana_integration.html.markdown b/website/docs/r/monitor_grafana_integration.html.markdown index d1ab6607de..057f217dc1 100644 --- a/website/docs/r/monitor_grafana_integration.html.markdown +++ b/website/docs/r/monitor_grafana_integration.html.markdown @@ -17,7 +17,7 @@ Provides a resource to create a monitor grafanaIntegration resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { instance_id = "grafana-50nj6v00" kind = "tencentcloud-monitor-app" - content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"Tic@12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}" + content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}" } resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration_update" { From d708c3d77267deadbf37756a4342f1cb40c5a431 Mon Sep 17 00:00:00 2001 From: arunma Date: Tue, 13 Sep 2022 10:35:15 +0800 Subject: [PATCH 08/14] fix: update interface --- go.mod | 4 +- go.sum | 4 + ...tc_monitor_grafana_notification_channel.go | 30 +--- ...nitor_grafana_notification_channel_test.go | 10 +- tencentcloud/service_tencentcloud_monitor.go | 8 +- .../tencentcloud/common/go.sum | 0 .../tencentcloud/common/http/request.go | 2 +- .../tencentcloud/common/ratelimitretry.go | 46 ++++++- .../tencentcloud/monitor/v20180724/client.go | 70 ++++++++++ .../tencentcloud/monitor/v20180724/models.go | 130 +++++++++++++++++- vendor/modules.txt | 4 +- ...grafana_notification_channel.html.markdown | 7 - 12 files changed, 265 insertions(+), 50 deletions(-) create mode 100644 vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/go.sum diff --git a/go.mod b/go.mod index c464b794b6..9ab8e52508 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.445 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.493 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.494 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335 @@ -46,7 +46,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse v1.0.413 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.493 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.494 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.290 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.199 diff --git a/go.sum b/go.sum index a7baa9611a..ef31ff55e2 100644 --- a/go.sum +++ b/go.sum @@ -505,6 +505,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.492 h1:jEQ7 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.492/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.493 h1:iROpofiufr+AiHdF5Vl9FlD1MNo11T5qe+s4q0pLTVo= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.493/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.494 h1:IC3vvhWYomlthgXvBAQbP/M/YW+OpcodyYz4gU3JCiQ= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.494/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 h1:Bh7XD0ypNMHYyBOM8hhKsSu+y0VVKUnJVS+YKKhfpGg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445/go.mod h1:jMDD351efCFpT1+KVFbcpu6SbmP4TYmp4qkoCfr63nQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359 h1:cNKqelPgUxrJkLY0Azd2QHr/UMYOPPnmqs88clt2akk= @@ -538,6 +540,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.492 h1:Fbk github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.492/go.mod h1:njWZYQpj7rFbCc2qvC0bEKsfhwJrY5CtpdJi5q4/8wU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.493 h1:Tv9Ioi+5NecHDcay57w4d5bAk2bPxMeUSGyJsP1gpgQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.493/go.mod h1:rljlUHcQUgdeAO2HYnCQhPJWimz/DsexcfG6zV1K4/A= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.494 h1:vc9AJ+u9hyYWg+/1jHsPsy6UzXKBbyOp0eOqG8KMyBc= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.494/go.mod h1:rxkByn6FRvdQmvhYTNL5JGO49qApmpRmHXTTRRB5YGc= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 h1:1yZh5MrlFqawVGhLdd38hi5HoaKc4LgB+8cEgLT2Qo4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391/go.mod h1:BZSQiBjNQ+6/gL1fFXBr/0BOuPTdHmSYoIg4/AkmZB4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.290 h1:osYZxh9ApEc8UpvIMwjAUfdl7ytRcWUpcnnqLIpiJ/U= diff --git a/tencentcloud/resource_tc_monitor_grafana_notification_channel.go b/tencentcloud/resource_tc_monitor_grafana_notification_channel.go index 93337e53c4..d1550e3956 100644 --- a/tencentcloud/resource_tc_monitor_grafana_notification_channel.go +++ b/tencentcloud/resource_tc_monitor_grafana_notification_channel.go @@ -12,12 +12,6 @@ resource "tencentcloud_monitor_grafana_notification_channel" "grafanaNotificatio extra_org_ids = [] } -``` -Import - -monitor grafanaNotificationChannel can be imported using the id, e.g. -``` -$ terraform import tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel grafanaNotificationChannel_id ``` */ package tencentcloud @@ -40,9 +34,9 @@ func resourceTencentCloudMonitorGrafanaNotificationChannel() *schema.Resource { Create: resourceTencentCloudMonitorGrafanaNotificationChannelCreate, Update: resourceTencentCloudMonitorGrafanaNotificationChannelUpdate, Delete: resourceTencentCloudMonitorGrafanaNotificationChannelDelete, - Importer: &schema.ResourceImporter{ - State: schema.ImportStatePassthrough, - }, + //Importer: &schema.ResourceImporter{ + // State: schema.ImportStatePassthrough, + //}, Schema: map[string]*schema.Schema{ "instance_id": { Type: schema.TypeString, @@ -194,21 +188,11 @@ func resourceTencentCloudMonitorGrafanaNotificationChannelRead(d *schema.Resourc _ = d.Set("channel_name", grafanaNotificationChannel.ChannelName) } - //var orgIds []string - //for _, v := range grafanaNotificationChannel.OrgIds { - // orgIds = append(orgIds, *v) - //} - //_ = d.Set("org_id", orgIds) - - if grafanaNotificationChannel.Receivers != nil { - _ = d.Set("receivers", grafanaNotificationChannel.Receivers) - } - - var extraOrgIds []string - for _, v := range grafanaNotificationChannel.ExtraOrgIds { - extraOrgIds = append(extraOrgIds, *v) + var receivers []string + for _, v := range grafanaNotificationChannel.Receivers { + receivers = append(receivers, *v) } - _ = d.Set("extra_org_ids", extraOrgIds) + _ = d.Set("receivers", grafanaNotificationChannel.Receivers) return nil } diff --git a/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go b/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go index 1c253bb4c9..6b82a8ca06 100644 --- a/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go @@ -29,11 +29,11 @@ func TestAccTencentCloudMonitorGrafanaNotificationChannel_basic(t *testing.T) { resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "receivers.0", "Consumer-6vkna7pevq"), ), }, - { - ResourceName: "tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", - ImportState: true, - ImportStateVerify: true, - }, + //{ + // ResourceName: "tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", + // ImportState: true, + // ImportStateVerify: true, + //}, }, }) } diff --git a/tencentcloud/service_tencentcloud_monitor.go b/tencentcloud/service_tencentcloud_monitor.go index dcfc6e0a34..570b3ddf45 100644 --- a/tencentcloud/service_tencentcloud_monitor.go +++ b/tencentcloud/service_tencentcloud_monitor.go @@ -816,10 +816,10 @@ func (me *MonitorService) DeleteMonitorGrafanaIntegrationById(ctx context.Contex return } -func (me *MonitorService) DescribeMonitorGrafanaNotificationChannel(ctx context.Context, channelId, instanceId string) (grafanaNotificationChannel *monitor.GrafanaNotificationChannel, errRet error) { +func (me *MonitorService) DescribeMonitorGrafanaNotificationChannel(ctx context.Context, channelId, instanceId string) (grafanaNotificationChannel *monitor.GrafanaChannel, errRet error) { var ( logId = getLogId(ctx) - request = monitor.NewDescribeGrafanaNotificationChannelsRequest() + request = monitor.NewDescribeGrafanaChannelsRequest() ) defer func() { @@ -830,10 +830,10 @@ func (me *MonitorService) DescribeMonitorGrafanaNotificationChannel(ctx context. }() request.Offset = helper.IntInt64(0) request.Limit = helper.IntInt64(10) - request.ChannelIDs = []*string{&channelId} + request.ChannelIds = []*string{&channelId} request.InstanceId = &instanceId - response, err := me.client.UseMonitorClient().DescribeGrafanaNotificationChannels(request) + response, err := me.client.UseMonitorClient().DescribeGrafanaChannels(request) if err != nil { log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), err.Error()) diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/go.sum b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/go.sum new file mode 100644 index 0000000000..e69de29bb2 diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go index d7e9f3a23b..b7cd287d95 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go @@ -265,7 +265,7 @@ func CompleteCommonParams(request Request, region string) { params["Action"] = request.GetAction() params["Timestamp"] = strconv.FormatInt(time.Now().Unix(), 10) params["Nonce"] = strconv.Itoa(rand.Int()) - params["RequestClient"] = "SDK_GO_1.0.493" + params["RequestClient"] = "SDK_GO_1.0.494" } func ConstructParams(req Request) (err error) { diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/ratelimitretry.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/ratelimitretry.go index 5ef85da4eb..76eb6404de 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/ratelimitretry.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/ratelimitretry.go @@ -2,6 +2,9 @@ package common import ( "bytes" + "compress/flate" + "compress/gzip" + "fmt" "io" "io/ioutil" "net/http" @@ -28,7 +31,10 @@ func (c *Client) sendWithRateLimitRetry(req *http.Request, retryable bool) (resp return } - resp.Body, shadow = shadowRead(resp.Body) + shadow, err = shadowRead(resp) + if err != nil { + return resp, err + } err = tchttp.ParseErrorFromHTTPResponse(shadow) // should not sleep on last request @@ -48,10 +54,40 @@ func (c *Client) sendWithRateLimitRetry(req *http.Request, retryable bool) (resp return resp, err } -func shadowRead(reader io.ReadCloser) (io.ReadCloser, []byte) { - val, err := ioutil.ReadAll(reader) +func shadowRead(resp *http.Response) ([]byte, error) { + var reader io.ReadCloser + var err error + var val []byte + + enc := resp.Header.Get("Content-Encoding") + switch enc { + case "": + reader = resp.Body + case "deflate": + reader = flate.NewReader(resp.Body) + case "gzip": + reader, err = gzip.NewReader(resp.Body) + if err != nil { + return nil, err + } + default: + return nil, fmt.Errorf("Content-Encoding not support: %s", enc) + } + + val, err = ioutil.ReadAll(reader) if err != nil { - return reader, nil + return nil, err } - return ioutil.NopCloser(bytes.NewBuffer(val)), val + + err = resp.Body.Close() + if err != nil { + return nil, err + } + + resp.Body = ioutil.NopCloser(bytes.NewReader(val)) + + // delete the header in case the caller mistake the body being encoded + delete(resp.Header, "Content-Encoding") + + return val, nil } diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go index 11cb64ca93..f4e4bd3d9c 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go @@ -3061,6 +3061,76 @@ func (c *Client) DescribeExporterIntegrationsWithContext(ctx context.Context, re return } +func NewDescribeGrafanaChannelsRequest() (request *DescribeGrafanaChannelsRequest) { + request = &DescribeGrafanaChannelsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("monitor", APIVersion, "DescribeGrafanaChannels") + + + return +} + +func NewDescribeGrafanaChannelsResponse() (response *DescribeGrafanaChannelsResponse) { + response = &DescribeGrafanaChannelsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeGrafanaChannels +// 列出 Grafana 所有告警通道 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" +// FAILEDOPERATION_AGENTNOTALLOWED = "FailedOperation.AgentNotAllowed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// FAILEDOPERATION_TKERESOURCECONFLICT = "FailedOperation.TKEResourceConflict" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribeGrafanaChannels(request *DescribeGrafanaChannelsRequest) (response *DescribeGrafanaChannelsResponse, err error) { + return c.DescribeGrafanaChannelsWithContext(context.Background(), request) +} + +// DescribeGrafanaChannels +// 列出 Grafana 所有告警通道 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// AUTHFAILURE_UNAUTHORIZEDOPERATION = "AuthFailure.UnauthorizedOperation" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_ACCESSTKEFAIL = "FailedOperation.AccessTKEFail" +// FAILEDOPERATION_AGENTNOTALLOWED = "FailedOperation.AgentNotAllowed" +// FAILEDOPERATION_DBQUERYFAILED = "FailedOperation.DbQueryFailed" +// FAILEDOPERATION_RESOURCEEXIST = "FailedOperation.ResourceExist" +// FAILEDOPERATION_RESOURCENOTFOUND = "FailedOperation.ResourceNotFound" +// FAILEDOPERATION_TKERESOURCECONFLICT = "FailedOperation.TKEResourceConflict" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribeGrafanaChannelsWithContext(ctx context.Context, request *DescribeGrafanaChannelsRequest) (response *DescribeGrafanaChannelsResponse, err error) { + if request == nil { + request = NewDescribeGrafanaChannelsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeGrafanaChannels require credential") + } + + request.SetContext(ctx) + + response = NewDescribeGrafanaChannelsResponse() + err = c.Send(request, response) + return +} + func NewDescribeGrafanaConfigRequest() (request *DescribeGrafanaConfigRequest) { request = &DescribeGrafanaConfigRequest{ BaseRequest: &tchttp.BaseRequest{}, diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go index c530ba5236..87be2891ce 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go @@ -4955,6 +4955,98 @@ func (r *DescribeExporterIntegrationsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DescribeGrafanaChannelsRequestParams struct { + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 偏移量 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 查询数量 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` + + // 渠道名 + ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` + + // 渠道 ID + ChannelIds []*string `json:"ChannelIds,omitempty" name:"ChannelIds"` + + // 状态 + ChannelState *int64 `json:"ChannelState,omitempty" name:"ChannelState"` +} + +type DescribeGrafanaChannelsRequest struct { + *tchttp.BaseRequest + + // 实例 ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 偏移量 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 查询数量 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` + + // 渠道名 + ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` + + // 渠道 ID + ChannelIds []*string `json:"ChannelIds,omitempty" name:"ChannelIds"` + + // 状态 + ChannelState *int64 `json:"ChannelState,omitempty" name:"ChannelState"` +} + +func (r *DescribeGrafanaChannelsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeGrafanaChannelsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "Offset") + delete(f, "Limit") + delete(f, "ChannelName") + delete(f, "ChannelIds") + delete(f, "ChannelState") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeGrafanaChannelsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeGrafanaChannelsResponseParams struct { + // 告警通道数组 + NotificationChannelSet []*GrafanaChannel `json:"NotificationChannelSet,omitempty" name:"NotificationChannelSet"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` +} + +type DescribeGrafanaChannelsResponse struct { + *tchttp.BaseResponse + Response *DescribeGrafanaChannelsResponseParams `json:"Response"` +} + +func (r *DescribeGrafanaChannelsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeGrafanaChannelsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DescribeGrafanaConfigRequestParams struct { // 实例 ID @@ -7885,6 +7977,13 @@ type GrafanaAccountInfo struct { // 创建时间 CreateAt *string `json:"CreateAt,omitempty" name:"CreateAt"` + + // 实例 ID + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 用户主账号 UIN + Uin *string `json:"Uin,omitempty" name:"Uin"` } type GrafanaAccountRole struct { @@ -7895,6 +7994,27 @@ type GrafanaAccountRole struct { Role *string `json:"Role,omitempty" name:"Role"` } +type GrafanaChannel struct { + // 渠道 ID + ChannelId *string `json:"ChannelId,omitempty" name:"ChannelId"` + + // 渠道名 + ChannelName *string `json:"ChannelName,omitempty" name:"ChannelName"` + + // 告警通道模板 ID 数组 + Receivers []*string `json:"Receivers,omitempty" name:"Receivers"` + + // 创建时间 + CreatedAt *string `json:"CreatedAt,omitempty" name:"CreatedAt"` + + // 更新时间 + UpdatedAt *string `json:"UpdatedAt,omitempty" name:"UpdatedAt"` + + // 告警渠道的所有生效组织 + // 注意:此字段可能返回 null,表示取不到有效值。 + OrganizationIds []*string `json:"OrganizationIds,omitempty" name:"OrganizationIds"` +} + type GrafanaInstanceInfo struct { // 实例名 InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` @@ -7967,6 +8087,10 @@ type GrafanaIntegrationConfig struct { // 集成描述 Description *string `json:"Description,omitempty" name:"Description"` + + // Grafana 跳转地址 + // 注意:此字段可能返回 null,表示取不到有效值。 + GrafanaURL *string `json:"GrafanaURL,omitempty" name:"GrafanaURL"` } type GrafanaNotificationChannel struct { @@ -9673,7 +9797,7 @@ type RecordingRuleSet struct { // 规则状态码 RuleState *int64 `json:"RuleState,omitempty" name:"RuleState"` - // 规则名称 + // 分组名称 Name *string `json:"Name,omitempty" name:"Name"` // 规则内容组 @@ -9687,6 +9811,10 @@ type RecordingRuleSet struct { // 规则最近更新时间 UpdatedAt *string `json:"UpdatedAt,omitempty" name:"UpdatedAt"` + + // 规则名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + RuleName *string `json:"RuleName,omitempty" name:"RuleName"` } // Predefined struct for user diff --git a/vendor/modules.txt b/vendor/modules.txt index 4c0ca8043c..df4bdde784 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -555,7 +555,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.493 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.494 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http @@ -585,7 +585,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms/v20190118 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse/v20200324 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb/v20190725 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.493 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.494 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.391 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312 diff --git a/website/docs/r/monitor_grafana_notification_channel.html.markdown b/website/docs/r/monitor_grafana_notification_channel.html.markdown index 1033cd9975..12861df8b2 100644 --- a/website/docs/r/monitor_grafana_notification_channel.html.markdown +++ b/website/docs/r/monitor_grafana_notification_channel.html.markdown @@ -41,10 +41,3 @@ In addition to all arguments above, the following attributes are exported: * `channel_id` - plugin id. -## Import - -monitor grafanaNotificationChannel can be imported using the id, e.g. -``` -$ terraform import tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel grafanaNotificationChannel_id -``` - From 13696b767a48182ee9c02fe6242eca7ed930b47f Mon Sep 17 00:00:00 2001 From: arunma Date: Tue, 13 Sep 2022 15:16:43 +0800 Subject: [PATCH 09/14] fix: update unit test --- tencentcloud/basic_test.go | 10 ++++ tencentcloud/provider.go | 4 +- .../resource_tc_monitor_grafana_instance.go | 10 +--- ...source_tc_monitor_grafana_instance_test.go | 16 +++--- ...resource_tc_monitor_grafana_integration.go | 7 --- ...rce_tc_monitor_grafana_integration_test.go | 19 ++++--- ...tc_monitor_grafana_notification_channel.go | 4 +- ...nitor_grafana_notification_channel_test.go | 21 ++++--- ...resource_tc_monitor_grafana_plugin_test.go | 22 ++++++-- ...esource_tc_monitor_grafana_sso_account.go} | 38 ++++++------- ...ce_tc_monitor_grafana_sso_account_test.go} | 34 ++++++----- .../r/monitor_grafana_instance.html.markdown | 2 +- .../monitor_grafana_integration.html.markdown | 21 +------ .../monitor_grafana_sso_account.html.markdown | 56 +++++++++++++++++++ website/tencentcloud.erb | 6 +- 15 files changed, 162 insertions(+), 108 deletions(-) rename tencentcloud/{resource_tc_monitor_sso_account.go => resource_tc_monitor_grafana_sso_account.go} (81%) rename tencentcloud/{resource_tc_monitor_sso_account_test.go => resource_tc_monitor_grafana_sso_account_test.go} (64%) create mode 100644 website/docs/r/monitor_grafana_sso_account.html.markdown diff --git a/tencentcloud/basic_test.go b/tencentcloud/basic_test.go index 0a0b5e8371..2999a1d188 100644 --- a/tencentcloud/basic_test.go +++ b/tencentcloud/basic_test.go @@ -181,6 +181,16 @@ const ( defaultAgentId = "agent-q3zy8gt8" ) +// Cloud monitoring grafana visualization +const ( + defaultGrafanaVpcId = "vpc-391sv4w3" + defaultGrafanaSubnetId = "subnet-ljyn7h30" + defaultGrafanaInstanceId = "grafana-dp2hnnfa" + defaultGrafanaReceiver = "Consumer-nfyxuzmbmq" + defaultGrafanaPlugin = "grafana-clock-panel" + defaultGrafanaVersion = "1.2.0" +) + /* --------------------------------------------------- The following are common test case used as templates. diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index ed49c71328..d2d62f7353 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -445,7 +445,7 @@ Monitor tencentcloud_monitor_grafana_integration tencentcloud_monitor_grafana_notification_channel tencentcloud_monitor_grafana_plugin - tencentcloud_monitor_sso_account + tencentcloud_monitor_grafana_sso_account PostgreSQL Data Source @@ -1136,7 +1136,7 @@ func Provider() terraform.ResourceProvider { "tencentcloud_monitor_grafana_integration": resourceTencentCloudMonitorGrafanaIntegration(), "tencentcloud_monitor_grafana_notification_channel": resourceTencentCloudMonitorGrafanaNotificationChannel(), "tencentcloud_monitor_grafana_plugin": resourceTencentCloudMonitorGrafanaPlugin(), - "tencentcloud_monitor_sso_account": resourceTencentCloudMonitorSsoAccount(), + "tencentcloud_monitor_grafana_sso_account": resourceTencentCloudMonitorGrafanaSsoAccount(), "tencentcloud_mongodb_standby_instance": resourceTencentCloudMongodbStandbyInstance(), "tencentcloud_elasticsearch_instance": resourceTencentCloudElasticsearchInstance(), "tencentcloud_postgresql_instance": resourceTencentCloudPostgresqlInstance(), diff --git a/tencentcloud/resource_tc_monitor_grafana_instance.go b/tencentcloud/resource_tc_monitor_grafana_instance.go index 68c6330ea7..128cad3e0e 100644 --- a/tencentcloud/resource_tc_monitor_grafana_instance.go +++ b/tencentcloud/resource_tc_monitor_grafana_instance.go @@ -21,7 +21,7 @@ Import monitor grafanaInstance can be imported using the id, e.g. ``` -$ terraform import tencentcloud_monitor_grafana_instance.grafanaInstance grafanaInstance_id#grafana_init_password +$ terraform import tencentcloud_monitor_grafana_instance.grafanaInstance grafanaInstance_id ``` */ package tencentcloud @@ -30,7 +30,6 @@ import ( "context" "fmt" "log" - "strings" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" @@ -45,12 +44,7 @@ func resourceTencentCloudMonitorGrafanaInstance() *schema.Resource { Update: resourceTencentCloudMonitorGrafanaInstanceUpdate, Delete: resourceTencentCloudMonitorGrafanaInstanceDelete, Importer: &schema.ResourceImporter{ - State: func(d *schema.ResourceData, i interface{}) ([]*schema.ResourceData, error) { - ids := strings.Split(d.Id(), FILED_SP) - d.SetId(ids[0]) - _ = d.Set("grafana_init_password", ids[1]) - return []*schema.ResourceData{d}, nil - }, + State: schema.ImportStatePassthrough, }, Schema: map[string]*schema.Schema{ "instance_name": { diff --git a/tencentcloud/resource_tc_monitor_grafana_instance_test.go b/tencentcloud/resource_tc_monitor_grafana_instance_test.go index 6863a75cfb..123b08dea6 100644 --- a/tencentcloud/resource_tc_monitor_grafana_instance_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_instance_test.go @@ -24,7 +24,7 @@ func TestAccTencentCloudMonitorGrafanaInstance_basic(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckGrafanaInstanceExists("tencentcloud_monitor_grafana_instance.grafanaInstance"), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "instance_name", "test-grafana"), - resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "vpc_id", defaultVpcId), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "vpc_id", defaultGrafanaVpcId), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "subnet_ids.#", "1"), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "enable_internet", "false"), ), @@ -34,7 +34,7 @@ func TestAccTencentCloudMonitorGrafanaInstance_basic(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckGrafanaInstanceExists("tencentcloud_monitor_grafana_instance.grafanaInstance"), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "instance_name", "test-grafana-update"), - resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "vpc_id", defaultVpcId), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "vpc_id", defaultGrafanaVpcId), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "subnet_ids.#", "1"), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "enable_internet", "false"), ), @@ -108,10 +108,10 @@ func testAccCheckGrafanaInstanceExists(r string) resource.TestCheckFunc { const testMonitorGrafanaInstanceVar = ` variable "vpc_id" { - default = "` + defaultVpcId + `" + default = "` + defaultGrafanaVpcId + `" } variable "subnet_id" { - default = "` + defaultSubnetId + `" + default = "` + defaultGrafanaSubnetId + `" } ` @@ -119,8 +119,8 @@ const testAccMonitorGrafanaInstance = testMonitorGrafanaInstanceVar + ` resource "tencentcloud_monitor_grafana_instance" "grafanaInstance" { instance_name = "test-grafana" - vpc_id = "vpc-2hfyray3" - subnet_ids = ["subnet-rdkj0agk"] + vpc_id = var.vpc_id + subnet_ids = [var.subnet_id] grafana_init_password = "1234567890" enable_internet = false @@ -133,8 +133,8 @@ const testAccMonitorGrafanaInstance_update = testMonitorGrafanaInstanceVar + ` resource "tencentcloud_monitor_grafana_instance" "grafanaInstance" { instance_name = "test-grafana-update" - vpc_id = "vpc-2hfyray3" - subnet_ids = ["subnet-rdkj0agk"] + vpc_id = var.vpc_id + subnet_ids = [var.subnet_id] grafana_init_password = "1234567890" enable_internet = false diff --git a/tencentcloud/resource_tc_monitor_grafana_integration.go b/tencentcloud/resource_tc_monitor_grafana_integration.go index 97e0c453fd..8d98c426b3 100644 --- a/tencentcloud/resource_tc_monitor_grafana_integration.go +++ b/tencentcloud/resource_tc_monitor_grafana_integration.go @@ -16,13 +16,6 @@ resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration_update" kind = "tencentcloud-monitor-app" } -``` -Import - -monitor grafanaIntegration can be imported using the id, e.g. -``` -$ terraform import tencentcloud_monitor_grafana_integration.grafanaIntegration grafanaIntegration_id -``` */ package tencentcloud diff --git a/tencentcloud/resource_tc_monitor_grafana_integration_test.go b/tencentcloud/resource_tc_monitor_grafana_integration_test.go index 0336d3fbdb..f868cab8d4 100644 --- a/tencentcloud/resource_tc_monitor_grafana_integration_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_integration_test.go @@ -36,11 +36,6 @@ func TestAccTencentCloudMonitorGrafanaIntegration_basic(t *testing.T) { resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_integration.grafanaIntegration", "kind", "tencentcloud-monitor-app"), ), }, - //{ - // ResourceName: "tencentcloud_monitor_grafana_integration.grafanaIntegration", - // ImportState: true, - // ImportStateVerify: true, - //}, }, }) } @@ -108,21 +103,27 @@ func testAccCheckGrafanaIntegrationExists(r string) resource.TestCheckFunc { } } -const testAccMonitorGrafanaIntegration = ` +const testMonitorGrafanaIntegrationVar = ` +variable "instance_id" { + default = "` + defaultGrafanaInstanceId + `" +} +` + +const testAccMonitorGrafanaIntegration = testMonitorGrafanaIntegrationVar + ` resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { - instance_id = "grafana-50nj6v00" + instance_id = var.instance_id kind = "tencentcloud-monitor-app" content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"123456789\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}" } ` -const testAccMonitorGrafanaIntegration_update = ` +const testAccMonitorGrafanaIntegration_update = testMonitorGrafanaIntegrationVar + ` resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { content = "{\"id\":\"integration-9st6kqz6\",\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"name\":\"uint-test3\",\"authProvider\":{\"secretId\":\"ROLE\",\"useRole\":true,\"__anyOf\":\"使用服务角色\"}},\"grafanaSpec\":{\"organizationIds\":[]}}}" - instance_id = "grafana-50nj6v00" + instance_id = var.instance_id kind = "tencentcloud-monitor-app" } diff --git a/tencentcloud/resource_tc_monitor_grafana_notification_channel.go b/tencentcloud/resource_tc_monitor_grafana_notification_channel.go index d1550e3956..074774ea68 100644 --- a/tencentcloud/resource_tc_monitor_grafana_notification_channel.go +++ b/tencentcloud/resource_tc_monitor_grafana_notification_channel.go @@ -34,9 +34,7 @@ func resourceTencentCloudMonitorGrafanaNotificationChannel() *schema.Resource { Create: resourceTencentCloudMonitorGrafanaNotificationChannelCreate, Update: resourceTencentCloudMonitorGrafanaNotificationChannelUpdate, Delete: resourceTencentCloudMonitorGrafanaNotificationChannelDelete, - //Importer: &schema.ResourceImporter{ - // State: schema.ImportStatePassthrough, - //}, + Schema: map[string]*schema.Schema{ "instance_id": { Type: schema.TypeString, diff --git a/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go b/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go index 6b82a8ca06..c5606963f8 100644 --- a/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_notification_channel_test.go @@ -26,14 +26,8 @@ func TestAccTencentCloudMonitorGrafanaNotificationChannel_basic(t *testing.T) { resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "channel_name", "create-channel-test"), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "org_id", "1"), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "receivers.#", "1"), - resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", "receivers.0", "Consumer-6vkna7pevq"), ), }, - //{ - // ResourceName: "tencentcloud_monitor_grafana_notification_channel.grafanaNotificationChannel", - // ImportState: true, - // ImportStateVerify: true, - //}, }, }) } @@ -101,13 +95,22 @@ func testAccCheckGrafanaNotificationChannelExists(r string) resource.TestCheckFu } } -const testAccMonitorGrafanaNotificationChannel = ` +const testMonitorGrafanaNotificationChannelVar = ` +variable "instance_id" { + default = "` + defaultGrafanaInstanceId + `" +} +variable "receivers" { + default = "` + defaultGrafanaReceiver + `" +} +` + +const testAccMonitorGrafanaNotificationChannel = testMonitorGrafanaNotificationChannelVar + ` resource "tencentcloud_monitor_grafana_notification_channel" "grafanaNotificationChannel" { - instance_id = "grafana-50nj6v00" + instance_id = var.instance_id channel_name = "create-channel-test" org_id = 1 - receivers = ["Consumer-6vkna7pevq"] + receivers = [var.receivers] extra_org_ids = [] } diff --git a/tencentcloud/resource_tc_monitor_grafana_plugin_test.go b/tencentcloud/resource_tc_monitor_grafana_plugin_test.go index 1cf5c4f78b..f5b7f2e533 100644 --- a/tencentcloud/resource_tc_monitor_grafana_plugin_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_plugin_test.go @@ -25,7 +25,7 @@ func TestAccTencentCloudMonitorGrafanaPlugin_basic(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckGrafanaPluginExists("tencentcloud_monitor_grafana_plugin.grafanaPlugin"), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_plugin.grafanaPlugin", "plugin_id", "grafana-piechart-panel"), - resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_plugin.grafanaPlugin", "version", "1.6.2"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_plugin.grafanaPlugin", "version", defaultGrafanaVersion), ), }, { @@ -100,12 +100,24 @@ func testAccCheckGrafanaPluginExists(r string) resource.TestCheckFunc { } } -const testAccMonitorGrafanaPlugin = ` +const testMonitorGrafanaPluginVar = ` +variable "instance_id" { + default = "` + defaultGrafanaInstanceId + `" +} +variable "plugin_id" { + default = "` + defaultGrafanaPlugin + `" +} +variable "plugin_version" { + default = "` + defaultGrafanaVersion + `" +} +` + +const testAccMonitorGrafanaPlugin = testMonitorGrafanaPluginVar + ` resource "tencentcloud_monitor_grafana_plugin" "grafanaPlugin" { - instance_id = "grafana-50nj6v00" - plugin_id = "grafana-piechart-panel" - version = "1.6.2" + instance_id = var.instance_id + plugin_id = var.plugin_id + version = var.plugin_version } ` diff --git a/tencentcloud/resource_tc_monitor_sso_account.go b/tencentcloud/resource_tc_monitor_grafana_sso_account.go similarity index 81% rename from tencentcloud/resource_tc_monitor_sso_account.go rename to tencentcloud/resource_tc_monitor_grafana_sso_account.go index add62cc67f..ed1e887f7c 100644 --- a/tencentcloud/resource_tc_monitor_sso_account.go +++ b/tencentcloud/resource_tc_monitor_grafana_sso_account.go @@ -1,10 +1,10 @@ /* -Provides a resource to create a monitor ssoAccount +Provides a resource to create a monitor grafana ssoAccount Example Usage ```hcl -resource "tencentcloud_monitor_sso_account" "ssoAccount" { +resource "tencentcloud_monitor_grafana_sso_account" "ssoAccount" { instance_id = "grafana-50nj6v00" user_id = "111" notes = "desc12222" @@ -17,9 +17,9 @@ resource "tencentcloud_monitor_sso_account" "ssoAccount" { ``` Import -monitor ssoAccount can be imported using the instance_id#user_id, e.g. +monitor grafana ssoAccount can be imported using the instance_id#user_id, e.g. ``` -$ terraform import tencentcloud_monitor_sso_account.ssoAccount grafana-50nj6v00#111 +$ terraform import tencentcloud_monitor_grafana_sso_account.ssoAccount grafana-50nj6v00#111 ``` */ package tencentcloud @@ -36,12 +36,12 @@ import ( "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" ) -func resourceTencentCloudMonitorSsoAccount() *schema.Resource { +func resourceTencentCloudMonitorGrafanaSsoAccount() *schema.Resource { return &schema.Resource{ - Read: resourceTencentCloudMonitorSsoAccountRead, - Create: resourceTencentCloudMonitorSsoAccountCreate, - Update: resourceTencentCloudMonitorSsoAccountUpdate, - Delete: resourceTencentCloudMonitorSsoAccountDelete, + Read: resourceTencentCloudMonitorGrafanaSsoAccountRead, + Create: resourceTencentCloudMonitorGrafanaSsoAccountCreate, + Update: resourceTencentCloudMonitorGrafanaSsoAccountUpdate, + Delete: resourceTencentCloudMonitorGrafanaSsoAccountDelete, Importer: &schema.ResourceImporter{ State: schema.ImportStatePassthrough, }, @@ -89,8 +89,8 @@ func resourceTencentCloudMonitorSsoAccount() *schema.Resource { } } -func resourceTencentCloudMonitorSsoAccountCreate(d *schema.ResourceData, meta interface{}) error { - defer logElapsed("resource.tencentcloud_monitor_sso_account.create")() +func resourceTencentCloudMonitorGrafanaSsoAccountCreate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_sso_account.create")() defer inconsistentCheck(d, meta)() logId := getLogId(contextNil) @@ -150,11 +150,11 @@ func resourceTencentCloudMonitorSsoAccountCreate(d *schema.ResourceData, meta in userId = *response.Response.UserId d.SetId(strings.Join([]string{instanceId, userId}, FILED_SP)) - return resourceTencentCloudMonitorSsoAccountRead(d, meta) + return resourceTencentCloudMonitorGrafanaSsoAccountRead(d, meta) } -func resourceTencentCloudMonitorSsoAccountRead(d *schema.ResourceData, meta interface{}) error { - defer logElapsed("resource.tencentcloud_monitor_sso_account.read")() +func resourceTencentCloudMonitorGrafanaSsoAccountRead(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_sso_account.read")() defer inconsistentCheck(d, meta)() logId := getLogId(contextNil) @@ -204,8 +204,8 @@ func resourceTencentCloudMonitorSsoAccountRead(d *schema.ResourceData, meta inte return nil } -func resourceTencentCloudMonitorSsoAccountUpdate(d *schema.ResourceData, meta interface{}) error { - defer logElapsed("resource.tencentcloud_monitor_sso_account.update")() +func resourceTencentCloudMonitorGrafanaSsoAccountUpdate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_sso_account.update")() defer inconsistentCheck(d, meta)() logId := getLogId(contextNil) @@ -268,11 +268,11 @@ func resourceTencentCloudMonitorSsoAccountUpdate(d *schema.ResourceData, meta in return err } - return resourceTencentCloudMonitorSsoAccountRead(d, meta) + return resourceTencentCloudMonitorGrafanaSsoAccountRead(d, meta) } -func resourceTencentCloudMonitorSsoAccountDelete(d *schema.ResourceData, meta interface{}) error { - defer logElapsed("resource.tencentcloud_monitor_sso_account.delete")() +func resourceTencentCloudMonitorGrafanaSsoAccountDelete(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_monitor_grafana_sso_account.delete")() defer inconsistentCheck(d, meta)() logId := getLogId(contextNil) diff --git a/tencentcloud/resource_tc_monitor_sso_account_test.go b/tencentcloud/resource_tc_monitor_grafana_sso_account_test.go similarity index 64% rename from tencentcloud/resource_tc_monitor_sso_account_test.go rename to tencentcloud/resource_tc_monitor_grafana_sso_account_test.go index 8bfbbe1e5a..8ac7076d41 100644 --- a/tencentcloud/resource_tc_monitor_sso_account_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_sso_account_test.go @@ -11,8 +11,8 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" ) -// go test -i; go test -test.run TestAccTencentCloudMonitorSsoAccount_basic -v -func TestAccTencentCloudMonitorSsoAccount_basic(t *testing.T) { +// go test -i; go test -test.run TestAccTencentCloudMonitorGrafanaSsoAccount_basic -v +func TestAccTencentCloudMonitorGrafanaSsoAccount_basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ @@ -21,18 +21,18 @@ func TestAccTencentCloudMonitorSsoAccount_basic(t *testing.T) { CheckDestroy: testAccCheckSsoAccountDestroy, Steps: []resource.TestStep{ { - Config: testAccMonitorSsoAccount, + Config: testAccMonitorGrafanaSsoAccount, Check: resource.ComposeTestCheckFunc( - testAccCheckSsoAccountExists("tencentcloud_monitor_sso_account.ssoAccount"), - resource.TestCheckResourceAttr("tencentcloud_monitor_sso_account.ssoAccount", "user_id", "202109071220"), - resource.TestCheckResourceAttr("tencentcloud_monitor_sso_account.ssoAccount", "notes", "desc-202109071220"), - resource.TestCheckResourceAttr("tencentcloud_monitor_sso_account.ssoAccount", "role.#", "1"), - resource.TestCheckResourceAttr("tencentcloud_monitor_sso_account.ssoAccount", "role.0.role", "Admin"), - resource.TestCheckResourceAttr("tencentcloud_monitor_sso_account.ssoAccount", "role.0.organization", "Main Org."), + testAccCheckSsoAccountExists("tencentcloud_monitor_grafana_sso_account.ssoAccount"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_sso_account.ssoAccount", "user_id", "202109071220"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_sso_account.ssoAccount", "notes", "desc-202109071220"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_sso_account.ssoAccount", "role.#", "1"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_sso_account.ssoAccount", "role.0.role", "Admin"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_sso_account.ssoAccount", "role.0.organization", "Main Org."), ), }, { - ResourceName: "tencentcloud_monitor_sso_account.ssoAccount", + ResourceName: "tencentcloud_monitor_grafana_sso_account.ssoAccount", ImportState: true, ImportStateVerify: true, }, @@ -45,7 +45,7 @@ func testAccCheckSsoAccountDestroy(s *terraform.State) error { ctx := context.WithValue(context.TODO(), logIdKey, logId) service := MonitorService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} for _, rs := range s.RootModule().Resources { - if rs.Type != "tencentcloud_monitor_sso_account" { + if rs.Type != "tencentcloud_monitor_grafana_sso_account" { continue } if rs.Primary.ID == "" { @@ -103,10 +103,16 @@ func testAccCheckSsoAccountExists(r string) resource.TestCheckFunc { } } -const testAccMonitorSsoAccount = ` +const testMonitorGrafanaSsoAccountVar = ` +variable "instance_id" { + default = "` + defaultGrafanaInstanceId + `" +} +` + +const testAccMonitorGrafanaSsoAccount = testMonitorGrafanaSsoAccountVar + ` -resource "tencentcloud_monitor_sso_account" "ssoAccount" { - instance_id = "grafana-50nj6v00" +resource "tencentcloud_monitor_grafana_sso_account" "ssoAccount" { + instance_id = var.instance_id user_id = "202109071220" notes = "desc-202109071220" role { diff --git a/website/docs/r/monitor_grafana_instance.html.markdown b/website/docs/r/monitor_grafana_instance.html.markdown index 01099ee5b2..8f823604b5 100644 --- a/website/docs/r/monitor_grafana_instance.html.markdown +++ b/website/docs/r/monitor_grafana_instance.html.markdown @@ -52,6 +52,6 @@ In addition to all arguments above, the following attributes are exported: monitor grafanaInstance can be imported using the id, e.g. ``` -$ terraform import tencentcloud_monitor_grafana_instance.grafanaInstance grafanaInstance_id#grafana_init_password +$ terraform import tencentcloud_monitor_grafana_instance.grafanaInstance grafanaInstance_id ``` diff --git a/website/docs/r/monitor_grafana_integration.html.markdown b/website/docs/r/monitor_grafana_integration.html.markdown index 057f217dc1..c7cceba60f 100644 --- a/website/docs/r/monitor_grafana_integration.html.markdown +++ b/website/docs/r/monitor_grafana_integration.html.markdown @@ -13,19 +13,7 @@ Provides a resource to create a monitor grafanaIntegration ## Example Usage -```hcl -resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration" { - instance_id = "grafana-50nj6v00" - kind = "tencentcloud-monitor-app" - content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}" -} - -resource "tencentcloud_monitor_grafana_integration" "grafanaIntegration_update" { - content = "{\"id\":\"integration-9st6kqz6\",\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"name\":\"uint-test3\",\"authProvider\":{\"secretId\":\"ROLE\",\"useRole\":true,\"__anyOf\":\"使用服务角色\"}},\"grafanaSpec\":{\"organizationIds\":[]}}}" - instance_id = "grafana-50nj6v00" - kind = "tencentcloud-monitor-app" -} -``` + ## Argument Reference @@ -44,10 +32,3 @@ In addition to all arguments above, the following attributes are exported: * `integration_id` - integration id. -## Import - -monitor grafanaIntegration can be imported using the id, e.g. -``` -$ terraform import tencentcloud_monitor_grafana_integration.grafanaIntegration grafanaIntegration_id -``` - diff --git a/website/docs/r/monitor_grafana_sso_account.html.markdown b/website/docs/r/monitor_grafana_sso_account.html.markdown new file mode 100644 index 0000000000..17b7897004 --- /dev/null +++ b/website/docs/r/monitor_grafana_sso_account.html.markdown @@ -0,0 +1,56 @@ +--- +subcategory: "Monitor" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_monitor_grafana_sso_account" +sidebar_current: "docs-tencentcloud-resource-monitor_grafana_sso_account" +description: |- + Provides a resource to create a monitor grafana ssoAccount +--- + +# tencentcloud_monitor_grafana_sso_account + +Provides a resource to create a monitor grafana ssoAccount + +## Example Usage + +```hcl +resource "tencentcloud_monitor_grafana_sso_account" "ssoAccount" { + instance_id = "grafana-50nj6v00" + user_id = "111" + notes = "desc12222" + role { + organization = "Main Org." + role = "Admin" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `instance_id` - (Required, String) grafana instance id. +* `user_id` - (Required, String) sub account uin of specific user. +* `notes` - (Optional, String) account related description. +* `role` - (Optional, List) grafana role. + +The `role` object supports the following: + +* `organization` - (Required, String) Grafana organization id string. +* `role` - (Required, String) Grafana role, one of {Admin,Editor,Viewer}. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. + + + +## Import + +monitor grafana ssoAccount can be imported using the instance_id#user_id, e.g. +``` +$ terraform import tencentcloud_monitor_grafana_sso_account.ssoAccount grafana-50nj6v00#111 +``` + diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index 686b7910b3..5611eae37f 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -1140,13 +1140,13 @@ tencentcloud_monitor_grafana_plugin
  • - tencentcloud_monitor_policy_binding_object + tencentcloud_monitor_grafana_sso_account
  • - tencentcloud_monitor_policy_group + tencentcloud_monitor_policy_binding_object
  • - tencentcloud_monitor_sso_account + tencentcloud_monitor_policy_group
  • tencentcloud_monitor_tmp_alert_rule From 93cadf9b9d2951de13fd81b3783bc7c233aa624c Mon Sep 17 00:00:00 2001 From: arunma Date: Tue, 13 Sep 2022 16:14:59 +0800 Subject: [PATCH 10/14] fix: update unit test --- tencentcloud/resource_tc_monitor_grafana_integration_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tencentcloud/resource_tc_monitor_grafana_integration_test.go b/tencentcloud/resource_tc_monitor_grafana_integration_test.go index f868cab8d4..1f639a88f8 100644 --- a/tencentcloud/resource_tc_monitor_grafana_integration_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_integration_test.go @@ -24,7 +24,7 @@ func TestAccTencentCloudMonitorGrafanaIntegration_basic(t *testing.T) { Config: testAccMonitorGrafanaIntegration, Check: resource.ComposeTestCheckFunc( testAccCheckGrafanaIntegrationExists("tencentcloud_monitor_grafana_integration.grafanaIntegration"), - resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_integration.grafanaIntegration", "instance_id", "grafana-50nj6v00"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_integration.grafanaIntegration", "instance_id", defaultGrafanaInstanceId), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_integration.grafanaIntegration", "kind", "tencentcloud-monitor-app"), ), }, @@ -32,7 +32,7 @@ func TestAccTencentCloudMonitorGrafanaIntegration_basic(t *testing.T) { Config: testAccMonitorGrafanaIntegration_update, Check: resource.ComposeTestCheckFunc( testAccCheckGrafanaIntegrationExists("tencentcloud_monitor_grafana_integration.grafanaIntegration"), - resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_integration.grafanaIntegration", "instance_id", "grafana-50nj6v00"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_integration.grafanaIntegration", "instance_id", defaultGrafanaInstanceId), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_integration.grafanaIntegration", "kind", "tencentcloud-monitor-app"), ), }, From 30aafc1282b6f9f14d136e85e2894431e8aea72b Mon Sep 17 00:00:00 2001 From: arunma Date: Tue, 13 Sep 2022 16:52:02 +0800 Subject: [PATCH 11/14] fix: update unit test --- tencentcloud/resource_tc_monitor_grafana_plugin_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tencentcloud/resource_tc_monitor_grafana_plugin_test.go b/tencentcloud/resource_tc_monitor_grafana_plugin_test.go index f5b7f2e533..7a635f2e67 100644 --- a/tencentcloud/resource_tc_monitor_grafana_plugin_test.go +++ b/tencentcloud/resource_tc_monitor_grafana_plugin_test.go @@ -24,7 +24,7 @@ func TestAccTencentCloudMonitorGrafanaPlugin_basic(t *testing.T) { Config: testAccMonitorGrafanaPlugin, Check: resource.ComposeTestCheckFunc( testAccCheckGrafanaPluginExists("tencentcloud_monitor_grafana_plugin.grafanaPlugin"), - resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_plugin.grafanaPlugin", "plugin_id", "grafana-piechart-panel"), + resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_plugin.grafanaPlugin", "plugin_id", defaultGrafanaPlugin), resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_plugin.grafanaPlugin", "version", defaultGrafanaVersion), ), }, From 9cc1ab7868de0c26bb55652ea8ae401efaeaf4b6 Mon Sep 17 00:00:00 2001 From: arunma Date: Tue, 13 Sep 2022 17:43:44 +0800 Subject: [PATCH 12/14] fix: update unit test --- tencentcloud/service_tencentcloud_monitor.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tencentcloud/service_tencentcloud_monitor.go b/tencentcloud/service_tencentcloud_monitor.go index 570b3ddf45..c14a3a3757 100644 --- a/tencentcloud/service_tencentcloud_monitor.go +++ b/tencentcloud/service_tencentcloud_monitor.go @@ -955,7 +955,7 @@ func (me *MonitorService) DescribeMonitorGrafanaPlugin(ctx context.Context, inst request.InstanceId = &instanceId request.PluginId = &pluginId - outErr := resource.Retry(readRetryTimeout, func() *resource.RetryError { + outErr := resource.Retry(2*readRetryTimeout, func() *resource.RetryError { var err error response, err = me.client.UseMonitorClient().DescribeInstalledPlugins(request) if err != nil { From 4333eb897ec62006b746ad5814f0564f78b0a057 Mon Sep 17 00:00:00 2001 From: arunma Date: Tue, 13 Sep 2022 18:52:42 +0800 Subject: [PATCH 13/14] fix: update grafana plugin --- .../resource_tc_monitor_grafana_plugin.go | 20 ++++++++++++++++++- tencentcloud/service_tencentcloud_monitor.go | 20 +++++-------------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/tencentcloud/resource_tc_monitor_grafana_plugin.go b/tencentcloud/resource_tc_monitor_grafana_plugin.go index beb5ac2abd..8920268abc 100644 --- a/tencentcloud/resource_tc_monitor_grafana_plugin.go +++ b/tencentcloud/resource_tc_monitor_grafana_plugin.go @@ -110,7 +110,25 @@ func resourceTencentCloudMonitorGrafanaPluginCreate(d *schema.ResourceData, meta return err } - //pluginId = *response.Response.PluginId + outErr := resource.Retry(2*readRetryTimeout, func() *resource.RetryError { + response, err := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().DescribeInstalledPlugins(&monitor.DescribeInstalledPluginsRequest{ + InstanceId: &instanceId, + PluginId: &pluginId, + }) + if err != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, request.GetAction(), request.ToJsonString(), err.Error()) + return retryError(err, InternalError) + } + if len(response.Response.PluginSet) < 1 { + return resource.RetryableError(fmt.Errorf("Installing pluin %v, retry...", pluginId)) + } + return nil + }) + if outErr != nil { + log.Printf("[CRITAL]%s Inquire monitor grafanaPlugin failed, reason:%+v", logId, outErr) + return outErr + } d.SetId(strings.Join([]string{instanceId, pluginId}, FILED_SP)) return resourceTencentCloudMonitorGrafanaPluginRead(d, meta) diff --git a/tencentcloud/service_tencentcloud_monitor.go b/tencentcloud/service_tencentcloud_monitor.go index c14a3a3757..fd44c942a0 100644 --- a/tencentcloud/service_tencentcloud_monitor.go +++ b/tencentcloud/service_tencentcloud_monitor.go @@ -955,21 +955,11 @@ func (me *MonitorService) DescribeMonitorGrafanaPlugin(ctx context.Context, inst request.InstanceId = &instanceId request.PluginId = &pluginId - outErr := resource.Retry(2*readRetryTimeout, func() *resource.RetryError { - var err error - response, err = me.client.UseMonitorClient().DescribeInstalledPlugins(request) - if err != nil { - log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", - logId, request.GetAction(), request.ToJsonString(), err.Error()) - return retryError(err, InternalError) - } - if len(response.Response.PluginSet) < 1 { - return resource.RetryableError(fmt.Errorf("Installing pluin %v, retry...", pluginId)) - } - return nil - }) - if outErr != nil { - errRet = outErr + response, err := me.client.UseMonitorClient().DescribeInstalledPlugins(request) + if err != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", + logId, request.GetAction(), request.ToJsonString(), err.Error()) + errRet = err return } From 33a219f141fb84347cadef41041e3b659cdd8f5e Mon Sep 17 00:00:00 2001 From: arunma Date: Tue, 13 Sep 2022 19:14:02 +0800 Subject: [PATCH 14/14] fix: update unit test --- tencentcloud/resource_tc_monitor_grafana_plugin.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tencentcloud/resource_tc_monitor_grafana_plugin.go b/tencentcloud/resource_tc_monitor_grafana_plugin.go index 8920268abc..f2ab81b166 100644 --- a/tencentcloud/resource_tc_monitor_grafana_plugin.go +++ b/tencentcloud/resource_tc_monitor_grafana_plugin.go @@ -73,8 +73,9 @@ func resourceTencentCloudMonitorGrafanaPluginCreate(d *schema.ResourceData, meta var ( request = monitor.NewInstallPluginsRequest() //response *monitor.InstallPluginsResponse - pluginId string - instanceId string + pluginId string + instanceId string + descResquest = monitor.NewDescribeInstalledPluginsRequest() ) if v, ok := d.GetOk("instance_id"); ok { @@ -110,11 +111,10 @@ func resourceTencentCloudMonitorGrafanaPluginCreate(d *schema.ResourceData, meta return err } + descResquest.PluginId = &pluginId + descResquest.InstanceId = &instanceId outErr := resource.Retry(2*readRetryTimeout, func() *resource.RetryError { - response, err := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().DescribeInstalledPlugins(&monitor.DescribeInstalledPluginsRequest{ - InstanceId: &instanceId, - PluginId: &pluginId, - }) + response, err := meta.(*TencentCloudClient).apiV3Conn.UseMonitorClient().DescribeInstalledPlugins(descResquest) if err != nil { log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), err.Error())