浏览代码

Optimize the nested structs in all response

Signed-off-by: gaort <rutong.grt@alibaba-inc.com>
gaort 7 年之前
父节点
当前提交
d912c5e08e
共有 100 个文件被更改,包括 6167 次插入24 次删除
  1. 12 1
      ChangeLog.txt
  2. 67 0
      services/aegis/client.go
  3. 100 0
      services/aegis/create_instance.go
  4. 103 0
      services/aegis/create_suspicious_export.go
  5. 93 0
      services/aegis/delete_strategy.go
  6. 99 0
      services/aegis/describe_login_logs.go
  7. 97 0
      services/aegis/describe_strategy_target.go
  8. 94 0
      services/aegis/describe_stratety.go
  9. 94 0
      services/aegis/describe_stratety_detail.go
  10. 97 0
      services/aegis/describe_suspicious_events.go
  11. 102 0
      services/aegis/describe_suspicious_export_info.go
  12. 127 0
      services/aegis/describe_vul_details.go
  13. 116 0
      services/aegis/describe_vul_list.go
  14. 106 0
      services/aegis/describe_warning.go
  15. 97 0
      services/aegis/describe_webshell.go
  16. 96 0
      services/aegis/get_account_statistics.go
  17. 96 0
      services/aegis/get_crack_statistics.go
  18. 100 0
      services/aegis/get_entity_list.go
  19. 96 0
      services/aegis/get_statistics.go
  20. 95 0
      services/aegis/get_statistics_by_uuid.go
  21. 96 0
      services/aegis/modify_batch_ignore_vul.go
  22. 101 0
      services/aegis/modify_strategy.go
  23. 95 0
      services/aegis/modify_strategy_target.go
  24. 99 0
      services/aegis/query_crack_event.go
  25. 99 0
      services/aegis/query_login_event.go
  26. 92 0
      services/aegis/release_instance.go
  27. 97 0
      services/aegis/renew_instance.go
  28. 22 0
      services/aegis/struct_config_target.go
  29. 3 3
      services/aegis/struct_config_targets.go
  30. 3 3
      services/aegis/struct_cve_lists.go
  31. 27 0
      services/aegis/struct_data_in_describe_stratety.go
  32. 21 0
      services/aegis/struct_data_in_get_account_statistics.go
  33. 3 3
      services/aegis/struct_data_in_get_crack_statistics.go
  34. 21 0
      services/aegis/struct_data_in_get_entity_list.go
  35. 23 0
      services/aegis/struct_data_in_get_statistics.go
  36. 20 0
      services/aegis/struct_data_in_get_statistics_by_uuid.go
  37. 21 0
      services/aegis/struct_data_in_query_crack_event.go
  38. 21 0
      services/aegis/struct_data_in_query_login_event.go
  39. 45 0
      services/aegis/struct_entity.go
  40. 30 0
      services/aegis/struct_entity_in_get_entity_list.go
  41. 20 0
      services/aegis/struct_list_in_get_entity_list.go
  42. 20 0
      services/aegis/struct_list_in_query_crack_event.go
  43. 20 0
      services/aegis/struct_list_in_query_login_event.go
  44. 20 0
      services/aegis/struct_login_logs.go
  45. 23 0
      services/aegis/struct_page_info.go
  46. 20 0
      services/aegis/struct_result.go
  47. 23 0
      services/aegis/struct_risk_type_white_list_query_result.go
  48. 20 0
      services/aegis/struct_risk_type_white_list_query_result_list.go
  49. 20 0
      services/aegis/struct_strategies.go
  50. 25 0
      services/aegis/struct_strategy.go
  51. 20 0
      services/aegis/struct_strategy_targets.go
  52. 22 0
      services/aegis/struct_string_item.go
  53. 22 0
      services/aegis/struct_sub_typ.go
  54. 20 0
      services/aegis/struct_sub_types.go
  55. 20 0
      services/aegis/struct_suspicious_events.go
  56. 20 0
      services/aegis/struct_vul_records.go
  57. 20 0
      services/aegis/struct_warnings.go
  58. 96 0
      services/aegis/upgrade_instance.go
  59. 10 7
      services/ccc/list_call_detail_records.go
  60. 2 0
      services/ccc/struct_call_detail_record.go
  61. 1 0
      services/ccc/struct_login_info.go
  62. 95 0
      services/ddospro/create_blockhole.go
  63. 94 0
      services/ddospro/delete_black_hole.go
  64. 93 0
      services/ddospro/delete_blockhole.go
  65. 94 0
      services/ddospro/describe_cc_mode.go
  66. 94 0
      services/ddospro/describe_ddos_status.go
  67. 94 0
      services/ddospro/describe_flow_blockhole_status.go
  68. 98 0
      services/ddospro/describe_instance_page.go
  69. 100 0
      services/ddospro/describe_oplog.go
  70. 93 0
      services/ddospro/describe_un_blackhole_count.go
  71. 93 0
      services/ddospro/describe_un_blockhole_count.go
  72. 95 0
      services/ddospro/modify_cc_mode.go
  73. 9 7
      services/ddospro/struct_data.go
  74. 20 0
      services/ddospro/struct_data_in_describe_cc_mode.go
  75. 20 0
      services/ddospro/struct_data_in_describe_ddos_status.go
  76. 20 0
      services/ddospro/struct_data_in_describe_flow_blockhole_status.go
  77. 24 0
      services/ddospro/struct_data_in_describe_oplog.go
  78. 21 0
      services/ddospro/struct_instance_info.go
  79. 20 0
      services/ddospro/struct_instance_list.go
  80. 24 0
      services/ddospro/struct_ip_info.go
  81. 20 0
      services/ddospro/struct_ip_list.go
  82. 20 0
      services/ddospro/struct_oplog_list.go
  83. 2 0
      services/ecs/struct_instance_type.go
  84. 97 0
      services/ehpc/add_nodes.go
  85. 99 0
      services/ehpc/add_users.go
  86. 67 0
      services/ehpc/client.go
  87. 126 0
      services/ehpc/create_cluster.go
  88. 101 0
      services/ehpc/create_job_template.go
  89. 92 0
      services/ehpc/delete_cluster.go
  90. 91 0
      services/ehpc/delete_job_templates.go
  91. 92 0
      services/ehpc/delete_jobs.go
  92. 97 0
      services/ehpc/delete_nodes.go
  93. 96 0
      services/ehpc/delete_users.go
  94. 92 0
      services/ehpc/describe_cluster.go
  95. 102 0
      services/ehpc/edit_job_template.go
  96. 104 0
      services/ehpc/get_auto_scale_config.go
  97. 98 0
      services/ehpc/list_cluster_logs.go
  98. 96 0
      services/ehpc/list_clusters.go
  99. 91 0
      services/ehpc/list_current_client_version.go
  100. 93 0
      services/ehpc/list_custom_images.go

+ 12 - 1
ChangeLog.txt

@@ -1,6 +1,17 @@
-2018-02-05 Version: 0.12.0
+2018-02-05 Version: pre-release
 1, Optimize the nested structs in all response
 
+2018-02-09 Version: 0.12.0
+1, Aliyun E-HPC service SDK, initial version.
+2, Include APIs of E-HPC clusters, nodes, users, jobs, job templates etc.
+
+2018-02-07 Version: 0.11.4
+1, add the access interface of logs such as vulnerabilities, baselines, exceptions, etc.
+
+2018-02-06 Version: 0.11.3
+1, ModifyInstanceChargeType add instanceChargeType param, support prepay instance to postpay instance.
+2, ModifyPrepayInstanceSpec add operatorType param, support downgrade prepay ecs.
+
 2018-02-02 Version: 0.11.2
 1, this version is new of captcha management and nvc analyze
 

+ 67 - 0
services/aegis/client.go

@@ -0,0 +1,67 @@
+package aegis
+
+//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"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+type Client struct {
+	sdk.Client
+}
+
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 100 - 0
services/aegis/create_instance.go

