sdk-team 6 anni fa
parent
commit
527db7f29d
32 ha cambiato i file con 1391 aggiunte e 53 eliminazioni
  1. 5 0
      ChangeLog.txt
  2. 113 0
      services/cms/add_tags.go
  3. 130 0
      services/cms/create_group_monitoring_agent_process.go
  4. 1 0
      services/cms/create_metric_rule_template.go
  5. 107 0
      services/cms/delete_group_monitoring_agent_process.go
  6. 4 2
      services/cms/describe_alerting_metric_rule_resources.go
  7. 110 0
      services/cms/describe_group_monitoring_agent_process.go
  8. 15 6
      services/cms/describe_monitor_groups.go
  9. 108 0
      services/cms/describe_tag_key_list.go
  10. 109 0
      services/cms/describe_tag_value_list.go
  11. 121 0
      services/cms/modify_group_monitoring_agent_process.go
  12. 1 0
      services/cms/modify_metric_rule_template.go
  13. 136 0
      services/cms/put_resource_metric_rules.go
  14. 114 0
      services/cms/remove_tags.go
  15. 2 2
      services/cms/struct_alert_config.go
  16. 21 0
      services/cms/struct_alert_config_in_describe_group_monitoring_agent_process.go
  17. 29 0
      services/cms/struct_alert_config_item.go
  18. 1 0
      services/cms/struct_alert_template.go
  19. 21 0
      services/cms/struct_failed_list_result.go
  20. 21 0
      services/cms/struct_match_express.go
  21. 23 0
      services/cms/struct_match_express_item.go
  22. 1 0
      services/cms/struct_node_process.go
  23. 26 0
      services/cms/struct_process.go
  24. 21 0
      services/cms/struct_processes.go
  25. 39 38
      services/cms/struct_resource.go
  26. 21 0
      services/cms/struct_tag_in_remove_tags.go
  27. 21 0
      services/cms/struct_tag_keys.go
  28. 21 0
      services/cms/struct_tag_values.go
  29. 21 0
      services/cms/struct_tags_in_describe_monitor_group_instance_attribute.go
  30. 2 2
      services/cms/struct_tags_in_describe_monitor_groups.go
  31. 5 3
      services/cms/struct_target.go
  32. 21 0
      services/cms/struct_template_ids.go

+ 5 - 0
ChangeLog.txt

@@ -1,3 +1,8 @@
+2019-12-11 Version: v1.60.287
+- Add tag API.
+- Add group process monitoring API.
+- Add API for batch setting alarm rules.
+
 2019-12-11 Version: v1.60.286
 - Support GroupDeletionProtection.
 

+ 113 - 0
services/cms/add_tags.go

