浏览代码

Optimize return code.

sdk-team 6 年之前
父节点
当前提交
11c4f2df70
共有 30 个文件被更改,包括 1891 次插入0 次删除
  1. 4 0
      ChangeLog.txt
  2. 25 0
      services/arms/client.go
  3. 108 0
      services/arms/create_alert_contact.go
  4. 105 0
      services/arms/create_alert_contact_group.go
  5. 105 0
      services/arms/create_retcode_app.go
  6. 104 0
      services/arms/delete_retcode_app.go
  7. 33 0
      services/arms/endpoint.go
  8. 107 0
      services/arms/import_app_alert_rules.go
  9. 104 0
      services/arms/list_retcode_apps.go
  10. 106 0
      services/arms/list_trace_apps.go
  11. 138 0
      services/arms/query_dataset.go
  12. 119 0
      services/arms/query_metric.go
  13. 108 0
      services/arms/search_alert_contact.go
  14. 104 0
      services/arms/search_alert_contact_group.go
  15. 106 0
      services/arms/search_retcode_app_by_page.go
  16. 104 0
      services/arms/search_trace_app_by_name.go
  17. 106 0
      services/arms/search_trace_app_by_page.go
  18. 29 0
      services/arms/struct_contact.go
  19. 25 0
      services/arms/struct_contact_group.go
  20. 21 0
      services/arms/struct_contact_groups.go
  21. 21 0
      services/arms/struct_contacts.go
  22. 26 0
      services/arms/struct_page_bean.go
  23. 28 0
      services/arms/struct_retcode_app.go
  24. 22 0
      services/arms/struct_retcode_app_data_bean.go
  25. 21 0
      services/arms/struct_retcode_apps_in_list_retcode_apps.go
  26. 21 0
      services/arms/struct_retcode_apps_in_search_retcode_app_by_page.go
  27. 28 0
      services/arms/struct_trace_app.go
  28. 21 0
      services/arms/struct_trace_apps_in_list_trace_apps.go
  29. 21 0
      services/arms/struct_trace_apps_in_search_trace_app_by_name.go
  30. 21 0
      services/arms/struct_trace_apps_in_search_trace_app_by_page.go

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2019-08-13 Version: 1.60.101
+- Optimize return code.
+- Edit QueryDataset.
+
 2019-08-13 Version: 1.60.100
 - Supported for openapi new version.
 

+ 25 - 0
services/arms/client.go