@@ -0,0 +1,100 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) CreateInstance(request *CreateInstanceRequest) (response *CreateInstanceResponse, err error) {
+	response = CreateCreateInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateInstanceWithChan(request *CreateInstanceRequest) (<-chan *CreateInstanceResponse, <-chan error) {
+	responseChan := make(chan *CreateInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateInstanceWithCallback(request *CreateInstanceRequest, callback func(response *CreateInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateInstanceRequest struct {
+	*requests.RpcRequest
+	OwnerId           requests.Integer `position:"Query" name:"OwnerId"`
+	ClientToken       string           `position:"Query" name:"ClientToken"`
+	Duration          requests.Integer `position:"Query" name:"Duration"`
+	PricingCycle      string           `position:"Query" name:"PricingCycle"`
+	VersionCode       requests.Integer `position:"Query" name:"VersionCode"`
+	VmNumber          requests.Integer `position:"Query" name:"VmNumber"`
+	IsAutoRenew       requests.Boolean `position:"Query" name:"IsAutoRenew"`
+	AutoRenewDuration requests.Integer `position:"Query" name:"AutoRenewDuration"`
+}
+
+type CreateInstanceResponse struct {
+	*responses.BaseResponse
+	OrderId    string `json:"OrderId" xml:"OrderId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateCreateInstanceRequest() (request *CreateInstanceRequest) {
+	request = &CreateInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "CreateInstance", "vipaegis", "openAPI")
+	return
+}
+
+func CreateCreateInstanceResponse() (response *CreateInstanceResponse) {
+	response = &CreateInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/aegis/create_suspicious_export.go

@@ -0,0 +1,103 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) CreateSuspiciousExport(request *CreateSuspiciousExportRequest) (response *CreateSuspiciousExportResponse, err error) {
+	response = CreateCreateSuspiciousExportResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateSuspiciousExportWithChan(request *CreateSuspiciousExportRequest) (<-chan *CreateSuspiciousExportResponse, <-chan error) {
+	responseChan := make(chan *CreateSuspiciousExportResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateSuspiciousExport(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateSuspiciousExportWithCallback(request *CreateSuspiciousExportRequest, callback func(response *CreateSuspiciousExportResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateSuspiciousExportResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateSuspiciousExport(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateSuspiciousExportRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	EventNameRemark string           `position:"Query" name:"EventNameRemark"`
+	StatusList      string           `position:"Query" name:"StatusList"`
+	Level           string           `position:"Query" name:"Level"`
+	Dealed          string           `position:"Query" name:"Dealed"`
+	EventType       string           `position:"Query" name:"EventType"`
+	Uuids           string           `position:"Query" name:"Uuids"`
+	GroupId         string           `position:"Query" name:"GroupId"`
+	Remark          string           `position:"Query" name:"Remark"`
+	Tag             string           `position:"Query" name:"Tag"`
+}
+
+type CreateSuspiciousExportResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Id        int    `json:"Id" xml:"Id"`
+	FileName  string `json:"FileName" xml:"FileName"`
+}
+
+func CreateCreateSuspiciousExportRequest() (request *CreateSuspiciousExportRequest) {
+	request = &CreateSuspiciousExportRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "CreateSuspiciousExport", "vipaegis", "openAPI")
+	return
+}
+
+func CreateCreateSuspiciousExportResponse() (response *CreateSuspiciousExportResponse) {
+	response = &CreateSuspiciousExportResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/aegis/delete_strategy.go

@@ -0,0 +1,93 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DeleteStrategy(request *DeleteStrategyRequest) (response *DeleteStrategyResponse, err error) {
+	response = CreateDeleteStrategyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteStrategyWithChan(request *DeleteStrategyRequest) (<-chan *DeleteStrategyResponse, <-chan error) {
+	responseChan := make(chan *DeleteStrategyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteStrategy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteStrategyWithCallback(request *DeleteStrategyRequest, callback func(response *DeleteStrategyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteStrategyResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteStrategy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteStrategyRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Id              string           `position:"Query" name:"Id"`
+}
+
+type DeleteStrategyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteStrategyRequest() (request *DeleteStrategyRequest) {
+	request = &DeleteStrategyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DeleteStrategy", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDeleteStrategyResponse() (response *DeleteStrategyResponse) {
+	response = &DeleteStrategyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 99 - 0
services/aegis/describe_login_logs.go

@@ -0,0 +1,99 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeLoginLogs(request *DescribeLoginLogsRequest) (response *DescribeLoginLogsResponse, err error) {
+	response = CreateDescribeLoginLogsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeLoginLogsWithChan(request *DescribeLoginLogsRequest) (<-chan *DescribeLoginLogsResponse, <-chan error) {
+	responseChan := make(chan *DescribeLoginLogsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLoginLogs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeLoginLogsWithCallback(request *DescribeLoginLogsRequest, callback func(response *DescribeLoginLogsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLoginLogsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLoginLogs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeLoginLogsRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+}
+
+type DescribeLoginLogsResponse struct {
+	*responses.BaseResponse
+	RequestId      string   `json:"RequestId" xml:"RequestId"`
+	PageSize       int      `json:"PageSize" xml:"PageSize"`
+	CurrentPage    int      `json:"CurrentPage" xml:"CurrentPage"`
+	TotalCount     int      `json:"TotalCount" xml:"TotalCount"`
+	HttpStatusCode int      `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	LoginLogs      []string `json:"LoginLogs" xml:"LoginLogs"`
+}
+
+func CreateDescribeLoginLogsRequest() (request *DescribeLoginLogsRequest) {
+	request = &DescribeLoginLogsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeLoginLogs", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeLoginLogsResponse() (response *DescribeLoginLogsResponse) {
+	response = &DescribeLoginLogsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/aegis/describe_strategy_target.go

@@ -0,0 +1,97 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeStrategyTarget(request *DescribeStrategyTargetRequest) (response *DescribeStrategyTargetResponse, err error) {
+	response = CreateDescribeStrategyTargetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeStrategyTargetWithChan(request *DescribeStrategyTargetRequest) (<-chan *DescribeStrategyTargetResponse, <-chan error) {
+	responseChan := make(chan *DescribeStrategyTargetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStrategyTarget(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeStrategyTargetWithCallback(request *DescribeStrategyTargetRequest, callback func(response *DescribeStrategyTargetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStrategyTargetResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStrategyTarget(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeStrategyTargetRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Type            string           `position:"Query" name:"Type"`
+	Config          string           `position:"Query" name:"Config"`
+	Target          string           `position:"Query" name:"Target"`
+}
+
+type DescribeStrategyTargetResponse struct {
+	*responses.BaseResponse
+	RequestId       string       `json:"RequestId" xml:"RequestId"`
+	Count           int          `json:"Count" xml:"Count"`
+	StrategyTargets []StringItem `json:"StrategyTargets" xml:"StrategyTargets"`
+}
+
+func CreateDescribeStrategyTargetRequest() (request *DescribeStrategyTargetRequest) {
+	request = &DescribeStrategyTargetRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeStrategyTarget", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeStrategyTargetResponse() (response *DescribeStrategyTargetResponse) {
+	response = &DescribeStrategyTargetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/aegis/describe_stratety.go

@@ -0,0 +1,94 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeStratety(request *DescribeStratetyRequest) (response *DescribeStratetyResponse, err error) {
+	response = CreateDescribeStratetyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeStratetyWithChan(request *DescribeStratetyRequest) (<-chan *DescribeStratetyResponse, <-chan error) {
+	responseChan := make(chan *DescribeStratetyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStratety(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeStratetyWithCallback(request *DescribeStratetyRequest, callback func(response *DescribeStratetyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStratetyResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStratety(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeStratetyRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+}
+
+type DescribeStratetyResponse struct {
+	*responses.BaseResponse
+	RequestId  string                   `json:"RequestId" xml:"RequestId"`
+	Count      int                      `json:"Count" xml:"Count"`
+	Strategies []DataInDescribeStratety `json:"Strategies" xml:"Strategies"`
+}
+
+func CreateDescribeStratetyRequest() (request *DescribeStratetyRequest) {
+	request = &DescribeStratetyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeStratety", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeStratetyResponse() (response *DescribeStratetyResponse) {
+	response = &DescribeStratetyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/aegis/describe_stratety_detail.go

@@ -0,0 +1,94 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeStratetyDetail(request *DescribeStratetyDetailRequest) (response *DescribeStratetyDetailResponse, err error) {
+	response = CreateDescribeStratetyDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeStratetyDetailWithChan(request *DescribeStratetyDetailRequest) (<-chan *DescribeStratetyDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeStratetyDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStratetyDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeStratetyDetailWithCallback(request *DescribeStratetyDetailRequest, callback func(response *DescribeStratetyDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStratetyDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStratetyDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeStratetyDetailRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Id              string           `position:"Query" name:"Id"`
+}
+
+type DescribeStratetyDetailResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	Strategy  Strategy `json:"Strategy" xml:"Strategy"`
+}
+
+func CreateDescribeStratetyDetailRequest() (request *DescribeStratetyDetailRequest) {
+	request = &DescribeStratetyDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeStratetyDetail", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeStratetyDetailResponse() (response *DescribeStratetyDetailResponse) {
+	response = &DescribeStratetyDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/aegis/describe_suspicious_events.go

@@ -0,0 +1,97 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeSuspiciousEvents(request *DescribeSuspiciousEventsRequest) (response *DescribeSuspiciousEventsResponse, err error) {
+	response = CreateDescribeSuspiciousEventsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeSuspiciousEventsWithChan(request *DescribeSuspiciousEventsRequest) (<-chan *DescribeSuspiciousEventsResponse, <-chan error) {
+	responseChan := make(chan *DescribeSuspiciousEventsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSuspiciousEvents(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeSuspiciousEventsWithCallback(request *DescribeSuspiciousEventsRequest, callback func(response *DescribeSuspiciousEventsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSuspiciousEventsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSuspiciousEvents(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeSuspiciousEventsRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+}
+
+type DescribeSuspiciousEventsResponse struct {
+	*responses.BaseResponse
+	RequestId        string   `json:"RequestId" xml:"RequestId"`
+	PageSize         int      `json:"PageSize" xml:"PageSize"`
+	TotalCount       int      `json:"TotalCount" xml:"TotalCount"`
+	CurrentPage      int      `json:"CurrentPage" xml:"CurrentPage"`
+	HttpStatusCode   int      `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	SuspiciousEvents []string `json:"SuspiciousEvents" xml:"SuspiciousEvents"`
+}
+
+func CreateDescribeSuspiciousEventsRequest() (request *DescribeSuspiciousEventsRequest) {
+	request = &DescribeSuspiciousEventsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeSuspiciousEvents", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeSuspiciousEventsResponse() (response *DescribeSuspiciousEventsResponse) {
+	response = &DescribeSuspiciousEventsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 102 - 0
services/aegis/describe_suspicious_export_info.go

@@ -0,0 +1,102 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeSuspiciousExportInfo(request *DescribeSuspiciousExportInfoRequest) (response *DescribeSuspiciousExportInfoResponse, err error) {
+	response = CreateDescribeSuspiciousExportInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeSuspiciousExportInfoWithChan(request *DescribeSuspiciousExportInfoRequest) (<-chan *DescribeSuspiciousExportInfoResponse, <-chan error) {
+	responseChan := make(chan *DescribeSuspiciousExportInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSuspiciousExportInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeSuspiciousExportInfoWithCallback(request *DescribeSuspiciousExportInfoRequest, callback func(response *DescribeSuspiciousExportInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSuspiciousExportInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSuspiciousExportInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeSuspiciousExportInfoRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ExportId        requests.Integer `position:"Query" name:"ExportId"`
+}
+
+type DescribeSuspiciousExportInfoResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	Id           int    `json:"Id" xml:"Id"`
+	GmtCreate    int    `json:"GmtCreate" xml:"GmtCreate"`
+	FileName     string `json:"FileName" xml:"FileName"`
+	CurrentCount int    `json:"CurrentCount" xml:"CurrentCount"`
+	TotalCount   int    `json:"TotalCount" xml:"TotalCount"`
+	Progress     int    `json:"Progress" xml:"Progress"`
+	Status       string `json:"Status" xml:"Status"`
+	Message      string `json:"Message" xml:"Message"`
+	Link         string `json:"Link" xml:"Link"`
+}
+
+func CreateDescribeSuspiciousExportInfoRequest() (request *DescribeSuspiciousExportInfoRequest) {
+	request = &DescribeSuspiciousExportInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeSuspiciousExportInfo", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeSuspiciousExportInfoResponse() (response *DescribeSuspiciousExportInfoResponse) {
+	response = &DescribeSuspiciousExportInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 127 - 0
services/aegis/describe_vul_details.go

@@ -0,0 +1,127 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeVulDetails(request *DescribeVulDetailsRequest) (response *DescribeVulDetailsResponse, err error) {
+	response = CreateDescribeVulDetailsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeVulDetailsWithChan(request *DescribeVulDetailsRequest) (<-chan *DescribeVulDetailsResponse, <-chan error) {
+	responseChan := make(chan *DescribeVulDetailsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVulDetails(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeVulDetailsWithCallback(request *DescribeVulDetailsRequest, callback func(response *DescribeVulDetailsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVulDetailsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVulDetails(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeVulDetailsRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Type            string           `position:"Query" name:"Type"`
+	Uuids           string           `position:"Query" name:"Uuids"`
+	Name            string           `position:"Query" name:"Name"`
+	PatchId         requests.Integer `position:"Query" name:"PatchId"`
+	Level           string           `position:"Query" name:"Level"`
+	Product         string           `position:"Query" name:"Product"`
+	LastTsStart     requests.Integer `position:"Query" name:"LastTsStart"`
+	LastTsEnd       requests.Integer `position:"Query" name:"LastTsEnd"`
+	StatusList      string           `position:"Query" name:"StatusList"`
+	OrderBy         string           `position:"Query" name:"OrderBy"`
+	Direction       string           `position:"Query" name:"Direction"`
+	AliasName       string           `position:"Query" name:"AliasName"`
+	BatchName       string           `position:"Query" name:"BatchName"`
+	Resource        string           `position:"Query" name:"Resource"`
+	Necessity       string           `position:"Query" name:"Necessity"`
+	Dealed          string           `position:"Query" name:"Dealed"`
+	Lang            string           `position:"Query" name:"Lang"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+}
+
+type DescribeVulDetailsResponse struct {
+	*responses.BaseResponse
+	RequestId      string   `json:"RequestId" xml:"RequestId"`
+	Name           string   `json:"Name" xml:"Name"`
+	AliasName      string   `json:"AliasName" xml:"AliasName"`
+	Level          string   `json:"Level" xml:"Level"`
+	VulPublishTs   int      `json:"VulPublishTs" xml:"VulPublishTs"`
+	Type           string   `json:"Type" xml:"Type"`
+	Product        string   `json:"Product" xml:"Product"`
+	HasPatch       bool     `json:"HasPatch" xml:"HasPatch"`
+	PatchPublishTs int      `json:"PatchPublishTs" xml:"PatchPublishTs"`
+	PatchSource    string   `json:"PatchSource" xml:"PatchSource"`
+	Cvss           string   `json:"Cvss" xml:"Cvss"`
+	CveIds         string   `json:"CveIds" xml:"CveIds"`
+	Advice         string   `json:"Advice" xml:"Advice"`
+	Description    string   `json:"Description" xml:"Description"`
+	PendingCount   int      `json:"PendingCount" xml:"PendingCount"`
+	HandledCount   int      `json:"HandledCount" xml:"HandledCount"`
+	CveLists       []string `json:"CveLists" xml:"CveLists"`
+}
+
+func CreateDescribeVulDetailsRequest() (request *DescribeVulDetailsRequest) {
+	request = &DescribeVulDetailsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeVulDetails", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeVulDetailsResponse() (response *DescribeVulDetailsResponse) {
+	response = &DescribeVulDetailsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/aegis/describe_vul_list.go

@@ -0,0 +1,116 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeVulList(request *DescribeVulListRequest) (response *DescribeVulListResponse, err error) {
+	response = CreateDescribeVulListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeVulListWithChan(request *DescribeVulListRequest) (<-chan *DescribeVulListResponse, <-chan error) {
+	responseChan := make(chan *DescribeVulListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVulList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeVulListWithCallback(request *DescribeVulListRequest, callback func(response *DescribeVulListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVulListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVulList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeVulListRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Type            string           `position:"Query" name:"Type"`
+	Uuids           string           `position:"Query" name:"Uuids"`
+	Name            string           `position:"Query" name:"Name"`
+	PatchId         requests.Integer `position:"Query" name:"PatchId"`
+	Level           string           `position:"Query" name:"Level"`
+	Product         string           `position:"Query" name:"Product"`
+	LastTsStart     requests.Integer `position:"Query" name:"LastTsStart"`
+	LastTsEnd       requests.Integer `position:"Query" name:"LastTsEnd"`
+	StatusList      string           `position:"Query" name:"StatusList"`
+	OrderBy         string           `position:"Query" name:"OrderBy"`
+	Direction       string           `position:"Query" name:"Direction"`
+	AliasName       string           `position:"Query" name:"AliasName"`
+	BatchName       string           `position:"Query" name:"BatchName"`
+	Resource        string           `position:"Query" name:"Resource"`
+	Necessity       string           `position:"Query" name:"Necessity"`
+	Dealed          string           `position:"Query" name:"Dealed"`
+	Lang            string           `position:"Query" name:"Lang"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+}
+
+type DescribeVulListResponse struct {
+	*responses.BaseResponse
+	RequestId   string   `json:"RequestId" xml:"RequestId"`
+	Count       int      `json:"Count" xml:"Count"`
+	PageSize    int      `json:"PageSize" xml:"PageSize"`
+	CurrentPage int      `json:"CurrentPage" xml:"CurrentPage"`
+	TotalCount  int      `json:"TotalCount" xml:"TotalCount"`
+	VulRecords  []string `json:"VulRecords" xml:"VulRecords"`
+}
+
+func CreateDescribeVulListRequest() (request *DescribeVulListRequest) {
+	request = &DescribeVulListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeVulList", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeVulListResponse() (response *DescribeVulListResponse) {
+	response = &DescribeVulListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/aegis/describe_warning.go

@@ -0,0 +1,106 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeWarning(request *DescribeWarningRequest) (response *DescribeWarningResponse, err error) {
+	response = CreateDescribeWarningResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeWarningWithChan(request *DescribeWarningRequest) (<-chan *DescribeWarningResponse, <-chan error) {
+	responseChan := make(chan *DescribeWarningResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeWarning(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeWarningWithCallback(request *DescribeWarningRequest, callback func(response *DescribeWarningResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeWarningResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeWarning(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeWarningRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	TypeNames       string           `position:"Query" name:"TypeNames"`
+	SubTypeNames    string           `position:"Query" name:"SubTypeNames"`
+	RiskLevels      string           `position:"Query" name:"RiskLevels"`
+	StatusList      string           `position:"Query" name:"StatusList"`
+	RiskName        string           `position:"Query" name:"RiskName"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+	Uuids           string           `position:"Query" name:"Uuids"`
+	Dealed          string           `position:"Query" name:"Dealed"`
+}
+
+type DescribeWarningResponse struct {
+	*responses.BaseResponse
+	RequestId   string   `json:"RequestId" xml:"RequestId"`
+	Count       int      `json:"Count" xml:"Count"`
+	PageSize    int      `json:"PageSize" xml:"PageSize"`
+	TotalCount  int      `json:"TotalCount" xml:"TotalCount"`
+	CurrentPage int      `json:"CurrentPage" xml:"CurrentPage"`
+	Warnings    []string `json:"Warnings" xml:"Warnings"`
+}
+
+func CreateDescribeWarningRequest() (request *DescribeWarningRequest) {
+	request = &DescribeWarningRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeWarning", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeWarningResponse() (response *DescribeWarningResponse) {
+	response = &DescribeWarningResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/aegis/describe_webshell.go

@@ -0,0 +1,97 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeWebshell(request *DescribeWebshellRequest) (response *DescribeWebshellResponse, err error) {
+	response = CreateDescribeWebshellResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeWebshellWithChan(request *DescribeWebshellRequest) (<-chan *DescribeWebshellResponse, <-chan error) {
+	responseChan := make(chan *DescribeWebshellResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeWebshell(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeWebshellWithCallback(request *DescribeWebshellRequest, callback func(response *DescribeWebshellResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeWebshellResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeWebshell(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeWebshellRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	GroupId         requests.Integer `position:"Query" name:"GroupId"`
+	Remark          string           `position:"Query" name:"Remark"`
+}
+
+type DescribeWebshellResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	TotalCount  int    `json:"TotalCount" xml:"TotalCount"`
+	PageSize    int    `json:"PageSize" xml:"PageSize"`
+	CurrentPage int    `json:"CurrentPage" xml:"CurrentPage"`
+}
+
+func CreateDescribeWebshellRequest() (request *DescribeWebshellRequest) {
+	request = &DescribeWebshellRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeWebshell", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeWebshellResponse() (response *DescribeWebshellResponse) {
+	response = &DescribeWebshellResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/aegis/get_account_statistics.go

@@ -0,0 +1,96 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) GetAccountStatistics(request *GetAccountStatisticsRequest) (response *GetAccountStatisticsResponse, err error) {
+	response = CreateGetAccountStatisticsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetAccountStatisticsWithChan(request *GetAccountStatisticsRequest) (<-chan *GetAccountStatisticsResponse, <-chan error) {
+	responseChan := make(chan *GetAccountStatisticsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAccountStatistics(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetAccountStatisticsWithCallback(request *GetAccountStatisticsRequest, callback func(response *GetAccountStatisticsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAccountStatisticsResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAccountStatistics(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetAccountStatisticsRequest struct {
+	*requests.RpcRequest
+	StartTime string `position:"Query" name:"StartTime"`
+	EndTime   string `position:"Query" name:"EndTime"`
+}
+
+type GetAccountStatisticsResponse struct {
+	*responses.BaseResponse
+	RequestId string                     `json:"requestId" xml:"requestId"`
+	Code      string                     `json:"Code" xml:"Code"`
+	Success   bool                       `json:"Success" xml:"Success"`
+	Message   string                     `json:"Message" xml:"Message"`
+	Data      DataInGetAccountStatistics `json:"Data" xml:"Data"`
+}
+
+func CreateGetAccountStatisticsRequest() (request *GetAccountStatisticsRequest) {
+	request = &GetAccountStatisticsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetAccountStatistics", "vipaegis", "openAPI")
+	return
+}
+
+func CreateGetAccountStatisticsResponse() (response *GetAccountStatisticsResponse) {
+	response = &GetAccountStatisticsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/aegis/get_crack_statistics.go

@@ -0,0 +1,96 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) GetCrackStatistics(request *GetCrackStatisticsRequest) (response *GetCrackStatisticsResponse, err error) {
+	response = CreateGetCrackStatisticsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetCrackStatisticsWithChan(request *GetCrackStatisticsRequest) (<-chan *GetCrackStatisticsResponse, <-chan error) {
+	responseChan := make(chan *GetCrackStatisticsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCrackStatistics(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetCrackStatisticsWithCallback(request *GetCrackStatisticsRequest, callback func(response *GetCrackStatisticsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCrackStatisticsResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCrackStatistics(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetCrackStatisticsRequest struct {
+	*requests.RpcRequest
+	StartTime string `position:"Query" name:"StartTime"`
+	EndTime   string `position:"Query" name:"EndTime"`
+}
+
+type GetCrackStatisticsResponse struct {
+	*responses.BaseResponse
+	RequestId string                   `json:"requestId" xml:"requestId"`
+	Code      string                   `json:"Code" xml:"Code"`
+	Success   bool                     `json:"Success" xml:"Success"`
+	Message   string                   `json:"Message" xml:"Message"`
+	Data      DataInGetCrackStatistics `json:"Data" xml:"Data"`
+}
+
+func CreateGetCrackStatisticsRequest() (request *GetCrackStatisticsRequest) {
+	request = &GetCrackStatisticsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetCrackStatistics", "vipaegis", "openAPI")
+	return
+}
+
+func CreateGetCrackStatisticsResponse() (response *GetCrackStatisticsResponse) {
+	response = &GetCrackStatisticsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 100 - 0
services/aegis/get_entity_list.go

@@ -0,0 +1,100 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) GetEntityList(request *GetEntityListRequest) (response *GetEntityListResponse, err error) {
+	response = CreateGetEntityListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetEntityListWithChan(request *GetEntityListRequest) (<-chan *GetEntityListResponse, <-chan error) {
+	responseChan := make(chan *GetEntityListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetEntityList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetEntityListWithCallback(request *GetEntityListRequest, callback func(response *GetEntityListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetEntityListResponse
+		var err error
+		defer close(result)
+		response, err = client.GetEntityList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetEntityListRequest struct {
+	*requests.RpcRequest
+	GroupId     requests.Integer `position:"Query" name:"GroupId"`
+	Remark      string           `position:"Query" name:"Remark"`
+	EventType   string           `position:"Query" name:"EventType"`
+	RegionNo    string           `position:"Query" name:"RegionNo"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+}
+
+type GetEntityListResponse struct {
+	*responses.BaseResponse
+	RequestId string              `json:"requestId" xml:"requestId"`
+	Code      string              `json:"Code" xml:"Code"`
+	Success   bool                `json:"Success" xml:"Success"`
+	Message   string              `json:"Message" xml:"Message"`
+	Data      DataInGetEntityList `json:"Data" xml:"Data"`
+}
+
+func CreateGetEntityListRequest() (request *GetEntityListRequest) {
+	request = &GetEntityListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetEntityList", "vipaegis", "openAPI")
+	return
+}
+
+func CreateGetEntityListResponse() (response *GetEntityListResponse) {
+	response = &GetEntityListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/aegis/get_statistics.go

@@ -0,0 +1,96 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) GetStatistics(request *GetStatisticsRequest) (response *GetStatisticsResponse, err error) {
+	response = CreateGetStatisticsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetStatisticsWithChan(request *GetStatisticsRequest) (<-chan *GetStatisticsResponse, <-chan error) {
+	responseChan := make(chan *GetStatisticsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetStatistics(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetStatisticsWithCallback(request *GetStatisticsRequest, callback func(response *GetStatisticsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetStatisticsResponse
+		var err error
+		defer close(result)
+		response, err = client.GetStatistics(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetStatisticsRequest struct {
+	*requests.RpcRequest
+	StartTime string `position:"Query" name:"StartTime"`
+	EndTime   string `position:"Query" name:"EndTime"`
+}
+
+type GetStatisticsResponse struct {
+	*responses.BaseResponse
+	RequestId string              `json:"requestId" xml:"requestId"`
+	Code      string              `json:"Code" xml:"Code"`
+	Success   bool                `json:"Success" xml:"Success"`
+	Message   string              `json:"Message" xml:"Message"`
+	Data      DataInGetStatistics `json:"Data" xml:"Data"`
+}
+
+func CreateGetStatisticsRequest() (request *GetStatisticsRequest) {
+	request = &GetStatisticsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetStatistics", "vipaegis", "openAPI")
+	return
+}
+
+func CreateGetStatisticsResponse() (response *GetStatisticsResponse) {
+	response = &GetStatisticsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 95 - 0
services/aegis/get_statistics_by_uuid.go

@@ -0,0 +1,95 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) GetStatisticsByUuid(request *GetStatisticsByUuidRequest) (response *GetStatisticsByUuidResponse, err error) {
+	response = CreateGetStatisticsByUuidResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetStatisticsByUuidWithChan(request *GetStatisticsByUuidRequest) (<-chan *GetStatisticsByUuidResponse, <-chan error) {
+	responseChan := make(chan *GetStatisticsByUuidResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetStatisticsByUuid(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetStatisticsByUuidWithCallback(request *GetStatisticsByUuidRequest, callback func(response *GetStatisticsByUuidResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetStatisticsByUuidResponse
+		var err error
+		defer close(result)
+		response, err = client.GetStatisticsByUuid(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetStatisticsByUuidRequest struct {
+	*requests.RpcRequest
+	Uuid string `position:"Query" name:"Uuid"`
+}
+
+type GetStatisticsByUuidResponse struct {
+	*responses.BaseResponse
+	RequestId string                    `json:"requestId" xml:"requestId"`
+	Code      string                    `json:"Code" xml:"Code"`
+	Success   bool                      `json:"Success" xml:"Success"`
+	Message   string                    `json:"Message" xml:"Message"`
+	Data      DataInGetStatisticsByUuid `json:"Data" xml:"Data"`
+}
+
+func CreateGetStatisticsByUuidRequest() (request *GetStatisticsByUuidRequest) {
+	request = &GetStatisticsByUuidRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetStatisticsByUuid", "vipaegis", "openAPI")
+	return
+}
+
+func CreateGetStatisticsByUuidResponse() (response *GetStatisticsByUuidResponse) {
+	response = &GetStatisticsByUuidResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/aegis/modify_batch_ignore_vul.go

@@ -0,0 +1,96 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) ModifyBatchIgnoreVul(request *ModifyBatchIgnoreVulRequest) (response *ModifyBatchIgnoreVulResponse, err error) {
+	response = CreateModifyBatchIgnoreVulResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ModifyBatchIgnoreVulWithChan(request *ModifyBatchIgnoreVulRequest) (<-chan *ModifyBatchIgnoreVulResponse, <-chan error) {
+	responseChan := make(chan *ModifyBatchIgnoreVulResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyBatchIgnoreVul(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ModifyBatchIgnoreVulWithCallback(request *ModifyBatchIgnoreVulRequest, callback func(response *ModifyBatchIgnoreVulResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyBatchIgnoreVulResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyBatchIgnoreVul(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ModifyBatchIgnoreVulRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Reason          string           `position:"Query" name:"Reason"`
+	Info            string           `position:"Query" name:"Info"`
+}
+
+type ModifyBatchIgnoreVulResponse struct {
+	*responses.BaseResponse
+	RequestId      string `json:"RequestId" xml:"RequestId"`
+	Success        bool   `json:"Success" xml:"Success"`
+	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
+}
+
+func CreateModifyBatchIgnoreVulRequest() (request *ModifyBatchIgnoreVulRequest) {
+	request = &ModifyBatchIgnoreVulRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "ModifyBatchIgnoreVul", "vipaegis", "openAPI")
+	return
+}
+
+func CreateModifyBatchIgnoreVulResponse() (response *ModifyBatchIgnoreVulResponse) {
+	response = &ModifyBatchIgnoreVulResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 101 - 0
services/aegis/modify_strategy.go

@@ -0,0 +1,101 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) ModifyStrategy(request *ModifyStrategyRequest) (response *ModifyStrategyResponse, err error) {
+	response = CreateModifyStrategyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ModifyStrategyWithChan(request *ModifyStrategyRequest) (<-chan *ModifyStrategyResponse, <-chan error) {
+	responseChan := make(chan *ModifyStrategyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyStrategy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ModifyStrategyWithCallback(request *ModifyStrategyRequest, callback func(response *ModifyStrategyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyStrategyResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyStrategy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ModifyStrategyRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CycleDays       string           `position:"Query" name:"CycleDays"`
+	Name            string           `position:"Query" name:"Name"`
+	CycleStartTime  string           `position:"Query" name:"CycleStartTime"`
+	RiskSubTypeName string           `position:"Query" name:"RiskSubTypeName"`
+	Id              string           `position:"Query" name:"Id"`
+}
+
+type ModifyStrategyResponse struct {
+	*responses.BaseResponse
+	RequestId      string `json:"RequestId" xml:"RequestId"`
+	Success        bool   `json:"Success" xml:"Success"`
+	TotalCount     int    `json:"TotalCount" xml:"TotalCount"`
+	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	Result         Result `json:"Result" xml:"Result"`
+}
+
+func CreateModifyStrategyRequest() (request *ModifyStrategyRequest) {
+	request = &ModifyStrategyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "ModifyStrategy", "vipaegis", "openAPI")
+	return
+}
+
+func CreateModifyStrategyResponse() (response *ModifyStrategyResponse) {
+	response = &ModifyStrategyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 95 - 0
services/aegis/modify_strategy_target.go

@@ -0,0 +1,95 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) ModifyStrategyTarget(request *ModifyStrategyTargetRequest) (response *ModifyStrategyTargetResponse, err error) {
+	response = CreateModifyStrategyTargetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ModifyStrategyTargetWithChan(request *ModifyStrategyTargetRequest) (<-chan *ModifyStrategyTargetResponse, <-chan error) {
+	responseChan := make(chan *ModifyStrategyTargetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyStrategyTarget(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ModifyStrategyTargetWithCallback(request *ModifyStrategyTargetRequest, callback func(response *ModifyStrategyTargetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyStrategyTargetResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyStrategyTarget(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ModifyStrategyTargetRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Type            string           `position:"Query" name:"Type"`
+	Config          string           `position:"Query" name:"Config"`
+	Target          string           `position:"Query" name:"Target"`
+}
+
+type ModifyStrategyTargetResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateModifyStrategyTargetRequest() (request *ModifyStrategyTargetRequest) {
+	request = &ModifyStrategyTargetRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "ModifyStrategyTarget", "vipaegis", "openAPI")
+	return
+}
+
+func CreateModifyStrategyTargetResponse() (response *ModifyStrategyTargetResponse) {
+	response = &ModifyStrategyTargetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 99 - 0
services/aegis/query_crack_event.go

@@ -0,0 +1,99 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) QueryCrackEvent(request *QueryCrackEventRequest) (response *QueryCrackEventResponse, err error) {
+	response = CreateQueryCrackEventResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) QueryCrackEventWithChan(request *QueryCrackEventRequest) (<-chan *QueryCrackEventResponse, <-chan error) {
+	responseChan := make(chan *QueryCrackEventResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryCrackEvent(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) QueryCrackEventWithCallback(request *QueryCrackEventRequest, callback func(response *QueryCrackEventResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryCrackEventResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryCrackEvent(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type QueryCrackEventRequest struct {
+	*requests.RpcRequest
+	Uuid        string           `position:"Query" name:"Uuid"`
+	Status      requests.Integer `position:"Query" name:"Status"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+	StartTime   string           `position:"Query" name:"StartTime"`
+	EndTime     string           `position:"Query" name:"EndTime"`
+}
+
+type QueryCrackEventResponse struct {
+	*responses.BaseResponse
+	RequestId string                `json:"requestId" xml:"requestId"`
+	Code      string                `json:"Code" xml:"Code"`
+	Success   bool                  `json:"Success" xml:"Success"`
+	Message   string                `json:"Message" xml:"Message"`
+	Data      DataInQueryCrackEvent `json:"Data" xml:"Data"`
+}
+
+func CreateQueryCrackEventRequest() (request *QueryCrackEventRequest) {
+	request = &QueryCrackEventRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "QueryCrackEvent", "vipaegis", "openAPI")
+	return
+}
+
+func CreateQueryCrackEventResponse() (response *QueryCrackEventResponse) {
+	response = &QueryCrackEventResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 99 - 0
services/aegis/query_login_event.go

@@ -0,0 +1,99 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) QueryLoginEvent(request *QueryLoginEventRequest) (response *QueryLoginEventResponse, err error) {
+	response = CreateQueryLoginEventResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) QueryLoginEventWithChan(request *QueryLoginEventRequest) (<-chan *QueryLoginEventResponse, <-chan error) {
+	responseChan := make(chan *QueryLoginEventResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryLoginEvent(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) QueryLoginEventWithCallback(request *QueryLoginEventRequest, callback func(response *QueryLoginEventResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryLoginEventResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryLoginEvent(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type QueryLoginEventRequest struct {
+	*requests.RpcRequest
+	Uuid        string           `position:"Query" name:"Uuid"`
+	Status      requests.Integer `position:"Query" name:"Status"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+	StartTime   string           `position:"Query" name:"StartTime"`
+	EndTime     string           `position:"Query" name:"EndTime"`
+}
+
+type QueryLoginEventResponse struct {
+	*responses.BaseResponse
+	RequestId string                `json:"requestId" xml:"requestId"`
+	Code      string                `json:"Code" xml:"Code"`
+	Success   bool                  `json:"Success" xml:"Success"`
+	Message   string                `json:"Message" xml:"Message"`
+	Data      DataInQueryLoginEvent `json:"Data" xml:"Data"`
+}
+
+func CreateQueryLoginEventRequest() (request *QueryLoginEventRequest) {
+	request = &QueryLoginEventRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "QueryLoginEvent", "vipaegis", "openAPI")
+	return
+}
+
+func CreateQueryLoginEventResponse() (response *QueryLoginEventResponse) {
+	response = &QueryLoginEventResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/aegis/release_instance.go

@@ -0,0 +1,92 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) ReleaseInstance(request *ReleaseInstanceRequest) (response *ReleaseInstanceResponse, err error) {
+	response = CreateReleaseInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ReleaseInstanceWithChan(request *ReleaseInstanceRequest) (<-chan *ReleaseInstanceResponse, <-chan error) {
+	responseChan := make(chan *ReleaseInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ReleaseInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ReleaseInstanceWithCallback(request *ReleaseInstanceRequest, callback func(response *ReleaseInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ReleaseInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.ReleaseInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ReleaseInstanceRequest struct {
+	*requests.RpcRequest
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId string           `position:"Query" name:"InstanceId"`
+}
+
+type ReleaseInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateReleaseInstanceRequest() (request *ReleaseInstanceRequest) {
+	request = &ReleaseInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "ReleaseInstance", "vipaegis", "openAPI")
+	return
+}
+
+func CreateReleaseInstanceResponse() (response *ReleaseInstanceResponse) {
+	response = &ReleaseInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/aegis/renew_instance.go

@@ -0,0 +1,97 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) RenewInstance(request *RenewInstanceRequest) (response *RenewInstanceResponse, err error) {
+	response = CreateRenewInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) RenewInstanceWithChan(request *RenewInstanceRequest) (<-chan *RenewInstanceResponse, <-chan error) {
+	responseChan := make(chan *RenewInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RenewInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) RenewInstanceWithCallback(request *RenewInstanceRequest, callback func(response *RenewInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RenewInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RenewInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type RenewInstanceRequest struct {
+	*requests.RpcRequest
+	OwnerId      requests.Integer `position:"Query" name:"OwnerId"`
+	ClientToken  string           `position:"Query" name:"ClientToken"`
+	InstanceId   string           `position:"Query" name:"InstanceId"`
+	VmNumber     string           `position:"Query" name:"VmNumber"`
+	Duration     requests.Integer `position:"Query" name:"Duration"`
+	PricingCycle string           `position:"Query" name:"PricingCycle"`
+}
+
+type RenewInstanceResponse struct {
+	*responses.BaseResponse
+	OrderId   string `json:"OrderId" xml:"OrderId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateRenewInstanceRequest() (request *RenewInstanceRequest) {
+	request = &RenewInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "RenewInstance", "vipaegis", "openAPI")
+	return
+}
+
+func CreateRenewInstanceResponse() (response *RenewInstanceResponse) {
+	response = &RenewInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 22 - 0
services/aegis/struct_config_target.go

@@ -0,0 +1,22 @@
+package aegis
+
+//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.
+
+type ConfigTarget struct {
+	Flag       string `json:"Flag" xml:"Flag"`
+	TargetType string `json:"TargetType" xml:"TargetType"`
+	Target     string `json:"Target" xml:"Target"`
+}

+ 3 - 3
services/mts/struct_non_exist_ids_in_query_video_summary_pipeline_list.go → services/aegis/struct_config_targets.go

@@ -1,4 +1,4 @@
-package mts
+package aegis
 
 //Licensed under the Apache License, Version 2.0 (the "License");
 //you may not use this file except in compliance with the License.
@@ -15,6 +15,6 @@ package mts
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-type NonExistIdsInQueryVideoSummaryPipelineList struct {
-	String []string `json:"String" xml:"String"`
+type ConfigTargets struct {
+	ConfigTarget []ConfigTarget `json:"ConfigTarget" xml:"ConfigTarget"`
 }

+ 3 - 3
services/mts/struct_pipeline_list_in_list_video_summary_pipeline.go → services/aegis/struct_cve_lists.go

@@ -1,4 +1,4 @@
-package mts
+package aegis
 
 //Licensed under the Apache License, Version 2.0 (the "License");
 //you may not use this file except in compliance with the License.
@@ -15,6 +15,6 @@ package mts
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-type PipelineListInListVideoSummaryPipeline struct {
-	Pipeline []PipelineInListVideoSummaryPipeline `json:"Pipeline" xml:"Pipeline"`
+type CveLists struct {
+	Cve []string `json:"cve" xml:"cve"`
 }

+ 27 - 0
services/aegis/struct_data_in_describe_stratety.go

@@ -0,0 +1,27 @@
+package aegis
+
+//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.
+
+type DataInDescribeStratety struct {
+	CycleDays      int            `json:"CycleDays" xml:"CycleDays"`
+	Id             int            `json:"Id" xml:"Id"`
+	CycleStartTime int            `json:"CycleStartTime" xml:"CycleStartTime"`
+	Type           int            `json:"Type" xml:"Type"`
+	Name           string         `json:"Name" xml:"Name"`
+	RiskCount      int            `json:"RiskCount" xml:"RiskCount"`
+	EcsCount       int            `json:"EcsCount" xml:"EcsCount"`
+	ConfigTargets  []ConfigTarget `json:"ConfigTargets" xml:"ConfigTargets"`
+}

+ 21 - 0
services/aegis/struct_data_in_get_account_statistics.go

@@ -0,0 +1,21 @@
+package aegis
+
+//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.
+
+type DataInGetAccountStatistics struct {
+	RemoteLogin  int `json:"RemoteLogin" xml:"RemoteLogin"`
+	CrackSuccess int `json:"CrackSuccess" xml:"CrackSuccess"`
+}

+ 3 - 3
services/mts/struct_pipeline_list_in_query_video_summary_pipeline_list.go → services/aegis/struct_data_in_get_crack_statistics.go

@@ -1,4 +1,4 @@
-package mts
+package aegis
 
 //Licensed under the Apache License, Version 2.0 (the "License");
 //you may not use this file except in compliance with the License.
@@ -15,6 +15,6 @@ package mts
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-type PipelineListInQueryVideoSummaryPipelineList struct {
-	Pipeline []PipelineInQueryVideoSummaryPipelineList `json:"Pipeline" xml:"Pipeline"`
+type DataInGetCrackStatistics struct {
+	Intercepted int `json:"Intercepted" xml:"Intercepted"`
 }

+ 21 - 0
services/aegis/struct_data_in_get_entity_list.go

@@ -0,0 +1,21 @@
+package aegis
+
+//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.
+
+type DataInGetEntityList struct {
+	PageInfo PageInfo            `json:"PageInfo" xml:"PageInfo"`
+	List     ListInGetEntityList `json:"List" xml:"List"`
+}

+ 23 - 0
services/aegis/struct_data_in_get_statistics.go

@@ -0,0 +1,23 @@
+package aegis
+
+//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.
+
+type DataInGetStatistics struct {
+	Account int `json:"Account" xml:"Account"`
+	Health  int `json:"Health" xml:"Health"`
+	Patch   int `json:"Patch" xml:"Patch"`
+	Trojan  int `json:"Trojan" xml:"Trojan"`
+}

+ 20 - 0
services/aegis/struct_data_in_get_statistics_by_uuid.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type DataInGetStatisticsByUuid struct {
+	Entity []Entity `json:"Entity" xml:"Entity"`
+}

+ 21 - 0
services/aegis/struct_data_in_query_crack_event.go

@@ -0,0 +1,21 @@
+package aegis
+
+//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.
+
+type DataInQueryCrackEvent struct {
+	PageInfo PageInfo              `json:"PageInfo" xml:"PageInfo"`
+	List     ListInQueryCrackEvent `json:"List" xml:"List"`
+}

+ 21 - 0
services/aegis/struct_data_in_query_login_event.go

@@ -0,0 +1,21 @@
+package aegis
+
+//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.
+
+type DataInQueryLoginEvent struct {
+	PageInfo PageInfo              `json:"PageInfo" xml:"PageInfo"`
+	List     ListInQueryLoginEvent `json:"List" xml:"List"`
+}

+ 45 - 0
services/aegis/struct_entity.go

@@ -0,0 +1,45 @@
+package aegis
+
+//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.
+
+type Entity struct {
+	AttackType     int    `json:"AttackType" xml:"AttackType"`
+	Ip             string `json:"Ip" xml:"Ip"`
+	LoginType      int    `json:"LoginType" xml:"LoginType"`
+	CrackTimes     int    `json:"CrackTimes" xml:"CrackTimes"`
+	Account        int    `json:"Account" xml:"Account"`
+	CrackSourceIp  string `json:"CrackSourceIp" xml:"CrackSourceIp"`
+	StatusName     string `json:"StatusName" xml:"StatusName"`
+	GroupId        int    `json:"GroupId" xml:"GroupId"`
+	InstanceName   string `json:"InstanceName" xml:"InstanceName"`
+	Location       string `json:"Location" xml:"Location"`
+	Trojan         int    `json:"Trojan" xml:"Trojan"`
+	Status         int    `json:"Status" xml:"Status"`
+	AttackTime     string `json:"AttackTime" xml:"AttackTime"`
+	LoginSourceIp  string `json:"LoginSourceIp" xml:"LoginSourceIp"`
+	BuyVersion     string `json:"BuyVersion" xml:"BuyVersion"`
+	Region         string `json:"Region" xml:"Region"`
+	AttackTypeName string `json:"AttackTypeName" xml:"AttackTypeName"`
+	Health         int    `json:"Health" xml:"Health"`
+	Uuid           string `json:"Uuid" xml:"Uuid"`
+	InWhite        int    `json:"InWhite" xml:"InWhite"`
+	Patch          int    `json:"Patch" xml:"Patch"`
+	LoginTime      string `json:"LoginTime" xml:"LoginTime"`
+	UserName       string `json:"UserName" xml:"UserName"`
+	InstanceId     string `json:"InstanceId" xml:"InstanceId"`
+	Online         bool   `json:"Online" xml:"Online"`
+	LoginTypeName  string `json:"LoginTypeName" xml:"LoginTypeName"`
+}

+ 30 - 0
services/aegis/struct_entity_in_get_entity_list.go

@@ -0,0 +1,30 @@
+package aegis
+
+//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.
+
+type EntityInGetEntityList struct {
+	Uuid         string `json:"Uuid" xml:"Uuid"`
+	GroupId      int    `json:"GroupId" xml:"GroupId"`
+	Ip           string `json:"Ip" xml:"Ip"`
+	InstanceName string `json:"InstanceName" xml:"InstanceName"`
+	InstanceId   string `json:"InstanceId" xml:"InstanceId"`
+	Region       string `json:"Region" xml:"Region"`
+	Os           string `json:"Os" xml:"Os"`
+	Flag         string `json:"Flag" xml:"Flag"`
+	BuyVersion   string `json:"BuyVersion" xml:"BuyVersion"`
+	AegisOnline  bool   `json:"AegisOnline" xml:"AegisOnline"`
+	AegisVersion string `json:"aegisVersion" xml:"aegisVersion"`
+}

+ 20 - 0
services/aegis/struct_list_in_get_entity_list.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type ListInGetEntityList struct {
+	Entity []EntityInGetEntityList `json:"Entity" xml:"Entity"`
+}

+ 20 - 0
services/aegis/struct_list_in_query_crack_event.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type ListInQueryCrackEvent struct {
+	Entity []Entity `json:"Entity" xml:"Entity"`
+}

+ 20 - 0
services/aegis/struct_list_in_query_login_event.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type ListInQueryLoginEvent struct {
+	Entity []Entity `json:"Entity" xml:"Entity"`
+}

+ 20 - 0
services/aegis/struct_login_logs.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type LoginLogs struct {
+	StringItem []string `json:"StringItem" xml:"StringItem"`
+}

+ 23 - 0
services/aegis/struct_page_info.go

@@ -0,0 +1,23 @@
+package aegis
+
+//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.
+
+type PageInfo struct {
+	PageSize    int `json:"PageSize" xml:"PageSize"`
+	Count       int `json:"Count" xml:"Count"`
+	TotalCount  int `json:"TotalCount" xml:"TotalCount"`
+	CurrentPage int `json:"CurrentPage" xml:"CurrentPage"`
+}

+ 20 - 0
services/aegis/struct_result.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type Result struct {
+	StrategyId int `json:"StrategyId" xml:"StrategyId"`
+}

+ 23 - 0
services/aegis/struct_risk_type_white_list_query_result.go

@@ -0,0 +1,23 @@
+package aegis
+
+//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.
+
+type RiskTypeWhiteListQueryResult struct {
+	TypeName string   `json:"TypeName" xml:"TypeName"`
+	Alias    string   `json:"Alias" xml:"Alias"`
+	On       bool     `json:"On" xml:"On"`
+	SubTypes []SubTyp `json:"SubTypes" xml:"SubTypes"`
+}

+ 20 - 0
services/aegis/struct_risk_type_white_list_query_result_list.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type RiskTypeWhiteListQueryResultList struct {
+	RiskTypeWhiteListQueryResult []RiskTypeWhiteListQueryResult `json:"RiskTypeWhiteListQueryResult" xml:"RiskTypeWhiteListQueryResult"`
+}

+ 20 - 0
services/aegis/struct_strategies.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type Strategies struct {
+	Data []DataInDescribeStratety `json:"Data" xml:"Data"`
+}

+ 25 - 0
services/aegis/struct_strategy.go

@@ -0,0 +1,25 @@
+package aegis
+
+//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.
+
+type Strategy struct {
+	CycleDays                        int                            `json:"CycleDays" xml:"CycleDays"`
+	Name                             string                         `json:"Name" xml:"Name"`
+	Id                               int                            `json:"Id" xml:"Id"`
+	CycleStartTime                   int                            `json:"CycleStartTime" xml:"CycleStartTime"`
+	Type                             int                            `json:"Type" xml:"Type"`
+	RiskTypeWhiteListQueryResultList []RiskTypeWhiteListQueryResult `json:"RiskTypeWhiteListQueryResultList" xml:"RiskTypeWhiteListQueryResultList"`
+}

+ 20 - 0
services/aegis/struct_strategy_targets.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type StrategyTargets struct {
+	StringItem []StringItem `json:"StringItem" xml:"StringItem"`
+}

+ 22 - 0
services/aegis/struct_string_item.go

@@ -0,0 +1,22 @@
+package aegis
+
+//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.
+
+type StringItem struct {
+	Flag       string `json:"Flag" xml:"Flag"`
+	Target     string `json:"Target" xml:"Target"`
+	TargetType string `json:"TargetType" xml:"TargetType"`
+}

+ 22 - 0
services/aegis/struct_sub_typ.go

@@ -0,0 +1,22 @@
+package aegis
+
+//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.
+
+type SubTyp struct {
+	TypeName string `json:"TypeName" xml:"TypeName"`
+	Alias    string `json:"Alias" xml:"Alias"`
+	On       bool   `json:"On" xml:"On"`
+}

+ 20 - 0
services/aegis/struct_sub_types.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type SubTypes struct {
+	SubTyp []SubTyp `json:"SubTyp" xml:"SubTyp"`
+}

+ 20 - 0
services/aegis/struct_suspicious_events.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type SuspiciousEvents struct {
+	StringItem []string `json:"StringItem" xml:"StringItem"`
+}

+ 20 - 0
services/aegis/struct_vul_records.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type VulRecords struct {
+	VulRecord []string `json:"vulRecord" xml:"vulRecord"`
+}

+ 20 - 0
services/aegis/struct_warnings.go

@@ -0,0 +1,20 @@
+package aegis
+
+//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.
+
+type Warnings struct {
+	Warning []string `json:"warning" xml:"warning"`
+}

+ 96 - 0
services/aegis/upgrade_instance.go

@@ -0,0 +1,96 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) UpgradeInstance(request *UpgradeInstanceRequest) (response *UpgradeInstanceResponse, err error) {
+	response = CreateUpgradeInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) UpgradeInstanceWithChan(request *UpgradeInstanceRequest) (<-chan *UpgradeInstanceResponse, <-chan error) {
+	responseChan := make(chan *UpgradeInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpgradeInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) UpgradeInstanceWithCallback(request *UpgradeInstanceRequest, callback func(response *UpgradeInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpgradeInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.UpgradeInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type UpgradeInstanceRequest struct {
+	*requests.RpcRequest
+	OwnerId     requests.Integer `position:"Query" name:"OwnerId"`
+	ClientToken string           `position:"Query" name:"ClientToken"`
+	InstanceId  string           `position:"Query" name:"InstanceId"`
+	VersionCode requests.Integer `position:"Query" name:"VersionCode"`
+	VmNumber    requests.Integer `position:"Query" name:"VmNumber"`
+}
+
+type UpgradeInstanceResponse struct {
+	*responses.BaseResponse
+	OrderId   string `json:"OrderId" xml:"OrderId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateUpgradeInstanceRequest() (request *UpgradeInstanceRequest) {
+	request = &UpgradeInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "UpgradeInstance", "vipaegis", "openAPI")
+	return
+}
+
+func CreateUpgradeInstanceResponse() (response *UpgradeInstanceResponse) {
+	response = &UpgradeInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 10 - 7
services/ccc/list_call_detail_records.go

@@ -67,13 +67,16 @@ func (client *Client) ListCallDetailRecordsWithCallback(request *ListCallDetailR
 
 type ListCallDetailRecordsRequest struct {
 	*requests.RpcRequest
-	InstanceId  string           `position:"Query" name:"InstanceId"`
-	PhoneNumber string           `position:"Query" name:"PhoneNumber"`
-	StartTime   requests.Integer `position:"Query" name:"StartTime"`
-	StopTime    requests.Integer `position:"Query" name:"StopTime"`
-	Criteria    string           `position:"Query" name:"Criteria"`
-	PageNumber  requests.Integer `position:"Query" name:"PageNumber"`
-	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	InstanceId         string           `position:"Query" name:"InstanceId"`
+	PhoneNumber        string           `position:"Query" name:"PhoneNumber"`
+	StartTime          requests.Integer `position:"Query" name:"StartTime"`
+	StopTime           requests.Integer `position:"Query" name:"StopTime"`
+	Criteria           string           `position:"Query" name:"Criteria"`
+	ContactType        string           `position:"Query" name:"ContactType"`
+	ContactDisposition string           `position:"Query" name:"ContactDisposition"`
+	WithRecording      requests.Boolean `position:"Query" name:"WithRecording"`
+	PageNumber         requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize           requests.Integer `position:"Query" name:"PageSize"`
 }
 
 type ListCallDetailRecordsResponse struct {

+ 2 - 0
services/ccc/struct_call_detail_record.go

@@ -19,6 +19,7 @@ type CallDetailRecord struct {
 	ContactId          string                            `json:"ContactId" xml:"ContactId"`
 	StartTime          int                               `json:"StartTime" xml:"StartTime"`
 	Duration           int                               `json:"Duration" xml:"Duration"`
+	Satisfaction       int                               `json:"Satisfaction" xml:"Satisfaction"`
 	ContactType        string                            `json:"ContactType" xml:"ContactType"`
 	ContactDisposition string                            `json:"ContactDisposition" xml:"ContactDisposition"`
 	CallingNumber      string                            `json:"CallingNumber" xml:"CallingNumber"`
@@ -26,6 +27,7 @@ type CallDetailRecord struct {
 	AgentNames         string                            `json:"AgentNames" xml:"AgentNames"`
 	SkillGroupNames    string                            `json:"SkillGroupNames" xml:"SkillGroupNames"`
 	InstanceId         string                            `json:"InstanceId" xml:"InstanceId"`
+	ExtraAttr          string                            `json:"ExtraAttr" xml:"ExtraAttr"`
 	Agents             Agents                            `json:"Agents" xml:"Agents"`
 	Recordings         RecordingsInListCallDetailRecords `json:"Recordings" xml:"Recordings"`
 }

+ 1 - 0
services/ccc/struct_login_info.go

@@ -18,6 +18,7 @@ package ccc
 type LoginInfo struct {
 	UserName       string `json:"UserName" xml:"UserName"`
 	DisplayName    string `json:"DisplayName" xml:"DisplayName"`
+	PhoneNumber    string `json:"PhoneNumber" xml:"PhoneNumber"`
 	Region         string `json:"Region" xml:"Region"`
 	WebRtcUrl      string `json:"WebRtcUrl" xml:"WebRtcUrl"`
 	AgentServerUrl string `json:"AgentServerUrl" xml:"AgentServerUrl"`

+ 95 - 0
services/ddospro/create_blockhole.go

@@ -0,0 +1,95 @@
+package ddospro
+
+//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"
+)
+
+func (client *Client) CreateBlockhole(request *CreateBlockholeRequest) (response *CreateBlockholeResponse, err error) {
+	response = CreateCreateBlockholeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateBlockholeWithChan(request *CreateBlockholeRequest) (<-chan *CreateBlockholeResponse, <-chan error) {
+	responseChan := make(chan *CreateBlockholeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateBlockhole(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateBlockholeWithCallback(request *CreateBlockholeRequest, callback func(response *CreateBlockholeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateBlockholeResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateBlockhole(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateBlockholeRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Vip             string           `position:"Query" name:"Vip"`
+	BlockZone       string           `position:"Query" name:"BlockZone"`
+	BlockTime       requests.Integer `position:"Query" name:"BlockTime"`
+}
+
+type CreateBlockholeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateCreateBlockholeRequest() (request *CreateBlockholeRequest) {
+	request = &CreateBlockholeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("DDoSPro", "2017-07-25", "CreateBlockhole", "", "")
+	return
+}
+
+func CreateCreateBlockholeResponse() (response *CreateBlockholeResponse) {
+	response = &CreateBlockholeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/ddospro/delete_black_hole.go

@@ -0,0 +1,94 @@
+package ddospro
+
+//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"
+)
+
+func (client *Client) DeleteBlackHole(request *DeleteBlackHoleRequest) (response *DeleteBlackHoleResponse, err error) {
+	response = CreateDeleteBlackHoleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteBlackHoleWithChan(request *DeleteBlackHoleRequest) (<-chan *DeleteBlackHoleResponse, <-chan error) {
+	responseChan := make(chan *DeleteBlackHoleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteBlackHole(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteBlackHoleWithCallback(request *DeleteBlackHoleRequest, callback func(response *DeleteBlackHoleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteBlackHoleResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteBlackHole(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteBlackHoleRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Vip             string           `position:"Query" name:"Vip"`
+}
+
+type DeleteBlackHoleResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"data" xml:"data"`
+}
+
+func CreateDeleteBlackHoleRequest() (request *DeleteBlackHoleRequest) {
+	request = &DeleteBlackHoleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("DDoSPro", "2017-07-25", "DeleteBlackHole", "", "")
+	return
+}
+
+func CreateDeleteBlackHoleResponse() (response *DeleteBlackHoleResponse) {
+	response = &DeleteBlackHoleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/ddospro/delete_blockhole.go

@@ -0,0 +1,93 @@
+package ddospro
+
+//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"
+)
+
+func (client *Client) DeleteBlockhole(request *DeleteBlockholeRequest) (response *DeleteBlockholeResponse, err error) {
+	response = CreateDeleteBlockholeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteBlockholeWithChan(request *DeleteBlockholeRequest) (<-chan *DeleteBlockholeResponse, <-chan error) {
+	responseChan := make(chan *DeleteBlockholeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteBlockhole(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteBlockholeWithCallback(request *DeleteBlockholeRequest, callback func(response *DeleteBlockholeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteBlockholeResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteBlockhole(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteBlockholeRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Vip             string           `position:"Query" name:"Vip"`
+}
+
+type DeleteBlockholeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteBlockholeRequest() (request *DeleteBlockholeRequest) {
+	request = &DeleteBlockholeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("DDoSPro", "2017-07-25", "DeleteBlockhole", "", "")
+	return
+}
+
+func CreateDeleteBlockholeResponse() (response *DeleteBlockholeResponse) {
+	response = &DeleteBlockholeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/ddospro/describe_cc_mode.go

@@ -0,0 +1,94 @@
+package ddospro
+
+//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"
+)
+
+func (client *Client) DescribeCcMode(request *DescribeCcModeRequest) (response *DescribeCcModeResponse, err error) {
+	response = CreateDescribeCcModeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeCcModeWithChan(request *DescribeCcModeRequest) (<-chan *DescribeCcModeResponse, <-chan error) {
+	responseChan := make(chan *DescribeCcModeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCcMode(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeCcModeWithCallback(request *DescribeCcModeRequest, callback func(response *DescribeCcModeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCcModeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCcMode(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeCcModeRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Vips            *[]string        `position:"Query" name:"Vips"  type:"Repeated"`
+}
+
+type DescribeCcModeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      []Data `json:"Data" xml:"Data"`
+}
+
+func CreateDescribeCcModeRequest() (request *DescribeCcModeRequest) {
+	request = &DescribeCcModeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("DDoSPro", "2017-07-25", "DescribeCcMode", "", "")
+	return
+}
+
+func CreateDescribeCcModeResponse() (response *DescribeCcModeResponse) {
+	response = &DescribeCcModeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/ddospro/describe_ddos_status.go

@@ -0,0 +1,94 @@
+package ddospro
+
+//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"
+)
+
+func (client *Client) DescribeDdosStatus(request *DescribeDdosStatusRequest) (response *DescribeDdosStatusResponse, err error) {
+	response = CreateDescribeDdosStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDdosStatusWithChan(request *DescribeDdosStatusRequest) (<-chan *DescribeDdosStatusResponse, <-chan error) {
+	responseChan := make(chan *DescribeDdosStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDdosStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDdosStatusWithCallback(request *DescribeDdosStatusRequest, callback func(response *DescribeDdosStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDdosStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDdosStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDdosStatusRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Vips            *[]string        `position:"Query" name:"Vips"  type:"Repeated"`
+}
+
+type DescribeDdosStatusResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      []Data `json:"Data" xml:"Data"`
+}
+
+func CreateDescribeDdosStatusRequest() (request *DescribeDdosStatusRequest) {
+	request = &DescribeDdosStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("DDoSPro", "2017-07-25", "DescribeDdosStatus", "", "")
+	return
+}
+
+func CreateDescribeDdosStatusResponse() (response *DescribeDdosStatusResponse) {
+	response = &DescribeDdosStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/ddospro/describe_flow_blockhole_status.go

@@ -0,0 +1,94 @@
+package ddospro
+
+//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"
+)
+
+func (client *Client) DescribeFlowBlockholeStatus(request *DescribeFlowBlockholeStatusRequest) (response *DescribeFlowBlockholeStatusResponse, err error) {
+	response = CreateDescribeFlowBlockholeStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeFlowBlockholeStatusWithChan(request *DescribeFlowBlockholeStatusRequest) (<-chan *DescribeFlowBlockholeStatusResponse, <-chan error) {
+	responseChan := make(chan *DescribeFlowBlockholeStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeFlowBlockholeStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeFlowBlockholeStatusWithCallback(request *DescribeFlowBlockholeStatusRequest, callback func(response *DescribeFlowBlockholeStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeFlowBlockholeStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeFlowBlockholeStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeFlowBlockholeStatusRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Vips            *[]string        `position:"Query" name:"Vips"  type:"Repeated"`
+}
+
+type DescribeFlowBlockholeStatusResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      []Data `json:"Data" xml:"Data"`
+}
+
+func CreateDescribeFlowBlockholeStatusRequest() (request *DescribeFlowBlockholeStatusRequest) {
+	request = &DescribeFlowBlockholeStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("DDoSPro", "2017-07-25", "DescribeFlowBlockholeStatus", "", "")
+	return
+}
+
+func CreateDescribeFlowBlockholeStatusResponse() (response *DescribeFlowBlockholeStatusResponse) {
+	response = &DescribeFlowBlockholeStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 98 - 0
services/ddospro/describe_instance_page.go

@@ -0,0 +1,98 @@
+package ddospro
+
+//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"
+)
+
+func (client *Client) DescribeInstancePage(request *DescribeInstancePageRequest) (response *DescribeInstancePageResponse, err error) {
+	response = CreateDescribeInstancePageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeInstancePageWithChan(request *DescribeInstancePageRequest) (<-chan *DescribeInstancePageResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstancePageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstancePage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeInstancePageWithCallback(request *DescribeInstancePageRequest, callback func(response *DescribeInstancePageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstancePageResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstancePage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeInstancePageRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+	InstanceIdList  *[]string        `position:"Query" name:"InstanceIdList"  type:"Repeated"`
+	IpList          *[]string        `position:"Query" name:"IpList"  type:"Repeated"`
+}
+
+type DescribeInstancePageResponse struct {
+	*responses.BaseResponse
+	RequestId    string         `json:"RequestId" xml:"RequestId"`
+	Total        int            `json:"Total" xml:"Total"`
+	InstanceList []InstanceInfo `json:"InstanceList" xml:"InstanceList"`
+}
+
+func CreateDescribeInstancePageRequest() (request *DescribeInstancePageRequest) {
+	request = &DescribeInstancePageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("DDoSPro", "2017-07-25", "DescribeInstancePage", "", "")
+	return
+}
+
+func CreateDescribeInstancePageResponse() (response *DescribeInstancePageResponse) {
+	response = &DescribeInstancePageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 100 - 0
services/ddospro/describe_oplog.go

@@ -0,0 +1,100 @@
+package ddospro
+
+//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"
+)
+
+func (client *Client) DescribeOplog(request *DescribeOplogRequest) (response *DescribeOplogResponse, err error) {
+	response = CreateDescribeOplogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeOplogWithChan(request *DescribeOplogRequest) (<-chan *DescribeOplogResponse, <-chan error) {
+	responseChan := make(chan *DescribeOplogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeOplog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeOplogWithCallback(request *DescribeOplogRequest, callback func(response *DescribeOplogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeOplogResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeOplog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeOplogRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceId      string           `position:"Query" name:"ResourceId"`
+	Result          requests.Integer `position:"Query" name:"Result"`
+	StartTime       requests.Integer `position:"Query" name:"StartTime"`
+	EndTime         requests.Integer `position:"Query" name:"EndTime"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+}
+
+type DescribeOplogResponse struct {
+	*responses.BaseResponse
+	RequestId string                `json:"RequestId" xml:"RequestId"`
+	Total     int                   `json:"Total" xml:"Total"`
+	OplogList []DataInDescribeOplog `json:"OplogList" xml:"OplogList"`
+}
+
+func CreateDescribeOplogRequest() (request *DescribeOplogRequest) {
+	request = &DescribeOplogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("DDoSPro", "2017-07-25", "DescribeOplog", "", "")
+	return
+}
+
+func CreateDescribeOplogResponse() (response *DescribeOplogResponse) {
+	response = &DescribeOplogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/ddospro/describe_un_blackhole_count.go

@@ -0,0 +1,93 @@
+package ddospro
+
+//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"
+)
+
+func (client *Client) DescribeUnBlackholeCount(request *DescribeUnBlackholeCountRequest) (response *DescribeUnBlackholeCountResponse, err error) {
+	response = CreateDescribeUnBlackholeCountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeUnBlackholeCountWithChan(request *DescribeUnBlackholeCountRequest) (<-chan *DescribeUnBlackholeCountResponse, <-chan error) {
+	responseChan := make(chan *DescribeUnBlackholeCountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUnBlackholeCount(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeUnBlackholeCountWithCallback(request *DescribeUnBlackholeCountRequest, callback func(response *DescribeUnBlackholeCountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUnBlackholeCountResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUnBlackholeCount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeUnBlackholeCountRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+}
+
+type DescribeUnBlackholeCountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+func CreateDescribeUnBlackholeCountRequest() (request *DescribeUnBlackholeCountRequest) {
+	request = &DescribeUnBlackholeCountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("DDoSPro", "2017-07-25", "DescribeUnBlackholeCount", "", "")
+	return
+}
+
+func CreateDescribeUnBlackholeCountResponse() (response *DescribeUnBlackholeCountResponse) {
+	response = &DescribeUnBlackholeCountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/ddospro/describe_un_blockhole_count.go

@@ -0,0 +1,93 @@
+package ddospro
+
+//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"
+)
+
+func (client *Client) DescribeUnBlockholeCount(request *DescribeUnBlockholeCountRequest) (response *DescribeUnBlockholeCountResponse, err error) {
+	response = CreateDescribeUnBlockholeCountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeUnBlockholeCountWithChan(request *DescribeUnBlockholeCountRequest) (<-chan *DescribeUnBlockholeCountResponse, <-chan error) {
+	responseChan := make(chan *DescribeUnBlockholeCountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUnBlockholeCount(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeUnBlockholeCountWithCallback(request *DescribeUnBlockholeCountRequest, callback func(response *DescribeUnBlockholeCountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUnBlockholeCountResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUnBlockholeCount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeUnBlockholeCountRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+}
+
+type DescribeUnBlockholeCountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+func CreateDescribeUnBlockholeCountRequest() (request *DescribeUnBlockholeCountRequest) {
+	request = &DescribeUnBlockholeCountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("DDoSPro", "2017-07-25", "DescribeUnBlockholeCount", "", "")
+	return
+}
+
+func CreateDescribeUnBlockholeCountResponse() (response *DescribeUnBlockholeCountResponse) {
+	response = &DescribeUnBlockholeCountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 95 - 0
services/ddospro/modify_cc_mode.go

@@ -0,0 +1,95 @@
+package ddospro
+
+//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"
+)
+
+func (client *Client) ModifyCcMode(request *ModifyCcModeRequest) (response *ModifyCcModeResponse, err error) {
+	response = CreateModifyCcModeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ModifyCcModeWithChan(request *ModifyCcModeRequest) (<-chan *ModifyCcModeResponse, <-chan error) {
+	responseChan := make(chan *ModifyCcModeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyCcMode(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ModifyCcModeWithCallback(request *ModifyCcModeRequest, callback func(response *ModifyCcModeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyCcModeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyCcMode(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ModifyCcModeRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Vip             string           `position:"Query" name:"Vip"`
+	CcMode          string           `position:"Query" name:"CcMode"`
+}
+
+type ModifyCcModeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      string `json:"data" xml:"data"`
+}
+
+func CreateModifyCcModeRequest() (request *ModifyCcModeRequest) {
+	request = &ModifyCcModeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("DDoSPro", "2017-07-25", "ModifyCcMode", "", "")
+	return
+}
+
+func CreateModifyCcModeResponse() (response *ModifyCcModeResponse) {
+	response = &ModifyCcModeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 9 - 7
services/ddospro/struct_data.go

@@ -16,11 +16,13 @@ package ddospro
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 type Data struct {
-	PpsTotal  []string  `json:"PpsTotal" xml:"PpsTotal"`
-	BpsTotal  []string  `json:"BpsTotal" xml:"BpsTotal"`
-	BpsDrop   []string  `json:"BpsDrop" xml:"BpsDrop"`
-	Attacks   []string  `json:"Attacks" xml:"Attacks"`
-	PpsDrop   []string  `json:"PpsDrop" xml:"PpsDrop"`
-	Total     []string  `json:"Total" xml:"Total"`
-	TimeScope TimeScope `json:"TimeScope" xml:"TimeScope"`
+	RemainingTime int       `json:"RemainingTime" xml:"RemainingTime"`
+	TotalTime     int       `json:"TotalTime" xml:"TotalTime"`
+	PpsTotal      []string  `json:"PpsTotal" xml:"PpsTotal"`
+	BpsTotal      []string  `json:"BpsTotal" xml:"BpsTotal"`
+	BpsDrop       []string  `json:"BpsDrop" xml:"BpsDrop"`
+	Attacks       []string  `json:"Attacks" xml:"Attacks"`
+	PpsDrop       []string  `json:"PpsDrop" xml:"PpsDrop"`
+	Total         []string  `json:"Total" xml:"Total"`
+	TimeScope     TimeScope `json:"TimeScope" xml:"TimeScope"`
 }

+ 20 - 0
services/ddospro/struct_data_in_describe_cc_mode.go

@@ -0,0 +1,20 @@
+package ddospro
+
+//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.
+
+type DataInDescribeCcMode struct {
+	Data []Data `json:"data" xml:"data"`
+}

+ 20 - 0
services/ddospro/struct_data_in_describe_ddos_status.go

@@ -0,0 +1,20 @@
+package ddospro
+
+//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.
+
+type DataInDescribeDdosStatus struct {
+	Data []Data `json:"data" xml:"data"`
+}

+ 20 - 0
services/ddospro/struct_data_in_describe_flow_blockhole_status.go

@@ -0,0 +1,20 @@
+package ddospro
+
+//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.
+
+type DataInDescribeFlowBlockholeStatus struct {
+	Data []Data `json:"data" xml:"data"`
+}

+ 24 - 0
services/ddospro/struct_data_in_describe_oplog.go

@@ -0,0 +1,24 @@
+package ddospro
+
+//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.
+
+type DataInDescribeOplog struct {
+	Result     int    `json:"Result" xml:"Result"`
+	ResourceId string `json:"ResourceId" xml:"ResourceId"`
+	OpDesc     string `json:"OpDesc" xml:"OpDesc"`
+	OpDate     int    `json:"OpDate" xml:"OpDate"`
+	OpAction   int    `json:"OpAction" xml:"OpAction"`
+}

+ 21 - 0
services/ddospro/struct_instance_info.go

@@ -0,0 +1,21 @@
+package ddospro
+
+//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.
+
+type InstanceInfo struct {
+	InstanceId string   `json:"InstanceId" xml:"InstanceId"`
+	IpList     []IpInfo `json:"IpList" xml:"IpList"`
+}

+ 20 - 0
services/ddospro/struct_instance_list.go

@@ -0,0 +1,20 @@
+package ddospro
+
+//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.
+
+type InstanceList struct {
+	InstanceInfo []InstanceInfo `json:"InstanceInfo" xml:"InstanceInfo"`
+}

+ 24 - 0
services/ddospro/struct_ip_info.go

@@ -0,0 +1,24 @@
+package ddospro
+
+//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.
+
+type IpInfo struct {
+	Ip         string `json:"Ip" xml:"Ip"`
+	OrderId    int    `json:"OrderId" xml:"OrderId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+	Status     int    `json:"Status" xml:"Status"`
+	AliUid     int    `json:"AliUid" xml:"AliUid"`
+}

+ 20 - 0
services/ddospro/struct_ip_list.go

@@ -0,0 +1,20 @@
+package ddospro
+
+//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.
+
+type IpList struct {
+	IpInfo []IpInfo `json:"IpInfo" xml:"IpInfo"`
+}

+ 20 - 0
services/ddospro/struct_oplog_list.go

@@ -0,0 +1,20 @@
+package ddospro
+
+//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.
+
+type OplogList struct {
+	Data []DataInDescribeOplog `json:"data" xml:"data"`
+}

+ 2 - 0
services/ecs/struct_instance_type.go

@@ -17,6 +17,7 @@ package ecs
 
 type InstanceType struct {
 	InstanceTypeFamily   string  `json:"InstanceTypeFamily" xml:"InstanceTypeFamily"`
+	InstanceBandwidthRx  int     `json:"InstanceBandwidthRx" xml:"InstanceBandwidthRx"`
 	SupportIoOptimized   string  `json:"SupportIoOptimized" xml:"SupportIoOptimized"`
 	Cores                int     `json:"Cores" xml:"Cores"`
 	InitialCredit        int     `json:"InitialCredit" xml:"InitialCredit"`
@@ -27,6 +28,7 @@ type InstanceType struct {
 	LocalStorageCapacity int     `json:"LocalStorageCapacity" xml:"LocalStorageCapacity"`
 	Generation           string  `json:"Generation" xml:"Generation"`
 	CpuCoreCount         int     `json:"CpuCoreCount" xml:"CpuCoreCount"`
+	InstanceBandwidthTx  int     `json:"InstanceBandwidthTx" xml:"InstanceBandwidthTx"`
 	MemorySize           float64 `json:"MemorySize" xml:"MemorySize"`
 	InstanceType         string  `json:"InstanceType" xml:"InstanceType"`
 	InstanceTypeId       string  `json:"InstanceTypeId" xml:"InstanceTypeId"`

+ 97 - 0
services/ehpc/add_nodes.go

@@ -0,0 +1,97 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) AddNodes(request *AddNodesRequest) (response *AddNodesResponse, err error) {
+	response = CreateAddNodesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddNodesWithChan(request *AddNodesRequest) (<-chan *AddNodesResponse, <-chan error) {
+	responseChan := make(chan *AddNodesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddNodes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddNodesWithCallback(request *AddNodesRequest, callback func(response *AddNodesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddNodesResponse
+		var err error
+		defer close(result)
+		response, err = client.AddNodes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddNodesRequest struct {
+	*requests.RpcRequest
+	ClusterId             string           `position:"Query" name:"ClusterId"`
+	ImageOwnerAlias       string           `position:"Query" name:"ImageOwnerAlias"`
+	ImageId               string           `position:"Query" name:"ImageId"`
+	Count                 requests.Integer `position:"Query" name:"Count"`
+	ComputeSpotStrategy   string           `position:"Query" name:"ComputeSpotStrategy"`
+	ComputeSpotPriceLimit string           `position:"Query" name:"ComputeSpotPriceLimit"`
+}
+
+type AddNodesResponse struct {
+	*responses.BaseResponse
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	InstanceIds InstanceIds `json:"InstanceIds" xml:"InstanceIds"`
+}
+
+func CreateAddNodesRequest() (request *AddNodesRequest) {
+	request = &AddNodesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "AddNodes", "", "")
+	return
+}
+
+func CreateAddNodesResponse() (response *AddNodesResponse) {
+	response = &AddNodesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 99 - 0
services/ehpc/add_users.go

@@ -0,0 +1,99 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) AddUsers(request *AddUsersRequest) (response *AddUsersResponse, err error) {
+	response = CreateAddUsersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddUsersWithChan(request *AddUsersRequest) (<-chan *AddUsersResponse, <-chan error) {
+	responseChan := make(chan *AddUsersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddUsers(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddUsersWithCallback(request *AddUsersRequest, callback func(response *AddUsersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddUsersResponse
+		var err error
+		defer close(result)
+		response, err = client.AddUsers(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddUsersRequest struct {
+	*requests.RpcRequest
+	ClusterId       string           `position:"Query" name:"ClusterId"`
+	User            *[]AddUsersUser  `position:"Query" name:"User"  type:"Repeated"`
+	ReleaseInstance requests.Boolean `position:"Query" name:"ReleaseInstance"`
+}
+
+type AddUsersUser struct {
+	Name     string `name:"Name"`
+	Group    string `name:"Group"`
+	Password string `name:"Password"`
+}
+
+type AddUsersResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateAddUsersRequest() (request *AddUsersRequest) {
+	request = &AddUsersRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "AddUsers", "", "")
+	return
+}
+
+func CreateAddUsersResponse() (response *AddUsersResponse) {
+	response = &AddUsersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 67 - 0
services/ehpc/client.go

@@ -0,0 +1,67 @@
+package ehpc
+
+//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"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+type Client struct {
+	sdk.Client
+}
+
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 126 - 0
services/ehpc/create_cluster.go

@@ -0,0 +1,126 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) CreateCluster(request *CreateClusterRequest) (response *CreateClusterResponse, err error) {
+	response = CreateCreateClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateClusterWithChan(request *CreateClusterRequest) (<-chan *CreateClusterResponse, <-chan error) {
+	responseChan := make(chan *CreateClusterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateCluster(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateClusterWithCallback(request *CreateClusterRequest, callback func(response *CreateClusterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateClusterResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateCluster(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateClusterRequest struct {
+	*requests.RpcRequest
+	ZoneId                      string                      `position:"Query" name:"ZoneId"`
+	Name                        string                      `position:"Query" name:"Name"`
+	Description                 string                      `position:"Query" name:"Description"`
+	EhpcVersion                 string                      `position:"Query" name:"EhpcVersion"`
+	OsTag                       string                      `position:"Query" name:"OsTag"`
+	AccountType                 string                      `position:"Query" name:"AccountType"`
+	SchedulerType               string                      `position:"Query" name:"SchedulerType"`
+	SecurityGroupId             string                      `position:"Query" name:"SecurityGroupId"`
+	SecurityGroupName           string                      `position:"Query" name:"SecurityGroupName"`
+	VSwitchId                   string                      `position:"Query" name:"VSwitchId"`
+	VolumeType                  string                      `position:"Query" name:"VolumeType"`
+	VolumeId                    string                      `position:"Query" name:"VolumeId"`
+	VolumeProtocol              string                      `position:"Query" name:"VolumeProtocol"`
+	VolumeMountpoint            string                      `position:"Query" name:"VolumeMountpoint"`
+	RemoteDirectory             string                      `position:"Query" name:"RemoteDirectory"`
+	HaEnable                    requests.Boolean            `position:"Query" name:"HaEnable"`
+	EcsChargeType               string                      `position:"Query" name:"EcsChargeType"`
+	Password                    string                      `position:"Query" name:"Password"`
+	KeyPairName                 string                      `position:"Query" name:"KeyPairName"`
+	ImageOwnerAlias             string                      `position:"Query" name:"ImageOwnerAlias"`
+	ImageId                     string                      `position:"Query" name:"ImageId"`
+	EcsOrderManagerCount        requests.Integer            `position:"Query" name:"EcsOrder.Manager.Count"`
+	EcsOrderManagerInstanceType string                      `position:"Query" name:"EcsOrder.Manager.InstanceType"`
+	EcsOrderComputeCount        requests.Integer            `position:"Query" name:"EcsOrder.Compute.Count"`
+	EcsOrderComputeInstanceType string                      `position:"Query" name:"EcsOrder.Compute.InstanceType"`
+	EcsOrderLoginCount          requests.Integer            `position:"Query" name:"EcsOrder.Login.Count"`
+	EcsOrderLoginInstanceType   string                      `position:"Query" name:"EcsOrder.Login.InstanceType"`
+	SccClusterId                string                      `position:"Query" name:"SccClusterId"`
+	ComputeSpotStrategy         string                      `position:"Query" name:"ComputeSpotStrategy"`
+	ComputeSpotPriceLimit       string                      `position:"Query" name:"ComputeSpotPriceLimit"`
+	Application                 *[]CreateClusterApplication `position:"Query" name:"Application"  type:"Repeated"`
+}
+
+type CreateClusterApplication struct {
+	Tag string `name:"Tag"`
+}
+
+type CreateClusterResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	ClusterId string `json:"ClusterId" xml:"ClusterId"`
+}
+
+func CreateCreateClusterRequest() (request *CreateClusterRequest) {
+	request = &CreateClusterRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "CreateCluster", "", "")
+	return
+}
+
+func CreateCreateClusterResponse() (response *CreateClusterResponse) {
+	response = &CreateClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 101 - 0
services/ehpc/create_job_template.go

@@ -0,0 +1,101 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) CreateJobTemplate(request *CreateJobTemplateRequest) (response *CreateJobTemplateResponse, err error) {
+	response = CreateCreateJobTemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateJobTemplateWithChan(request *CreateJobTemplateRequest) (<-chan *CreateJobTemplateResponse, <-chan error) {
+	responseChan := make(chan *CreateJobTemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateJobTemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateJobTemplateWithCallback(request *CreateJobTemplateRequest, callback func(response *CreateJobTemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateJobTemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateJobTemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateJobTemplateRequest struct {
+	*requests.RpcRequest
+	CommandLine        string           `position:"Query" name:"CommandLine"`
+	Name               string           `position:"Query" name:"Name"`
+	RunasUser          string           `position:"Query" name:"RunasUser"`
+	Priority           requests.Integer `position:"Query" name:"Priority"`
+	PackagePath        string           `position:"Query" name:"PackagePath"`
+	StdoutRedirectPath string           `position:"Query" name:"StdoutRedirectPath"`
+	StderrRedirectPath string           `position:"Query" name:"StderrRedirectPath"`
+	ReRunable          requests.Boolean `position:"Query" name:"ReRunable"`
+	ArrayRequest       string           `position:"Query" name:"ArrayRequest"`
+	Variables          string           `position:"Query" name:"Variables"`
+}
+
+type CreateJobTemplateResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TemplateId string `json:"TemplateId" xml:"TemplateId"`
+}
+
+func CreateCreateJobTemplateRequest() (request *CreateJobTemplateRequest) {
+	request = &CreateJobTemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "CreateJobTemplate", "", "")
+	return
+}
+
+func CreateCreateJobTemplateResponse() (response *CreateJobTemplateResponse) {
+	response = &CreateJobTemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/ehpc/delete_cluster.go

@@ -0,0 +1,92 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) DeleteCluster(request *DeleteClusterRequest) (response *DeleteClusterResponse, err error) {
+	response = CreateDeleteClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteClusterWithChan(request *DeleteClusterRequest) (<-chan *DeleteClusterResponse, <-chan error) {
+	responseChan := make(chan *DeleteClusterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteCluster(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteClusterWithCallback(request *DeleteClusterRequest, callback func(response *DeleteClusterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteClusterResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteCluster(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteClusterRequest struct {
+	*requests.RpcRequest
+	ClusterId       string `position:"Query" name:"ClusterId"`
+	ReleaseInstance string `position:"Query" name:"ReleaseInstance"`
+}
+
+type DeleteClusterResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteClusterRequest() (request *DeleteClusterRequest) {
+	request = &DeleteClusterRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "DeleteCluster", "", "")
+	return
+}
+
+func CreateDeleteClusterResponse() (response *DeleteClusterResponse) {
+	response = &DeleteClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/ehpc/delete_job_templates.go

@@ -0,0 +1,91 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) DeleteJobTemplates(request *DeleteJobTemplatesRequest) (response *DeleteJobTemplatesResponse, err error) {
+	response = CreateDeleteJobTemplatesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteJobTemplatesWithChan(request *DeleteJobTemplatesRequest) (<-chan *DeleteJobTemplatesResponse, <-chan error) {
+	responseChan := make(chan *DeleteJobTemplatesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteJobTemplates(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteJobTemplatesWithCallback(request *DeleteJobTemplatesRequest, callback func(response *DeleteJobTemplatesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteJobTemplatesResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteJobTemplates(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteJobTemplatesRequest struct {
+	*requests.RpcRequest
+	Templates string `position:"Query" name:"Templates"`
+}
+
+type DeleteJobTemplatesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteJobTemplatesRequest() (request *DeleteJobTemplatesRequest) {
+	request = &DeleteJobTemplatesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "DeleteJobTemplates", "", "")
+	return
+}
+
+func CreateDeleteJobTemplatesResponse() (response *DeleteJobTemplatesResponse) {
+	response = &DeleteJobTemplatesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/ehpc/delete_jobs.go

@@ -0,0 +1,92 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) DeleteJobs(request *DeleteJobsRequest) (response *DeleteJobsResponse, err error) {
+	response = CreateDeleteJobsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteJobsWithChan(request *DeleteJobsRequest) (<-chan *DeleteJobsResponse, <-chan error) {
+	responseChan := make(chan *DeleteJobsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteJobs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteJobsWithCallback(request *DeleteJobsRequest, callback func(response *DeleteJobsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteJobsResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteJobs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteJobsRequest struct {
+	*requests.RpcRequest
+	ClusterId string `position:"Query" name:"ClusterId"`
+	Jobs      string `position:"Query" name:"Jobs"`
+}
+
+type DeleteJobsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteJobsRequest() (request *DeleteJobsRequest) {
+	request = &DeleteJobsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "DeleteJobs", "", "")
+	return
+}
+
+func CreateDeleteJobsResponse() (response *DeleteJobsResponse) {
+	response = &DeleteJobsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/ehpc/delete_nodes.go

@@ -0,0 +1,97 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) DeleteNodes(request *DeleteNodesRequest) (response *DeleteNodesResponse, err error) {
+	response = CreateDeleteNodesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteNodesWithChan(request *DeleteNodesRequest) (<-chan *DeleteNodesResponse, <-chan error) {
+	responseChan := make(chan *DeleteNodesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteNodes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteNodesWithCallback(request *DeleteNodesRequest, callback func(response *DeleteNodesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteNodesResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteNodes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteNodesRequest struct {
+	*requests.RpcRequest
+	ClusterId       string                 `position:"Query" name:"ClusterId"`
+	Instance        *[]DeleteNodesInstance `position:"Query" name:"Instance"  type:"Repeated"`
+	ReleaseInstance requests.Boolean       `position:"Query" name:"ReleaseInstance"`
+}
+
+type DeleteNodesInstance struct {
+	Id string `name:"Id"`
+}
+
+type DeleteNodesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteNodesRequest() (request *DeleteNodesRequest) {
+	request = &DeleteNodesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "DeleteNodes", "", "")
+	return
+}
+
+func CreateDeleteNodesResponse() (response *DeleteNodesResponse) {
+	response = &DeleteNodesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/ehpc/delete_users.go

@@ -0,0 +1,96 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) DeleteUsers(request *DeleteUsersRequest) (response *DeleteUsersResponse, err error) {
+	response = CreateDeleteUsersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteUsersWithChan(request *DeleteUsersRequest) (<-chan *DeleteUsersResponse, <-chan error) {
+	responseChan := make(chan *DeleteUsersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteUsers(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteUsersWithCallback(request *DeleteUsersRequest, callback func(response *DeleteUsersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteUsersResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteUsers(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteUsersRequest struct {
+	*requests.RpcRequest
+	ClusterId string             `position:"Query" name:"ClusterId"`
+	User      *[]DeleteUsersUser `position:"Query" name:"User"  type:"Repeated"`
+}
+
+type DeleteUsersUser struct {
+	Name string `name:"Name"`
+}
+
+type DeleteUsersResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteUsersRequest() (request *DeleteUsersRequest) {
+	request = &DeleteUsersRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "DeleteUsers", "", "")
+	return
+}
+
+func CreateDeleteUsersResponse() (response *DeleteUsersResponse) {
+	response = &DeleteUsersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/ehpc/describe_cluster.go

@@ -0,0 +1,92 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) DescribeCluster(request *DescribeClusterRequest) (response *DescribeClusterResponse, err error) {
+	response = CreateDescribeClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeClusterWithChan(request *DescribeClusterRequest) (<-chan *DescribeClusterResponse, <-chan error) {
+	responseChan := make(chan *DescribeClusterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCluster(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeClusterWithCallback(request *DescribeClusterRequest, callback func(response *DescribeClusterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeClusterResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCluster(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeClusterRequest struct {
+	*requests.RpcRequest
+	ClusterId string `position:"Query" name:"ClusterId"`
+}
+
+type DescribeClusterResponse struct {
+	*responses.BaseResponse
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	ClusterInfo ClusterInfo `json:"ClusterInfo" xml:"ClusterInfo"`
+}
+
+func CreateDescribeClusterRequest() (request *DescribeClusterRequest) {
+	request = &DescribeClusterRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "DescribeCluster", "", "")
+	return
+}
+
+func CreateDescribeClusterResponse() (response *DescribeClusterResponse) {
+	response = &DescribeClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 102 - 0
services/ehpc/edit_job_template.go

@@ -0,0 +1,102 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) EditJobTemplate(request *EditJobTemplateRequest) (response *EditJobTemplateResponse, err error) {
+	response = CreateEditJobTemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) EditJobTemplateWithChan(request *EditJobTemplateRequest) (<-chan *EditJobTemplateResponse, <-chan error) {
+	responseChan := make(chan *EditJobTemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.EditJobTemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) EditJobTemplateWithCallback(request *EditJobTemplateRequest, callback func(response *EditJobTemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *EditJobTemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.EditJobTemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type EditJobTemplateRequest struct {
+	*requests.RpcRequest
+	TemplateId         string           `position:"Query" name:"TemplateId"`
+	CommandLine        string           `position:"Query" name:"CommandLine"`
+	Name               string           `position:"Query" name:"Name"`
+	RunasUser          string           `position:"Query" name:"RunasUser"`
+	Priority           requests.Integer `position:"Query" name:"Priority"`
+	PackagePath        string           `position:"Query" name:"PackagePath"`
+	StdoutRedirectPath string           `position:"Query" name:"StdoutRedirectPath"`
+	StderrRedirectPath string           `position:"Query" name:"StderrRedirectPath"`
+	ReRunnable         requests.Boolean `position:"Query" name:"ReRunnable"`
+	ArrayRequest       string           `position:"Query" name:"ArrayRequest"`
+	Variables          string           `position:"Query" name:"Variables"`
+}
+
+type EditJobTemplateResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TemplateId string `json:"TemplateId" xml:"TemplateId"`
+}
+
+func CreateEditJobTemplateRequest() (request *EditJobTemplateRequest) {
+	request = &EditJobTemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "EditJobTemplate", "", "")
+	return
+}
+
+func CreateEditJobTemplateResponse() (response *EditJobTemplateResponse) {
+	response = &EditJobTemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ehpc/get_auto_scale_config.go

@@ -0,0 +1,104 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) GetAutoScaleConfig(request *GetAutoScaleConfigRequest) (response *GetAutoScaleConfigResponse, err error) {
+	response = CreateGetAutoScaleConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetAutoScaleConfigWithChan(request *GetAutoScaleConfigRequest) (<-chan *GetAutoScaleConfigResponse, <-chan error) {
+	responseChan := make(chan *GetAutoScaleConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAutoScaleConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetAutoScaleConfigWithCallback(request *GetAutoScaleConfigRequest, callback func(response *GetAutoScaleConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAutoScaleConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAutoScaleConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetAutoScaleConfigRequest struct {
+	*requests.RpcRequest
+	ClusterId string `position:"Query" name:"ClusterId"`
+}
+
+type GetAutoScaleConfigResponse struct {
+	*responses.BaseResponse
+	RequestId               string `json:"RequestId" xml:"RequestId"`
+	Uid                     string `json:"Uid" xml:"Uid"`
+	ClusterId               string `json:"ClusterId" xml:"ClusterId"`
+	ClusterType             string `json:"ClusterType" xml:"ClusterType"`
+	EnableAutoGrow          bool   `json:"EnableAutoGrow" xml:"EnableAutoGrow"`
+	EnableAutoShrink        bool   `json:"EnableAutoShrink" xml:"EnableAutoShrink"`
+	GrowIntervalInMinutes   int    `json:"GrowIntervalInMinutes" xml:"GrowIntervalInMinutes"`
+	ShrinkIntervalInMinutes int    `json:"ShrinkIntervalInMinutes" xml:"ShrinkIntervalInMinutes"`
+	ShrinkIdleTimes         int    `json:"ShrinkIdleTimes" xml:"ShrinkIdleTimes"`
+	GrowTimeoutInMinutes    int    `json:"GrowTimeoutInMinutes" xml:"GrowTimeoutInMinutes"`
+	ExtraNodesGrowRatio     int    `json:"ExtraNodesGrowRatio" xml:"ExtraNodesGrowRatio"`
+	GrowRatio               int    `json:"GrowRatio" xml:"GrowRatio"`
+	MaxNodesInCluster       int    `json:"MaxNodesInCluster" xml:"MaxNodesInCluster"`
+	ExcludeNodes            string `json:"ExcludeNodes" xml:"ExcludeNodes"`
+}
+
+func CreateGetAutoScaleConfigRequest() (request *GetAutoScaleConfigRequest) {
+	request = &GetAutoScaleConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "GetAutoScaleConfig", "", "")
+	return
+}
+
+func CreateGetAutoScaleConfigResponse() (response *GetAutoScaleConfigResponse) {
+	response = &GetAutoScaleConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 98 - 0
services/ehpc/list_cluster_logs.go

@@ -0,0 +1,98 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) ListClusterLogs(request *ListClusterLogsRequest) (response *ListClusterLogsResponse, err error) {
+	response = CreateListClusterLogsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ListClusterLogsWithChan(request *ListClusterLogsRequest) (<-chan *ListClusterLogsResponse, <-chan error) {
+	responseChan := make(chan *ListClusterLogsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListClusterLogs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ListClusterLogsWithCallback(request *ListClusterLogsRequest, callback func(response *ListClusterLogsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListClusterLogsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListClusterLogs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ListClusterLogsRequest struct {
+	*requests.RpcRequest
+	ClusterId  string           `position:"Query" name:"ClusterId"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+type ListClusterLogsResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int    `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int    `json:"PageSize" xml:"PageSize"`
+	ClusterId  string `json:"ClusterId" xml:"ClusterId"`
+	Logs       Logs   `json:"Logs" xml:"Logs"`
+}
+
+func CreateListClusterLogsRequest() (request *ListClusterLogsRequest) {
+	request = &ListClusterLogsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "ListClusterLogs", "", "")
+	return
+}
+
+func CreateListClusterLogsResponse() (response *ListClusterLogsResponse) {
+	response = &ListClusterLogsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/ehpc/list_clusters.go

@@ -0,0 +1,96 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) ListClusters(request *ListClustersRequest) (response *ListClustersResponse, err error) {
+	response = CreateListClustersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ListClustersWithChan(request *ListClustersRequest) (<-chan *ListClustersResponse, <-chan error) {
+	responseChan := make(chan *ListClustersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListClusters(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ListClustersWithCallback(request *ListClustersRequest, callback func(response *ListClustersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListClustersResponse
+		var err error
+		defer close(result)
+		response, err = client.ListClusters(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ListClustersRequest struct {
+	*requests.RpcRequest
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+type ListClustersResponse struct {
+	*responses.BaseResponse
+	RequestId  string   `json:"RequestId" xml:"RequestId"`
+	TotalCount int      `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int      `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int      `json:"PageSize" xml:"PageSize"`
+	Clusters   Clusters `json:"Clusters" xml:"Clusters"`
+}
+
+func CreateListClustersRequest() (request *ListClustersRequest) {
+	request = &ListClustersRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "ListClusters", "", "")
+	return
+}
+
+func CreateListClustersResponse() (response *ListClustersResponse) {
+	response = &ListClustersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/ehpc/list_current_client_version.go

@@ -0,0 +1,91 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) ListCurrentClientVersion(request *ListCurrentClientVersionRequest) (response *ListCurrentClientVersionResponse, err error) {
+	response = CreateListCurrentClientVersionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ListCurrentClientVersionWithChan(request *ListCurrentClientVersionRequest) (<-chan *ListCurrentClientVersionResponse, <-chan error) {
+	responseChan := make(chan *ListCurrentClientVersionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListCurrentClientVersion(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ListCurrentClientVersionWithCallback(request *ListCurrentClientVersionRequest, callback func(response *ListCurrentClientVersionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListCurrentClientVersionResponse
+		var err error
+		defer close(result)
+		response, err = client.ListCurrentClientVersion(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ListCurrentClientVersionRequest struct {
+	*requests.RpcRequest
+}
+
+type ListCurrentClientVersionResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	ClientVersion string `json:"ClientVersion" xml:"ClientVersion"`
+}
+
+func CreateListCurrentClientVersionRequest() (request *ListCurrentClientVersionRequest) {
+	request = &ListCurrentClientVersionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "ListCurrentClientVersion", "", "")
+	return
+}
+
+func CreateListCurrentClientVersionResponse() (response *ListCurrentClientVersionResponse) {
+	response = &ListCurrentClientVersionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/ehpc/list_custom_images.go

@@ -0,0 +1,93 @@
+package ehpc
+
+//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"
+)
+
+func (client *Client) ListCustomImages(request *ListCustomImagesRequest) (response *ListCustomImagesResponse, err error) {
+	response = CreateListCustomImagesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ListCustomImagesWithChan(request *ListCustomImagesRequest) (<-chan *ListCustomImagesResponse, <-chan error) {
+	responseChan := make(chan *ListCustomImagesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListCustomImages(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ListCustomImagesWithCallback(request *ListCustomImagesRequest, callback func(response *ListCustomImagesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListCustomImagesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListCustomImages(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ListCustomImagesRequest struct {
+	*requests.RpcRequest
+	ImageOwnerAlias string `position:"Query" name:"ImageOwnerAlias"`
+	BaseOsTag       string `position:"Query" name:"BaseOsTag"`
+}
+
+type ListCustomImagesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Images    Images `json:"Images" xml:"Images"`
+}
+
+func CreateListCustomImagesRequest() (request *ListCustomImagesRequest) {
+	request = &ListCustomImagesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2017-07-14", "ListCustomImages", "", "")
+	return
+}
+
+func CreateListCustomImagesResponse() (response *ListCustomImagesResponse) {
+	response = &ListCustomImagesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

部分文件因为文件数量过多而无法显示