@@ -0,0 +1,113 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// AddTags invokes the cms.AddTags API synchronously
+// api document: https://help.aliyun.com/api/cms/addtags.html
+func (client *Client) AddTags(request *AddTagsRequest) (response *AddTagsResponse, err error) {
+	response = CreateAddTagsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddTagsWithChan invokes the cms.AddTags API asynchronously
+// api document: https://help.aliyun.com/api/cms/addtags.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddTagsWithChan(request *AddTagsRequest) (<-chan *AddTagsResponse, <-chan error) {
+	responseChan := make(chan *AddTagsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddTags(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddTagsWithCallback invokes the cms.AddTags API asynchronously
+// api document: https://help.aliyun.com/api/cms/addtags.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddTagsWithCallback(request *AddTagsRequest, callback func(response *AddTagsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddTagsResponse
+		var err error
+		defer close(result)
+		response, err = client.AddTags(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddTagsRequest is the request struct for api AddTags
+type AddTagsRequest struct {
+	*requests.RpcRequest
+	GroupIds *[]string     `position:"Query" name:"GroupIds"  type:"Repeated"`
+	Tag      *[]AddTagsTag `position:"Query" name:"Tag"  type:"Repeated"`
+}
+
+// AddTagsTag is a repeated param struct in AddTagsRequest
+type AddTagsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// AddTagsResponse is the response struct for api AddTags
+type AddTagsResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAddTagsRequest creates a request to invoke AddTags API
+func CreateAddTagsRequest() (request *AddTagsRequest) {
+	request = &AddTagsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cms", "2019-01-01", "AddTags", "cms", "openAPI")
+	return
+}
+
+// CreateAddTagsResponse creates a response to parse from AddTags response
+func CreateAddTagsResponse() (response *AddTagsResponse) {
+	response = &AddTagsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 130 - 0
services/cms/create_group_monitoring_agent_process.go

@@ -0,0 +1,130 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateGroupMonitoringAgentProcess invokes the cms.CreateGroupMonitoringAgentProcess API synchronously
+// api document: https://help.aliyun.com/api/cms/creategroupmonitoringagentprocess.html
+func (client *Client) CreateGroupMonitoringAgentProcess(request *CreateGroupMonitoringAgentProcessRequest) (response *CreateGroupMonitoringAgentProcessResponse, err error) {
+	response = CreateCreateGroupMonitoringAgentProcessResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateGroupMonitoringAgentProcessWithChan invokes the cms.CreateGroupMonitoringAgentProcess API asynchronously
+// api document: https://help.aliyun.com/api/cms/creategroupmonitoringagentprocess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateGroupMonitoringAgentProcessWithChan(request *CreateGroupMonitoringAgentProcessRequest) (<-chan *CreateGroupMonitoringAgentProcessResponse, <-chan error) {
+	responseChan := make(chan *CreateGroupMonitoringAgentProcessResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateGroupMonitoringAgentProcess(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateGroupMonitoringAgentProcessWithCallback invokes the cms.CreateGroupMonitoringAgentProcess API asynchronously
+// api document: https://help.aliyun.com/api/cms/creategroupmonitoringagentprocess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateGroupMonitoringAgentProcessWithCallback(request *CreateGroupMonitoringAgentProcessRequest, callback func(response *CreateGroupMonitoringAgentProcessResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateGroupMonitoringAgentProcessResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateGroupMonitoringAgentProcess(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateGroupMonitoringAgentProcessRequest is the request struct for api CreateGroupMonitoringAgentProcess
+type CreateGroupMonitoringAgentProcessRequest struct {
+	*requests.RpcRequest
+	AlertConfig                *[]CreateGroupMonitoringAgentProcessAlertConfig  `position:"Query" name:"AlertConfig"  type:"Repeated"`
+	GroupId                    string                                           `position:"Query" name:"GroupId"`
+	ProcessName                string                                           `position:"Query" name:"ProcessName"`
+	MatchExpressFilterRelation string                                           `position:"Query" name:"MatchExpressFilterRelation"`
+	MatchExpress               *[]CreateGroupMonitoringAgentProcessMatchExpress `position:"Query" name:"MatchExpress"  type:"Repeated"`
+}
+
+// CreateGroupMonitoringAgentProcessAlertConfig is a repeated param struct in CreateGroupMonitoringAgentProcessRequest
+type CreateGroupMonitoringAgentProcessAlertConfig struct {
+	Times               string `name:"Times"`
+	NoEffectiveInterval string `name:"NoEffectiveInterval"`
+	Webhook             string `name:"Webhook"`
+	SilenceTime         string `name:"SilenceTime"`
+	Threshold           string `name:"Threshold"`
+	EffectiveInterval   string `name:"EffectiveInterval"`
+	ComparisonOperator  string `name:"ComparisonOperator"`
+	EscalationsLevel    string `name:"EscalationsLevel"`
+	Statistics          string `name:"Statistics"`
+}
+
+// CreateGroupMonitoringAgentProcessMatchExpress is a repeated param struct in CreateGroupMonitoringAgentProcessRequest
+type CreateGroupMonitoringAgentProcessMatchExpress struct {
+	Function string `name:"Function"`
+	Name     string `name:"Name"`
+	Value    string `name:"Value"`
+}
+
+// CreateGroupMonitoringAgentProcessResponse is the response struct for api CreateGroupMonitoringAgentProcess
+type CreateGroupMonitoringAgentProcessResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateGroupMonitoringAgentProcessRequest creates a request to invoke CreateGroupMonitoringAgentProcess API
+func CreateCreateGroupMonitoringAgentProcessRequest() (request *CreateGroupMonitoringAgentProcessRequest) {
+	request = &CreateGroupMonitoringAgentProcessRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cms", "2019-01-01", "CreateGroupMonitoringAgentProcess", "cms", "openAPI")
+	return
+}
+
+// CreateCreateGroupMonitoringAgentProcessResponse creates a response to parse from CreateGroupMonitoringAgentProcess response
+func CreateCreateGroupMonitoringAgentProcessResponse() (response *CreateGroupMonitoringAgentProcessResponse) {
+	response = &CreateGroupMonitoringAgentProcessResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/cms/create_metric_rule_template.go

@@ -85,6 +85,7 @@ type CreateMetricRuleTemplateRequest struct {
 type CreateMetricRuleTemplateAlertTemplates struct {
 	Period                                string `name:"Period"`
 	EscalationsWarnThreshold              string `name:"Escalations.Warn.Threshold"`
+	Webhook                               string `name:"Webhook"`
 	EscalationsWarnComparisonOperator     string `name:"Escalations.Warn.ComparisonOperator"`
 	EscalationsCriticalStatistics         string `name:"Escalations.Critical.Statistics"`
 	EscalationsInfoTimes                  string `name:"Escalations.Info.Times"`

+ 107 - 0
services/cms/delete_group_monitoring_agent_process.go

@@ -0,0 +1,107 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteGroupMonitoringAgentProcess invokes the cms.DeleteGroupMonitoringAgentProcess API synchronously
+// api document: https://help.aliyun.com/api/cms/deletegroupmonitoringagentprocess.html
+func (client *Client) DeleteGroupMonitoringAgentProcess(request *DeleteGroupMonitoringAgentProcessRequest) (response *DeleteGroupMonitoringAgentProcessResponse, err error) {
+	response = CreateDeleteGroupMonitoringAgentProcessResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteGroupMonitoringAgentProcessWithChan invokes the cms.DeleteGroupMonitoringAgentProcess API asynchronously
+// api document: https://help.aliyun.com/api/cms/deletegroupmonitoringagentprocess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteGroupMonitoringAgentProcessWithChan(request *DeleteGroupMonitoringAgentProcessRequest) (<-chan *DeleteGroupMonitoringAgentProcessResponse, <-chan error) {
+	responseChan := make(chan *DeleteGroupMonitoringAgentProcessResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteGroupMonitoringAgentProcess(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteGroupMonitoringAgentProcessWithCallback invokes the cms.DeleteGroupMonitoringAgentProcess API asynchronously
+// api document: https://help.aliyun.com/api/cms/deletegroupmonitoringagentprocess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteGroupMonitoringAgentProcessWithCallback(request *DeleteGroupMonitoringAgentProcessRequest, callback func(response *DeleteGroupMonitoringAgentProcessResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteGroupMonitoringAgentProcessResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteGroupMonitoringAgentProcess(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteGroupMonitoringAgentProcessRequest is the request struct for api DeleteGroupMonitoringAgentProcess
+type DeleteGroupMonitoringAgentProcessRequest struct {
+	*requests.RpcRequest
+	GroupId string `position:"Query" name:"GroupId"`
+	Id      string `position:"Query" name:"Id"`
+}
+
+// DeleteGroupMonitoringAgentProcessResponse is the response struct for api DeleteGroupMonitoringAgentProcess
+type DeleteGroupMonitoringAgentProcessResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteGroupMonitoringAgentProcessRequest creates a request to invoke DeleteGroupMonitoringAgentProcess API
+func CreateDeleteGroupMonitoringAgentProcessRequest() (request *DeleteGroupMonitoringAgentProcessRequest) {
+	request = &DeleteGroupMonitoringAgentProcessRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cms", "2019-01-01", "DeleteGroupMonitoringAgentProcess", "cms", "openAPI")
+	return
+}
+
+// CreateDeleteGroupMonitoringAgentProcessResponse creates a response to parse from DeleteGroupMonitoringAgentProcess response
+func CreateDeleteGroupMonitoringAgentProcessResponse() (response *DeleteGroupMonitoringAgentProcessResponse) {
+	response = &DeleteGroupMonitoringAgentProcessResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 4 - 2
services/cms/describe_alerting_metric_rule_resources.go

@@ -76,8 +76,10 @@ func (client *Client) DescribeAlertingMetricRuleResourcesWithCallback(request *D
 // DescribeAlertingMetricRuleResourcesRequest is the request struct for api DescribeAlertingMetricRuleResources
 type DescribeAlertingMetricRuleResourcesRequest struct {
 	*requests.RpcRequest
-	GroupId string `position:"Query" name:"GroupId"`
-	RuleId  string `position:"Query" name:"RuleId"`
+	GroupId  string           `position:"Query" name:"GroupId"`
+	PageSize requests.Integer `position:"Query" name:"PageSize"`
+	Page     requests.Integer `position:"Query" name:"Page"`
+	RuleId   string           `position:"Query" name:"RuleId"`
 }
 
 // DescribeAlertingMetricRuleResourcesResponse is the response struct for api DescribeAlertingMetricRuleResources

+ 110 - 0
services/cms/describe_group_monitoring_agent_process.go

@@ -0,0 +1,110 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeGroupMonitoringAgentProcess invokes the cms.DescribeGroupMonitoringAgentProcess API synchronously
+// api document: https://help.aliyun.com/api/cms/describegroupmonitoringagentprocess.html
+func (client *Client) DescribeGroupMonitoringAgentProcess(request *DescribeGroupMonitoringAgentProcessRequest) (response *DescribeGroupMonitoringAgentProcessResponse, err error) {
+	response = CreateDescribeGroupMonitoringAgentProcessResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGroupMonitoringAgentProcessWithChan invokes the cms.DescribeGroupMonitoringAgentProcess API asynchronously
+// api document: https://help.aliyun.com/api/cms/describegroupmonitoringagentprocess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGroupMonitoringAgentProcessWithChan(request *DescribeGroupMonitoringAgentProcessRequest) (<-chan *DescribeGroupMonitoringAgentProcessResponse, <-chan error) {
+	responseChan := make(chan *DescribeGroupMonitoringAgentProcessResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGroupMonitoringAgentProcess(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGroupMonitoringAgentProcessWithCallback invokes the cms.DescribeGroupMonitoringAgentProcess API asynchronously
+// api document: https://help.aliyun.com/api/cms/describegroupmonitoringagentprocess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGroupMonitoringAgentProcessWithCallback(request *DescribeGroupMonitoringAgentProcessRequest, callback func(response *DescribeGroupMonitoringAgentProcessResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGroupMonitoringAgentProcessResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGroupMonitoringAgentProcess(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGroupMonitoringAgentProcessRequest is the request struct for api DescribeGroupMonitoringAgentProcess
+type DescribeGroupMonitoringAgentProcessRequest struct {
+	*requests.RpcRequest
+	GroupId     string           `position:"Query" name:"GroupId"`
+	ProcessName string           `position:"Query" name:"ProcessName"`
+	PageNumber  requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeGroupMonitoringAgentProcessResponse is the response struct for api DescribeGroupMonitoringAgentProcess
+type DescribeGroupMonitoringAgentProcessResponse struct {
+	*responses.BaseResponse
+	Code      string    `json:"Code" xml:"Code"`
+	Message   string    `json:"Message" xml:"Message"`
+	Success   bool      `json:"Success" xml:"Success"`
+	RequestId string    `json:"RequestId" xml:"RequestId"`
+	Processes Processes `json:"Processes" xml:"Processes"`
+}
+
+// CreateDescribeGroupMonitoringAgentProcessRequest creates a request to invoke DescribeGroupMonitoringAgentProcess API
+func CreateDescribeGroupMonitoringAgentProcessRequest() (request *DescribeGroupMonitoringAgentProcessRequest) {
+	request = &DescribeGroupMonitoringAgentProcessRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cms", "2019-01-01", "DescribeGroupMonitoringAgentProcess", "cms", "openAPI")
+	return
+}
+
+// CreateDescribeGroupMonitoringAgentProcessResponse creates a response to parse from DescribeGroupMonitoringAgentProcess response
+func CreateDescribeGroupMonitoringAgentProcessResponse() (response *DescribeGroupMonitoringAgentProcessResponse) {
+	response = &DescribeGroupMonitoringAgentProcessResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 15 - 6
services/cms/describe_monitor_groups.go

@@ -76,12 +76,21 @@ func (client *Client) DescribeMonitorGroupsWithCallback(request *DescribeMonitor
 // DescribeMonitorGroupsRequest is the request struct for api DescribeMonitorGroups
 type DescribeMonitorGroupsRequest struct {
 	*requests.RpcRequest
-	SelectContactGroups requests.Boolean `position:"Query" name:"SelectContactGroups"`
-	GroupName           string           `position:"Query" name:"GroupName"`
-	PageNumber          requests.Integer `position:"Query" name:"PageNumber"`
-	InstanceId          string           `position:"Query" name:"InstanceId"`
-	PageSize            requests.Integer `position:"Query" name:"PageSize"`
-	Keyword             string           `position:"Query" name:"Keyword"`
+	SelectContactGroups    requests.Boolean            `position:"Query" name:"SelectContactGroups"`
+	IncludeTemplateHistory requests.Boolean            `position:"Query" name:"IncludeTemplateHistory"`
+	Type                   string                      `position:"Query" name:"Type"`
+	GroupName              string                      `position:"Query" name:"GroupName"`
+	PageNumber             requests.Integer            `position:"Query" name:"PageNumber"`
+	InstanceId             string                      `position:"Query" name:"InstanceId"`
+	PageSize               requests.Integer            `position:"Query" name:"PageSize"`
+	Tag                    *[]DescribeMonitorGroupsTag `position:"Query" name:"Tag"  type:"Repeated"`
+	Keyword                string                      `position:"Query" name:"Keyword"`
+}
+
+// DescribeMonitorGroupsTag is a repeated param struct in DescribeMonitorGroupsRequest
+type DescribeMonitorGroupsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeMonitorGroupsResponse is the response struct for api DescribeMonitorGroups

+ 108 - 0
services/cms/describe_tag_key_list.go

@@ -0,0 +1,108 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeTagKeyList invokes the cms.DescribeTagKeyList API synchronously
+// api document: https://help.aliyun.com/api/cms/describetagkeylist.html
+func (client *Client) DescribeTagKeyList(request *DescribeTagKeyListRequest) (response *DescribeTagKeyListResponse, err error) {
+	response = CreateDescribeTagKeyListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTagKeyListWithChan invokes the cms.DescribeTagKeyList API asynchronously
+// api document: https://help.aliyun.com/api/cms/describetagkeylist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTagKeyListWithChan(request *DescribeTagKeyListRequest) (<-chan *DescribeTagKeyListResponse, <-chan error) {
+	responseChan := make(chan *DescribeTagKeyListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTagKeyList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTagKeyListWithCallback invokes the cms.DescribeTagKeyList API asynchronously
+// api document: https://help.aliyun.com/api/cms/describetagkeylist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTagKeyListWithCallback(request *DescribeTagKeyListRequest, callback func(response *DescribeTagKeyListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTagKeyListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTagKeyList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTagKeyListRequest is the request struct for api DescribeTagKeyList
+type DescribeTagKeyListRequest struct {
+	*requests.RpcRequest
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeTagKeyListResponse is the response struct for api DescribeTagKeyList
+type DescribeTagKeyListResponse struct {
+	*responses.BaseResponse
+	Code      string  `json:"Code" xml:"Code"`
+	Message   string  `json:"Message" xml:"Message"`
+	Success   bool    `json:"Success" xml:"Success"`
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	TagKeys   TagKeys `json:"TagKeys" xml:"TagKeys"`
+}
+
+// CreateDescribeTagKeyListRequest creates a request to invoke DescribeTagKeyList API
+func CreateDescribeTagKeyListRequest() (request *DescribeTagKeyListRequest) {
+	request = &DescribeTagKeyListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cms", "2019-01-01", "DescribeTagKeyList", "cms", "openAPI")
+	return
+}
+
+// CreateDescribeTagKeyListResponse creates a response to parse from DescribeTagKeyList response
+func CreateDescribeTagKeyListResponse() (response *DescribeTagKeyListResponse) {
+	response = &DescribeTagKeyListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cms/describe_tag_value_list.go

@@ -0,0 +1,109 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeTagValueList invokes the cms.DescribeTagValueList API synchronously
+// api document: https://help.aliyun.com/api/cms/describetagvaluelist.html
+func (client *Client) DescribeTagValueList(request *DescribeTagValueListRequest) (response *DescribeTagValueListResponse, err error) {
+	response = CreateDescribeTagValueListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTagValueListWithChan invokes the cms.DescribeTagValueList API asynchronously
+// api document: https://help.aliyun.com/api/cms/describetagvaluelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTagValueListWithChan(request *DescribeTagValueListRequest) (<-chan *DescribeTagValueListResponse, <-chan error) {
+	responseChan := make(chan *DescribeTagValueListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTagValueList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTagValueListWithCallback invokes the cms.DescribeTagValueList API asynchronously
+// api document: https://help.aliyun.com/api/cms/describetagvaluelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTagValueListWithCallback(request *DescribeTagValueListRequest, callback func(response *DescribeTagValueListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTagValueListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTagValueList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTagValueListRequest is the request struct for api DescribeTagValueList
+type DescribeTagValueListRequest struct {
+	*requests.RpcRequest
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	TagKey     string           `position:"Query" name:"TagKey"`
+}
+
+// DescribeTagValueListResponse is the response struct for api DescribeTagValueList
+type DescribeTagValueListResponse struct {
+	*responses.BaseResponse
+	Code      string    `json:"Code" xml:"Code"`
+	Message   string    `json:"Message" xml:"Message"`
+	Success   bool      `json:"Success" xml:"Success"`
+	RequestId string    `json:"RequestId" xml:"RequestId"`
+	TagValues TagValues `json:"TagValues" xml:"TagValues"`
+}
+
+// CreateDescribeTagValueListRequest creates a request to invoke DescribeTagValueList API
+func CreateDescribeTagValueListRequest() (request *DescribeTagValueListRequest) {
+	request = &DescribeTagValueListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cms", "2019-01-01", "DescribeTagValueList", "cms", "openAPI")
+	return
+}
+
+// CreateDescribeTagValueListResponse creates a response to parse from DescribeTagValueList response
+func CreateDescribeTagValueListResponse() (response *DescribeTagValueListResponse) {
+	response = &DescribeTagValueListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 121 - 0
services/cms/modify_group_monitoring_agent_process.go

@@ -0,0 +1,121 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyGroupMonitoringAgentProcess invokes the cms.ModifyGroupMonitoringAgentProcess API synchronously
+// api document: https://help.aliyun.com/api/cms/modifygroupmonitoringagentprocess.html
+func (client *Client) ModifyGroupMonitoringAgentProcess(request *ModifyGroupMonitoringAgentProcessRequest) (response *ModifyGroupMonitoringAgentProcessResponse, err error) {
+	response = CreateModifyGroupMonitoringAgentProcessResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyGroupMonitoringAgentProcessWithChan invokes the cms.ModifyGroupMonitoringAgentProcess API asynchronously
+// api document: https://help.aliyun.com/api/cms/modifygroupmonitoringagentprocess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyGroupMonitoringAgentProcessWithChan(request *ModifyGroupMonitoringAgentProcessRequest) (<-chan *ModifyGroupMonitoringAgentProcessResponse, <-chan error) {
+	responseChan := make(chan *ModifyGroupMonitoringAgentProcessResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyGroupMonitoringAgentProcess(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyGroupMonitoringAgentProcessWithCallback invokes the cms.ModifyGroupMonitoringAgentProcess API asynchronously
+// api document: https://help.aliyun.com/api/cms/modifygroupmonitoringagentprocess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyGroupMonitoringAgentProcessWithCallback(request *ModifyGroupMonitoringAgentProcessRequest, callback func(response *ModifyGroupMonitoringAgentProcessResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyGroupMonitoringAgentProcessResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyGroupMonitoringAgentProcess(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyGroupMonitoringAgentProcessRequest is the request struct for api ModifyGroupMonitoringAgentProcess
+type ModifyGroupMonitoringAgentProcessRequest struct {
+	*requests.RpcRequest
+	AlertConfig                *[]ModifyGroupMonitoringAgentProcessAlertConfig `position:"Query" name:"AlertConfig"  type:"Repeated"`
+	GroupId                    string                                          `position:"Query" name:"GroupId"`
+	MatchExpressFilterRelation string                                          `position:"Query" name:"MatchExpressFilterRelation"`
+	Id                         string                                          `position:"Query" name:"Id"`
+}
+
+// ModifyGroupMonitoringAgentProcessAlertConfig is a repeated param struct in ModifyGroupMonitoringAgentProcessRequest
+type ModifyGroupMonitoringAgentProcessAlertConfig struct {
+	Times               string `name:"Times"`
+	NoEffectiveInterval string `name:"NoEffectiveInterval"`
+	SilenceTime         string `name:"SilenceTime"`
+	Threshold           string `name:"Threshold"`
+	EffectiveInterval   string `name:"EffectiveInterval"`
+	ComparisonOperator  string `name:"ComparisonOperator"`
+	EscalationsLevel    string `name:"EscalationsLevel"`
+	Statistics          string `name:"Statistics"`
+}
+
+// ModifyGroupMonitoringAgentProcessResponse is the response struct for api ModifyGroupMonitoringAgentProcess
+type ModifyGroupMonitoringAgentProcessResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyGroupMonitoringAgentProcessRequest creates a request to invoke ModifyGroupMonitoringAgentProcess API
+func CreateModifyGroupMonitoringAgentProcessRequest() (request *ModifyGroupMonitoringAgentProcessRequest) {
+	request = &ModifyGroupMonitoringAgentProcessRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cms", "2019-01-01", "ModifyGroupMonitoringAgentProcess", "cms", "openAPI")
+	return
+}
+
+// CreateModifyGroupMonitoringAgentProcessResponse creates a response to parse from ModifyGroupMonitoringAgentProcess response
+func CreateModifyGroupMonitoringAgentProcessResponse() (response *ModifyGroupMonitoringAgentProcessResponse) {
+	response = &ModifyGroupMonitoringAgentProcessResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/cms/modify_metric_rule_template.go

@@ -87,6 +87,7 @@ type ModifyMetricRuleTemplateRequest struct {
 type ModifyMetricRuleTemplateAlertTemplates struct {
 	Period                                string `name:"Period"`
 	EscalationsWarnThreshold              string `name:"Escalations.Warn.Threshold"`
+	Webhook                               string `name:"Webhook"`
 	EscalationsWarnComparisonOperator     string `name:"Escalations.Warn.ComparisonOperator"`
 	EscalationsCriticalStatistics         string `name:"Escalations.Critical.Statistics"`
 	EscalationsInfoTimes                  string `name:"Escalations.Info.Times"`

+ 136 - 0
services/cms/put_resource_metric_rules.go

@@ -0,0 +1,136 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// PutResourceMetricRules invokes the cms.PutResourceMetricRules API synchronously
+// api document: https://help.aliyun.com/api/cms/putresourcemetricrules.html
+func (client *Client) PutResourceMetricRules(request *PutResourceMetricRulesRequest) (response *PutResourceMetricRulesResponse, err error) {
+	response = CreatePutResourceMetricRulesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PutResourceMetricRulesWithChan invokes the cms.PutResourceMetricRules API asynchronously
+// api document: https://help.aliyun.com/api/cms/putresourcemetricrules.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PutResourceMetricRulesWithChan(request *PutResourceMetricRulesRequest) (<-chan *PutResourceMetricRulesResponse, <-chan error) {
+	responseChan := make(chan *PutResourceMetricRulesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PutResourceMetricRules(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PutResourceMetricRulesWithCallback invokes the cms.PutResourceMetricRules API asynchronously
+// api document: https://help.aliyun.com/api/cms/putresourcemetricrules.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PutResourceMetricRulesWithCallback(request *PutResourceMetricRulesRequest, callback func(response *PutResourceMetricRulesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PutResourceMetricRulesResponse
+		var err error
+		defer close(result)
+		response, err = client.PutResourceMetricRules(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PutResourceMetricRulesRequest is the request struct for api PutResourceMetricRules
+type PutResourceMetricRulesRequest struct {
+	*requests.RpcRequest
+	Rules *[]PutResourceMetricRulesRules `position:"Query" name:"Rules"  type:"Repeated"`
+}
+
+// PutResourceMetricRulesRules is a repeated param struct in PutResourceMetricRulesRequest
+type PutResourceMetricRulesRules struct {
+	Webhook                               string `name:"Webhook"`
+	EscalationsWarnComparisonOperator     string `name:"Escalations.Warn.ComparisonOperator"`
+	RuleName                              string `name:"RuleName"`
+	EscalationsInfoStatistics             string `name:"Escalations.Info.Statistics"`
+	EffectiveInterval                     string `name:"EffectiveInterval"`
+	EscalationsInfoComparisonOperator     string `name:"Escalations.Info.ComparisonOperator"`
+	NoEffectiveInterval                   string `name:"NoEffectiveInterval"`
+	EmailSubject                          string `name:"EmailSubject"`
+	SilenceTime                           string `name:"SilenceTime"`
+	MetricName                            string `name:"MetricName"`
+	EscalationsWarnTimes                  string `name:"Escalations.Warn.Times"`
+	Period                                string `name:"Period"`
+	EscalationsWarnThreshold              string `name:"Escalations.Warn.Threshold"`
+	ContactGroups                         string `name:"ContactGroups"`
+	EscalationsCriticalStatistics         string `name:"Escalations.Critical.Statistics"`
+	Resources                             string `name:"Resources"`
+	EscalationsInfoTimes                  string `name:"Escalations.Info.Times"`
+	EscalationsCriticalTimes              string `name:"Escalations.Critical.Times"`
+	EscalationsWarnStatistics             string `name:"Escalations.Warn.Statistics"`
+	EscalationsInfoThreshold              string `name:"Escalations.Info.Threshold"`
+	Namespace                             string `name:"Namespace"`
+	Interval                              string `name:"Interval"`
+	RuleId                                string `name:"RuleId"`
+	EscalationsCriticalComparisonOperator string `name:"Escalations.Critical.ComparisonOperator"`
+	EscalationsCriticalThreshold          string `name:"Escalations.Critical.Threshold"`
+}
+
+// PutResourceMetricRulesResponse is the response struct for api PutResourceMetricRules
+type PutResourceMetricRulesResponse struct {
+	*responses.BaseResponse
+	Success          bool             `json:"Success" xml:"Success"`
+	Code             string           `json:"Code" xml:"Code"`
+	Message          string           `json:"Message" xml:"Message"`
+	RequestId        string           `json:"RequestId" xml:"RequestId"`
+	FailedListResult FailedListResult `json:"FailedListResult" xml:"FailedListResult"`
+}
+
+// CreatePutResourceMetricRulesRequest creates a request to invoke PutResourceMetricRules API
+func CreatePutResourceMetricRulesRequest() (request *PutResourceMetricRulesRequest) {
+	request = &PutResourceMetricRulesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cms", "2019-01-01", "PutResourceMetricRules", "cms", "openAPI")
+	return
+}
+
+// CreatePutResourceMetricRulesResponse creates a response to parse from PutResourceMetricRules response
+func CreatePutResourceMetricRulesResponse() (response *PutResourceMetricRulesResponse) {
+	response = &PutResourceMetricRulesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/cms/remove_tags.go

@@ -0,0 +1,114 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RemoveTags invokes the cms.RemoveTags API synchronously
+// api document: https://help.aliyun.com/api/cms/removetags.html
+func (client *Client) RemoveTags(request *RemoveTagsRequest) (response *RemoveTagsResponse, err error) {
+	response = CreateRemoveTagsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveTagsWithChan invokes the cms.RemoveTags API asynchronously
+// api document: https://help.aliyun.com/api/cms/removetags.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveTagsWithChan(request *RemoveTagsRequest) (<-chan *RemoveTagsResponse, <-chan error) {
+	responseChan := make(chan *RemoveTagsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveTags(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveTagsWithCallback invokes the cms.RemoveTags API asynchronously
+// api document: https://help.aliyun.com/api/cms/removetags.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveTagsWithCallback(request *RemoveTagsRequest, callback func(response *RemoveTagsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveTagsResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveTags(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveTagsRequest is the request struct for api RemoveTags
+type RemoveTagsRequest struct {
+	*requests.RpcRequest
+	GroupIds *[]string        `position:"Query" name:"GroupIds"  type:"Repeated"`
+	Tag      *[]RemoveTagsTag `position:"Query" name:"Tag"  type:"Repeated"`
+}
+
+// RemoveTagsTag is a repeated param struct in RemoveTagsRequest
+type RemoveTagsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// RemoveTagsResponse is the response struct for api RemoveTags
+type RemoveTagsResponse struct {
+	*responses.BaseResponse
+	Code      string          `json:"Code" xml:"Code"`
+	Message   string          `json:"Message" xml:"Message"`
+	Success   bool            `json:"Success" xml:"Success"`
+	RequestId string          `json:"RequestId" xml:"RequestId"`
+	Tag       TagInRemoveTags `json:"Tag" xml:"Tag"`
+}
+
+// CreateRemoveTagsRequest creates a request to invoke RemoveTags API
+func CreateRemoveTagsRequest() (request *RemoveTagsRequest) {
+	request = &RemoveTagsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cms", "2019-01-01", "RemoveTags", "cms", "openAPI")
+	return
+}
+
+// CreateRemoveTagsResponse creates a response to parse from RemoveTags response
+func CreateRemoveTagsResponse() (response *RemoveTagsResponse) {
+	response = &RemoveTagsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/cms/struct_alert_config.go

@@ -17,10 +17,10 @@ package cms
 
 // AlertConfig is a nested struct in cms response
 type AlertConfig struct {
+	SilenceTime    int                                          `json:"SilenceTime" xml:"SilenceTime"`
+	EndTime        int                                          `json:"EndTime" xml:"EndTime"`
 	NotifyType     int                                          `json:"NotifyType" xml:"NotifyType"`
 	StartTime      int                                          `json:"StartTime" xml:"StartTime"`
-	EndTime        int                                          `json:"EndTime" xml:"EndTime"`
-	SilenceTime    int                                          `json:"SilenceTime" xml:"SilenceTime"`
 	WebHook        string                                       `json:"WebHook" xml:"WebHook"`
 	EscalationList EscalationListInDescribeHostAvailabilityList `json:"EscalationList" xml:"EscalationList"`
 }

+ 21 - 0
services/cms/struct_alert_config_in_describe_group_monitoring_agent_process.go

@@ -0,0 +1,21 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// AlertConfigInDescribeGroupMonitoringAgentProcess is a nested struct in cms response
+type AlertConfigInDescribeGroupMonitoringAgentProcess struct {
+	AlertConfigItem []AlertConfigItem `json:"AlertConfig" xml:"AlertConfig"`
+}

+ 29 - 0
services/cms/struct_alert_config_item.go

@@ -0,0 +1,29 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// AlertConfigItem is a nested struct in cms response
+type AlertConfigItem struct {
+	EffectiveInterval   string `json:"EffectiveInterval" xml:"EffectiveInterval"`
+	NoEffectiveInterval string `json:"NoEffectiveInterval" xml:"NoEffectiveInterval"`
+	SilenceTime         string `json:"SilenceTime" xml:"SilenceTime"`
+	Webhook             string `json:"Webhook" xml:"Webhook"`
+	EscalationsLevel    string `json:"EscalationsLevel" xml:"EscalationsLevel"`
+	ComparisonOperator  string `json:"ComparisonOperator" xml:"ComparisonOperator"`
+	Statistics          string `json:"Statistics" xml:"Statistics"`
+	Threshold           string `json:"Threshold" xml:"Threshold"`
+	Times               string `json:"Times" xml:"Times"`
+}

+ 1 - 0
services/cms/struct_alert_template.go

@@ -22,5 +22,6 @@ type AlertTemplate struct {
 	Namespace   string      `json:"Namespace" xml:"Namespace"`
 	MetricName  string      `json:"MetricName" xml:"MetricName"`
 	Selector    string      `json:"Selector" xml:"Selector"`
+	Webhook     string      `json:"Webhook" xml:"Webhook"`
 	Escalations Escalations `json:"Escalations" xml:"Escalations"`
 }

+ 21 - 0
services/cms/struct_failed_list_result.go

@@ -0,0 +1,21 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// FailedListResult is a nested struct in cms response
+type FailedListResult struct {
+	Target []Target `json:"Target" xml:"Target"`
+}

+ 21 - 0
services/cms/struct_match_express.go

@@ -0,0 +1,21 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// MatchExpress is a nested struct in cms response
+type MatchExpress struct {
+	MatchExpressItem []MatchExpressItem `json:"MatchExpress" xml:"MatchExpress"`
+}

+ 23 - 0
services/cms/struct_match_express_item.go

@@ -0,0 +1,23 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// MatchExpressItem is a nested struct in cms response
+type MatchExpressItem struct {
+	Name     string `json:"Name" xml:"Name"`
+	Function string `json:"Function" xml:"Function"`
+	Value    string `json:"Value" xml:"Value"`
+}

+ 1 - 0
services/cms/struct_node_process.go

@@ -22,4 +22,5 @@ type NodeProcess struct {
 	ProcessName string `json:"ProcessName" xml:"ProcessName"`
 	ProcessUser string `json:"ProcessUser" xml:"ProcessUser"`
 	Command     string `json:"Command" xml:"Command"`
+	GroupId     string `json:"GroupId" xml:"GroupId"`
 }

+ 26 - 0
services/cms/struct_process.go

@@ -0,0 +1,26 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Process is a nested struct in cms response
+type Process struct {
+	Id                         string                                           `json:"Id" xml:"Id"`
+	GroupId                    string                                           `json:"GroupId" xml:"GroupId"`
+	ProcessName                string                                           `json:"ProcessName" xml:"ProcessName"`
+	MatchExpressFilterRelation string                                           `json:"MatchExpressFilterRelation" xml:"MatchExpressFilterRelation"`
+	MatchExpress               MatchExpress                                     `json:"MatchExpress" xml:"MatchExpress"`
+	AlertConfig                AlertConfigInDescribeGroupMonitoringAgentProcess `json:"AlertConfig" xml:"AlertConfig"`
+}

+ 21 - 0
services/cms/struct_processes.go

@@ -0,0 +1,21 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Processes is a nested struct in cms response
+type Processes struct {
+	Process []Process `json:"Process" xml:"Process"`
+}

+ 39 - 38
services/cms/struct_resource.go

@@ -17,42 +17,43 @@ package cms
 
 // Resource is a nested struct in cms response
 type Resource struct {
-	TemplateId     string                               `json:"TemplateId" xml:"TemplateId"`
-	Name           string                               `json:"Name" xml:"Name"`
-	Category       string                               `json:"Category" xml:"Category"`
-	Unit           string                               `json:"Unit" xml:"Unit"`
-	NameDesc       string                               `json:"NameDesc" xml:"NameDesc"`
-	Desc           string                               `json:"Desc" xml:"Desc"`
-	BindUrl        string                               `json:"BindUrl" xml:"BindUrl"`
-	Dimensions     string                               `json:"Dimensions" xml:"Dimensions"`
-	GroupName      string                               `json:"GroupName" xml:"GroupName"`
-	ServiceId      string                               `json:"ServiceId" xml:"ServiceId"`
-	RestVersion    string                               `json:"RestVersion" xml:"RestVersion"`
-	RegionId       string                               `json:"RegionId" xml:"RegionId"`
-	InstanceId     string                               `json:"InstanceId" xml:"InstanceId"`
-	NetworkType    string                               `json:"NetworkType" xml:"NetworkType"`
-	Description    string                               `json:"Description" xml:"Description"`
-	Periods        string                               `json:"Periods" xml:"Periods"`
-	Type           string                               `json:"Type" xml:"Type"`
-	Product        string                               `json:"Product" xml:"Product"`
-	InstanceName   string                               `json:"InstanceName" xml:"InstanceName"`
-	Level          string                               `json:"Level" xml:"Level"`
-	Dimension      string                               `json:"Dimension" xml:"Dimension"`
-	Id             int64                                `json:"Id" xml:"Id"`
-	GmtCreate      int64                                `json:"GmtCreate" xml:"GmtCreate"`
-	EventType      string                               `json:"EventType" xml:"EventType"`
-	Namespace      string                               `json:"Namespace" xml:"Namespace"`
-	GroupId        int64                                `json:"GroupId" xml:"GroupId"`
-	GmtModified    int64                                `json:"GmtModified" xml:"GmtModified"`
-	MetricName     string                               `json:"MetricName" xml:"MetricName"`
-	StatusDesc     string                               `json:"StatusDesc" xml:"StatusDesc"`
-	Labels         string                               `json:"Labels" xml:"Labels"`
-	Status         string                               `json:"Status" xml:"Status"`
-	Statistics     string                               `json:"Statistics" xml:"Statistics"`
-	Vpc            Vpc                                  `json:"Vpc" xml:"Vpc"`
-	Region         Region                               `json:"Region" xml:"Region"`
-	Tags           Tags                                 `json:"Tags" xml:"Tags"`
-	AlertTemplates AlertTemplates                       `json:"AlertTemplates" xml:"AlertTemplates"`
-	ContactGroups  ContactGroupsInDescribeMonitorGroups `json:"ContactGroups" xml:"ContactGroups"`
-	AlertResults   []Result                             `json:"AlertResults" xml:"AlertResults"`
+	TemplateId     string                                      `json:"TemplateId" xml:"TemplateId"`
+	Name           string                                      `json:"Name" xml:"Name"`
+	Category       string                                      `json:"Category" xml:"Category"`
+	Unit           string                                      `json:"Unit" xml:"Unit"`
+	NameDesc       string                                      `json:"NameDesc" xml:"NameDesc"`
+	Desc           string                                      `json:"Desc" xml:"Desc"`
+	BindUrl        string                                      `json:"BindUrl" xml:"BindUrl"`
+	Dimensions     string                                      `json:"Dimensions" xml:"Dimensions"`
+	GroupName      string                                      `json:"GroupName" xml:"GroupName"`
+	ServiceId      string                                      `json:"ServiceId" xml:"ServiceId"`
+	RestVersion    string                                      `json:"RestVersion" xml:"RestVersion"`
+	RegionId       string                                      `json:"RegionId" xml:"RegionId"`
+	InstanceId     string                                      `json:"InstanceId" xml:"InstanceId"`
+	NetworkType    string                                      `json:"NetworkType" xml:"NetworkType"`
+	Description    string                                      `json:"Description" xml:"Description"`
+	Periods        string                                      `json:"Periods" xml:"Periods"`
+	Type           string                                      `json:"Type" xml:"Type"`
+	Product        string                                      `json:"Product" xml:"Product"`
+	InstanceName   string                                      `json:"InstanceName" xml:"InstanceName"`
+	Level          string                                      `json:"Level" xml:"Level"`
+	Dimension      string                                      `json:"Dimension" xml:"Dimension"`
+	Id             int64                                       `json:"Id" xml:"Id"`
+	GmtCreate      int64                                       `json:"GmtCreate" xml:"GmtCreate"`
+	EventType      string                                      `json:"EventType" xml:"EventType"`
+	Namespace      string                                      `json:"Namespace" xml:"Namespace"`
+	GroupId        int64                                       `json:"GroupId" xml:"GroupId"`
+	GmtModified    int64                                       `json:"GmtModified" xml:"GmtModified"`
+	MetricName     string                                      `json:"MetricName" xml:"MetricName"`
+	StatusDesc     string                                      `json:"StatusDesc" xml:"StatusDesc"`
+	Labels         string                                      `json:"Labels" xml:"Labels"`
+	Status         string                                      `json:"Status" xml:"Status"`
+	Statistics     string                                      `json:"Statistics" xml:"Statistics"`
+	TemplateIds    TemplateIds                                 `json:"TemplateIds" xml:"TemplateIds"`
+	Vpc            Vpc                                         `json:"Vpc" xml:"Vpc"`
+	Region         Region                                      `json:"Region" xml:"Region"`
+	Tags           TagsInDescribeMonitorGroupInstanceAttribute `json:"Tags" xml:"Tags"`
+	ContactGroups  ContactGroupsInDescribeMonitorGroups        `json:"ContactGroups" xml:"ContactGroups"`
+	AlertResults   []Result                                    `json:"AlertResults" xml:"AlertResults"`
+	AlertTemplates AlertTemplates                              `json:"AlertTemplates" xml:"AlertTemplates"`
 }

+ 21 - 0
services/cms/struct_tag_in_remove_tags.go

@@ -0,0 +1,21 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TagInRemoveTags is a nested struct in cms response
+type TagInRemoveTags struct {
+	Tags []string `json:"Tags" xml:"Tags"`
+}

+ 21 - 0
services/cms/struct_tag_keys.go

@@ -0,0 +1,21 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TagKeys is a nested struct in cms response
+type TagKeys struct {
+	TagKey []string `json:"TagKey" xml:"TagKey"`
+}

+ 21 - 0
services/cms/struct_tag_values.go

@@ -0,0 +1,21 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TagValues is a nested struct in cms response
+type TagValues struct {
+	TagValue []string `json:"TagValue" xml:"TagValue"`
+}

+ 21 - 0
services/cms/struct_tags_in_describe_monitor_group_instance_attribute.go

@@ -0,0 +1,21 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TagsInDescribeMonitorGroupInstanceAttribute is a nested struct in cms response
+type TagsInDescribeMonitorGroupInstanceAttribute struct {
+	Tag []Tag `json:"Tag" xml:"Tag"`
+}

+ 2 - 2
services/cms/struct_tags.go → services/cms/struct_tags_in_describe_monitor_groups.go

@@ -15,7 +15,7 @@ package cms
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// Tags is a nested struct in cms response
-type Tags struct {
+// TagsInDescribeMonitorGroups is a nested struct in cms response
+type TagsInDescribeMonitorGroups struct {
 	Tag []Tag `json:"Tag" xml:"Tag"`
 }

+ 5 - 3
services/cms/struct_target.go

@@ -17,7 +17,9 @@ package cms
 
 // Target is a nested struct in cms response
 type Target struct {
-	Arn   string `json:"Arn" xml:"Arn"`
-	Level string `json:"Level" xml:"Level"`
-	Id    string `json:"Id" xml:"Id"`
+	Arn    string `json:"Arn" xml:"Arn"`
+	Level  string `json:"Level" xml:"Level"`
+	Id     string `json:"Id" xml:"Id"`
+	RuleId string `json:"RuleId" xml:"RuleId"`
+	Result Result `json:"Result" xml:"Result"`
 }

+ 21 - 0
services/cms/struct_template_ids.go

@@ -0,0 +1,21 @@
+package cms
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TemplateIds is a nested struct in cms response
+type TemplateIds struct {
+	TemplateId []string `json:"TemplateId" xml:"TemplateId"`
+}