@@ -16,6 +16,8 @@ package arms
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 import (
+	"reflect"
+
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
@@ -26,10 +28,25 @@ type Client struct {
 	sdk.Client
 }
 
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
 // NewClient creates a sdk client with environment variables
 func NewClient() (client *Client, err error) {
 	client = &Client{}
 	err = client.Init()
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -44,6 +61,7 @@ func NewClientWithProvider(regionId string, providers ...provider.Provider) (cli
 		pc = provider.NewProviderChain(providers)
 	}
 	err = client.InitWithProviderChain(regionId, pc)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -52,6 +70,7 @@ func NewClientWithProvider(regionId string, providers ...provider.Provider) (cli
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithOptions(regionId, config, credential)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -60,6 +79,7 @@ func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.C
 func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -68,6 +88,7 @@ func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (clie
 func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -76,6 +97,7 @@ func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToke
 func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -84,6 +106,7 @@ func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, role
 func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -92,6 +115,7 @@ func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySec
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithEcsRamRole(regionId, roleName)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -100,5 +124,6 @@ func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client,
 func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	SetEndpointDataToClient(client)
 	return
 }

+ 108 - 0
services/arms/create_alert_contact.go

@@ -0,0 +1,108 @@
+package arms
+
+//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"
+)
+
+// CreateAlertContact invokes the arms.CreateAlertContact API synchronously
+// api document: https://help.aliyun.com/api/arms/createalertcontact.html
+func (client *Client) CreateAlertContact(request *CreateAlertContactRequest) (response *CreateAlertContactResponse, err error) {
+	response = CreateCreateAlertContactResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateAlertContactWithChan invokes the arms.CreateAlertContact API asynchronously
+// api document: https://help.aliyun.com/api/arms/createalertcontact.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAlertContactWithChan(request *CreateAlertContactRequest) (<-chan *CreateAlertContactResponse, <-chan error) {
+	responseChan := make(chan *CreateAlertContactResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateAlertContact(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateAlertContactWithCallback invokes the arms.CreateAlertContact API asynchronously
+// api document: https://help.aliyun.com/api/arms/createalertcontact.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAlertContactWithCallback(request *CreateAlertContactRequest, callback func(response *CreateAlertContactResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateAlertContactResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateAlertContact(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateAlertContactRequest is the request struct for api CreateAlertContact
+type CreateAlertContactRequest struct {
+	*requests.RpcRequest
+	ContactName         string           `position:"Query" name:"ContactName"`
+	PhoneNum            string           `position:"Query" name:"PhoneNum"`
+	DingRobotWebhookUrl string           `position:"Query" name:"DingRobotWebhookUrl"`
+	Email               string           `position:"Query" name:"Email"`
+	SystemNoc           requests.Boolean `position:"Query" name:"SystemNoc"`
+}
+
+// CreateAlertContactResponse is the response struct for api CreateAlertContact
+type CreateAlertContactResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	ContactId string `json:"ContactId" xml:"ContactId"`
+}
+
+// CreateCreateAlertContactRequest creates a request to invoke CreateAlertContact API
+func CreateCreateAlertContactRequest() (request *CreateAlertContactRequest) {
+	request = &CreateAlertContactRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "CreateAlertContact", "arms", "openAPI")
+	return
+}
+
+// CreateCreateAlertContactResponse creates a response to parse from CreateAlertContact response
+func CreateCreateAlertContactResponse() (response *CreateAlertContactResponse) {
+	response = &CreateAlertContactResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/arms/create_alert_contact_group.go

@@ -0,0 +1,105 @@
+package arms
+
+//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"
+)
+
+// CreateAlertContactGroup invokes the arms.CreateAlertContactGroup API synchronously
+// api document: https://help.aliyun.com/api/arms/createalertcontactgroup.html
+func (client *Client) CreateAlertContactGroup(request *CreateAlertContactGroupRequest) (response *CreateAlertContactGroupResponse, err error) {
+	response = CreateCreateAlertContactGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateAlertContactGroupWithChan invokes the arms.CreateAlertContactGroup API asynchronously
+// api document: https://help.aliyun.com/api/arms/createalertcontactgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAlertContactGroupWithChan(request *CreateAlertContactGroupRequest) (<-chan *CreateAlertContactGroupResponse, <-chan error) {
+	responseChan := make(chan *CreateAlertContactGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateAlertContactGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateAlertContactGroupWithCallback invokes the arms.CreateAlertContactGroup API asynchronously
+// api document: https://help.aliyun.com/api/arms/createalertcontactgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAlertContactGroupWithCallback(request *CreateAlertContactGroupRequest, callback func(response *CreateAlertContactGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateAlertContactGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateAlertContactGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateAlertContactGroupRequest is the request struct for api CreateAlertContactGroup
+type CreateAlertContactGroupRequest struct {
+	*requests.RpcRequest
+	ContactGroupName string `position:"Query" name:"ContactGroupName"`
+	ContactIds       string `position:"Query" name:"ContactIds"`
+}
+
+// CreateAlertContactGroupResponse is the response struct for api CreateAlertContactGroup
+type CreateAlertContactGroupResponse struct {
+	*responses.BaseResponse
+	RequestId      string `json:"RequestId" xml:"RequestId"`
+	ContactGroupId string `json:"ContactGroupId" xml:"ContactGroupId"`
+}
+
+// CreateCreateAlertContactGroupRequest creates a request to invoke CreateAlertContactGroup API
+func CreateCreateAlertContactGroupRequest() (request *CreateAlertContactGroupRequest) {
+	request = &CreateAlertContactGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "CreateAlertContactGroup", "arms", "openAPI")
+	return
+}
+
+// CreateCreateAlertContactGroupResponse creates a response to parse from CreateAlertContactGroup response
+func CreateCreateAlertContactGroupResponse() (response *CreateAlertContactGroupResponse) {
+	response = &CreateAlertContactGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/arms/create_retcode_app.go

@@ -0,0 +1,105 @@
+package arms
+
+//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"
+)
+
+// CreateRetcodeApp invokes the arms.CreateRetcodeApp API synchronously
+// api document: https://help.aliyun.com/api/arms/createretcodeapp.html
+func (client *Client) CreateRetcodeApp(request *CreateRetcodeAppRequest) (response *CreateRetcodeAppResponse, err error) {
+	response = CreateCreateRetcodeAppResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateRetcodeAppWithChan invokes the arms.CreateRetcodeApp API asynchronously
+// api document: https://help.aliyun.com/api/arms/createretcodeapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRetcodeAppWithChan(request *CreateRetcodeAppRequest) (<-chan *CreateRetcodeAppResponse, <-chan error) {
+	responseChan := make(chan *CreateRetcodeAppResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateRetcodeApp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateRetcodeAppWithCallback invokes the arms.CreateRetcodeApp API asynchronously
+// api document: https://help.aliyun.com/api/arms/createretcodeapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRetcodeAppWithCallback(request *CreateRetcodeAppRequest, callback func(response *CreateRetcodeAppResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateRetcodeAppResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateRetcodeApp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateRetcodeAppRequest is the request struct for api CreateRetcodeApp
+type CreateRetcodeAppRequest struct {
+	*requests.RpcRequest
+	RetcodeAppName string `position:"Query" name:"RetcodeAppName"`
+	RetcodeAppType string `position:"Query" name:"RetcodeAppType"`
+}
+
+// CreateRetcodeAppResponse is the response struct for api CreateRetcodeApp
+type CreateRetcodeAppResponse struct {
+	*responses.BaseResponse
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	RetcodeAppDataBean RetcodeAppDataBean `json:"RetcodeAppDataBean" xml:"RetcodeAppDataBean"`
+}
+
+// CreateCreateRetcodeAppRequest creates a request to invoke CreateRetcodeApp API
+func CreateCreateRetcodeAppRequest() (request *CreateRetcodeAppRequest) {
+	request = &CreateRetcodeAppRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "CreateRetcodeApp", "arms", "openAPI")
+	return
+}
+
+// CreateCreateRetcodeAppResponse creates a response to parse from CreateRetcodeApp response
+func CreateCreateRetcodeAppResponse() (response *CreateRetcodeAppResponse) {
+	response = &CreateRetcodeAppResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/arms/delete_retcode_app.go

@@ -0,0 +1,104 @@
+package arms
+
+//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"
+)
+
+// DeleteRetcodeApp invokes the arms.DeleteRetcodeApp API synchronously
+// api document: https://help.aliyun.com/api/arms/deleteretcodeapp.html
+func (client *Client) DeleteRetcodeApp(request *DeleteRetcodeAppRequest) (response *DeleteRetcodeAppResponse, err error) {
+	response = CreateDeleteRetcodeAppResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteRetcodeAppWithChan invokes the arms.DeleteRetcodeApp API asynchronously
+// api document: https://help.aliyun.com/api/arms/deleteretcodeapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRetcodeAppWithChan(request *DeleteRetcodeAppRequest) (<-chan *DeleteRetcodeAppResponse, <-chan error) {
+	responseChan := make(chan *DeleteRetcodeAppResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteRetcodeApp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteRetcodeAppWithCallback invokes the arms.DeleteRetcodeApp API asynchronously
+// api document: https://help.aliyun.com/api/arms/deleteretcodeapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRetcodeAppWithCallback(request *DeleteRetcodeAppRequest, callback func(response *DeleteRetcodeAppResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteRetcodeAppResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteRetcodeApp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteRetcodeAppRequest is the request struct for api DeleteRetcodeApp
+type DeleteRetcodeAppRequest struct {
+	*requests.RpcRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// DeleteRetcodeAppResponse is the response struct for api DeleteRetcodeApp
+type DeleteRetcodeAppResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateDeleteRetcodeAppRequest creates a request to invoke DeleteRetcodeApp API
+func CreateDeleteRetcodeAppRequest() (request *DeleteRetcodeAppRequest) {
+	request = &DeleteRetcodeAppRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "DeleteRetcodeApp", "arms", "openAPI")
+	return
+}
+
+// CreateDeleteRetcodeAppResponse creates a response to parse from DeleteRetcodeApp response
+func CreateDeleteRetcodeAppResponse() (response *DeleteRetcodeAppResponse) {
+	response = &DeleteRetcodeAppResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 33 - 0
services/arms/endpoint.go

@@ -0,0 +1,33 @@
+package arms
+
+// EndpointMap Endpoint Data
+var EndpointMap map[string]string
+
+// EndpointType regional or central
+var EndpointType = "regional"
+
+// GetEndpointMap Get Endpoint Data Map
+func GetEndpointMap() map[string]string {
+	if EndpointMap == nil {
+		EndpointMap = map[string]string{
+			"ap-south-1":     "arms.ap-southeast-1.aliyuncs.com",
+			"eu-west-1":      "arms.ap-southeast-1.aliyuncs.com",
+			"ap-southeast-2": "arms.ap-southeast-1.aliyuncs.com",
+			"ap-southeast-3": "arms.ap-southeast-1.aliyuncs.com",
+			"eu-central-1":   "arms.ap-southeast-1.aliyuncs.com",
+			"ap-northeast-1": "arms.ap-southeast-1.aliyuncs.com",
+			"cn-huhehaote":   "arms.aliyuncs.com",
+			"ap-southeast-5": "arms.ap-southeast-1.aliyuncs.com",
+			"us-east-1":      "arms.ap-southeast-1.aliyuncs.com",
+			"me-east-1":      "arms.ap-southeast-1.aliyuncs.com",
+			"us-west-1":      "arms.ap-southeast-1.aliyuncs.com",
+			"cn-chengdu":     "arms.aliyuncs.com",
+		}
+	}
+	return EndpointMap
+}
+
+// GetEndpointType Get Endpoint Type Value
+func GetEndpointType() string {
+	return EndpointType
+}

+ 107 - 0
services/arms/import_app_alert_rules.go

@@ -0,0 +1,107 @@
+package arms
+
+//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"
+)
+
+// ImportAppAlertRules invokes the arms.ImportAppAlertRules API synchronously
+// api document: https://help.aliyun.com/api/arms/importappalertrules.html
+func (client *Client) ImportAppAlertRules(request *ImportAppAlertRulesRequest) (response *ImportAppAlertRulesResponse, err error) {
+	response = CreateImportAppAlertRulesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ImportAppAlertRulesWithChan invokes the arms.ImportAppAlertRules API asynchronously
+// api document: https://help.aliyun.com/api/arms/importappalertrules.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ImportAppAlertRulesWithChan(request *ImportAppAlertRulesRequest) (<-chan *ImportAppAlertRulesResponse, <-chan error) {
+	responseChan := make(chan *ImportAppAlertRulesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ImportAppAlertRules(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ImportAppAlertRulesWithCallback invokes the arms.ImportAppAlertRules API asynchronously
+// api document: https://help.aliyun.com/api/arms/importappalertrules.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ImportAppAlertRulesWithCallback(request *ImportAppAlertRulesRequest, callback func(response *ImportAppAlertRulesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ImportAppAlertRulesResponse
+		var err error
+		defer close(result)
+		response, err = client.ImportAppAlertRules(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ImportAppAlertRulesRequest is the request struct for api ImportAppAlertRules
+type ImportAppAlertRulesRequest struct {
+	*requests.RpcRequest
+	IsAutoStart     requests.Boolean `position:"Query" name:"IsAutoStart"`
+	ContactGroupIds string           `position:"Query" name:"ContactGroupIds"`
+	Pids            string           `position:"Query" name:"Pids"`
+	TemplateAlertId string           `position:"Query" name:"TemplateAlertId"`
+}
+
+// ImportAppAlertRulesResponse is the response struct for api ImportAppAlertRules
+type ImportAppAlertRulesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateImportAppAlertRulesRequest creates a request to invoke ImportAppAlertRules API
+func CreateImportAppAlertRulesRequest() (request *ImportAppAlertRulesRequest) {
+	request = &ImportAppAlertRulesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "ImportAppAlertRules", "arms", "openAPI")
+	return
+}
+
+// CreateImportAppAlertRulesResponse creates a response to parse from ImportAppAlertRules response
+func CreateImportAppAlertRulesResponse() (response *ImportAppAlertRulesResponse) {
+	response = &ImportAppAlertRulesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/arms/list_retcode_apps.go

@@ -0,0 +1,104 @@
+package arms
+
+//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"
+)
+
+// ListRetcodeApps invokes the arms.ListRetcodeApps API synchronously
+// api document: https://help.aliyun.com/api/arms/listretcodeapps.html
+func (client *Client) ListRetcodeApps(request *ListRetcodeAppsRequest) (response *ListRetcodeAppsResponse, err error) {
+	response = CreateListRetcodeAppsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRetcodeAppsWithChan invokes the arms.ListRetcodeApps API asynchronously
+// api document: https://help.aliyun.com/api/arms/listretcodeapps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRetcodeAppsWithChan(request *ListRetcodeAppsRequest) (<-chan *ListRetcodeAppsResponse, <-chan error) {
+	responseChan := make(chan *ListRetcodeAppsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRetcodeApps(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRetcodeAppsWithCallback invokes the arms.ListRetcodeApps API asynchronously
+// api document: https://help.aliyun.com/api/arms/listretcodeapps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRetcodeAppsWithCallback(request *ListRetcodeAppsRequest, callback func(response *ListRetcodeAppsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRetcodeAppsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRetcodeApps(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRetcodeAppsRequest is the request struct for api ListRetcodeApps
+type ListRetcodeAppsRequest struct {
+	*requests.RpcRequest
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+// ListRetcodeAppsResponse is the response struct for api ListRetcodeApps
+type ListRetcodeAppsResponse struct {
+	*responses.BaseResponse
+	RequestId   string       `json:"RequestId" xml:"RequestId"`
+	RetcodeApps []RetcodeApp `json:"RetcodeApps" xml:"RetcodeApps"`
+}
+
+// CreateListRetcodeAppsRequest creates a request to invoke ListRetcodeApps API
+func CreateListRetcodeAppsRequest() (request *ListRetcodeAppsRequest) {
+	request = &ListRetcodeAppsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "ListRetcodeApps", "arms", "openAPI")
+	return
+}
+
+// CreateListRetcodeAppsResponse creates a response to parse from ListRetcodeApps response
+func CreateListRetcodeAppsResponse() (response *ListRetcodeAppsResponse) {
+	response = &ListRetcodeAppsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/arms/list_trace_apps.go

@@ -0,0 +1,106 @@
+package arms
+
+//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"
+)
+
+// ListTraceApps invokes the arms.ListTraceApps API synchronously
+// api document: https://help.aliyun.com/api/arms/listtraceapps.html
+func (client *Client) ListTraceApps(request *ListTraceAppsRequest) (response *ListTraceAppsResponse, err error) {
+	response = CreateListTraceAppsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListTraceAppsWithChan invokes the arms.ListTraceApps API asynchronously
+// api document: https://help.aliyun.com/api/arms/listtraceapps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTraceAppsWithChan(request *ListTraceAppsRequest) (<-chan *ListTraceAppsResponse, <-chan error) {
+	responseChan := make(chan *ListTraceAppsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListTraceApps(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListTraceAppsWithCallback invokes the arms.ListTraceApps API asynchronously
+// api document: https://help.aliyun.com/api/arms/listtraceapps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTraceAppsWithCallback(request *ListTraceAppsRequest, callback func(response *ListTraceAppsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListTraceAppsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListTraceApps(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListTraceAppsRequest is the request struct for api ListTraceApps
+type ListTraceAppsRequest struct {
+	*requests.RpcRequest
+}
+
+// ListTraceAppsResponse is the response struct for api ListTraceApps
+type ListTraceAppsResponse struct {
+	*responses.BaseResponse
+	RequestId string     `json:"RequestId" xml:"RequestId"`
+	Success   bool       `json:"Success" xml:"Success"`
+	Code      int        `json:"Code" xml:"Code"`
+	Message   string     `json:"Message" xml:"Message"`
+	TraceApps []TraceApp `json:"TraceApps" xml:"TraceApps"`
+}
+
+// CreateListTraceAppsRequest creates a request to invoke ListTraceApps API
+func CreateListTraceAppsRequest() (request *ListTraceAppsRequest) {
+	request = &ListTraceAppsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "ListTraceApps", "arms", "openAPI")
+	return
+}
+
+// CreateListTraceAppsResponse creates a response to parse from ListTraceApps response
+func CreateListTraceAppsResponse() (response *ListTraceAppsResponse) {
+	response = &ListTraceAppsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 138 - 0
services/arms/query_dataset.go

@@ -0,0 +1,138 @@
+package arms
+
+//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"
+)
+
+// QueryDataset invokes the arms.QueryDataset API synchronously
+// api document: https://help.aliyun.com/api/arms/querydataset.html
+func (client *Client) QueryDataset(request *QueryDatasetRequest) (response *QueryDatasetResponse, err error) {
+	response = CreateQueryDatasetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryDatasetWithChan invokes the arms.QueryDataset API asynchronously
+// api document: https://help.aliyun.com/api/arms/querydataset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryDatasetWithChan(request *QueryDatasetRequest) (<-chan *QueryDatasetResponse, <-chan error) {
+	responseChan := make(chan *QueryDatasetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryDataset(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryDatasetWithCallback invokes the arms.QueryDataset API asynchronously
+// api document: https://help.aliyun.com/api/arms/querydataset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryDatasetWithCallback(request *QueryDatasetRequest, callback func(response *QueryDatasetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryDatasetResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryDataset(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryDatasetRequest is the request struct for api QueryDataset
+type QueryDatasetRequest struct {
+	*requests.RpcRequest
+	DateStr       string                      `position:"Query" name:"DateStr"`
+	MinTime       requests.Integer            `position:"Query" name:"MinTime"`
+	ReduceTail    requests.Boolean            `position:"Query" name:"ReduceTail"`
+	MaxTime       requests.Integer            `position:"Query" name:"MaxTime"`
+	OptionalDims  *[]QueryDatasetOptionalDims `position:"Query" name:"OptionalDims"  type:"Repeated"`
+	Measures      *[]string                   `position:"Query" name:"Measures"  type:"Repeated"`
+	IntervalInSec requests.Integer            `position:"Query" name:"IntervalInSec"`
+	IsDrillDown   requests.Boolean            `position:"Query" name:"IsDrillDown"`
+	HungryMode    requests.Boolean            `position:"Query" name:"HungryMode"`
+	OrderByKey    string                      `position:"Query" name:"OrderByKey"`
+	Limit         requests.Integer            `position:"Query" name:"Limit"`
+	DatasetId     requests.Integer            `position:"Query" name:"DatasetId"`
+	RequiredDims  *[]QueryDatasetRequiredDims `position:"Query" name:"RequiredDims"  type:"Repeated"`
+	Dimensions    *[]QueryDatasetDimensions   `position:"Query" name:"Dimensions"  type:"Repeated"`
+}
+
+// QueryDatasetOptionalDims is a repeated param struct in QueryDatasetRequest
+type QueryDatasetOptionalDims struct {
+	Type  string `name:"Type"`
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// QueryDatasetRequiredDims is a repeated param struct in QueryDatasetRequest
+type QueryDatasetRequiredDims struct {
+	Type  string `name:"Type"`
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// QueryDatasetDimensions is a repeated param struct in QueryDatasetRequest
+type QueryDatasetDimensions struct {
+	Type  string `name:"Type"`
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// QueryDatasetResponse is the response struct for api QueryDataset
+type QueryDatasetResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateQueryDatasetRequest creates a request to invoke QueryDataset API
+func CreateQueryDatasetRequest() (request *QueryDatasetRequest) {
+	request = &QueryDatasetRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "QueryDataset", "arms", "openAPI")
+	return
+}
+
+// CreateQueryDatasetResponse creates a response to parse from QueryDataset response
+func CreateQueryDatasetResponse() (response *QueryDatasetResponse) {
+	response = &QueryDatasetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/arms/query_metric.go

@@ -0,0 +1,119 @@
+package arms
+
+//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"
+)
+
+// QueryMetric invokes the arms.QueryMetric API synchronously
+// api document: https://help.aliyun.com/api/arms/querymetric.html
+func (client *Client) QueryMetric(request *QueryMetricRequest) (response *QueryMetricResponse, err error) {
+	response = CreateQueryMetricResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryMetricWithChan invokes the arms.QueryMetric API asynchronously
+// api document: https://help.aliyun.com/api/arms/querymetric.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMetricWithChan(request *QueryMetricRequest) (<-chan *QueryMetricResponse, <-chan error) {
+	responseChan := make(chan *QueryMetricResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryMetric(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryMetricWithCallback invokes the arms.QueryMetric API asynchronously
+// api document: https://help.aliyun.com/api/arms/querymetric.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMetricWithCallback(request *QueryMetricRequest, callback func(response *QueryMetricResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryMetricResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryMetric(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryMetricRequest is the request struct for api QueryMetric
+type QueryMetricRequest struct {
+	*requests.RpcRequest
+	Measures      *[]string             `position:"Query" name:"Measures"  type:"Repeated"`
+	IntervalInSec requests.Integer      `position:"Query" name:"IntervalInSec"`
+	Metric        string                `position:"Query" name:"Metric"`
+	Limit         requests.Integer      `position:"Query" name:"Limit"`
+	EndTime       requests.Integer      `position:"Query" name:"EndTime"`
+	OrderBy       string                `position:"Query" name:"OrderBy"`
+	StartTime     requests.Integer      `position:"Query" name:"StartTime"`
+	Filters       *[]QueryMetricFilters `position:"Query" name:"Filters"  type:"Repeated"`
+	Dimensions    *[]string             `position:"Query" name:"Dimensions"  type:"Repeated"`
+	Order         string                `position:"Query" name:"Order"`
+}
+
+// QueryMetricFilters is a repeated param struct in QueryMetricRequest
+type QueryMetricFilters struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// QueryMetricResponse is the response struct for api QueryMetric
+type QueryMetricResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateQueryMetricRequest creates a request to invoke QueryMetric API
+func CreateQueryMetricRequest() (request *QueryMetricRequest) {
+	request = &QueryMetricRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "QueryMetric", "arms", "openAPI")
+	return
+}
+
+// CreateQueryMetricResponse creates a response to parse from QueryMetric response
+func CreateQueryMetricResponse() (response *QueryMetricResponse) {
+	response = &QueryMetricResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/arms/search_alert_contact.go

@@ -0,0 +1,108 @@
+package arms
+
+//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"
+)
+
+// SearchAlertContact invokes the arms.SearchAlertContact API synchronously
+// api document: https://help.aliyun.com/api/arms/searchalertcontact.html
+func (client *Client) SearchAlertContact(request *SearchAlertContactRequest) (response *SearchAlertContactResponse, err error) {
+	response = CreateSearchAlertContactResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SearchAlertContactWithChan invokes the arms.SearchAlertContact API asynchronously
+// api document: https://help.aliyun.com/api/arms/searchalertcontact.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchAlertContactWithChan(request *SearchAlertContactRequest) (<-chan *SearchAlertContactResponse, <-chan error) {
+	responseChan := make(chan *SearchAlertContactResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SearchAlertContact(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SearchAlertContactWithCallback invokes the arms.SearchAlertContact API asynchronously
+// api document: https://help.aliyun.com/api/arms/searchalertcontact.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchAlertContactWithCallback(request *SearchAlertContactRequest, callback func(response *SearchAlertContactResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SearchAlertContactResponse
+		var err error
+		defer close(result)
+		response, err = client.SearchAlertContact(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SearchAlertContactRequest is the request struct for api SearchAlertContact
+type SearchAlertContactRequest struct {
+	*requests.RpcRequest
+	ContactName string `position:"Query" name:"ContactName"`
+	Phone       string `position:"Query" name:"Phone"`
+	PageSize    string `position:"Query" name:"PageSize"`
+	CurrentPage string `position:"Query" name:"CurrentPage"`
+	Email       string `position:"Query" name:"Email"`
+}
+
+// SearchAlertContactResponse is the response struct for api SearchAlertContact
+type SearchAlertContactResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	PageBean  PageBean `json:"PageBean" xml:"PageBean"`
+}
+
+// CreateSearchAlertContactRequest creates a request to invoke SearchAlertContact API
+func CreateSearchAlertContactRequest() (request *SearchAlertContactRequest) {
+	request = &SearchAlertContactRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "SearchAlertContact", "arms", "openAPI")
+	return
+}
+
+// CreateSearchAlertContactResponse creates a response to parse from SearchAlertContact response
+func CreateSearchAlertContactResponse() (response *SearchAlertContactResponse) {
+	response = &SearchAlertContactResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/arms/search_alert_contact_group.go

@@ -0,0 +1,104 @@
+package arms
+
+//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"
+)
+
+// SearchAlertContactGroup invokes the arms.SearchAlertContactGroup API synchronously
+// api document: https://help.aliyun.com/api/arms/searchalertcontactgroup.html
+func (client *Client) SearchAlertContactGroup(request *SearchAlertContactGroupRequest) (response *SearchAlertContactGroupResponse, err error) {
+	response = CreateSearchAlertContactGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SearchAlertContactGroupWithChan invokes the arms.SearchAlertContactGroup API asynchronously
+// api document: https://help.aliyun.com/api/arms/searchalertcontactgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchAlertContactGroupWithChan(request *SearchAlertContactGroupRequest) (<-chan *SearchAlertContactGroupResponse, <-chan error) {
+	responseChan := make(chan *SearchAlertContactGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SearchAlertContactGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SearchAlertContactGroupWithCallback invokes the arms.SearchAlertContactGroup API asynchronously
+// api document: https://help.aliyun.com/api/arms/searchalertcontactgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchAlertContactGroupWithCallback(request *SearchAlertContactGroupRequest, callback func(response *SearchAlertContactGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SearchAlertContactGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.SearchAlertContactGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SearchAlertContactGroupRequest is the request struct for api SearchAlertContactGroup
+type SearchAlertContactGroupRequest struct {
+	*requests.RpcRequest
+	ContactGroupName string `position:"Query" name:"ContactGroupName"`
+}
+
+// SearchAlertContactGroupResponse is the response struct for api SearchAlertContactGroup
+type SearchAlertContactGroupResponse struct {
+	*responses.BaseResponse
+	RequestId     string         `json:"RequestId" xml:"RequestId"`
+	ContactGroups []ContactGroup `json:"ContactGroups" xml:"ContactGroups"`
+}
+
+// CreateSearchAlertContactGroupRequest creates a request to invoke SearchAlertContactGroup API
+func CreateSearchAlertContactGroupRequest() (request *SearchAlertContactGroupRequest) {
+	request = &SearchAlertContactGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "SearchAlertContactGroup", "arms", "openAPI")
+	return
+}
+
+// CreateSearchAlertContactGroupResponse creates a response to parse from SearchAlertContactGroup response
+func CreateSearchAlertContactGroupResponse() (response *SearchAlertContactGroupResponse) {
+	response = &SearchAlertContactGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/arms/search_retcode_app_by_page.go

@@ -0,0 +1,106 @@
+package arms
+
+//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"
+)
+
+// SearchRetcodeAppByPage invokes the arms.SearchRetcodeAppByPage API synchronously
+// api document: https://help.aliyun.com/api/arms/searchretcodeappbypage.html
+func (client *Client) SearchRetcodeAppByPage(request *SearchRetcodeAppByPageRequest) (response *SearchRetcodeAppByPageResponse, err error) {
+	response = CreateSearchRetcodeAppByPageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SearchRetcodeAppByPageWithChan invokes the arms.SearchRetcodeAppByPage API asynchronously
+// api document: https://help.aliyun.com/api/arms/searchretcodeappbypage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchRetcodeAppByPageWithChan(request *SearchRetcodeAppByPageRequest) (<-chan *SearchRetcodeAppByPageResponse, <-chan error) {
+	responseChan := make(chan *SearchRetcodeAppByPageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SearchRetcodeAppByPage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SearchRetcodeAppByPageWithCallback invokes the arms.SearchRetcodeAppByPage API asynchronously
+// api document: https://help.aliyun.com/api/arms/searchretcodeappbypage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchRetcodeAppByPageWithCallback(request *SearchRetcodeAppByPageRequest, callback func(response *SearchRetcodeAppByPageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SearchRetcodeAppByPageResponse
+		var err error
+		defer close(result)
+		response, err = client.SearchRetcodeAppByPage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SearchRetcodeAppByPageRequest is the request struct for api SearchRetcodeAppByPage
+type SearchRetcodeAppByPageRequest struct {
+	*requests.RpcRequest
+	RetcodeAppName string           `position:"Query" name:"RetcodeAppName"`
+	PageSize       requests.Integer `position:"Query" name:"PageSize"`
+	PageNumber     requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// SearchRetcodeAppByPageResponse is the response struct for api SearchRetcodeAppByPage
+type SearchRetcodeAppByPageResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	PageBean  PageBean `json:"PageBean" xml:"PageBean"`
+}
+
+// CreateSearchRetcodeAppByPageRequest creates a request to invoke SearchRetcodeAppByPage API
+func CreateSearchRetcodeAppByPageRequest() (request *SearchRetcodeAppByPageRequest) {
+	request = &SearchRetcodeAppByPageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "SearchRetcodeAppByPage", "arms", "openAPI")
+	return
+}
+
+// CreateSearchRetcodeAppByPageResponse creates a response to parse from SearchRetcodeAppByPage response
+func CreateSearchRetcodeAppByPageResponse() (response *SearchRetcodeAppByPageResponse) {
+	response = &SearchRetcodeAppByPageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/arms/search_trace_app_by_name.go

@@ -0,0 +1,104 @@
+package arms
+
+//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"
+)
+
+// SearchTraceAppByName invokes the arms.SearchTraceAppByName API synchronously
+// api document: https://help.aliyun.com/api/arms/searchtraceappbyname.html
+func (client *Client) SearchTraceAppByName(request *SearchTraceAppByNameRequest) (response *SearchTraceAppByNameResponse, err error) {
+	response = CreateSearchTraceAppByNameResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SearchTraceAppByNameWithChan invokes the arms.SearchTraceAppByName API asynchronously
+// api document: https://help.aliyun.com/api/arms/searchtraceappbyname.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchTraceAppByNameWithChan(request *SearchTraceAppByNameRequest) (<-chan *SearchTraceAppByNameResponse, <-chan error) {
+	responseChan := make(chan *SearchTraceAppByNameResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SearchTraceAppByName(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SearchTraceAppByNameWithCallback invokes the arms.SearchTraceAppByName API asynchronously
+// api document: https://help.aliyun.com/api/arms/searchtraceappbyname.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchTraceAppByNameWithCallback(request *SearchTraceAppByNameRequest, callback func(response *SearchTraceAppByNameResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SearchTraceAppByNameResponse
+		var err error
+		defer close(result)
+		response, err = client.SearchTraceAppByName(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SearchTraceAppByNameRequest is the request struct for api SearchTraceAppByName
+type SearchTraceAppByNameRequest struct {
+	*requests.RpcRequest
+	TraceAppName string `position:"Query" name:"TraceAppName"`
+}
+
+// SearchTraceAppByNameResponse is the response struct for api SearchTraceAppByName
+type SearchTraceAppByNameResponse struct {
+	*responses.BaseResponse
+	RequestId string     `json:"RequestId" xml:"RequestId"`
+	TraceApps []TraceApp `json:"TraceApps" xml:"TraceApps"`
+}
+
+// CreateSearchTraceAppByNameRequest creates a request to invoke SearchTraceAppByName API
+func CreateSearchTraceAppByNameRequest() (request *SearchTraceAppByNameRequest) {
+	request = &SearchTraceAppByNameRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "SearchTraceAppByName", "arms", "openAPI")
+	return
+}
+
+// CreateSearchTraceAppByNameResponse creates a response to parse from SearchTraceAppByName response
+func CreateSearchTraceAppByNameResponse() (response *SearchTraceAppByNameResponse) {
+	response = &SearchTraceAppByNameResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/arms/search_trace_app_by_page.go

@@ -0,0 +1,106 @@
+package arms
+
+//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"
+)
+
+// SearchTraceAppByPage invokes the arms.SearchTraceAppByPage API synchronously
+// api document: https://help.aliyun.com/api/arms/searchtraceappbypage.html
+func (client *Client) SearchTraceAppByPage(request *SearchTraceAppByPageRequest) (response *SearchTraceAppByPageResponse, err error) {
+	response = CreateSearchTraceAppByPageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SearchTraceAppByPageWithChan invokes the arms.SearchTraceAppByPage API asynchronously
+// api document: https://help.aliyun.com/api/arms/searchtraceappbypage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchTraceAppByPageWithChan(request *SearchTraceAppByPageRequest) (<-chan *SearchTraceAppByPageResponse, <-chan error) {
+	responseChan := make(chan *SearchTraceAppByPageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SearchTraceAppByPage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SearchTraceAppByPageWithCallback invokes the arms.SearchTraceAppByPage API asynchronously
+// api document: https://help.aliyun.com/api/arms/searchtraceappbypage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchTraceAppByPageWithCallback(request *SearchTraceAppByPageRequest, callback func(response *SearchTraceAppByPageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SearchTraceAppByPageResponse
+		var err error
+		defer close(result)
+		response, err = client.SearchTraceAppByPage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SearchTraceAppByPageRequest is the request struct for api SearchTraceAppByPage
+type SearchTraceAppByPageRequest struct {
+	*requests.RpcRequest
+	TraceAppName string           `position:"Query" name:"TraceAppName"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// SearchTraceAppByPageResponse is the response struct for api SearchTraceAppByPage
+type SearchTraceAppByPageResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	PageBean  PageBean `json:"PageBean" xml:"PageBean"`
+}
+
+// CreateSearchTraceAppByPageRequest creates a request to invoke SearchTraceAppByPage API
+func CreateSearchTraceAppByPageRequest() (request *SearchTraceAppByPageRequest) {
+	request = &SearchTraceAppByPageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ARMS", "2019-08-08", "SearchTraceAppByPage", "arms", "openAPI")
+	return
+}
+
+// CreateSearchTraceAppByPageResponse creates a response to parse from SearchTraceAppByPage response
+func CreateSearchTraceAppByPageResponse() (response *SearchTraceAppByPageResponse) {
+	response = &SearchTraceAppByPageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 29 - 0
services/arms/struct_contact.go

@@ -0,0 +1,29 @@
+package arms
+
+//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.
+
+// Contact is a nested struct in arms response
+type Contact struct {
+	ContactId   int64  `json:"ContactId" xml:"ContactId"`
+	ContactName string `json:"ContactName" xml:"ContactName"`
+	Phone       string `json:"Phone" xml:"Phone"`
+	Email       string `json:"Email" xml:"Email"`
+	UserId      string `json:"UserId" xml:"UserId"`
+	DingRobot   string `json:"DingRobot" xml:"DingRobot"`
+	CreateTime  int64  `json:"CreateTime" xml:"CreateTime"`
+	UpdateTime  int64  `json:"UpdateTime" xml:"UpdateTime"`
+	SystemNoc   bool   `json:"SystemNoc" xml:"SystemNoc"`
+}

+ 25 - 0
services/arms/struct_contact_group.go

@@ -0,0 +1,25 @@
+package arms
+
+//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.
+
+// ContactGroup is a nested struct in arms response
+type ContactGroup struct {
+	ContactGroupId   int64  `json:"ContactGroupId" xml:"ContactGroupId"`
+	ContactGroupName string `json:"ContactGroupName" xml:"ContactGroupName"`
+	UserId           string `json:"UserId" xml:"UserId"`
+	CreateTime       int64  `json:"CreateTime" xml:"CreateTime"`
+	UpdateTime       int64  `json:"UpdateTime" xml:"UpdateTime"`
+}

+ 21 - 0
services/arms/struct_contact_groups.go

@@ -0,0 +1,21 @@
+package arms
+
+//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.
+
+// ContactGroups is a nested struct in arms response
+type ContactGroups struct {
+	ContactGroup []ContactGroup `json:"ContactGroup" xml:"ContactGroup"`
+}

+ 21 - 0
services/arms/struct_contacts.go

@@ -0,0 +1,21 @@
+package arms
+
+//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.
+
+// Contacts is a nested struct in arms response
+type Contacts struct {
+	Contact []Contact `json:"Contact" xml:"Contact"`
+}

+ 26 - 0
services/arms/struct_page_bean.go

@@ -0,0 +1,26 @@
+package arms
+
+//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.
+
+// PageBean is a nested struct in arms response
+type PageBean struct {
+	TotalCount  int          `json:"TotalCount" xml:"TotalCount"`
+	PageNumber  int          `json:"PageNumber" xml:"PageNumber"`
+	PageSize    int          `json:"PageSize" xml:"PageSize"`
+	RetcodeApps []RetcodeApp `json:"RetcodeApps" xml:"RetcodeApps"`
+	Contacts    []Contact    `json:"Contacts" xml:"Contacts"`
+	TraceApps   []TraceApp   `json:"TraceApps" xml:"TraceApps"`
+}

+ 28 - 0
services/arms/struct_retcode_app.go

@@ -0,0 +1,28 @@
+package arms
+
+//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.
+
+// RetcodeApp is a nested struct in arms response
+type RetcodeApp struct {
+	AppId      int64  `json:"AppId" xml:"AppId"`
+	RegionId   string `json:"RegionId" xml:"RegionId"`
+	UpdateTime int64  `json:"UpdateTime" xml:"UpdateTime"`
+	Pid        string `json:"Pid" xml:"Pid"`
+	UserId     string `json:"UserId" xml:"UserId"`
+	CreateTime int64  `json:"CreateTime" xml:"CreateTime"`
+	AppName    string `json:"AppName" xml:"AppName"`
+	Type       string `json:"Type" xml:"Type"`
+}

+ 22 - 0
services/arms/struct_retcode_app_data_bean.go

@@ -0,0 +1,22 @@
+package arms
+
+//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.
+
+// RetcodeAppDataBean is a nested struct in arms response
+type RetcodeAppDataBean struct {
+	AppId int64  `json:"AppId" xml:"AppId"`
+	Pid   string `json:"Pid" xml:"Pid"`
+}

+ 21 - 0
services/arms/struct_retcode_apps_in_list_retcode_apps.go

@@ -0,0 +1,21 @@
+package arms
+
+//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.
+
+// RetcodeAppsInListRetcodeApps is a nested struct in arms response
+type RetcodeAppsInListRetcodeApps struct {
+	RetcodeApp []RetcodeApp `json:"RetcodeApp" xml:"RetcodeApp"`
+}

+ 21 - 0
services/arms/struct_retcode_apps_in_search_retcode_app_by_page.go

@@ -0,0 +1,21 @@
+package arms
+
+//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.
+
+// RetcodeAppsInSearchRetcodeAppByPage is a nested struct in arms response
+type RetcodeAppsInSearchRetcodeAppByPage struct {
+	RetcodeApp []RetcodeApp `json:"RetcodeApp" xml:"RetcodeApp"`
+}

+ 28 - 0
services/arms/struct_trace_app.go

@@ -0,0 +1,28 @@
+package arms
+
+//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.
+
+// TraceApp is a nested struct in arms response
+type TraceApp struct {
+	AppId      int64  `json:"AppId" xml:"AppId"`
+	RegionId   string `json:"RegionId" xml:"RegionId"`
+	UpdateTime int64  `json:"UpdateTime" xml:"UpdateTime"`
+	Pid        string `json:"Pid" xml:"Pid"`
+	UserId     string `json:"UserId" xml:"UserId"`
+	CreateTime int64  `json:"CreateTime" xml:"CreateTime"`
+	AppName    string `json:"AppName" xml:"AppName"`
+	Type       string `json:"Type" xml:"Type"`
+}

+ 21 - 0
services/arms/struct_trace_apps_in_list_trace_apps.go

@@ -0,0 +1,21 @@
+package arms
+
+//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.
+
+// TraceAppsInListTraceApps is a nested struct in arms response
+type TraceAppsInListTraceApps struct {
+	TraceApp []TraceApp `json:"TraceApp" xml:"TraceApp"`
+}

+ 21 - 0
services/arms/struct_trace_apps_in_search_trace_app_by_name.go

@@ -0,0 +1,21 @@
+package arms
+
+//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.
+
+// TraceAppsInSearchTraceAppByName is a nested struct in arms response
+type TraceAppsInSearchTraceAppByName struct {
+	TraceApp []TraceApp `json:"TraceApp" xml:"TraceApp"`
+}

+ 21 - 0
services/arms/struct_trace_apps_in_search_trace_app_by_page.go

@@ -0,0 +1,21 @@
+package arms
+
+//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.
+
+// TraceAppsInSearchTraceAppByPage is a nested struct in arms response
+type TraceAppsInSearchTraceAppByPage struct {
+	TraceApp []TraceApp `json:"TraceApp" xml:"TraceApp"`
+}