Browse Source

EDAS SDK Auto Released By jianlie.zjl,Version:1.52.1

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 years ago
parent
commit
b13ed3c450
100 changed files with 10077 additions and 0 deletions
  1. 3 0
      ChangeLog.txt
  2. 107 0
      services/edas/authorize_application.go
  3. 107 0
      services/edas/authorize_resource_group.go
  4. 107 0
      services/edas/authorize_role.go
  5. 113 0
      services/edas/bind_k8s_slb.go
  6. 108 0
      services/edas/bind_serverless_slb.go
  7. 112 0
      services/edas/bind_slb.go
  8. 81 0
      services/edas/client.go
  9. 128 0
      services/edas/create_serverless_application.go
  10. 107 0
      services/edas/delete_application.go
  11. 107 0
      services/edas/delete_cluster.go
  12. 108 0
      services/edas/delete_cluster_member.go
  13. 108 0
      services/edas/delete_config_center.go
  14. 107 0
      services/edas/delete_degrade_control.go
  15. 108 0
      services/edas/delete_deploy_group.go
  16. 107 0
      services/edas/delete_ecu.go
  17. 107 0
      services/edas/delete_flow_control.go
  18. 107 0
      services/edas/delete_k8s_application.go
  19. 106 0
      services/edas/delete_role.go
  20. 107 0
      services/edas/delete_serverless_application.go
  21. 106 0
      services/edas/delete_service_group.go
  22. 107 0
      services/edas/delete_user_define_region.go
  23. 118 0
      services/edas/deploy_application.go
  24. 126 0
      services/edas/deploy_k8s_application.go
  25. 121 0
      services/edas/deploy_serverless_application.go
  26. 107 0
      services/edas/disable_degrade_control.go
  27. 107 0
      services/edas/disable_flow_control.go
  28. 107 0
      services/edas/enable_degrade_control.go
  29. 107 0
      services/edas/enable_flow_control.go
  30. 107 0
      services/edas/get_application.go
  31. 107 0
      services/edas/get_change_order_info.go
  32. 108 0
      services/edas/get_container_configuration.go
  33. 108 0
      services/edas/get_jvm_configuration.go
  34. 106 0
      services/edas/get_package_storage_credential.go
  35. 107 0
      services/edas/get_secure_token.go
  36. 106 0
      services/edas/get_serverless_app_config_detail.go
  37. 107 0
      services/edas/import_k8s_cluster.go
  38. 119 0
      services/edas/insert_application.go
  39. 113 0
      services/edas/insert_cluster.go
  40. 109 0
      services/edas/insert_cluster_member.go
  41. 109 0
      services/edas/insert_config_center.go
  42. 112 0
      services/edas/insert_degrade_control.go
  43. 108 0
      services/edas/insert_deploy_group.go
  44. 114 0
      services/edas/insert_flow_control.go
  45. 137 0
      services/edas/insert_k8s_application.go
  46. 112 0
      services/edas/insert_or_update_region.go
  47. 108 0
      services/edas/insert_role.go
  48. 128 0
      services/edas/insert_serverless_application.go
  49. 106 0
      services/edas/insert_service_group.go
  50. 109 0
      services/edas/install_agent.go
  51. 106 0
      services/edas/list_aliyun_region.go
  52. 106 0
      services/edas/list_application.go
  53. 106 0
      services/edas/list_application_ecu.go
  54. 106 0
      services/edas/list_authority.go
  55. 106 0
      services/edas/list_build_pack.go
  56. 107 0
      services/edas/list_cluster.go
  57. 109 0
      services/edas/list_cluster_members.go
  58. 105 0
      services/edas/list_components.go
  59. 109 0
      services/edas/list_config_centers.go
  60. 107 0
      services/edas/list_consumed_services.go
  61. 107 0
      services/edas/list_convertable_ecu.go
  62. 107 0
      services/edas/list_degrade_controls.go
  63. 107 0
      services/edas/list_deploy_group.go
  64. 108 0
      services/edas/list_ecs_not_in_cluster.go
  65. 108 0
      services/edas/list_ecu_by_region.go
  66. 107 0
      services/edas/list_flow_controls.go
  67. 107 0
      services/edas/list_history_deploy_version.go
  68. 107 0
      services/edas/list_published_services.go
  69. 107 0
      services/edas/list_recent_change_order.go
  70. 106 0
      services/edas/list_resource_group.go
  71. 106 0
      services/edas/list_role.go
  72. 113 0
      services/edas/list_scale_out_ecu.go
  73. 106 0
      services/edas/list_service_groups.go
  74. 106 0
      services/edas/list_slb.go
  75. 106 0
      services/edas/list_sub_account.go
  76. 107 0
      services/edas/list_user_define_region.go
  77. 106 0
      services/edas/list_vpc.go
  78. 108 0
      services/edas/migrate_ecu.go
  79. 107 0
      services/edas/query_application_status.go
  80. 109 0
      services/edas/query_config_center.go
  81. 107 0
      services/edas/query_migrate_ecu_list.go
  82. 107 0
      services/edas/query_migrate_region_list.go
  83. 112 0
      services/edas/query_monitor_info.go
  84. 108 0
      services/edas/reset_application.go
  85. 111 0
      services/edas/rollback_application.go
  86. 108 0
      services/edas/scale_in_application.go
  87. 108 0
      services/edas/scale_k8s_application.go
  88. 109 0
      services/edas/scale_out_application.go
  89. 107 0
      services/edas/scale_serverless_application.go
  90. 108 0
      services/edas/start_application.go
  91. 108 0
      services/edas/stop_application.go
  92. 24 0
      services/edas/struct_action.go
  93. 21 0
      services/edas/struct_action_list_in_list_authority.go
  94. 21 0
      services/edas/struct_action_list_in_list_role.go
  95. 43 0
      services/edas/struct_app.go
  96. 25 0
      services/edas/struct_app_info.go
  97. 21 0
      services/edas/struct_app_list.go
  98. 45 0
      services/edas/struct_applcation.go
  99. 38 0
      services/edas/struct_application.go
  100. 43 0
      services/edas/struct_application_in_list_application.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-02-18 Version: 1.52.1
+1, Initialization release SDK. EDAS now supports SDK implemented by current programming language.
+
 2019-02-18 Version: 1.52.0
 1, Instantiation: adding the property of instance.
 2, Replace the "ProducerId" and "ConsumerId" properties with "GROUP_ID".

+ 107 - 0
services/edas/authorize_application.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// AuthorizeApplication invokes the edas.AuthorizeApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/authorizeapplication.html
+func (client *Client) AuthorizeApplication(request *AuthorizeApplicationRequest) (response *AuthorizeApplicationResponse, err error) {
+	response = CreateAuthorizeApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AuthorizeApplicationWithChan invokes the edas.AuthorizeApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/authorizeapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AuthorizeApplicationWithChan(request *AuthorizeApplicationRequest) (<-chan *AuthorizeApplicationResponse, <-chan error) {
+	responseChan := make(chan *AuthorizeApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AuthorizeApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AuthorizeApplicationWithCallback invokes the edas.AuthorizeApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/authorizeapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AuthorizeApplicationWithCallback(request *AuthorizeApplicationRequest, callback func(response *AuthorizeApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AuthorizeApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.AuthorizeApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AuthorizeApplicationRequest is the request struct for api AuthorizeApplication
+type AuthorizeApplicationRequest struct {
+	*requests.RoaRequest
+	AppIds       string `position:"Query" name:"AppIds"`
+	TargetUserId string `position:"Query" name:"TargetUserId"`
+}
+
+// AuthorizeApplicationResponse is the response struct for api AuthorizeApplication
+type AuthorizeApplicationResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAuthorizeApplicationRequest creates a request to invoke AuthorizeApplication API
+func CreateAuthorizeApplicationRequest() (request *AuthorizeApplicationRequest) {
+	request = &AuthorizeApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "AuthorizeApplication", "/pop/v5/account/authorize_app", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateAuthorizeApplicationResponse creates a response to parse from AuthorizeApplication response
+func CreateAuthorizeApplicationResponse() (response *AuthorizeApplicationResponse) {
+	response = &AuthorizeApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/authorize_resource_group.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// AuthorizeResourceGroup invokes the edas.AuthorizeResourceGroup API synchronously
+// api document: https://help.aliyun.com/api/edas/authorizeresourcegroup.html
+func (client *Client) AuthorizeResourceGroup(request *AuthorizeResourceGroupRequest) (response *AuthorizeResourceGroupResponse, err error) {
+	response = CreateAuthorizeResourceGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AuthorizeResourceGroupWithChan invokes the edas.AuthorizeResourceGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/authorizeresourcegroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AuthorizeResourceGroupWithChan(request *AuthorizeResourceGroupRequest) (<-chan *AuthorizeResourceGroupResponse, <-chan error) {
+	responseChan := make(chan *AuthorizeResourceGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AuthorizeResourceGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AuthorizeResourceGroupWithCallback invokes the edas.AuthorizeResourceGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/authorizeresourcegroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AuthorizeResourceGroupWithCallback(request *AuthorizeResourceGroupRequest, callback func(response *AuthorizeResourceGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AuthorizeResourceGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.AuthorizeResourceGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AuthorizeResourceGroupRequest is the request struct for api AuthorizeResourceGroup
+type AuthorizeResourceGroupRequest struct {
+	*requests.RoaRequest
+	ResourceGroupIds string `position:"Query" name:"ResourceGroupIds"`
+	TargetUserId     string `position:"Query" name:"TargetUserId"`
+}
+
+// AuthorizeResourceGroupResponse is the response struct for api AuthorizeResourceGroup
+type AuthorizeResourceGroupResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAuthorizeResourceGroupRequest creates a request to invoke AuthorizeResourceGroup API
+func CreateAuthorizeResourceGroupRequest() (request *AuthorizeResourceGroupRequest) {
+	request = &AuthorizeResourceGroupRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "AuthorizeResourceGroup", "/pop/v5/account/authorize_res_group", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateAuthorizeResourceGroupResponse creates a response to parse from AuthorizeResourceGroup response
+func CreateAuthorizeResourceGroupResponse() (response *AuthorizeResourceGroupResponse) {
+	response = &AuthorizeResourceGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/authorize_role.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// AuthorizeRole invokes the edas.AuthorizeRole API synchronously
+// api document: https://help.aliyun.com/api/edas/authorizerole.html
+func (client *Client) AuthorizeRole(request *AuthorizeRoleRequest) (response *AuthorizeRoleResponse, err error) {
+	response = CreateAuthorizeRoleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AuthorizeRoleWithChan invokes the edas.AuthorizeRole API asynchronously
+// api document: https://help.aliyun.com/api/edas/authorizerole.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AuthorizeRoleWithChan(request *AuthorizeRoleRequest) (<-chan *AuthorizeRoleResponse, <-chan error) {
+	responseChan := make(chan *AuthorizeRoleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AuthorizeRole(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AuthorizeRoleWithCallback invokes the edas.AuthorizeRole API asynchronously
+// api document: https://help.aliyun.com/api/edas/authorizerole.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AuthorizeRoleWithCallback(request *AuthorizeRoleRequest, callback func(response *AuthorizeRoleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AuthorizeRoleResponse
+		var err error
+		defer close(result)
+		response, err = client.AuthorizeRole(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AuthorizeRoleRequest is the request struct for api AuthorizeRole
+type AuthorizeRoleRequest struct {
+	*requests.RoaRequest
+	RoleIds      string `position:"Query" name:"RoleIds"`
+	TargetUserId string `position:"Query" name:"TargetUserId"`
+}
+
+// AuthorizeRoleResponse is the response struct for api AuthorizeRole
+type AuthorizeRoleResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAuthorizeRoleRequest creates a request to invoke AuthorizeRole API
+func CreateAuthorizeRoleRequest() (request *AuthorizeRoleRequest) {
+	request = &AuthorizeRoleRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "AuthorizeRole", "/pop/v5/account/authorize_role", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateAuthorizeRoleResponse creates a response to parse from AuthorizeRole response
+func CreateAuthorizeRoleResponse() (response *AuthorizeRoleResponse) {
+	response = &AuthorizeRoleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/edas/bind_k8s_slb.go

@@ -0,0 +1,113 @@
+package edas
+
+//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"
+)
+
+// BindK8sSlb invokes the edas.BindK8sSlb API synchronously
+// api document: https://help.aliyun.com/api/edas/bindk8sslb.html
+func (client *Client) BindK8sSlb(request *BindK8sSlbRequest) (response *BindK8sSlbResponse, err error) {
+	response = CreateBindK8sSlbResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BindK8sSlbWithChan invokes the edas.BindK8sSlb API asynchronously
+// api document: https://help.aliyun.com/api/edas/bindk8sslb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindK8sSlbWithChan(request *BindK8sSlbRequest) (<-chan *BindK8sSlbResponse, <-chan error) {
+	responseChan := make(chan *BindK8sSlbResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BindK8sSlb(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BindK8sSlbWithCallback invokes the edas.BindK8sSlb API asynchronously
+// api document: https://help.aliyun.com/api/edas/bindk8sslb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindK8sSlbWithCallback(request *BindK8sSlbRequest, callback func(response *BindK8sSlbResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BindK8sSlbResponse
+		var err error
+		defer close(result)
+		response, err = client.BindK8sSlb(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BindK8sSlbRequest is the request struct for api BindK8sSlb
+type BindK8sSlbRequest struct {
+	*requests.RoaRequest
+	SlbId       string `position:"Query" name:"SlbId"`
+	SlbProtocol string `position:"Query" name:"SlbProtocol"`
+	Port        string `position:"Query" name:"Port"`
+	AppId       string `position:"Query" name:"AppId"`
+	ClusterId   string `position:"Query" name:"ClusterId"`
+	Type        string `position:"Query" name:"Type"`
+	TargetPort  string `position:"Query" name:"TargetPort"`
+}
+
+// BindK8sSlbResponse is the response struct for api BindK8sSlb
+type BindK8sSlbResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateBindK8sSlbRequest creates a request to invoke BindK8sSlb API
+func CreateBindK8sSlbRequest() (request *BindK8sSlbRequest) {
+	request = &BindK8sSlbRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "BindK8sSlb", "/pop/v5/k8s/acs/k8s_slb_binding", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateBindK8sSlbResponse creates a response to parse from BindK8sSlb response
+func CreateBindK8sSlbResponse() (response *BindK8sSlbResponse) {
+	response = &BindK8sSlbResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/bind_serverless_slb.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// BindServerlessSlb invokes the edas.BindServerlessSlb API synchronously
+// api document: https://help.aliyun.com/api/edas/bindserverlessslb.html
+func (client *Client) BindServerlessSlb(request *BindServerlessSlbRequest) (response *BindServerlessSlbResponse, err error) {
+	response = CreateBindServerlessSlbResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BindServerlessSlbWithChan invokes the edas.BindServerlessSlb API asynchronously
+// api document: https://help.aliyun.com/api/edas/bindserverlessslb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindServerlessSlbWithChan(request *BindServerlessSlbRequest) (<-chan *BindServerlessSlbResponse, <-chan error) {
+	responseChan := make(chan *BindServerlessSlbResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BindServerlessSlb(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BindServerlessSlbWithCallback invokes the edas.BindServerlessSlb API asynchronously
+// api document: https://help.aliyun.com/api/edas/bindserverlessslb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindServerlessSlbWithCallback(request *BindServerlessSlbRequest, callback func(response *BindServerlessSlbResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BindServerlessSlbResponse
+		var err error
+		defer close(result)
+		response, err = client.BindServerlessSlb(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BindServerlessSlbRequest is the request struct for api BindServerlessSlb
+type BindServerlessSlbRequest struct {
+	*requests.RoaRequest
+	Intranet string `position:"Query" name:"Intranet"`
+	AppId    string `position:"Query" name:"AppId"`
+	Internet string `position:"Query" name:"Internet"`
+}
+
+// BindServerlessSlbResponse is the response struct for api BindServerlessSlb
+type BindServerlessSlbResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+}
+
+// CreateBindServerlessSlbRequest creates a request to invoke BindServerlessSlb API
+func CreateBindServerlessSlbRequest() (request *BindServerlessSlbRequest) {
+	request = &BindServerlessSlbRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "BindServerlessSlb", "/pop/v5/k8s/acs/serverless_slb_binding", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateBindServerlessSlbResponse creates a response to parse from BindServerlessSlb response
+func CreateBindServerlessSlbResponse() (response *BindServerlessSlbResponse) {
+	response = &BindServerlessSlbResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/edas/bind_slb.go

@@ -0,0 +1,112 @@
+package edas
+
+//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"
+)
+
+// BindSlb invokes the edas.BindSlb API synchronously
+// api document: https://help.aliyun.com/api/edas/bindslb.html
+func (client *Client) BindSlb(request *BindSlbRequest) (response *BindSlbResponse, err error) {
+	response = CreateBindSlbResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BindSlbWithChan invokes the edas.BindSlb API asynchronously
+// api document: https://help.aliyun.com/api/edas/bindslb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindSlbWithChan(request *BindSlbRequest) (<-chan *BindSlbResponse, <-chan error) {
+	responseChan := make(chan *BindSlbResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BindSlb(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BindSlbWithCallback invokes the edas.BindSlb API asynchronously
+// api document: https://help.aliyun.com/api/edas/bindslb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindSlbWithCallback(request *BindSlbRequest, callback func(response *BindSlbResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BindSlbResponse
+		var err error
+		defer close(result)
+		response, err = client.BindSlb(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BindSlbRequest is the request struct for api BindSlb
+type BindSlbRequest struct {
+	*requests.RoaRequest
+	VServerGroupId string           `position:"Query" name:"VServerGroupId"`
+	ListenerPort   requests.Integer `position:"Query" name:"ListenerPort"`
+	SlbId          string           `position:"Query" name:"SlbId"`
+	AppId          string           `position:"Query" name:"AppId"`
+	SlbIp          string           `position:"Query" name:"SlbIp"`
+	Type           string           `position:"Query" name:"Type"`
+}
+
+// BindSlbResponse is the response struct for api BindSlb
+type BindSlbResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateBindSlbRequest creates a request to invoke BindSlb API
+func CreateBindSlbRequest() (request *BindSlbRequest) {
+	request = &BindSlbRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "BindSlb", "/pop/app/bind_slb_json", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateBindSlbResponse creates a response to parse from BindSlb response
+func CreateBindSlbResponse() (response *BindSlbResponse) {
+	response = &BindSlbResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 81 - 0
services/edas/client.go

@@ -0,0 +1,81 @@
+package edas
+
+//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"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 128 - 0
services/edas/create_serverless_application.go

@@ -0,0 +1,128 @@
+package edas
+
+//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"
+)
+
+// CreateServerlessApplication invokes the edas.CreateServerlessApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/createserverlessapplication.html
+func (client *Client) CreateServerlessApplication(request *CreateServerlessApplicationRequest) (response *CreateServerlessApplicationResponse, err error) {
+	response = CreateCreateServerlessApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateServerlessApplicationWithChan invokes the edas.CreateServerlessApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/createserverlessapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateServerlessApplicationWithChan(request *CreateServerlessApplicationRequest) (<-chan *CreateServerlessApplicationResponse, <-chan error) {
+	responseChan := make(chan *CreateServerlessApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateServerlessApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateServerlessApplicationWithCallback invokes the edas.CreateServerlessApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/createserverlessapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateServerlessApplicationWithCallback(request *CreateServerlessApplicationRequest, callback func(response *CreateServerlessApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateServerlessApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateServerlessApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateServerlessApplicationRequest is the request struct for api CreateServerlessApplication
+type CreateServerlessApplicationRequest struct {
+	*requests.RoaRequest
+	WebContainer    string           `position:"Query" name:"WebContainer"`
+	JarStartArgs    string           `position:"Query" name:"JarStartArgs"`
+	Memory          requests.Integer `position:"Query" name:"Memory"`
+	CommandArgs     string           `position:"Query" name:"CommandArgs"`
+	Replicas        requests.Integer `position:"Query" name:"Replicas"`
+	Readiness       string           `position:"Query" name:"Readiness"`
+	Liveness        string           `position:"Query" name:"Liveness"`
+	Cpu             requests.Integer `position:"Query" name:"Cpu"`
+	Envs            string           `position:"Query" name:"Envs"`
+	PackageVersion  string           `position:"Query" name:"PackageVersion"`
+	Command         string           `position:"Query" name:"Command"`
+	CustomHostAlias string           `position:"Query" name:"CustomHostAlias"`
+	Deploy          requests.Boolean `position:"Query" name:"Deploy"`
+	VSwitchId       string           `position:"Query" name:"VSwitchId"`
+	Jdk             string           `position:"Query" name:"Jdk"`
+	AppDescription  string           `position:"Query" name:"AppDescription"`
+	JarStartOptions string           `position:"Query" name:"JarStartOptions"`
+	AppName         string           `position:"Query" name:"AppName"`
+	NamespaceId     string           `position:"Query" name:"NamespaceId"`
+	PackageUrl      string           `position:"Query" name:"PackageUrl"`
+	VpcId           string           `position:"Query" name:"VpcId"`
+	ImageUrl        string           `position:"Query" name:"ImageUrl"`
+	PackageType     string           `position:"Query" name:"PackageType"`
+}
+
+// CreateServerlessApplicationResponse is the response struct for api CreateServerlessApplication
+type CreateServerlessApplicationResponse struct {
+	*responses.BaseResponse
+	Code    int    `json:"Code" xml:"Code"`
+	Message string `json:"Message" xml:"Message"`
+	Data    Data   `json:"Data" xml:"Data"`
+}
+
+// CreateCreateServerlessApplicationRequest creates a request to invoke CreateServerlessApplication API
+func CreateCreateServerlessApplicationRequest() (request *CreateServerlessApplicationRequest) {
+	request = &CreateServerlessApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "CreateServerlessApplication", "/pop/v5/k8s/pop/pop_serverless_app_create_without_deploy", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateCreateServerlessApplicationResponse creates a response to parse from CreateServerlessApplication response
+func CreateCreateServerlessApplicationResponse() (response *CreateServerlessApplicationResponse) {
+	response = &CreateServerlessApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/delete_application.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// DeleteApplication invokes the edas.DeleteApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/deleteapplication.html
+func (client *Client) DeleteApplication(request *DeleteApplicationRequest) (response *DeleteApplicationResponse, err error) {
+	response = CreateDeleteApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteApplicationWithChan invokes the edas.DeleteApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteApplicationWithChan(request *DeleteApplicationRequest) (<-chan *DeleteApplicationResponse, <-chan error) {
+	responseChan := make(chan *DeleteApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteApplicationWithCallback invokes the edas.DeleteApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteApplicationWithCallback(request *DeleteApplicationRequest, callback func(response *DeleteApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteApplicationRequest is the request struct for api DeleteApplication
+type DeleteApplicationRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// DeleteApplicationResponse is the response struct for api DeleteApplication
+type DeleteApplicationResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteApplicationRequest creates a request to invoke DeleteApplication API
+func CreateDeleteApplicationRequest() (request *DeleteApplicationRequest) {
+	request = &DeleteApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteApplication", "/pop/v5/changeorder/co_delete_app", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteApplicationResponse creates a response to parse from DeleteApplication response
+func CreateDeleteApplicationResponse() (response *DeleteApplicationResponse) {
+	response = &DeleteApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/delete_cluster.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// DeleteCluster invokes the edas.DeleteCluster API synchronously
+// api document: https://help.aliyun.com/api/edas/deletecluster.html
+func (client *Client) DeleteCluster(request *DeleteClusterRequest) (response *DeleteClusterResponse, err error) {
+	response = CreateDeleteClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteClusterWithChan invokes the edas.DeleteCluster API asynchronously
+// api document: https://help.aliyun.com/api/edas/deletecluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+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
+}
+
+// DeleteClusterWithCallback invokes the edas.DeleteCluster API asynchronously
+// api document: https://help.aliyun.com/api/edas/deletecluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+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
+}
+
+// DeleteClusterRequest is the request struct for api DeleteCluster
+type DeleteClusterRequest struct {
+	*requests.RoaRequest
+	ClusterId string `position:"Query" name:"ClusterId"`
+}
+
+// DeleteClusterResponse is the response struct for api DeleteCluster
+type DeleteClusterResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      bool   `json:"Data" xml:"Data"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteClusterRequest creates a request to invoke DeleteCluster API
+func CreateDeleteClusterRequest() (request *DeleteClusterRequest) {
+	request = &DeleteClusterRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteCluster", "/pop/v5/resource/cluster", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteClusterResponse creates a response to parse from DeleteCluster response
+func CreateDeleteClusterResponse() (response *DeleteClusterResponse) {
+	response = &DeleteClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/delete_cluster_member.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// DeleteClusterMember invokes the edas.DeleteClusterMember API synchronously
+// api document: https://help.aliyun.com/api/edas/deleteclustermember.html
+func (client *Client) DeleteClusterMember(request *DeleteClusterMemberRequest) (response *DeleteClusterMemberResponse, err error) {
+	response = CreateDeleteClusterMemberResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteClusterMemberWithChan invokes the edas.DeleteClusterMember API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteclustermember.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteClusterMemberWithChan(request *DeleteClusterMemberRequest) (<-chan *DeleteClusterMemberResponse, <-chan error) {
+	responseChan := make(chan *DeleteClusterMemberResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteClusterMember(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteClusterMemberWithCallback invokes the edas.DeleteClusterMember API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteclustermember.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteClusterMemberWithCallback(request *DeleteClusterMemberRequest, callback func(response *DeleteClusterMemberResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteClusterMemberResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteClusterMember(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteClusterMemberRequest is the request struct for api DeleteClusterMember
+type DeleteClusterMemberRequest struct {
+	*requests.RoaRequest
+	ClusterMemberId string `position:"Query" name:"ClusterMemberId"`
+	ClusterId       string `position:"Query" name:"ClusterId"`
+}
+
+// DeleteClusterMemberResponse is the response struct for api DeleteClusterMember
+type DeleteClusterMemberResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      bool   `json:"Data" xml:"Data"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteClusterMemberRequest creates a request to invoke DeleteClusterMember API
+func CreateDeleteClusterMemberRequest() (request *DeleteClusterMemberRequest) {
+	request = &DeleteClusterMemberRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteClusterMember", "/pop/v5/resource/cluster_member", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteClusterMemberResponse creates a response to parse from DeleteClusterMember response
+func CreateDeleteClusterMemberResponse() (response *DeleteClusterMemberResponse) {
+	response = &DeleteClusterMemberResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/delete_config_center.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// DeleteConfigCenter invokes the edas.DeleteConfigCenter API synchronously
+// api document: https://help.aliyun.com/api/edas/deleteconfigcenter.html
+func (client *Client) DeleteConfigCenter(request *DeleteConfigCenterRequest) (response *DeleteConfigCenterResponse, err error) {
+	response = CreateDeleteConfigCenterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteConfigCenterWithChan invokes the edas.DeleteConfigCenter API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteconfigcenter.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteConfigCenterWithChan(request *DeleteConfigCenterRequest) (<-chan *DeleteConfigCenterResponse, <-chan error) {
+	responseChan := make(chan *DeleteConfigCenterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteConfigCenter(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteConfigCenterWithCallback invokes the edas.DeleteConfigCenter API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteconfigcenter.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteConfigCenterWithCallback(request *DeleteConfigCenterRequest, callback func(response *DeleteConfigCenterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteConfigCenterResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteConfigCenter(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteConfigCenterRequest is the request struct for api DeleteConfigCenter
+type DeleteConfigCenterRequest struct {
+	*requests.RoaRequest
+	DataId          string `position:"Query" name:"DataId"`
+	LogicalRegionId string `position:"Query" name:"LogicalRegionId"`
+	Group           string `position:"Query" name:"Group"`
+}
+
+// DeleteConfigCenterResponse is the response struct for api DeleteConfigCenter
+type DeleteConfigCenterResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteConfigCenterRequest creates a request to invoke DeleteConfigCenter API
+func CreateDeleteConfigCenterRequest() (request *DeleteConfigCenterRequest) {
+	request = &DeleteConfigCenterRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteConfigCenter", "/pop/v5/configCenter", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteConfigCenterResponse creates a response to parse from DeleteConfigCenter response
+func CreateDeleteConfigCenterResponse() (response *DeleteConfigCenterResponse) {
+	response = &DeleteConfigCenterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/delete_degrade_control.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// DeleteDegradeControl invokes the edas.DeleteDegradeControl API synchronously
+// api document: https://help.aliyun.com/api/edas/deletedegradecontrol.html
+func (client *Client) DeleteDegradeControl(request *DeleteDegradeControlRequest) (response *DeleteDegradeControlResponse, err error) {
+	response = CreateDeleteDegradeControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteDegradeControlWithChan invokes the edas.DeleteDegradeControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/deletedegradecontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDegradeControlWithChan(request *DeleteDegradeControlRequest) (<-chan *DeleteDegradeControlResponse, <-chan error) {
+	responseChan := make(chan *DeleteDegradeControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDegradeControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteDegradeControlWithCallback invokes the edas.DeleteDegradeControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/deletedegradecontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDegradeControlWithCallback(request *DeleteDegradeControlRequest, callback func(response *DeleteDegradeControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDegradeControlResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDegradeControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteDegradeControlRequest is the request struct for api DeleteDegradeControl
+type DeleteDegradeControlRequest struct {
+	*requests.RoaRequest
+	AppId  string `position:"Query" name:"AppId"`
+	RuleId string `position:"Query" name:"RuleId"`
+}
+
+// DeleteDegradeControlResponse is the response struct for api DeleteDegradeControl
+type DeleteDegradeControlResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteDegradeControlRequest creates a request to invoke DeleteDegradeControl API
+func CreateDeleteDegradeControlRequest() (request *DeleteDegradeControlRequest) {
+	request = &DeleteDegradeControlRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteDegradeControl", "/pop/v5/degradeControl", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteDegradeControlResponse creates a response to parse from DeleteDegradeControl response
+func CreateDeleteDegradeControlResponse() (response *DeleteDegradeControlResponse) {
+	response = &DeleteDegradeControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/delete_deploy_group.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// DeleteDeployGroup invokes the edas.DeleteDeployGroup API synchronously
+// api document: https://help.aliyun.com/api/edas/deletedeploygroup.html
+func (client *Client) DeleteDeployGroup(request *DeleteDeployGroupRequest) (response *DeleteDeployGroupResponse, err error) {
+	response = CreateDeleteDeployGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteDeployGroupWithChan invokes the edas.DeleteDeployGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/deletedeploygroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDeployGroupWithChan(request *DeleteDeployGroupRequest) (<-chan *DeleteDeployGroupResponse, <-chan error) {
+	responseChan := make(chan *DeleteDeployGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDeployGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteDeployGroupWithCallback invokes the edas.DeleteDeployGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/deletedeploygroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDeployGroupWithCallback(request *DeleteDeployGroupRequest, callback func(response *DeleteDeployGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDeployGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDeployGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteDeployGroupRequest is the request struct for api DeleteDeployGroup
+type DeleteDeployGroupRequest struct {
+	*requests.RoaRequest
+	AppId     string `position:"Query" name:"AppId"`
+	GroupName string `position:"Query" name:"GroupName"`
+}
+
+// DeleteDeployGroupResponse is the response struct for api DeleteDeployGroup
+type DeleteDeployGroupResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteDeployGroupRequest creates a request to invoke DeleteDeployGroup API
+func CreateDeleteDeployGroupRequest() (request *DeleteDeployGroupRequest) {
+	request = &DeleteDeployGroupRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteDeployGroup", "/pop/v5/deploy_group", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteDeployGroupResponse creates a response to parse from DeleteDeployGroup response
+func CreateDeleteDeployGroupResponse() (response *DeleteDeployGroupResponse) {
+	response = &DeleteDeployGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/delete_ecu.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// DeleteEcu invokes the edas.DeleteEcu API synchronously
+// api document: https://help.aliyun.com/api/edas/deleteecu.html
+func (client *Client) DeleteEcu(request *DeleteEcuRequest) (response *DeleteEcuResponse, err error) {
+	response = CreateDeleteEcuResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteEcuWithChan invokes the edas.DeleteEcu API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteecu.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteEcuWithChan(request *DeleteEcuRequest) (<-chan *DeleteEcuResponse, <-chan error) {
+	responseChan := make(chan *DeleteEcuResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteEcu(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteEcuWithCallback invokes the edas.DeleteEcu API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteecu.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteEcuWithCallback(request *DeleteEcuRequest, callback func(response *DeleteEcuResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteEcuResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteEcu(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteEcuRequest is the request struct for api DeleteEcu
+type DeleteEcuRequest struct {
+	*requests.RoaRequest
+	EcuId string `position:"Query" name:"EcuId"`
+}
+
+// DeleteEcuResponse is the response struct for api DeleteEcu
+type DeleteEcuResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteEcuRequest creates a request to invoke DeleteEcu API
+func CreateDeleteEcuRequest() (request *DeleteEcuRequest) {
+	request = &DeleteEcuRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteEcu", "/pop/v5/resource/delete_ecu", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateDeleteEcuResponse creates a response to parse from DeleteEcu response
+func CreateDeleteEcuResponse() (response *DeleteEcuResponse) {
+	response = &DeleteEcuResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/delete_flow_control.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// DeleteFlowControl invokes the edas.DeleteFlowControl API synchronously
+// api document: https://help.aliyun.com/api/edas/deleteflowcontrol.html
+func (client *Client) DeleteFlowControl(request *DeleteFlowControlRequest) (response *DeleteFlowControlResponse, err error) {
+	response = CreateDeleteFlowControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteFlowControlWithChan invokes the edas.DeleteFlowControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteflowcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteFlowControlWithChan(request *DeleteFlowControlRequest) (<-chan *DeleteFlowControlResponse, <-chan error) {
+	responseChan := make(chan *DeleteFlowControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteFlowControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteFlowControlWithCallback invokes the edas.DeleteFlowControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteflowcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteFlowControlWithCallback(request *DeleteFlowControlRequest, callback func(response *DeleteFlowControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteFlowControlResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteFlowControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteFlowControlRequest is the request struct for api DeleteFlowControl
+type DeleteFlowControlRequest struct {
+	*requests.RoaRequest
+	AppId  string `position:"Query" name:"AppId"`
+	RuleId string `position:"Query" name:"RuleId"`
+}
+
+// DeleteFlowControlResponse is the response struct for api DeleteFlowControl
+type DeleteFlowControlResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteFlowControlRequest creates a request to invoke DeleteFlowControl API
+func CreateDeleteFlowControlRequest() (request *DeleteFlowControlRequest) {
+	request = &DeleteFlowControlRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteFlowControl", "/pop/v5/flowControl", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteFlowControlResponse creates a response to parse from DeleteFlowControl response
+func CreateDeleteFlowControlResponse() (response *DeleteFlowControlResponse) {
+	response = &DeleteFlowControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/delete_k8s_application.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// DeleteK8sApplication invokes the edas.DeleteK8sApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/deletek8sapplication.html
+func (client *Client) DeleteK8sApplication(request *DeleteK8sApplicationRequest) (response *DeleteK8sApplicationResponse, err error) {
+	response = CreateDeleteK8sApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteK8sApplicationWithChan invokes the edas.DeleteK8sApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deletek8sapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteK8sApplicationWithChan(request *DeleteK8sApplicationRequest) (<-chan *DeleteK8sApplicationResponse, <-chan error) {
+	responseChan := make(chan *DeleteK8sApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteK8sApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteK8sApplicationWithCallback invokes the edas.DeleteK8sApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deletek8sapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteK8sApplicationWithCallback(request *DeleteK8sApplicationRequest, callback func(response *DeleteK8sApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteK8sApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteK8sApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteK8sApplicationRequest is the request struct for api DeleteK8sApplication
+type DeleteK8sApplicationRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// DeleteK8sApplicationResponse is the response struct for api DeleteK8sApplication
+type DeleteK8sApplicationResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+}
+
+// CreateDeleteK8sApplicationRequest creates a request to invoke DeleteK8sApplication API
+func CreateDeleteK8sApplicationRequest() (request *DeleteK8sApplicationRequest) {
+	request = &DeleteK8sApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteK8sApplication", "/pop/v5/k8s/acs/k8s_apps", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteK8sApplicationResponse creates a response to parse from DeleteK8sApplication response
+func CreateDeleteK8sApplicationResponse() (response *DeleteK8sApplicationResponse) {
+	response = &DeleteK8sApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/delete_role.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// DeleteRole invokes the edas.DeleteRole API synchronously
+// api document: https://help.aliyun.com/api/edas/deleterole.html
+func (client *Client) DeleteRole(request *DeleteRoleRequest) (response *DeleteRoleResponse, err error) {
+	response = CreateDeleteRoleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteRoleWithChan invokes the edas.DeleteRole API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleterole.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRoleWithChan(request *DeleteRoleRequest) (<-chan *DeleteRoleResponse, <-chan error) {
+	responseChan := make(chan *DeleteRoleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteRole(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteRoleWithCallback invokes the edas.DeleteRole API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleterole.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRoleWithCallback(request *DeleteRoleRequest, callback func(response *DeleteRoleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteRoleResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteRole(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteRoleRequest is the request struct for api DeleteRole
+type DeleteRoleRequest struct {
+	*requests.RoaRequest
+	RoleId requests.Integer `position:"Query" name:"RoleId"`
+}
+
+// DeleteRoleResponse is the response struct for api DeleteRole
+type DeleteRoleResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteRoleRequest creates a request to invoke DeleteRole API
+func CreateDeleteRoleRequest() (request *DeleteRoleRequest) {
+	request = &DeleteRoleRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteRole", "/pop/v5/account/delete_role", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateDeleteRoleResponse creates a response to parse from DeleteRole response
+func CreateDeleteRoleResponse() (response *DeleteRoleResponse) {
+	response = &DeleteRoleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/delete_serverless_application.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// DeleteServerlessApplication invokes the edas.DeleteServerlessApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/deleteserverlessapplication.html
+func (client *Client) DeleteServerlessApplication(request *DeleteServerlessApplicationRequest) (response *DeleteServerlessApplicationResponse, err error) {
+	response = CreateDeleteServerlessApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteServerlessApplicationWithChan invokes the edas.DeleteServerlessApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteserverlessapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteServerlessApplicationWithChan(request *DeleteServerlessApplicationRequest) (<-chan *DeleteServerlessApplicationResponse, <-chan error) {
+	responseChan := make(chan *DeleteServerlessApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteServerlessApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteServerlessApplicationWithCallback invokes the edas.DeleteServerlessApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteserverlessapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteServerlessApplicationWithCallback(request *DeleteServerlessApplicationRequest, callback func(response *DeleteServerlessApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteServerlessApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteServerlessApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteServerlessApplicationRequest is the request struct for api DeleteServerlessApplication
+type DeleteServerlessApplicationRequest struct {
+	*requests.RoaRequest
+	Act   string `position:"Query" name:"Act"`
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// DeleteServerlessApplicationResponse is the response struct for api DeleteServerlessApplication
+type DeleteServerlessApplicationResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+}
+
+// CreateDeleteServerlessApplicationRequest creates a request to invoke DeleteServerlessApplication API
+func CreateDeleteServerlessApplicationRequest() (request *DeleteServerlessApplicationRequest) {
+	request = &DeleteServerlessApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteServerlessApplication", "/pop/v5/k8s/pop/pop_serverless_app_delete", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteServerlessApplicationResponse creates a response to parse from DeleteServerlessApplication response
+func CreateDeleteServerlessApplicationResponse() (response *DeleteServerlessApplicationResponse) {
+	response = &DeleteServerlessApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/delete_service_group.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// DeleteServiceGroup invokes the edas.DeleteServiceGroup API synchronously
+// api document: https://help.aliyun.com/api/edas/deleteservicegroup.html
+func (client *Client) DeleteServiceGroup(request *DeleteServiceGroupRequest) (response *DeleteServiceGroupResponse, err error) {
+	response = CreateDeleteServiceGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteServiceGroupWithChan invokes the edas.DeleteServiceGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteservicegroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteServiceGroupWithChan(request *DeleteServiceGroupRequest) (<-chan *DeleteServiceGroupResponse, <-chan error) {
+	responseChan := make(chan *DeleteServiceGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteServiceGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteServiceGroupWithCallback invokes the edas.DeleteServiceGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteservicegroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteServiceGroupWithCallback(request *DeleteServiceGroupRequest, callback func(response *DeleteServiceGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteServiceGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteServiceGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteServiceGroupRequest is the request struct for api DeleteServiceGroup
+type DeleteServiceGroupRequest struct {
+	*requests.RoaRequest
+	GroupId string `position:"Query" name:"GroupId"`
+}
+
+// DeleteServiceGroupResponse is the response struct for api DeleteServiceGroup
+type DeleteServiceGroupResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteServiceGroupRequest creates a request to invoke DeleteServiceGroup API
+func CreateDeleteServiceGroupRequest() (request *DeleteServiceGroupRequest) {
+	request = &DeleteServiceGroupRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteServiceGroup", "/pop/v5/service/serviceGroups", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteServiceGroupResponse creates a response to parse from DeleteServiceGroup response
+func CreateDeleteServiceGroupResponse() (response *DeleteServiceGroupResponse) {
+	response = &DeleteServiceGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/delete_user_define_region.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// DeleteUserDefineRegion invokes the edas.DeleteUserDefineRegion API synchronously
+// api document: https://help.aliyun.com/api/edas/deleteuserdefineregion.html
+func (client *Client) DeleteUserDefineRegion(request *DeleteUserDefineRegionRequest) (response *DeleteUserDefineRegionResponse, err error) {
+	response = CreateDeleteUserDefineRegionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteUserDefineRegionWithChan invokes the edas.DeleteUserDefineRegion API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteuserdefineregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUserDefineRegionWithChan(request *DeleteUserDefineRegionRequest) (<-chan *DeleteUserDefineRegionResponse, <-chan error) {
+	responseChan := make(chan *DeleteUserDefineRegionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteUserDefineRegion(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteUserDefineRegionWithCallback invokes the edas.DeleteUserDefineRegion API asynchronously
+// api document: https://help.aliyun.com/api/edas/deleteuserdefineregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUserDefineRegionWithCallback(request *DeleteUserDefineRegionRequest, callback func(response *DeleteUserDefineRegionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteUserDefineRegionResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteUserDefineRegion(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteUserDefineRegionRequest is the request struct for api DeleteUserDefineRegion
+type DeleteUserDefineRegionRequest struct {
+	*requests.RoaRequest
+	Id requests.Integer `position:"Query" name:"Id"`
+}
+
+// DeleteUserDefineRegionResponse is the response struct for api DeleteUserDefineRegion
+type DeleteUserDefineRegionResponse struct {
+	*responses.BaseResponse
+	Code         int          `json:"Code" xml:"Code"`
+	Message      string       `json:"Message" xml:"Message"`
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	RegionDefine RegionDefine `json:"RegionDefine" xml:"RegionDefine"`
+}
+
+// CreateDeleteUserDefineRegionRequest creates a request to invoke DeleteUserDefineRegion API
+func CreateDeleteUserDefineRegionRequest() (request *DeleteUserDefineRegionRequest) {
+	request = &DeleteUserDefineRegionRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeleteUserDefineRegion", "/pop/v5/user_region_def", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteUserDefineRegionResponse creates a response to parse from DeleteUserDefineRegion response
+func CreateDeleteUserDefineRegionResponse() (response *DeleteUserDefineRegionResponse) {
+	response = &DeleteUserDefineRegionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/edas/deploy_application.go

@@ -0,0 +1,118 @@
+package edas
+
+//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"
+)
+
+// DeployApplication invokes the edas.DeployApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/deployapplication.html
+func (client *Client) DeployApplication(request *DeployApplicationRequest) (response *DeployApplicationResponse, err error) {
+	response = CreateDeployApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeployApplicationWithChan invokes the edas.DeployApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deployapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeployApplicationWithChan(request *DeployApplicationRequest) (<-chan *DeployApplicationResponse, <-chan error) {
+	responseChan := make(chan *DeployApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeployApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeployApplicationWithCallback invokes the edas.DeployApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deployapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeployApplicationWithCallback(request *DeployApplicationRequest, callback func(response *DeployApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeployApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.DeployApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeployApplicationRequest is the request struct for api DeployApplication
+type DeployApplicationRequest struct {
+	*requests.RoaRequest
+	BuildPackId    requests.Integer `position:"Query" name:"BuildPackId"`
+	ComponentIds   string           `position:"Query" name:"ComponentIds"`
+	AppId          string           `position:"Query" name:"AppId"`
+	ImageUrl       string           `position:"Query" name:"ImageUrl"`
+	GroupId        string           `position:"Query" name:"GroupId"`
+	BatchWaitTime  requests.Integer `position:"Query" name:"BatchWaitTime"`
+	Batch          requests.Integer `position:"Query" name:"Batch"`
+	AppEnv         string           `position:"Query" name:"AppEnv"`
+	WarUrl         string           `position:"Query" name:"WarUrl"`
+	PackageVersion string           `position:"Query" name:"PackageVersion"`
+	Desc           string           `position:"Query" name:"Desc"`
+	DeployType     string           `position:"Query" name:"DeployType"`
+}
+
+// DeployApplicationResponse is the response struct for api DeployApplication
+type DeployApplicationResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeployApplicationRequest creates a request to invoke DeployApplication API
+func CreateDeployApplicationRequest() (request *DeployApplicationRequest) {
+	request = &DeployApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeployApplication", "/pop/v5/changeorder/co_deploy", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateDeployApplicationResponse creates a response to parse from DeployApplication response
+func CreateDeployApplicationResponse() (response *DeployApplicationResponse) {
+	response = &DeployApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 126 - 0
services/edas/deploy_k8s_application.go

@@ -0,0 +1,126 @@
+package edas
+
+//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"
+)
+
+// DeployK8sApplication invokes the edas.DeployK8sApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/deployk8sapplication.html
+func (client *Client) DeployK8sApplication(request *DeployK8sApplicationRequest) (response *DeployK8sApplicationResponse, err error) {
+	response = CreateDeployK8sApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeployK8sApplicationWithChan invokes the edas.DeployK8sApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deployk8sapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeployK8sApplicationWithChan(request *DeployK8sApplicationRequest) (<-chan *DeployK8sApplicationResponse, <-chan error) {
+	responseChan := make(chan *DeployK8sApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeployK8sApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeployK8sApplicationWithCallback invokes the edas.DeployK8sApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deployk8sapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeployK8sApplicationWithCallback(request *DeployK8sApplicationRequest, callback func(response *DeployK8sApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeployK8sApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.DeployK8sApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeployK8sApplicationRequest is the request struct for api DeployK8sApplication
+type DeployK8sApplicationRequest struct {
+	*requests.RoaRequest
+	MemoryRequest requests.Integer `position:"Query" name:"MemoryRequest"`
+	NasId         string           `position:"Query" name:"NasId"`
+	Image         string           `position:"Query" name:"Image"`
+	PreStop       string           `position:"Query" name:"PreStop"`
+	MountDescs    string           `position:"Query" name:"MountDescs"`
+	Readiness     string           `position:"Query" name:"Readiness"`
+	Replicas      requests.Integer `position:"Query" name:"Replicas"`
+	BatchWaitTime requests.Integer `position:"Query" name:"BatchWaitTime"`
+	Liveness      string           `position:"Query" name:"Liveness"`
+	CpuRequest    requests.Integer `position:"Query" name:"CpuRequest"`
+	Envs          string           `position:"Query" name:"Envs"`
+	CpuLimit      requests.Integer `position:"Query" name:"CpuLimit"`
+	LocalVolume   string           `position:"Query" name:"LocalVolume"`
+	Command       string           `position:"Query" name:"Command"`
+	StorageType   string           `position:"Query" name:"StorageType"`
+	Args          string           `position:"Query" name:"Args"`
+	AppId         string           `position:"Query" name:"AppId"`
+	MemoryLimit   requests.Integer `position:"Query" name:"MemoryLimit"`
+	ImageTag      string           `position:"Query" name:"ImageTag"`
+	PostStart     string           `position:"Query" name:"PostStart"`
+}
+
+// DeployK8sApplicationResponse is the response struct for api DeployK8sApplication
+type DeployK8sApplicationResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+}
+
+// CreateDeployK8sApplicationRequest creates a request to invoke DeployK8sApplication API
+func CreateDeployK8sApplicationRequest() (request *DeployK8sApplicationRequest) {
+	request = &DeployK8sApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeployK8sApplication", "/pop/v5/k8s/acs/k8s_apps", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateDeployK8sApplicationResponse creates a response to parse from DeployK8sApplication response
+func CreateDeployK8sApplicationResponse() (response *DeployK8sApplicationResponse) {
+	response = &DeployK8sApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 121 - 0
services/edas/deploy_serverless_application.go

@@ -0,0 +1,121 @@
+package edas
+
+//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"
+)
+
+// DeployServerlessApplication invokes the edas.DeployServerlessApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/deployserverlessapplication.html
+func (client *Client) DeployServerlessApplication(request *DeployServerlessApplicationRequest) (response *DeployServerlessApplicationResponse, err error) {
+	response = CreateDeployServerlessApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeployServerlessApplicationWithChan invokes the edas.DeployServerlessApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deployserverlessapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeployServerlessApplicationWithChan(request *DeployServerlessApplicationRequest) (<-chan *DeployServerlessApplicationResponse, <-chan error) {
+	responseChan := make(chan *DeployServerlessApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeployServerlessApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeployServerlessApplicationWithCallback invokes the edas.DeployServerlessApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/deployserverlessapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeployServerlessApplicationWithCallback(request *DeployServerlessApplicationRequest, callback func(response *DeployServerlessApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeployServerlessApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.DeployServerlessApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeployServerlessApplicationRequest is the request struct for api DeployServerlessApplication
+type DeployServerlessApplicationRequest struct {
+	*requests.RoaRequest
+	WebContainer      string           `position:"Query" name:"WebContainer"`
+	JarStartArgs      string           `position:"Query" name:"JarStartArgs"`
+	CommandArgs       string           `position:"Query" name:"CommandArgs"`
+	Readiness         string           `position:"Query" name:"Readiness"`
+	BatchWaitTime     requests.Integer `position:"Query" name:"BatchWaitTime"`
+	Liveness          string           `position:"Query" name:"Liveness"`
+	Envs              string           `position:"Query" name:"Envs"`
+	PackageVersion    string           `position:"Query" name:"PackageVersion"`
+	Command           string           `position:"Query" name:"Command"`
+	CustomHostAlias   string           `position:"Query" name:"CustomHostAlias"`
+	Jdk               string           `position:"Query" name:"Jdk"`
+	JarStartOptions   string           `position:"Query" name:"JarStartOptions"`
+	MinReadyInstances requests.Integer `position:"Query" name:"MinReadyInstances"`
+	PackageUrl        string           `position:"Query" name:"PackageUrl"`
+	AppId             string           `position:"Query" name:"AppId"`
+	ImageUrl          string           `position:"Query" name:"ImageUrl"`
+}
+
+// DeployServerlessApplicationResponse is the response struct for api DeployServerlessApplication
+type DeployServerlessApplicationResponse struct {
+	*responses.BaseResponse
+	Code    int    `json:"Code" xml:"Code"`
+	Message string `json:"Message" xml:"Message"`
+	Data    Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDeployServerlessApplicationRequest creates a request to invoke DeployServerlessApplication API
+func CreateDeployServerlessApplicationRequest() (request *DeployServerlessApplicationRequest) {
+	request = &DeployServerlessApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DeployServerlessApplication", "/pop/v5/k8s/pop/pop_serverless_app_deploy", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateDeployServerlessApplicationResponse creates a response to parse from DeployServerlessApplication response
+func CreateDeployServerlessApplicationResponse() (response *DeployServerlessApplicationResponse) {
+	response = &DeployServerlessApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/disable_degrade_control.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// DisableDegradeControl invokes the edas.DisableDegradeControl API synchronously
+// api document: https://help.aliyun.com/api/edas/disabledegradecontrol.html
+func (client *Client) DisableDegradeControl(request *DisableDegradeControlRequest) (response *DisableDegradeControlResponse, err error) {
+	response = CreateDisableDegradeControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DisableDegradeControlWithChan invokes the edas.DisableDegradeControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/disabledegradecontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableDegradeControlWithChan(request *DisableDegradeControlRequest) (<-chan *DisableDegradeControlResponse, <-chan error) {
+	responseChan := make(chan *DisableDegradeControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DisableDegradeControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DisableDegradeControlWithCallback invokes the edas.DisableDegradeControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/disabledegradecontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableDegradeControlWithCallback(request *DisableDegradeControlRequest, callback func(response *DisableDegradeControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DisableDegradeControlResponse
+		var err error
+		defer close(result)
+		response, err = client.DisableDegradeControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DisableDegradeControlRequest is the request struct for api DisableDegradeControl
+type DisableDegradeControlRequest struct {
+	*requests.RoaRequest
+	AppId  string `position:"Query" name:"AppId"`
+	RuleId string `position:"Query" name:"RuleId"`
+}
+
+// DisableDegradeControlResponse is the response struct for api DisableDegradeControl
+type DisableDegradeControlResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDisableDegradeControlRequest creates a request to invoke DisableDegradeControl API
+func CreateDisableDegradeControlRequest() (request *DisableDegradeControlRequest) {
+	request = &DisableDegradeControlRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DisableDegradeControl", "/pop/v5/degradecontrol/disable", "", "")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateDisableDegradeControlResponse creates a response to parse from DisableDegradeControl response
+func CreateDisableDegradeControlResponse() (response *DisableDegradeControlResponse) {
+	response = &DisableDegradeControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/disable_flow_control.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// DisableFlowControl invokes the edas.DisableFlowControl API synchronously
+// api document: https://help.aliyun.com/api/edas/disableflowcontrol.html
+func (client *Client) DisableFlowControl(request *DisableFlowControlRequest) (response *DisableFlowControlResponse, err error) {
+	response = CreateDisableFlowControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DisableFlowControlWithChan invokes the edas.DisableFlowControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/disableflowcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableFlowControlWithChan(request *DisableFlowControlRequest) (<-chan *DisableFlowControlResponse, <-chan error) {
+	responseChan := make(chan *DisableFlowControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DisableFlowControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DisableFlowControlWithCallback invokes the edas.DisableFlowControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/disableflowcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableFlowControlWithCallback(request *DisableFlowControlRequest, callback func(response *DisableFlowControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DisableFlowControlResponse
+		var err error
+		defer close(result)
+		response, err = client.DisableFlowControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DisableFlowControlRequest is the request struct for api DisableFlowControl
+type DisableFlowControlRequest struct {
+	*requests.RoaRequest
+	AppId  string `position:"Query" name:"AppId"`
+	RuleId string `position:"Query" name:"RuleId"`
+}
+
+// DisableFlowControlResponse is the response struct for api DisableFlowControl
+type DisableFlowControlResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDisableFlowControlRequest creates a request to invoke DisableFlowControl API
+func CreateDisableFlowControlRequest() (request *DisableFlowControlRequest) {
+	request = &DisableFlowControlRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "DisableFlowControl", "/pop/v5/flowcontrol/disable", "", "")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateDisableFlowControlResponse creates a response to parse from DisableFlowControl response
+func CreateDisableFlowControlResponse() (response *DisableFlowControlResponse) {
+	response = &DisableFlowControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/enable_degrade_control.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// EnableDegradeControl invokes the edas.EnableDegradeControl API synchronously
+// api document: https://help.aliyun.com/api/edas/enabledegradecontrol.html
+func (client *Client) EnableDegradeControl(request *EnableDegradeControlRequest) (response *EnableDegradeControlResponse, err error) {
+	response = CreateEnableDegradeControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// EnableDegradeControlWithChan invokes the edas.EnableDegradeControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/enabledegradecontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableDegradeControlWithChan(request *EnableDegradeControlRequest) (<-chan *EnableDegradeControlResponse, <-chan error) {
+	responseChan := make(chan *EnableDegradeControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.EnableDegradeControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// EnableDegradeControlWithCallback invokes the edas.EnableDegradeControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/enabledegradecontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableDegradeControlWithCallback(request *EnableDegradeControlRequest, callback func(response *EnableDegradeControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *EnableDegradeControlResponse
+		var err error
+		defer close(result)
+		response, err = client.EnableDegradeControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// EnableDegradeControlRequest is the request struct for api EnableDegradeControl
+type EnableDegradeControlRequest struct {
+	*requests.RoaRequest
+	AppId  string `position:"Query" name:"AppId"`
+	RuleId string `position:"Query" name:"RuleId"`
+}
+
+// EnableDegradeControlResponse is the response struct for api EnableDegradeControl
+type EnableDegradeControlResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateEnableDegradeControlRequest creates a request to invoke EnableDegradeControl API
+func CreateEnableDegradeControlRequest() (request *EnableDegradeControlRequest) {
+	request = &EnableDegradeControlRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "EnableDegradeControl", "/pop/v5/degradecontrol/enable", "", "")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateEnableDegradeControlResponse creates a response to parse from EnableDegradeControl response
+func CreateEnableDegradeControlResponse() (response *EnableDegradeControlResponse) {
+	response = &EnableDegradeControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/enable_flow_control.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// EnableFlowControl invokes the edas.EnableFlowControl API synchronously
+// api document: https://help.aliyun.com/api/edas/enableflowcontrol.html
+func (client *Client) EnableFlowControl(request *EnableFlowControlRequest) (response *EnableFlowControlResponse, err error) {
+	response = CreateEnableFlowControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// EnableFlowControlWithChan invokes the edas.EnableFlowControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/enableflowcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableFlowControlWithChan(request *EnableFlowControlRequest) (<-chan *EnableFlowControlResponse, <-chan error) {
+	responseChan := make(chan *EnableFlowControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.EnableFlowControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// EnableFlowControlWithCallback invokes the edas.EnableFlowControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/enableflowcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableFlowControlWithCallback(request *EnableFlowControlRequest, callback func(response *EnableFlowControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *EnableFlowControlResponse
+		var err error
+		defer close(result)
+		response, err = client.EnableFlowControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// EnableFlowControlRequest is the request struct for api EnableFlowControl
+type EnableFlowControlRequest struct {
+	*requests.RoaRequest
+	AppId  string `position:"Query" name:"AppId"`
+	RuleId string `position:"Query" name:"RuleId"`
+}
+
+// EnableFlowControlResponse is the response struct for api EnableFlowControl
+type EnableFlowControlResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateEnableFlowControlRequest creates a request to invoke EnableFlowControl API
+func CreateEnableFlowControlRequest() (request *EnableFlowControlRequest) {
+	request = &EnableFlowControlRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "EnableFlowControl", "/pop/v5/flowcontrol/enable", "", "")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateEnableFlowControlResponse creates a response to parse from EnableFlowControl response
+func CreateEnableFlowControlResponse() (response *EnableFlowControlResponse) {
+	response = &EnableFlowControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/get_application.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// GetApplication invokes the edas.GetApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/getapplication.html
+func (client *Client) GetApplication(request *GetApplicationRequest) (response *GetApplicationResponse, err error) {
+	response = CreateGetApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetApplicationWithChan invokes the edas.GetApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/getapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetApplicationWithChan(request *GetApplicationRequest) (<-chan *GetApplicationResponse, <-chan error) {
+	responseChan := make(chan *GetApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetApplicationWithCallback invokes the edas.GetApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/getapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetApplicationWithCallback(request *GetApplicationRequest, callback func(response *GetApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.GetApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetApplicationRequest is the request struct for api GetApplication
+type GetApplicationRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// GetApplicationResponse is the response struct for api GetApplication
+type GetApplicationResponse struct {
+	*responses.BaseResponse
+	Code       int        `json:"Code" xml:"Code"`
+	Message    string     `json:"Message" xml:"Message"`
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	Applcation Applcation `json:"Applcation" xml:"Applcation"`
+}
+
+// CreateGetApplicationRequest creates a request to invoke GetApplication API
+func CreateGetApplicationRequest() (request *GetApplicationRequest) {
+	request = &GetApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "GetApplication", "/pop/v5/app/app_info", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateGetApplicationResponse creates a response to parse from GetApplication response
+func CreateGetApplicationResponse() (response *GetApplicationResponse) {
+	response = &GetApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/get_change_order_info.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// GetChangeOrderInfo invokes the edas.GetChangeOrderInfo API synchronously
+// api document: https://help.aliyun.com/api/edas/getchangeorderinfo.html
+func (client *Client) GetChangeOrderInfo(request *GetChangeOrderInfoRequest) (response *GetChangeOrderInfoResponse, err error) {
+	response = CreateGetChangeOrderInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetChangeOrderInfoWithChan invokes the edas.GetChangeOrderInfo API asynchronously
+// api document: https://help.aliyun.com/api/edas/getchangeorderinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetChangeOrderInfoWithChan(request *GetChangeOrderInfoRequest) (<-chan *GetChangeOrderInfoResponse, <-chan error) {
+	responseChan := make(chan *GetChangeOrderInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetChangeOrderInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetChangeOrderInfoWithCallback invokes the edas.GetChangeOrderInfo API asynchronously
+// api document: https://help.aliyun.com/api/edas/getchangeorderinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetChangeOrderInfoWithCallback(request *GetChangeOrderInfoRequest, callback func(response *GetChangeOrderInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetChangeOrderInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.GetChangeOrderInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetChangeOrderInfoRequest is the request struct for api GetChangeOrderInfo
+type GetChangeOrderInfoRequest struct {
+	*requests.RoaRequest
+	ChangeOrderId string `position:"Query" name:"ChangeOrderId"`
+}
+
+// GetChangeOrderInfoResponse is the response struct for api GetChangeOrderInfo
+type GetChangeOrderInfoResponse struct {
+	*responses.BaseResponse
+	Code            int             `json:"Code" xml:"Code"`
+	Message         string          `json:"Message" xml:"Message"`
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	ChangeOrderInfo ChangeOrderInfo `json:"changeOrderInfo" xml:"changeOrderInfo"`
+}
+
+// CreateGetChangeOrderInfoRequest creates a request to invoke GetChangeOrderInfo API
+func CreateGetChangeOrderInfoRequest() (request *GetChangeOrderInfoRequest) {
+	request = &GetChangeOrderInfoRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "GetChangeOrderInfo", "/pop/v5/changeorder/change_order_info", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateGetChangeOrderInfoResponse creates a response to parse from GetChangeOrderInfo response
+func CreateGetChangeOrderInfoResponse() (response *GetChangeOrderInfoResponse) {
+	response = &GetChangeOrderInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/get_container_configuration.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// GetContainerConfiguration invokes the edas.GetContainerConfiguration API synchronously
+// api document: https://help.aliyun.com/api/edas/getcontainerconfiguration.html
+func (client *Client) GetContainerConfiguration(request *GetContainerConfigurationRequest) (response *GetContainerConfigurationResponse, err error) {
+	response = CreateGetContainerConfigurationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetContainerConfigurationWithChan invokes the edas.GetContainerConfiguration API asynchronously
+// api document: https://help.aliyun.com/api/edas/getcontainerconfiguration.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetContainerConfigurationWithChan(request *GetContainerConfigurationRequest) (<-chan *GetContainerConfigurationResponse, <-chan error) {
+	responseChan := make(chan *GetContainerConfigurationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetContainerConfiguration(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetContainerConfigurationWithCallback invokes the edas.GetContainerConfiguration API asynchronously
+// api document: https://help.aliyun.com/api/edas/getcontainerconfiguration.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetContainerConfigurationWithCallback(request *GetContainerConfigurationRequest, callback func(response *GetContainerConfigurationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetContainerConfigurationResponse
+		var err error
+		defer close(result)
+		response, err = client.GetContainerConfiguration(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetContainerConfigurationRequest is the request struct for api GetContainerConfiguration
+type GetContainerConfigurationRequest struct {
+	*requests.RoaRequest
+	AppId   string `position:"Query" name:"AppId"`
+	GroupId string `position:"Query" name:"GroupId"`
+}
+
+// GetContainerConfigurationResponse is the response struct for api GetContainerConfiguration
+type GetContainerConfigurationResponse struct {
+	*responses.BaseResponse
+	Code                   int                    `json:"Code" xml:"Code"`
+	Message                string                 `json:"Message" xml:"Message"`
+	RequestId              string                 `json:"RequestId" xml:"RequestId"`
+	ContainerConfiguration ContainerConfiguration `json:"ContainerConfiguration" xml:"ContainerConfiguration"`
+}
+
+// CreateGetContainerConfigurationRequest creates a request to invoke GetContainerConfiguration API
+func CreateGetContainerConfigurationRequest() (request *GetContainerConfigurationRequest) {
+	request = &GetContainerConfigurationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "GetContainerConfiguration", "/pop/v5/app/container_config", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateGetContainerConfigurationResponse creates a response to parse from GetContainerConfiguration response
+func CreateGetContainerConfigurationResponse() (response *GetContainerConfigurationResponse) {
+	response = &GetContainerConfigurationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/get_jvm_configuration.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// GetJvmConfiguration invokes the edas.GetJvmConfiguration API synchronously
+// api document: https://help.aliyun.com/api/edas/getjvmconfiguration.html
+func (client *Client) GetJvmConfiguration(request *GetJvmConfigurationRequest) (response *GetJvmConfigurationResponse, err error) {
+	response = CreateGetJvmConfigurationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetJvmConfigurationWithChan invokes the edas.GetJvmConfiguration API asynchronously
+// api document: https://help.aliyun.com/api/edas/getjvmconfiguration.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetJvmConfigurationWithChan(request *GetJvmConfigurationRequest) (<-chan *GetJvmConfigurationResponse, <-chan error) {
+	responseChan := make(chan *GetJvmConfigurationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetJvmConfiguration(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetJvmConfigurationWithCallback invokes the edas.GetJvmConfiguration API asynchronously
+// api document: https://help.aliyun.com/api/edas/getjvmconfiguration.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetJvmConfigurationWithCallback(request *GetJvmConfigurationRequest, callback func(response *GetJvmConfigurationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetJvmConfigurationResponse
+		var err error
+		defer close(result)
+		response, err = client.GetJvmConfiguration(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetJvmConfigurationRequest is the request struct for api GetJvmConfiguration
+type GetJvmConfigurationRequest struct {
+	*requests.RoaRequest
+	AppId   string `position:"Query" name:"AppId"`
+	GroupId string `position:"Query" name:"GroupId"`
+}
+
+// GetJvmConfigurationResponse is the response struct for api GetJvmConfiguration
+type GetJvmConfigurationResponse struct {
+	*responses.BaseResponse
+	Code             int              `json:"Code" xml:"Code"`
+	Message          string           `json:"Message" xml:"Message"`
+	RequestId        string           `json:"RequestId" xml:"RequestId"`
+	JvmConfiguration JvmConfiguration `json:"JvmConfiguration" xml:"JvmConfiguration"`
+}
+
+// CreateGetJvmConfigurationRequest creates a request to invoke GetJvmConfiguration API
+func CreateGetJvmConfigurationRequest() (request *GetJvmConfigurationRequest) {
+	request = &GetJvmConfigurationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "GetJvmConfiguration", "/pop/v5/app/app_jvm_config", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateGetJvmConfigurationResponse creates a response to parse from GetJvmConfiguration response
+func CreateGetJvmConfigurationResponse() (response *GetJvmConfigurationResponse) {
+	response = &GetJvmConfigurationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/get_package_storage_credential.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// GetPackageStorageCredential invokes the edas.GetPackageStorageCredential API synchronously
+// api document: https://help.aliyun.com/api/edas/getpackagestoragecredential.html
+func (client *Client) GetPackageStorageCredential(request *GetPackageStorageCredentialRequest) (response *GetPackageStorageCredentialResponse, err error) {
+	response = CreateGetPackageStorageCredentialResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetPackageStorageCredentialWithChan invokes the edas.GetPackageStorageCredential API asynchronously
+// api document: https://help.aliyun.com/api/edas/getpackagestoragecredential.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetPackageStorageCredentialWithChan(request *GetPackageStorageCredentialRequest) (<-chan *GetPackageStorageCredentialResponse, <-chan error) {
+	responseChan := make(chan *GetPackageStorageCredentialResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetPackageStorageCredential(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetPackageStorageCredentialWithCallback invokes the edas.GetPackageStorageCredential API asynchronously
+// api document: https://help.aliyun.com/api/edas/getpackagestoragecredential.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetPackageStorageCredentialWithCallback(request *GetPackageStorageCredentialRequest, callback func(response *GetPackageStorageCredentialResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetPackageStorageCredentialResponse
+		var err error
+		defer close(result)
+		response, err = client.GetPackageStorageCredential(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetPackageStorageCredentialRequest is the request struct for api GetPackageStorageCredential
+type GetPackageStorageCredentialRequest struct {
+	*requests.RoaRequest
+}
+
+// GetPackageStorageCredentialResponse is the response struct for api GetPackageStorageCredential
+type GetPackageStorageCredentialResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	Code       int        `json:"Code" xml:"Code"`
+	Message    string     `json:"Message" xml:"Message"`
+	Credential Credential `json:"Credential" xml:"Credential"`
+}
+
+// CreateGetPackageStorageCredentialRequest creates a request to invoke GetPackageStorageCredential API
+func CreateGetPackageStorageCredentialRequest() (request *GetPackageStorageCredentialRequest) {
+	request = &GetPackageStorageCredentialRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "GetPackageStorageCredential", "/pop/v5/package_storage_credential", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateGetPackageStorageCredentialResponse creates a response to parse from GetPackageStorageCredential response
+func CreateGetPackageStorageCredentialResponse() (response *GetPackageStorageCredentialResponse) {
+	response = &GetPackageStorageCredentialResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/get_secure_token.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// GetSecureToken invokes the edas.GetSecureToken API synchronously
+// api document: https://help.aliyun.com/api/edas/getsecuretoken.html
+func (client *Client) GetSecureToken(request *GetSecureTokenRequest) (response *GetSecureTokenResponse, err error) {
+	response = CreateGetSecureTokenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetSecureTokenWithChan invokes the edas.GetSecureToken API asynchronously
+// api document: https://help.aliyun.com/api/edas/getsecuretoken.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetSecureTokenWithChan(request *GetSecureTokenRequest) (<-chan *GetSecureTokenResponse, <-chan error) {
+	responseChan := make(chan *GetSecureTokenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetSecureToken(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetSecureTokenWithCallback invokes the edas.GetSecureToken API asynchronously
+// api document: https://help.aliyun.com/api/edas/getsecuretoken.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetSecureTokenWithCallback(request *GetSecureTokenRequest, callback func(response *GetSecureTokenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetSecureTokenResponse
+		var err error
+		defer close(result)
+		response, err = client.GetSecureToken(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetSecureTokenRequest is the request struct for api GetSecureToken
+type GetSecureTokenRequest struct {
+	*requests.RoaRequest
+	NamespaceId string `position:"Query" name:"NamespaceId"`
+}
+
+// GetSecureTokenResponse is the response struct for api GetSecureToken
+type GetSecureTokenResponse struct {
+	*responses.BaseResponse
+	Code        int         `json:"Code" xml:"Code"`
+	Message     string      `json:"Message" xml:"Message"`
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	SecureToken SecureToken `json:"SecureToken" xml:"SecureToken"`
+}
+
+// CreateGetSecureTokenRequest creates a request to invoke GetSecureToken API
+func CreateGetSecureTokenRequest() (request *GetSecureTokenRequest) {
+	request = &GetSecureTokenRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "GetSecureToken", "/pop/v5/secure_token", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateGetSecureTokenResponse creates a response to parse from GetSecureToken response
+func CreateGetSecureTokenResponse() (response *GetSecureTokenResponse) {
+	response = &GetSecureTokenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/get_serverless_app_config_detail.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// GetServerlessAppConfigDetail invokes the edas.GetServerlessAppConfigDetail API synchronously
+// api document: https://help.aliyun.com/api/edas/getserverlessappconfigdetail.html
+func (client *Client) GetServerlessAppConfigDetail(request *GetServerlessAppConfigDetailRequest) (response *GetServerlessAppConfigDetailResponse, err error) {
+	response = CreateGetServerlessAppConfigDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetServerlessAppConfigDetailWithChan invokes the edas.GetServerlessAppConfigDetail API asynchronously
+// api document: https://help.aliyun.com/api/edas/getserverlessappconfigdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetServerlessAppConfigDetailWithChan(request *GetServerlessAppConfigDetailRequest) (<-chan *GetServerlessAppConfigDetailResponse, <-chan error) {
+	responseChan := make(chan *GetServerlessAppConfigDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetServerlessAppConfigDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetServerlessAppConfigDetailWithCallback invokes the edas.GetServerlessAppConfigDetail API asynchronously
+// api document: https://help.aliyun.com/api/edas/getserverlessappconfigdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetServerlessAppConfigDetailWithCallback(request *GetServerlessAppConfigDetailRequest, callback func(response *GetServerlessAppConfigDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetServerlessAppConfigDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.GetServerlessAppConfigDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetServerlessAppConfigDetailRequest is the request struct for api GetServerlessAppConfigDetail
+type GetServerlessAppConfigDetailRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// GetServerlessAppConfigDetailResponse is the response struct for api GetServerlessAppConfigDetail
+type GetServerlessAppConfigDetailResponse struct {
+	*responses.BaseResponse
+	Code    int    `json:"Code" xml:"Code"`
+	Message string `json:"Message" xml:"Message"`
+	Data    Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetServerlessAppConfigDetailRequest creates a request to invoke GetServerlessAppConfigDetail API
+func CreateGetServerlessAppConfigDetailRequest() (request *GetServerlessAppConfigDetailRequest) {
+	request = &GetServerlessAppConfigDetailRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "GetServerlessAppConfigDetail", "/pop/v5/k8s/pop/pop_serverless_app_config_detail", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateGetServerlessAppConfigDetailResponse creates a response to parse from GetServerlessAppConfigDetail response
+func CreateGetServerlessAppConfigDetailResponse() (response *GetServerlessAppConfigDetailResponse) {
+	response = &GetServerlessAppConfigDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/import_k8s_cluster.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ImportK8sCluster invokes the edas.ImportK8sCluster API synchronously
+// api document: https://help.aliyun.com/api/edas/importk8scluster.html
+func (client *Client) ImportK8sCluster(request *ImportK8sClusterRequest) (response *ImportK8sClusterResponse, err error) {
+	response = CreateImportK8sClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ImportK8sClusterWithChan invokes the edas.ImportK8sCluster API asynchronously
+// api document: https://help.aliyun.com/api/edas/importk8scluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ImportK8sClusterWithChan(request *ImportK8sClusterRequest) (<-chan *ImportK8sClusterResponse, <-chan error) {
+	responseChan := make(chan *ImportK8sClusterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ImportK8sCluster(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ImportK8sClusterWithCallback invokes the edas.ImportK8sCluster API asynchronously
+// api document: https://help.aliyun.com/api/edas/importk8scluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ImportK8sClusterWithCallback(request *ImportK8sClusterRequest, callback func(response *ImportK8sClusterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ImportK8sClusterResponse
+		var err error
+		defer close(result)
+		response, err = client.ImportK8sCluster(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ImportK8sClusterRequest is the request struct for api ImportK8sCluster
+type ImportK8sClusterRequest struct {
+	*requests.RoaRequest
+	ClusterId string `position:"Query" name:"ClusterId"`
+}
+
+// ImportK8sClusterResponse is the response struct for api ImportK8sCluster
+type ImportK8sClusterResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateImportK8sClusterRequest creates a request to invoke ImportK8sCluster API
+func CreateImportK8sClusterRequest() (request *ImportK8sClusterRequest) {
+	request = &ImportK8sClusterRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ImportK8sCluster", "/pop/v5/import_k8s_cluster", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateImportK8sClusterResponse creates a response to parse from ImportK8sCluster response
+func CreateImportK8sClusterResponse() (response *ImportK8sClusterResponse) {
+	response = &ImportK8sClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/edas/insert_application.go

@@ -0,0 +1,119 @@
+package edas
+
+//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"
+)
+
+// InsertApplication invokes the edas.InsertApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/insertapplication.html
+func (client *Client) InsertApplication(request *InsertApplicationRequest) (response *InsertApplicationResponse, err error) {
+	response = CreateInsertApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertApplicationWithChan invokes the edas.InsertApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertApplicationWithChan(request *InsertApplicationRequest) (<-chan *InsertApplicationResponse, <-chan error) {
+	responseChan := make(chan *InsertApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertApplicationWithCallback invokes the edas.InsertApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertApplicationWithCallback(request *InsertApplicationRequest, callback func(response *InsertApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertApplicationRequest is the request struct for api InsertApplication
+type InsertApplicationRequest struct {
+	*requests.RoaRequest
+	WebContainer    string           `position:"Query" name:"WebContainer"`
+	EcuInfo         string           `position:"Query" name:"EcuInfo"`
+	BuildPackId     requests.Integer `position:"Query" name:"BuildPackId"`
+	HealthCheckURL  string           `position:"Query" name:"HealthCheckURL"`
+	ReservedPortStr string           `position:"Query" name:"ReservedPortStr"`
+	Description     string           `position:"Query" name:"Description"`
+	Cpu             requests.Integer `position:"Query" name:"Cpu"`
+	ClusterId       string           `position:"Query" name:"ClusterId"`
+	ApplicationName string           `position:"Query" name:"ApplicationName"`
+	Jdk             string           `position:"Query" name:"Jdk"`
+	Mem             requests.Integer `position:"Query" name:"Mem"`
+	LogicalRegionId string           `position:"Query" name:"LogicalRegionId"`
+	PackageType     string           `position:"Query" name:"PackageType"`
+}
+
+// InsertApplicationResponse is the response struct for api InsertApplication
+type InsertApplicationResponse struct {
+	*responses.BaseResponse
+	Code            int             `json:"Code" xml:"Code"`
+	Message         string          `json:"Message" xml:"Message"`
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	ApplicationInfo ApplicationInfo `json:"ApplicationInfo" xml:"ApplicationInfo"`
+}
+
+// CreateInsertApplicationRequest creates a request to invoke InsertApplication API
+func CreateInsertApplicationRequest() (request *InsertApplicationRequest) {
+	request = &InsertApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertApplication", "/pop/v5/changeorder/co_create_app", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertApplicationResponse creates a response to parse from InsertApplication response
+func CreateInsertApplicationResponse() (response *InsertApplicationResponse) {
+	response = &InsertApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/edas/insert_cluster.go

@@ -0,0 +1,113 @@
+package edas
+
+//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"
+)
+
+// InsertCluster invokes the edas.InsertCluster API synchronously
+// api document: https://help.aliyun.com/api/edas/insertcluster.html
+func (client *Client) InsertCluster(request *InsertClusterRequest) (response *InsertClusterResponse, err error) {
+	response = CreateInsertClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertClusterWithChan invokes the edas.InsertCluster API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertcluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertClusterWithChan(request *InsertClusterRequest) (<-chan *InsertClusterResponse, <-chan error) {
+	responseChan := make(chan *InsertClusterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertCluster(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertClusterWithCallback invokes the edas.InsertCluster API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertcluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertClusterWithCallback(request *InsertClusterRequest, callback func(response *InsertClusterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertClusterResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertCluster(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertClusterRequest is the request struct for api InsertCluster
+type InsertClusterRequest struct {
+	*requests.RoaRequest
+	ClusterType     requests.Integer `position:"Query" name:"ClusterType"`
+	IaasProvider    string           `position:"Query" name:"IaasProvider"`
+	LogicalRegionId string           `position:"Query" name:"LogicalRegionId"`
+	ClusterName     string           `position:"Query" name:"ClusterName"`
+	VpcId           string           `position:"Query" name:"VpcId"`
+	NetworkMode     requests.Integer `position:"Query" name:"NetworkMode"`
+	OversoldFactor  requests.Integer `position:"Query" name:"OversoldFactor"`
+}
+
+// InsertClusterResponse is the response struct for api InsertCluster
+type InsertClusterResponse struct {
+	*responses.BaseResponse
+	Code      int     `json:"Code" xml:"Code"`
+	Message   string  `json:"Message" xml:"Message"`
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	Cluster   Cluster `json:"Cluster" xml:"Cluster"`
+}
+
+// CreateInsertClusterRequest creates a request to invoke InsertCluster API
+func CreateInsertClusterRequest() (request *InsertClusterRequest) {
+	request = &InsertClusterRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertCluster", "/pop/v5/resource/cluster", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertClusterResponse creates a response to parse from InsertCluster response
+func CreateInsertClusterResponse() (response *InsertClusterResponse) {
+	response = &InsertClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/edas/insert_cluster_member.go

@@ -0,0 +1,109 @@
+package edas
+
+//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"
+)
+
+// InsertClusterMember invokes the edas.InsertClusterMember API synchronously
+// api document: https://help.aliyun.com/api/edas/insertclustermember.html
+func (client *Client) InsertClusterMember(request *InsertClusterMemberRequest) (response *InsertClusterMemberResponse, err error) {
+	response = CreateInsertClusterMemberResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertClusterMemberWithChan invokes the edas.InsertClusterMember API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertclustermember.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertClusterMemberWithChan(request *InsertClusterMemberRequest) (<-chan *InsertClusterMemberResponse, <-chan error) {
+	responseChan := make(chan *InsertClusterMemberResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertClusterMember(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertClusterMemberWithCallback invokes the edas.InsertClusterMember API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertclustermember.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertClusterMemberWithCallback(request *InsertClusterMemberRequest, callback func(response *InsertClusterMemberResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertClusterMemberResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertClusterMember(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertClusterMemberRequest is the request struct for api InsertClusterMember
+type InsertClusterMemberRequest struct {
+	*requests.RoaRequest
+	Password    string `position:"Query" name:"password"`
+	InstanceIds string `position:"Query" name:"instanceIds"`
+	ClusterId   string `position:"Query" name:"clusterId"`
+}
+
+// InsertClusterMemberResponse is the response struct for api InsertClusterMember
+type InsertClusterMemberResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateInsertClusterMemberRequest creates a request to invoke InsertClusterMember API
+func CreateInsertClusterMemberRequest() (request *InsertClusterMemberRequest) {
+	request = &InsertClusterMemberRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertClusterMember", "/pop/v5/resource/cluster_member", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertClusterMemberResponse creates a response to parse from InsertClusterMember response
+func CreateInsertClusterMemberResponse() (response *InsertClusterMemberResponse) {
+	response = &InsertClusterMemberResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/edas/insert_config_center.go

@@ -0,0 +1,109 @@
+package edas
+
+//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"
+)
+
+// InsertConfigCenter invokes the edas.InsertConfigCenter API synchronously
+// api document: https://help.aliyun.com/api/edas/insertconfigcenter.html
+func (client *Client) InsertConfigCenter(request *InsertConfigCenterRequest) (response *InsertConfigCenterResponse, err error) {
+	response = CreateInsertConfigCenterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertConfigCenterWithChan invokes the edas.InsertConfigCenter API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertconfigcenter.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertConfigCenterWithChan(request *InsertConfigCenterRequest) (<-chan *InsertConfigCenterResponse, <-chan error) {
+	responseChan := make(chan *InsertConfigCenterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertConfigCenter(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertConfigCenterWithCallback invokes the edas.InsertConfigCenter API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertconfigcenter.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertConfigCenterWithCallback(request *InsertConfigCenterRequest, callback func(response *InsertConfigCenterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertConfigCenterResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertConfigCenter(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertConfigCenterRequest is the request struct for api InsertConfigCenter
+type InsertConfigCenterRequest struct {
+	*requests.RoaRequest
+	DataId          string `position:"Query" name:"DataId"`
+	Data            string `position:"Query" name:"Data"`
+	LogicalRegionId string `position:"Query" name:"LogicalRegionId"`
+	Group           string `position:"Query" name:"Group"`
+}
+
+// InsertConfigCenterResponse is the response struct for api InsertConfigCenter
+type InsertConfigCenterResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateInsertConfigCenterRequest creates a request to invoke InsertConfigCenter API
+func CreateInsertConfigCenterRequest() (request *InsertConfigCenterRequest) {
+	request = &InsertConfigCenterRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertConfigCenter", "/pop/v5/configCenter", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertConfigCenterResponse creates a response to parse from InsertConfigCenter response
+func CreateInsertConfigCenterResponse() (response *InsertConfigCenterResponse) {
+	response = &InsertConfigCenterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/edas/insert_degrade_control.go

@@ -0,0 +1,112 @@
+package edas
+
+//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"
+)
+
+// InsertDegradeControl invokes the edas.InsertDegradeControl API synchronously
+// api document: https://help.aliyun.com/api/edas/insertdegradecontrol.html
+func (client *Client) InsertDegradeControl(request *InsertDegradeControlRequest) (response *InsertDegradeControlResponse, err error) {
+	response = CreateInsertDegradeControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertDegradeControlWithChan invokes the edas.InsertDegradeControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertdegradecontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertDegradeControlWithChan(request *InsertDegradeControlRequest) (<-chan *InsertDegradeControlResponse, <-chan error) {
+	responseChan := make(chan *InsertDegradeControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertDegradeControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertDegradeControlWithCallback invokes the edas.InsertDegradeControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertdegradecontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertDegradeControlWithCallback(request *InsertDegradeControlRequest, callback func(response *InsertDegradeControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertDegradeControlResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertDegradeControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertDegradeControlRequest is the request struct for api InsertDegradeControl
+type InsertDegradeControlRequest struct {
+	*requests.RoaRequest
+	Duration    requests.Integer `position:"Query" name:"Duration"`
+	RuleType    string           `position:"Query" name:"RuleType"`
+	AppId       string           `position:"Query" name:"AppId"`
+	UrlVar      string           `position:"Query" name:"UrlVar"`
+	RtThreshold requests.Integer `position:"Query" name:"RtThreshold"`
+	ServiceName string           `position:"Query" name:"ServiceName"`
+	MethodName  string           `position:"Query" name:"MethodName"`
+}
+
+// InsertDegradeControlResponse is the response struct for api InsertDegradeControl
+type InsertDegradeControlResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateInsertDegradeControlRequest creates a request to invoke InsertDegradeControl API
+func CreateInsertDegradeControlRequest() (request *InsertDegradeControlRequest) {
+	request = &InsertDegradeControlRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertDegradeControl", "/pop/v5/degradeControl", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertDegradeControlResponse creates a response to parse from InsertDegradeControl response
+func CreateInsertDegradeControlResponse() (response *InsertDegradeControlResponse) {
+	response = &InsertDegradeControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/insert_deploy_group.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// InsertDeployGroup invokes the edas.InsertDeployGroup API synchronously
+// api document: https://help.aliyun.com/api/edas/insertdeploygroup.html
+func (client *Client) InsertDeployGroup(request *InsertDeployGroupRequest) (response *InsertDeployGroupResponse, err error) {
+	response = CreateInsertDeployGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertDeployGroupWithChan invokes the edas.InsertDeployGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertdeploygroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertDeployGroupWithChan(request *InsertDeployGroupRequest) (<-chan *InsertDeployGroupResponse, <-chan error) {
+	responseChan := make(chan *InsertDeployGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertDeployGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertDeployGroupWithCallback invokes the edas.InsertDeployGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertdeploygroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertDeployGroupWithCallback(request *InsertDeployGroupRequest, callback func(response *InsertDeployGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertDeployGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertDeployGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertDeployGroupRequest is the request struct for api InsertDeployGroup
+type InsertDeployGroupRequest struct {
+	*requests.RoaRequest
+	AppId     string `position:"Query" name:"AppId"`
+	GroupName string `position:"Query" name:"GroupName"`
+}
+
+// InsertDeployGroupResponse is the response struct for api InsertDeployGroup
+type InsertDeployGroupResponse struct {
+	*responses.BaseResponse
+	Code              int               `json:"Code" xml:"Code"`
+	Message           string            `json:"Message" xml:"Message"`
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	DeployGroupEntity DeployGroupEntity `json:"DeployGroupEntity" xml:"DeployGroupEntity"`
+}
+
+// CreateInsertDeployGroupRequest creates a request to invoke InsertDeployGroup API
+func CreateInsertDeployGroupRequest() (request *InsertDeployGroupRequest) {
+	request = &InsertDeployGroupRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertDeployGroup", "/pop/v5/deploy_group", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertDeployGroupResponse creates a response to parse from InsertDeployGroup response
+func CreateInsertDeployGroupResponse() (response *InsertDeployGroupResponse) {
+	response = &InsertDeployGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/edas/insert_flow_control.go

@@ -0,0 +1,114 @@
+package edas
+
+//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"
+)
+
+// InsertFlowControl invokes the edas.InsertFlowControl API synchronously
+// api document: https://help.aliyun.com/api/edas/insertflowcontrol.html
+func (client *Client) InsertFlowControl(request *InsertFlowControlRequest) (response *InsertFlowControlResponse, err error) {
+	response = CreateInsertFlowControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertFlowControlWithChan invokes the edas.InsertFlowControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertflowcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertFlowControlWithChan(request *InsertFlowControlRequest) (<-chan *InsertFlowControlResponse, <-chan error) {
+	responseChan := make(chan *InsertFlowControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertFlowControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertFlowControlWithCallback invokes the edas.InsertFlowControl API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertflowcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertFlowControlWithCallback(request *InsertFlowControlRequest, callback func(response *InsertFlowControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertFlowControlResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertFlowControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertFlowControlRequest is the request struct for api InsertFlowControl
+type InsertFlowControlRequest struct {
+	*requests.RoaRequest
+	ConsumerAppId string           `position:"Query" name:"ConsumerAppId"`
+	Granularity   string           `position:"Query" name:"Granularity"`
+	RuleType      string           `position:"Query" name:"RuleType"`
+	AppId         string           `position:"Query" name:"AppId"`
+	UrlVar        string           `position:"Query" name:"UrlVar"`
+	ServiceName   string           `position:"Query" name:"ServiceName"`
+	Threshold     requests.Integer `position:"Query" name:"Threshold"`
+	Strategy      string           `position:"Query" name:"Strategy"`
+	MethodName    string           `position:"Query" name:"MethodName"`
+}
+
+// InsertFlowControlResponse is the response struct for api InsertFlowControl
+type InsertFlowControlResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateInsertFlowControlRequest creates a request to invoke InsertFlowControl API
+func CreateInsertFlowControlRequest() (request *InsertFlowControlRequest) {
+	request = &InsertFlowControlRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertFlowControl", "/pop/v5/flowControl", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertFlowControlResponse creates a response to parse from InsertFlowControl response
+func CreateInsertFlowControlResponse() (response *InsertFlowControlResponse) {
+	response = &InsertFlowControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 137 - 0
services/edas/insert_k8s_application.go

@@ -0,0 +1,137 @@
+package edas
+
+//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"
+)
+
+// InsertK8sApplication invokes the edas.InsertK8sApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/insertk8sapplication.html
+func (client *Client) InsertK8sApplication(request *InsertK8sApplicationRequest) (response *InsertK8sApplicationResponse, err error) {
+	response = CreateInsertK8sApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertK8sApplicationWithChan invokes the edas.InsertK8sApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertk8sapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertK8sApplicationWithChan(request *InsertK8sApplicationRequest) (<-chan *InsertK8sApplicationResponse, <-chan error) {
+	responseChan := make(chan *InsertK8sApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertK8sApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertK8sApplicationWithCallback invokes the edas.InsertK8sApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertk8sapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertK8sApplicationWithCallback(request *InsertK8sApplicationRequest, callback func(response *InsertK8sApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertK8sApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertK8sApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertK8sApplicationRequest is the request struct for api InsertK8sApplication
+type InsertK8sApplicationRequest struct {
+	*requests.RoaRequest
+	NasId                  string           `position:"Query" name:"NasId"`
+	RepoId                 string           `position:"Query" name:"RepoId"`
+	InternetTargetPort     requests.Integer `position:"Query" name:"InternetTargetPort"`
+	IntranetSlbId          string           `position:"Query" name:"IntranetSlbId"`
+	CommandArgs            string           `position:"Query" name:"CommandArgs"`
+	Readiness              string           `position:"Query" name:"Readiness"`
+	Liveness               string           `position:"Query" name:"Liveness"`
+	InternetSlbPort        requests.Integer `position:"Query" name:"InternetSlbPort"`
+	Envs                   string           `position:"Query" name:"Envs"`
+	RequestsMem            requests.Integer `position:"Query" name:"RequestsMem"`
+	StorageType            string           `position:"Query" name:"StorageType"`
+	LimitMem               requests.Integer `position:"Query" name:"LimitMem"`
+	AppName                string           `position:"Query" name:"AppName"`
+	InternetSlbId          string           `position:"Query" name:"InternetSlbId"`
+	LogicalRegionId        string           `position:"Query" name:"LogicalRegionId"`
+	InternetSlbProtocol    string           `position:"Query" name:"InternetSlbProtocol"`
+	IntranetSlbPort        requests.Integer `position:"Query" name:"IntranetSlbPort"`
+	PreStop                string           `position:"Query" name:"PreStop"`
+	MountDescs             string           `position:"Query" name:"MountDescs"`
+	Replicas               requests.Integer `position:"Query" name:"Replicas"`
+	LimitCpu               requests.Integer `position:"Query" name:"LimitCpu"`
+	ClusterId              string           `position:"Query" name:"ClusterId"`
+	IntranetTargetPort     requests.Integer `position:"Query" name:"IntranetTargetPort"`
+	LocalVolume            string           `position:"Query" name:"LocalVolume"`
+	Command                string           `position:"Query" name:"Command"`
+	IntranetSlbProtocol    string           `position:"Query" name:"IntranetSlbProtocol"`
+	ImageUrl               string           `position:"Query" name:"ImageUrl"`
+	Namespace              string           `position:"Query" name:"Namespace"`
+	ApplicationDescription string           `position:"Query" name:"ApplicationDescription"`
+	RequestsCpu            requests.Integer `position:"Query" name:"RequestsCpu"`
+	PostStart              string           `position:"Query" name:"PostStart"`
+}
+
+// InsertK8sApplicationResponse is the response struct for api InsertK8sApplication
+type InsertK8sApplicationResponse struct {
+	*responses.BaseResponse
+	Code            int             `json:"Code" xml:"Code"`
+	Message         string          `json:"Message" xml:"Message"`
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	ApplicationInfo ApplicationInfo `json:"ApplicationInfo" xml:"ApplicationInfo"`
+}
+
+// CreateInsertK8sApplicationRequest creates a request to invoke InsertK8sApplication API
+func CreateInsertK8sApplicationRequest() (request *InsertK8sApplicationRequest) {
+	request = &InsertK8sApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertK8sApplication", "/pop/v5/k8s/acs/create_k8s_app", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertK8sApplicationResponse creates a response to parse from InsertK8sApplication response
+func CreateInsertK8sApplicationResponse() (response *InsertK8sApplicationResponse) {
+	response = &InsertK8sApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/edas/insert_or_update_region.go

@@ -0,0 +1,112 @@
+package edas
+
+//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"
+)
+
+// InsertOrUpdateRegion invokes the edas.InsertOrUpdateRegion API synchronously
+// api document: https://help.aliyun.com/api/edas/insertorupdateregion.html
+func (client *Client) InsertOrUpdateRegion(request *InsertOrUpdateRegionRequest) (response *InsertOrUpdateRegionResponse, err error) {
+	response = CreateInsertOrUpdateRegionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertOrUpdateRegionWithChan invokes the edas.InsertOrUpdateRegion API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertorupdateregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertOrUpdateRegionWithChan(request *InsertOrUpdateRegionRequest) (<-chan *InsertOrUpdateRegionResponse, <-chan error) {
+	responseChan := make(chan *InsertOrUpdateRegionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertOrUpdateRegion(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertOrUpdateRegionWithCallback invokes the edas.InsertOrUpdateRegion API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertorupdateregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertOrUpdateRegionWithCallback(request *InsertOrUpdateRegionRequest, callback func(response *InsertOrUpdateRegionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertOrUpdateRegionResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertOrUpdateRegion(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertOrUpdateRegionRequest is the request struct for api InsertOrUpdateRegion
+type InsertOrUpdateRegionRequest struct {
+	*requests.RoaRequest
+	HybridCloudEnable requests.Boolean `position:"Query" name:"HybridCloudEnable"`
+	VpcId             string           `position:"Query" name:"VpcId"`
+	RegionTag         string           `position:"Query" name:"RegionTag"`
+	RegionName        string           `position:"Query" name:"RegionName"`
+	Description       string           `position:"Query" name:"Description"`
+	Id                requests.Integer `position:"Query" name:"Id"`
+}
+
+// InsertOrUpdateRegionResponse is the response struct for api InsertOrUpdateRegion
+type InsertOrUpdateRegionResponse struct {
+	*responses.BaseResponse
+	Code                   int                    `json:"Code" xml:"Code"`
+	Message                string                 `json:"Message" xml:"Message"`
+	RequestId              string                 `json:"RequestId" xml:"RequestId"`
+	UserDefineRegionEntity UserDefineRegionEntity `json:"UserDefineRegionEntity" xml:"UserDefineRegionEntity"`
+}
+
+// CreateInsertOrUpdateRegionRequest creates a request to invoke InsertOrUpdateRegion API
+func CreateInsertOrUpdateRegionRequest() (request *InsertOrUpdateRegionRequest) {
+	request = &InsertOrUpdateRegionRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertOrUpdateRegion", "/pop/v5/user_region_def", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertOrUpdateRegionResponse creates a response to parse from InsertOrUpdateRegion response
+func CreateInsertOrUpdateRegionResponse() (response *InsertOrUpdateRegionResponse) {
+	response = &InsertOrUpdateRegionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/insert_role.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// InsertRole invokes the edas.InsertRole API synchronously
+// api document: https://help.aliyun.com/api/edas/insertrole.html
+func (client *Client) InsertRole(request *InsertRoleRequest) (response *InsertRoleResponse, err error) {
+	response = CreateInsertRoleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertRoleWithChan invokes the edas.InsertRole API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertrole.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertRoleWithChan(request *InsertRoleRequest) (<-chan *InsertRoleResponse, <-chan error) {
+	responseChan := make(chan *InsertRoleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertRole(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertRoleWithCallback invokes the edas.InsertRole API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertrole.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertRoleWithCallback(request *InsertRoleRequest, callback func(response *InsertRoleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertRoleResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertRole(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertRoleRequest is the request struct for api InsertRole
+type InsertRoleRequest struct {
+	*requests.RoaRequest
+	RoleName   string `position:"Query" name:"RoleName"`
+	ActionData string `position:"Query" name:"ActionData"`
+}
+
+// InsertRoleResponse is the response struct for api InsertRole
+type InsertRoleResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RoleId    int    `json:"RoleId" xml:"RoleId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateInsertRoleRequest creates a request to invoke InsertRole API
+func CreateInsertRoleRequest() (request *InsertRoleRequest) {
+	request = &InsertRoleRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertRole", "/pop/v5/account/create_role", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertRoleResponse creates a response to parse from InsertRole response
+func CreateInsertRoleResponse() (response *InsertRoleResponse) {
+	response = &InsertRoleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 128 - 0
services/edas/insert_serverless_application.go

@@ -0,0 +1,128 @@
+package edas
+
+//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"
+)
+
+// InsertServerlessApplication invokes the edas.InsertServerlessApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/insertserverlessapplication.html
+func (client *Client) InsertServerlessApplication(request *InsertServerlessApplicationRequest) (response *InsertServerlessApplicationResponse, err error) {
+	response = CreateInsertServerlessApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertServerlessApplicationWithChan invokes the edas.InsertServerlessApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertserverlessapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertServerlessApplicationWithChan(request *InsertServerlessApplicationRequest) (<-chan *InsertServerlessApplicationResponse, <-chan error) {
+	responseChan := make(chan *InsertServerlessApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertServerlessApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertServerlessApplicationWithCallback invokes the edas.InsertServerlessApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertserverlessapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertServerlessApplicationWithCallback(request *InsertServerlessApplicationRequest, callback func(response *InsertServerlessApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertServerlessApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertServerlessApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertServerlessApplicationRequest is the request struct for api InsertServerlessApplication
+type InsertServerlessApplicationRequest struct {
+	*requests.RoaRequest
+	WebContainer    string           `position:"Query" name:"WebContainer"`
+	JarStartArgs    string           `position:"Query" name:"JarStartArgs"`
+	Memory          requests.Integer `position:"Query" name:"Memory"`
+	CommandArgs     string           `position:"Query" name:"CommandArgs"`
+	Replicas        requests.Integer `position:"Query" name:"Replicas"`
+	Readiness       string           `position:"Query" name:"Readiness"`
+	Liveness        string           `position:"Query" name:"Liveness"`
+	Cpu             requests.Integer `position:"Query" name:"Cpu"`
+	Envs            string           `position:"Query" name:"Envs"`
+	PackageVersion  string           `position:"Query" name:"PackageVersion"`
+	Command         string           `position:"Query" name:"Command"`
+	CustomHostAlias string           `position:"Query" name:"CustomHostAlias"`
+	Deploy          requests.Boolean `position:"Query" name:"Deploy"`
+	VSwitchId       string           `position:"Query" name:"VSwitchId"`
+	Jdk             string           `position:"Query" name:"Jdk"`
+	AppDescription  string           `position:"Query" name:"AppDescription"`
+	JarStartOptions string           `position:"Query" name:"JarStartOptions"`
+	AppName         string           `position:"Query" name:"AppName"`
+	NamespaceId     string           `position:"Query" name:"NamespaceId"`
+	PackageUrl      string           `position:"Query" name:"PackageUrl"`
+	VpcId           string           `position:"Query" name:"VpcId"`
+	ImageUrl        string           `position:"Query" name:"ImageUrl"`
+	PackageType     string           `position:"Query" name:"PackageType"`
+}
+
+// InsertServerlessApplicationResponse is the response struct for api InsertServerlessApplication
+type InsertServerlessApplicationResponse struct {
+	*responses.BaseResponse
+	Code    int    `json:"Code" xml:"Code"`
+	Message string `json:"Message" xml:"Message"`
+	Data    Data   `json:"Data" xml:"Data"`
+}
+
+// CreateInsertServerlessApplicationRequest creates a request to invoke InsertServerlessApplication API
+func CreateInsertServerlessApplicationRequest() (request *InsertServerlessApplicationRequest) {
+	request = &InsertServerlessApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertServerlessApplication", "/pop/v5/k8s/pop/pop_serverless_app_create_without_deploy", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertServerlessApplicationResponse creates a response to parse from InsertServerlessApplication response
+func CreateInsertServerlessApplicationResponse() (response *InsertServerlessApplicationResponse) {
+	response = &InsertServerlessApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/insert_service_group.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// InsertServiceGroup invokes the edas.InsertServiceGroup API synchronously
+// api document: https://help.aliyun.com/api/edas/insertservicegroup.html
+func (client *Client) InsertServiceGroup(request *InsertServiceGroupRequest) (response *InsertServiceGroupResponse, err error) {
+	response = CreateInsertServiceGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InsertServiceGroupWithChan invokes the edas.InsertServiceGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertservicegroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertServiceGroupWithChan(request *InsertServiceGroupRequest) (<-chan *InsertServiceGroupResponse, <-chan error) {
+	responseChan := make(chan *InsertServiceGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InsertServiceGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InsertServiceGroupWithCallback invokes the edas.InsertServiceGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/insertservicegroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InsertServiceGroupWithCallback(request *InsertServiceGroupRequest, callback func(response *InsertServiceGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InsertServiceGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.InsertServiceGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InsertServiceGroupRequest is the request struct for api InsertServiceGroup
+type InsertServiceGroupRequest struct {
+	*requests.RoaRequest
+	GroupName string `position:"Query" name:"GroupName"`
+}
+
+// InsertServiceGroupResponse is the response struct for api InsertServiceGroup
+type InsertServiceGroupResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateInsertServiceGroupRequest creates a request to invoke InsertServiceGroup API
+func CreateInsertServiceGroupRequest() (request *InsertServiceGroupRequest) {
+	request = &InsertServiceGroupRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InsertServiceGroup", "/pop/v5/service/serviceGroups", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInsertServiceGroupResponse creates a response to parse from InsertServiceGroup response
+func CreateInsertServiceGroupResponse() (response *InsertServiceGroupResponse) {
+	response = &InsertServiceGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/edas/install_agent.go

@@ -0,0 +1,109 @@
+package edas
+
+//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"
+)
+
+// InstallAgent invokes the edas.InstallAgent API synchronously
+// api document: https://help.aliyun.com/api/edas/installagent.html
+func (client *Client) InstallAgent(request *InstallAgentRequest) (response *InstallAgentResponse, err error) {
+	response = CreateInstallAgentResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InstallAgentWithChan invokes the edas.InstallAgent API asynchronously
+// api document: https://help.aliyun.com/api/edas/installagent.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InstallAgentWithChan(request *InstallAgentRequest) (<-chan *InstallAgentResponse, <-chan error) {
+	responseChan := make(chan *InstallAgentResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InstallAgent(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InstallAgentWithCallback invokes the edas.InstallAgent API asynchronously
+// api document: https://help.aliyun.com/api/edas/installagent.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InstallAgentWithCallback(request *InstallAgentRequest, callback func(response *InstallAgentResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InstallAgentResponse
+		var err error
+		defer close(result)
+		response, err = client.InstallAgent(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InstallAgentRequest is the request struct for api InstallAgent
+type InstallAgentRequest struct {
+	*requests.RoaRequest
+	InstanceIds string           `position:"Query" name:"InstanceIds"`
+	DoAsync     requests.Boolean `position:"Query" name:"DoAsync"`
+	ClusterId   string           `position:"Query" name:"ClusterId"`
+}
+
+// InstallAgentResponse is the response struct for api InstallAgent
+type InstallAgentResponse struct {
+	*responses.BaseResponse
+	RequestId           string              `json:"RequestId" xml:"RequestId"`
+	Code                int                 `json:"Code" xml:"Code"`
+	Message             string              `json:"Message" xml:"Message"`
+	ExecutionResultList ExecutionResultList `json:"ExecutionResultList" xml:"ExecutionResultList"`
+}
+
+// CreateInstallAgentRequest creates a request to invoke InstallAgent API
+func CreateInstallAgentRequest() (request *InstallAgentRequest) {
+	request = &InstallAgentRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "InstallAgent", "/pop/v5/ecss/install_agent", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInstallAgentResponse creates a response to parse from InstallAgent response
+func CreateInstallAgentResponse() (response *InstallAgentResponse) {
+	response = &InstallAgentResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/list_aliyun_region.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// ListAliyunRegion invokes the edas.ListAliyunRegion API synchronously
+// api document: https://help.aliyun.com/api/edas/listaliyunregion.html
+func (client *Client) ListAliyunRegion(request *ListAliyunRegionRequest) (response *ListAliyunRegionResponse, err error) {
+	response = CreateListAliyunRegionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListAliyunRegionWithChan invokes the edas.ListAliyunRegion API asynchronously
+// api document: https://help.aliyun.com/api/edas/listaliyunregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListAliyunRegionWithChan(request *ListAliyunRegionRequest) (<-chan *ListAliyunRegionResponse, <-chan error) {
+	responseChan := make(chan *ListAliyunRegionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListAliyunRegion(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListAliyunRegionWithCallback invokes the edas.ListAliyunRegion API asynchronously
+// api document: https://help.aliyun.com/api/edas/listaliyunregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListAliyunRegionWithCallback(request *ListAliyunRegionRequest, callback func(response *ListAliyunRegionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListAliyunRegionResponse
+		var err error
+		defer close(result)
+		response, err = client.ListAliyunRegion(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListAliyunRegionRequest is the request struct for api ListAliyunRegion
+type ListAliyunRegionRequest struct {
+	*requests.RoaRequest
+}
+
+// ListAliyunRegionResponse is the response struct for api ListAliyunRegion
+type ListAliyunRegionResponse struct {
+	*responses.BaseResponse
+	Code             int                                `json:"Code" xml:"Code"`
+	Message          string                             `json:"Message" xml:"Message"`
+	RequestId        string                             `json:"RequestId" xml:"RequestId"`
+	RegionEntityList RegionEntityListInListAliyunRegion `json:"RegionEntityList" xml:"RegionEntityList"`
+}
+
+// CreateListAliyunRegionRequest creates a request to invoke ListAliyunRegion API
+func CreateListAliyunRegionRequest() (request *ListAliyunRegionRequest) {
+	request = &ListAliyunRegionRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListAliyunRegion", "/pop/v5/resource/region_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListAliyunRegionResponse creates a response to parse from ListAliyunRegion response
+func CreateListAliyunRegionResponse() (response *ListAliyunRegionResponse) {
+	response = &ListAliyunRegionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/list_application.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// ListApplication invokes the edas.ListApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/listapplication.html
+func (client *Client) ListApplication(request *ListApplicationRequest) (response *ListApplicationResponse, err error) {
+	response = CreateListApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListApplicationWithChan invokes the edas.ListApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/listapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListApplicationWithChan(request *ListApplicationRequest) (<-chan *ListApplicationResponse, <-chan error) {
+	responseChan := make(chan *ListApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListApplicationWithCallback invokes the edas.ListApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/listapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListApplicationWithCallback(request *ListApplicationRequest, callback func(response *ListApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.ListApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListApplicationRequest is the request struct for api ListApplication
+type ListApplicationRequest struct {
+	*requests.RoaRequest
+}
+
+// ListApplicationResponse is the response struct for api ListApplication
+type ListApplicationResponse struct {
+	*responses.BaseResponse
+	Code            int             `json:"Code" xml:"Code"`
+	Message         string          `json:"Message" xml:"Message"`
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	ApplicationList ApplicationList `json:"ApplicationList" xml:"ApplicationList"`
+}
+
+// CreateListApplicationRequest creates a request to invoke ListApplication API
+func CreateListApplicationRequest() (request *ListApplicationRequest) {
+	request = &ListApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListApplication", "/pop/v5/app/app_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListApplicationResponse creates a response to parse from ListApplication response
+func CreateListApplicationResponse() (response *ListApplicationResponse) {
+	response = &ListApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/list_application_ecu.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// ListApplicationEcu invokes the edas.ListApplicationEcu API synchronously
+// api document: https://help.aliyun.com/api/edas/listapplicationecu.html
+func (client *Client) ListApplicationEcu(request *ListApplicationEcuRequest) (response *ListApplicationEcuResponse, err error) {
+	response = CreateListApplicationEcuResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListApplicationEcuWithChan invokes the edas.ListApplicationEcu API asynchronously
+// api document: https://help.aliyun.com/api/edas/listapplicationecu.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListApplicationEcuWithChan(request *ListApplicationEcuRequest) (<-chan *ListApplicationEcuResponse, <-chan error) {
+	responseChan := make(chan *ListApplicationEcuResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListApplicationEcu(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListApplicationEcuWithCallback invokes the edas.ListApplicationEcu API asynchronously
+// api document: https://help.aliyun.com/api/edas/listapplicationecu.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListApplicationEcuWithCallback(request *ListApplicationEcuRequest, callback func(response *ListApplicationEcuResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListApplicationEcuResponse
+		var err error
+		defer close(result)
+		response, err = client.ListApplicationEcu(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListApplicationEcuRequest is the request struct for api ListApplicationEcu
+type ListApplicationEcuRequest struct {
+	*requests.RoaRequest
+}
+
+// ListApplicationEcuResponse is the response struct for api ListApplicationEcu
+type ListApplicationEcuResponse struct {
+	*responses.BaseResponse
+	Code        int                             `json:"Code" xml:"Code"`
+	Message     string                          `json:"Message" xml:"Message"`
+	RequestId   string                          `json:"RequestId" xml:"RequestId"`
+	EcuInfoList EcuInfoListInListApplicationEcu `json:"EcuInfoList" xml:"EcuInfoList"`
+}
+
+// CreateListApplicationEcuRequest creates a request to invoke ListApplicationEcu API
+func CreateListApplicationEcuRequest() (request *ListApplicationEcuRequest) {
+	request = &ListApplicationEcuRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListApplicationEcu", "/pop/v5/resource/ecu_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListApplicationEcuResponse creates a response to parse from ListApplicationEcu response
+func CreateListApplicationEcuResponse() (response *ListApplicationEcuResponse) {
+	response = &ListApplicationEcuResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/list_authority.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// ListAuthority invokes the edas.ListAuthority API synchronously
+// api document: https://help.aliyun.com/api/edas/listauthority.html
+func (client *Client) ListAuthority(request *ListAuthorityRequest) (response *ListAuthorityResponse, err error) {
+	response = CreateListAuthorityResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListAuthorityWithChan invokes the edas.ListAuthority API asynchronously
+// api document: https://help.aliyun.com/api/edas/listauthority.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListAuthorityWithChan(request *ListAuthorityRequest) (<-chan *ListAuthorityResponse, <-chan error) {
+	responseChan := make(chan *ListAuthorityResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListAuthority(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListAuthorityWithCallback invokes the edas.ListAuthority API asynchronously
+// api document: https://help.aliyun.com/api/edas/listauthority.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListAuthorityWithCallback(request *ListAuthorityRequest, callback func(response *ListAuthorityResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListAuthorityResponse
+		var err error
+		defer close(result)
+		response, err = client.ListAuthority(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListAuthorityRequest is the request struct for api ListAuthority
+type ListAuthorityRequest struct {
+	*requests.RoaRequest
+}
+
+// ListAuthorityResponse is the response struct for api ListAuthority
+type ListAuthorityResponse struct {
+	*responses.BaseResponse
+	Code          int           `json:"Code" xml:"Code"`
+	Message       string        `json:"Message" xml:"Message"`
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	AuthorityList AuthorityList `json:"AuthorityList" xml:"AuthorityList"`
+}
+
+// CreateListAuthorityRequest creates a request to invoke ListAuthority API
+func CreateListAuthorityRequest() (request *ListAuthorityRequest) {
+	request = &ListAuthorityRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListAuthority", "/pop/v5/account/authority_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListAuthorityResponse creates a response to parse from ListAuthority response
+func CreateListAuthorityResponse() (response *ListAuthorityResponse) {
+	response = &ListAuthorityResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/list_build_pack.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// ListBuildPack invokes the edas.ListBuildPack API synchronously
+// api document: https://help.aliyun.com/api/edas/listbuildpack.html
+func (client *Client) ListBuildPack(request *ListBuildPackRequest) (response *ListBuildPackResponse, err error) {
+	response = CreateListBuildPackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListBuildPackWithChan invokes the edas.ListBuildPack API asynchronously
+// api document: https://help.aliyun.com/api/edas/listbuildpack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListBuildPackWithChan(request *ListBuildPackRequest) (<-chan *ListBuildPackResponse, <-chan error) {
+	responseChan := make(chan *ListBuildPackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListBuildPack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListBuildPackWithCallback invokes the edas.ListBuildPack API asynchronously
+// api document: https://help.aliyun.com/api/edas/listbuildpack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListBuildPackWithCallback(request *ListBuildPackRequest, callback func(response *ListBuildPackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListBuildPackResponse
+		var err error
+		defer close(result)
+		response, err = client.ListBuildPack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListBuildPackRequest is the request struct for api ListBuildPack
+type ListBuildPackRequest struct {
+	*requests.RoaRequest
+}
+
+// ListBuildPackResponse is the response struct for api ListBuildPack
+type ListBuildPackResponse struct {
+	*responses.BaseResponse
+	Code          int           `json:"Code" xml:"Code"`
+	Message       string        `json:"Message" xml:"Message"`
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	BuildPackList BuildPackList `json:"BuildPackList" xml:"BuildPackList"`
+}
+
+// CreateListBuildPackRequest creates a request to invoke ListBuildPack API
+func CreateListBuildPackRequest() (request *ListBuildPackRequest) {
+	request = &ListBuildPackRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListBuildPack", "/pop/v5/app/build_pack_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListBuildPackResponse creates a response to parse from ListBuildPack response
+func CreateListBuildPackResponse() (response *ListBuildPackResponse) {
+	response = &ListBuildPackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/list_cluster.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ListCluster invokes the edas.ListCluster API synchronously
+// api document: https://help.aliyun.com/api/edas/listcluster.html
+func (client *Client) ListCluster(request *ListClusterRequest) (response *ListClusterResponse, err error) {
+	response = CreateListClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListClusterWithChan invokes the edas.ListCluster API asynchronously
+// api document: https://help.aliyun.com/api/edas/listcluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListClusterWithChan(request *ListClusterRequest) (<-chan *ListClusterResponse, <-chan error) {
+	responseChan := make(chan *ListClusterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListCluster(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListClusterWithCallback invokes the edas.ListCluster API asynchronously
+// api document: https://help.aliyun.com/api/edas/listcluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListClusterWithCallback(request *ListClusterRequest, callback func(response *ListClusterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListClusterResponse
+		var err error
+		defer close(result)
+		response, err = client.ListCluster(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListClusterRequest is the request struct for api ListCluster
+type ListClusterRequest struct {
+	*requests.RoaRequest
+	LogicalRegionId string `position:"Query" name:"LogicalRegionId"`
+}
+
+// ListClusterResponse is the response struct for api ListCluster
+type ListClusterResponse struct {
+	*responses.BaseResponse
+	Code        int         `json:"Code" xml:"Code"`
+	Message     string      `json:"Message" xml:"Message"`
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	ClusterList ClusterList `json:"ClusterList" xml:"ClusterList"`
+}
+
+// CreateListClusterRequest creates a request to invoke ListCluster API
+func CreateListClusterRequest() (request *ListClusterRequest) {
+	request = &ListClusterRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListCluster", "/pop/v5/resource/cluster_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListClusterResponse creates a response to parse from ListCluster response
+func CreateListClusterResponse() (response *ListClusterResponse) {
+	response = &ListClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/edas/list_cluster_members.go

@@ -0,0 +1,109 @@
+package edas
+
+//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"
+)
+
+// ListClusterMembers invokes the edas.ListClusterMembers API synchronously
+// api document: https://help.aliyun.com/api/edas/listclustermembers.html
+func (client *Client) ListClusterMembers(request *ListClusterMembersRequest) (response *ListClusterMembersResponse, err error) {
+	response = CreateListClusterMembersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListClusterMembersWithChan invokes the edas.ListClusterMembers API asynchronously
+// api document: https://help.aliyun.com/api/edas/listclustermembers.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListClusterMembersWithChan(request *ListClusterMembersRequest) (<-chan *ListClusterMembersResponse, <-chan error) {
+	responseChan := make(chan *ListClusterMembersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListClusterMembers(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListClusterMembersWithCallback invokes the edas.ListClusterMembers API asynchronously
+// api document: https://help.aliyun.com/api/edas/listclustermembers.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListClusterMembersWithCallback(request *ListClusterMembersRequest, callback func(response *ListClusterMembersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListClusterMembersResponse
+		var err error
+		defer close(result)
+		response, err = client.ListClusterMembers(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListClusterMembersRequest is the request struct for api ListClusterMembers
+type ListClusterMembersRequest struct {
+	*requests.RoaRequest
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+	ClusterId   string           `position:"Query" name:"ClusterId"`
+}
+
+// ListClusterMembersResponse is the response struct for api ListClusterMembers
+type ListClusterMembersResponse struct {
+	*responses.BaseResponse
+	Code              int               `json:"Code" xml:"Code"`
+	Message           string            `json:"Message" xml:"Message"`
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	ClusterMemberPage ClusterMemberPage `json:"ClusterMemberPage" xml:"ClusterMemberPage"`
+}
+
+// CreateListClusterMembersRequest creates a request to invoke ListClusterMembers API
+func CreateListClusterMembersRequest() (request *ListClusterMembersRequest) {
+	request = &ListClusterMembersRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListClusterMembers", "/pop/v5/resource/cluster_member_list", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListClusterMembersResponse creates a response to parse from ListClusterMembers response
+func CreateListClusterMembersResponse() (response *ListClusterMembersResponse) {
+	response = &ListClusterMembersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/edas/list_components.go

@@ -0,0 +1,105 @@
+package edas
+
+//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"
+)
+
+// ListComponents invokes the edas.ListComponents API synchronously
+// api document: https://help.aliyun.com/api/edas/listcomponents.html
+func (client *Client) ListComponents(request *ListComponentsRequest) (response *ListComponentsResponse, err error) {
+	response = CreateListComponentsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListComponentsWithChan invokes the edas.ListComponents API asynchronously
+// api document: https://help.aliyun.com/api/edas/listcomponents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListComponentsWithChan(request *ListComponentsRequest) (<-chan *ListComponentsResponse, <-chan error) {
+	responseChan := make(chan *ListComponentsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListComponents(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListComponentsWithCallback invokes the edas.ListComponents API asynchronously
+// api document: https://help.aliyun.com/api/edas/listcomponents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListComponentsWithCallback(request *ListComponentsRequest, callback func(response *ListComponentsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListComponentsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListComponents(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListComponentsRequest is the request struct for api ListComponents
+type ListComponentsRequest struct {
+	*requests.RoaRequest
+}
+
+// ListComponentsResponse is the response struct for api ListComponents
+type ListComponentsResponse struct {
+	*responses.BaseResponse
+	Code          int           `json:"Code" xml:"Code"`
+	Message       string        `json:"Message" xml:"Message"`
+	ComponentList ComponentList `json:"ComponentList" xml:"ComponentList"`
+}
+
+// CreateListComponentsRequest creates a request to invoke ListComponents API
+func CreateListComponentsRequest() (request *ListComponentsRequest) {
+	request = &ListComponentsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListComponents", "/pop/v5/resource/components", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListComponentsResponse creates a response to parse from ListComponents response
+func CreateListComponentsResponse() (response *ListComponentsResponse) {
+	response = &ListComponentsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/edas/list_config_centers.go

@@ -0,0 +1,109 @@
+package edas
+
+//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"
+)
+
+// ListConfigCenters invokes the edas.ListConfigCenters API synchronously
+// api document: https://help.aliyun.com/api/edas/listconfigcenters.html
+func (client *Client) ListConfigCenters(request *ListConfigCentersRequest) (response *ListConfigCentersResponse, err error) {
+	response = CreateListConfigCentersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListConfigCentersWithChan invokes the edas.ListConfigCenters API asynchronously
+// api document: https://help.aliyun.com/api/edas/listconfigcenters.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListConfigCentersWithChan(request *ListConfigCentersRequest) (<-chan *ListConfigCentersResponse, <-chan error) {
+	responseChan := make(chan *ListConfigCentersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListConfigCenters(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListConfigCentersWithCallback invokes the edas.ListConfigCenters API asynchronously
+// api document: https://help.aliyun.com/api/edas/listconfigcenters.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListConfigCentersWithCallback(request *ListConfigCentersRequest, callback func(response *ListConfigCentersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListConfigCentersResponse
+		var err error
+		defer close(result)
+		response, err = client.ListConfigCenters(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListConfigCentersRequest is the request struct for api ListConfigCenters
+type ListConfigCentersRequest struct {
+	*requests.RoaRequest
+	LogicalRegionId string `position:"Query" name:"LogicalRegionId"`
+	DataIdPattern   string `position:"Query" name:"DataIdPattern"`
+	Group           string `position:"Query" name:"Group"`
+}
+
+// ListConfigCentersResponse is the response struct for api ListConfigCenters
+type ListConfigCentersResponse struct {
+	*responses.BaseResponse
+	Code              int               `json:"Code" xml:"Code"`
+	Message           string            `json:"Message" xml:"Message"`
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	ConfigCentersList ConfigCentersList `json:"ConfigCentersList" xml:"ConfigCentersList"`
+}
+
+// CreateListConfigCentersRequest creates a request to invoke ListConfigCenters API
+func CreateListConfigCentersRequest() (request *ListConfigCentersRequest) {
+	request = &ListConfigCentersRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListConfigCenters", "/pop/v5/configCenters", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListConfigCentersResponse creates a response to parse from ListConfigCenters response
+func CreateListConfigCentersResponse() (response *ListConfigCentersResponse) {
+	response = &ListConfigCentersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/list_consumed_services.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ListConsumedServices invokes the edas.ListConsumedServices API synchronously
+// api document: https://help.aliyun.com/api/edas/listconsumedservices.html
+func (client *Client) ListConsumedServices(request *ListConsumedServicesRequest) (response *ListConsumedServicesResponse, err error) {
+	response = CreateListConsumedServicesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListConsumedServicesWithChan invokes the edas.ListConsumedServices API asynchronously
+// api document: https://help.aliyun.com/api/edas/listconsumedservices.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListConsumedServicesWithChan(request *ListConsumedServicesRequest) (<-chan *ListConsumedServicesResponse, <-chan error) {
+	responseChan := make(chan *ListConsumedServicesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListConsumedServices(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListConsumedServicesWithCallback invokes the edas.ListConsumedServices API asynchronously
+// api document: https://help.aliyun.com/api/edas/listconsumedservices.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListConsumedServicesWithCallback(request *ListConsumedServicesRequest, callback func(response *ListConsumedServicesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListConsumedServicesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListConsumedServices(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListConsumedServicesRequest is the request struct for api ListConsumedServices
+type ListConsumedServicesRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// ListConsumedServicesResponse is the response struct for api ListConsumedServices
+type ListConsumedServicesResponse struct {
+	*responses.BaseResponse
+	Code                 int                  `json:"Code" xml:"Code"`
+	Message              string               `json:"Message" xml:"Message"`
+	RequestId            string               `json:"RequestId" xml:"RequestId"`
+	ConsumedServicesList ConsumedServicesList `json:"ConsumedServicesList" xml:"ConsumedServicesList"`
+}
+
+// CreateListConsumedServicesRequest creates a request to invoke ListConsumedServices API
+func CreateListConsumedServicesRequest() (request *ListConsumedServicesRequest) {
+	request = &ListConsumedServicesRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListConsumedServices", "/pop/v5/service/listConsumedServices", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListConsumedServicesResponse creates a response to parse from ListConsumedServices response
+func CreateListConsumedServicesResponse() (response *ListConsumedServicesResponse) {
+	response = &ListConsumedServicesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/list_convertable_ecu.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ListConvertableEcu invokes the edas.ListConvertableEcu API synchronously
+// api document: https://help.aliyun.com/api/edas/listconvertableecu.html
+func (client *Client) ListConvertableEcu(request *ListConvertableEcuRequest) (response *ListConvertableEcuResponse, err error) {
+	response = CreateListConvertableEcuResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListConvertableEcuWithChan invokes the edas.ListConvertableEcu API asynchronously
+// api document: https://help.aliyun.com/api/edas/listconvertableecu.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListConvertableEcuWithChan(request *ListConvertableEcuRequest) (<-chan *ListConvertableEcuResponse, <-chan error) {
+	responseChan := make(chan *ListConvertableEcuResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListConvertableEcu(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListConvertableEcuWithCallback invokes the edas.ListConvertableEcu API asynchronously
+// api document: https://help.aliyun.com/api/edas/listconvertableecu.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListConvertableEcuWithCallback(request *ListConvertableEcuRequest, callback func(response *ListConvertableEcuResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListConvertableEcuResponse
+		var err error
+		defer close(result)
+		response, err = client.ListConvertableEcu(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListConvertableEcuRequest is the request struct for api ListConvertableEcu
+type ListConvertableEcuRequest struct {
+	*requests.RoaRequest
+	ClusterId string `position:"Query" name:"clusterId"`
+}
+
+// ListConvertableEcuResponse is the response struct for api ListConvertableEcu
+type ListConvertableEcuResponse struct {
+	*responses.BaseResponse
+	Code         int          `json:"Code" xml:"Code"`
+	Message      string       `json:"Message" xml:"Message"`
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	InstanceList InstanceList `json:"InstanceList" xml:"InstanceList"`
+}
+
+// CreateListConvertableEcuRequest creates a request to invoke ListConvertableEcu API
+func CreateListConvertableEcuRequest() (request *ListConvertableEcuRequest) {
+	request = &ListConvertableEcuRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListConvertableEcu", "/pop/v5/resource/convertable_ecu_list", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListConvertableEcuResponse creates a response to parse from ListConvertableEcu response
+func CreateListConvertableEcuResponse() (response *ListConvertableEcuResponse) {
+	response = &ListConvertableEcuResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/list_degrade_controls.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ListDegradeControls invokes the edas.ListDegradeControls API synchronously
+// api document: https://help.aliyun.com/api/edas/listdegradecontrols.html
+func (client *Client) ListDegradeControls(request *ListDegradeControlsRequest) (response *ListDegradeControlsResponse, err error) {
+	response = CreateListDegradeControlsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListDegradeControlsWithChan invokes the edas.ListDegradeControls API asynchronously
+// api document: https://help.aliyun.com/api/edas/listdegradecontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDegradeControlsWithChan(request *ListDegradeControlsRequest) (<-chan *ListDegradeControlsResponse, <-chan error) {
+	responseChan := make(chan *ListDegradeControlsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListDegradeControls(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListDegradeControlsWithCallback invokes the edas.ListDegradeControls API asynchronously
+// api document: https://help.aliyun.com/api/edas/listdegradecontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDegradeControlsWithCallback(request *ListDegradeControlsRequest, callback func(response *ListDegradeControlsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListDegradeControlsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListDegradeControls(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListDegradeControlsRequest is the request struct for api ListDegradeControls
+type ListDegradeControlsRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// ListDegradeControlsResponse is the response struct for api ListDegradeControls
+type ListDegradeControlsResponse struct {
+	*responses.BaseResponse
+	Code            int             `json:"Code" xml:"Code"`
+	Message         string          `json:"Message" xml:"Message"`
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	FlowControlsMap FlowControlsMap `json:"FlowControlsMap" xml:"FlowControlsMap"`
+}
+
+// CreateListDegradeControlsRequest creates a request to invoke ListDegradeControls API
+func CreateListDegradeControlsRequest() (request *ListDegradeControlsRequest) {
+	request = &ListDegradeControlsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListDegradeControls", "/pop/v5/app/degradeControls", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListDegradeControlsResponse creates a response to parse from ListDegradeControls response
+func CreateListDegradeControlsResponse() (response *ListDegradeControlsResponse) {
+	response = &ListDegradeControlsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/list_deploy_group.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ListDeployGroup invokes the edas.ListDeployGroup API synchronously
+// api document: https://help.aliyun.com/api/edas/listdeploygroup.html
+func (client *Client) ListDeployGroup(request *ListDeployGroupRequest) (response *ListDeployGroupResponse, err error) {
+	response = CreateListDeployGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListDeployGroupWithChan invokes the edas.ListDeployGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/listdeploygroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDeployGroupWithChan(request *ListDeployGroupRequest) (<-chan *ListDeployGroupResponse, <-chan error) {
+	responseChan := make(chan *ListDeployGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListDeployGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListDeployGroupWithCallback invokes the edas.ListDeployGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/listdeploygroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDeployGroupWithCallback(request *ListDeployGroupRequest, callback func(response *ListDeployGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListDeployGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.ListDeployGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListDeployGroupRequest is the request struct for api ListDeployGroup
+type ListDeployGroupRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// ListDeployGroupResponse is the response struct for api ListDeployGroup
+type ListDeployGroupResponse struct {
+	*responses.BaseResponse
+	Code            int             `json:"Code" xml:"Code"`
+	Message         string          `json:"Message" xml:"Message"`
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	DeployGroupList DeployGroupList `json:"DeployGroupList" xml:"DeployGroupList"`
+}
+
+// CreateListDeployGroupRequest creates a request to invoke ListDeployGroup API
+func CreateListDeployGroupRequest() (request *ListDeployGroupRequest) {
+	request = &ListDeployGroupRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListDeployGroup", "/pop/v5/app/deploy_group_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListDeployGroupResponse creates a response to parse from ListDeployGroup response
+func CreateListDeployGroupResponse() (response *ListDeployGroupResponse) {
+	response = &ListDeployGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/list_ecs_not_in_cluster.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// ListEcsNotInCluster invokes the edas.ListEcsNotInCluster API synchronously
+// api document: https://help.aliyun.com/api/edas/listecsnotincluster.html
+func (client *Client) ListEcsNotInCluster(request *ListEcsNotInClusterRequest) (response *ListEcsNotInClusterResponse, err error) {
+	response = CreateListEcsNotInClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListEcsNotInClusterWithChan invokes the edas.ListEcsNotInCluster API asynchronously
+// api document: https://help.aliyun.com/api/edas/listecsnotincluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListEcsNotInClusterWithChan(request *ListEcsNotInClusterRequest) (<-chan *ListEcsNotInClusterResponse, <-chan error) {
+	responseChan := make(chan *ListEcsNotInClusterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListEcsNotInCluster(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListEcsNotInClusterWithCallback invokes the edas.ListEcsNotInCluster API asynchronously
+// api document: https://help.aliyun.com/api/edas/listecsnotincluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListEcsNotInClusterWithCallback(request *ListEcsNotInClusterRequest, callback func(response *ListEcsNotInClusterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListEcsNotInClusterResponse
+		var err error
+		defer close(result)
+		response, err = client.ListEcsNotInCluster(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListEcsNotInClusterRequest is the request struct for api ListEcsNotInCluster
+type ListEcsNotInClusterRequest struct {
+	*requests.RoaRequest
+	VpcId       string           `position:"Query" name:"VpcId"`
+	NetworkMode requests.Integer `position:"Query" name:"NetworkMode"`
+}
+
+// ListEcsNotInClusterResponse is the response struct for api ListEcsNotInCluster
+type ListEcsNotInClusterResponse struct {
+	*responses.BaseResponse
+	Code          int           `json:"Code" xml:"Code"`
+	Message       string        `json:"Message" xml:"Message"`
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	EcsEntityList EcsEntityList `json:"EcsEntityList" xml:"EcsEntityList"`
+}
+
+// CreateListEcsNotInClusterRequest creates a request to invoke ListEcsNotInCluster API
+func CreateListEcsNotInClusterRequest() (request *ListEcsNotInClusterRequest) {
+	request = &ListEcsNotInClusterRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListEcsNotInCluster", "/pop/v5/resource/ecs_not_in_cluster", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListEcsNotInClusterResponse creates a response to parse from ListEcsNotInCluster response
+func CreateListEcsNotInClusterResponse() (response *ListEcsNotInClusterResponse) {
+	response = &ListEcsNotInClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/list_ecu_by_region.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// ListEcuByRegion invokes the edas.ListEcuByRegion API synchronously
+// api document: https://help.aliyun.com/api/edas/listecubyregion.html
+func (client *Client) ListEcuByRegion(request *ListEcuByRegionRequest) (response *ListEcuByRegionResponse, err error) {
+	response = CreateListEcuByRegionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListEcuByRegionWithChan invokes the edas.ListEcuByRegion API asynchronously
+// api document: https://help.aliyun.com/api/edas/listecubyregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListEcuByRegionWithChan(request *ListEcuByRegionRequest) (<-chan *ListEcuByRegionResponse, <-chan error) {
+	responseChan := make(chan *ListEcuByRegionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListEcuByRegion(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListEcuByRegionWithCallback invokes the edas.ListEcuByRegion API asynchronously
+// api document: https://help.aliyun.com/api/edas/listecubyregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListEcuByRegionWithCallback(request *ListEcuByRegionRequest, callback func(response *ListEcuByRegionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListEcuByRegionResponse
+		var err error
+		defer close(result)
+		response, err = client.ListEcuByRegion(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListEcuByRegionRequest is the request struct for api ListEcuByRegion
+type ListEcuByRegionRequest struct {
+	*requests.RoaRequest
+	Act             string `position:"Query" name:"Act"`
+	LogicalRegionId string `position:"Query" name:"LogicalRegionId"`
+}
+
+// ListEcuByRegionResponse is the response struct for api ListEcuByRegion
+type ListEcuByRegionResponse struct {
+	*responses.BaseResponse
+	Code          int                            `json:"Code" xml:"Code"`
+	Message       string                         `json:"Message" xml:"Message"`
+	RequestId     string                         `json:"RequestId" xml:"RequestId"`
+	EcuEntityList EcuEntityListInListEcuByRegion `json:"EcuEntityList" xml:"EcuEntityList"`
+}
+
+// CreateListEcuByRegionRequest creates a request to invoke ListEcuByRegion API
+func CreateListEcuByRegionRequest() (request *ListEcuByRegionRequest) {
+	request = &ListEcuByRegionRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListEcuByRegion", "/pop/v5/resource/ecu_list", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListEcuByRegionResponse creates a response to parse from ListEcuByRegion response
+func CreateListEcuByRegionResponse() (response *ListEcuByRegionResponse) {
+	response = &ListEcuByRegionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/list_flow_controls.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ListFlowControls invokes the edas.ListFlowControls API synchronously
+// api document: https://help.aliyun.com/api/edas/listflowcontrols.html
+func (client *Client) ListFlowControls(request *ListFlowControlsRequest) (response *ListFlowControlsResponse, err error) {
+	response = CreateListFlowControlsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListFlowControlsWithChan invokes the edas.ListFlowControls API asynchronously
+// api document: https://help.aliyun.com/api/edas/listflowcontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListFlowControlsWithChan(request *ListFlowControlsRequest) (<-chan *ListFlowControlsResponse, <-chan error) {
+	responseChan := make(chan *ListFlowControlsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListFlowControls(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListFlowControlsWithCallback invokes the edas.ListFlowControls API asynchronously
+// api document: https://help.aliyun.com/api/edas/listflowcontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListFlowControlsWithCallback(request *ListFlowControlsRequest, callback func(response *ListFlowControlsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListFlowControlsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListFlowControls(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListFlowControlsRequest is the request struct for api ListFlowControls
+type ListFlowControlsRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// ListFlowControlsResponse is the response struct for api ListFlowControls
+type ListFlowControlsResponse struct {
+	*responses.BaseResponse
+	Code            int             `json:"Code" xml:"Code"`
+	Message         string          `json:"Message" xml:"Message"`
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	FlowControlsMap FlowControlsMap `json:"FlowControlsMap" xml:"FlowControlsMap"`
+}
+
+// CreateListFlowControlsRequest creates a request to invoke ListFlowControls API
+func CreateListFlowControlsRequest() (request *ListFlowControlsRequest) {
+	request = &ListFlowControlsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListFlowControls", "/pop/v5/app/flowControls", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListFlowControlsResponse creates a response to parse from ListFlowControls response
+func CreateListFlowControlsResponse() (response *ListFlowControlsResponse) {
+	response = &ListFlowControlsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/list_history_deploy_version.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ListHistoryDeployVersion invokes the edas.ListHistoryDeployVersion API synchronously
+// api document: https://help.aliyun.com/api/edas/listhistorydeployversion.html
+func (client *Client) ListHistoryDeployVersion(request *ListHistoryDeployVersionRequest) (response *ListHistoryDeployVersionResponse, err error) {
+	response = CreateListHistoryDeployVersionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListHistoryDeployVersionWithChan invokes the edas.ListHistoryDeployVersion API asynchronously
+// api document: https://help.aliyun.com/api/edas/listhistorydeployversion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListHistoryDeployVersionWithChan(request *ListHistoryDeployVersionRequest) (<-chan *ListHistoryDeployVersionResponse, <-chan error) {
+	responseChan := make(chan *ListHistoryDeployVersionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListHistoryDeployVersion(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListHistoryDeployVersionWithCallback invokes the edas.ListHistoryDeployVersion API asynchronously
+// api document: https://help.aliyun.com/api/edas/listhistorydeployversion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListHistoryDeployVersionWithCallback(request *ListHistoryDeployVersionRequest, callback func(response *ListHistoryDeployVersionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListHistoryDeployVersionResponse
+		var err error
+		defer close(result)
+		response, err = client.ListHistoryDeployVersion(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListHistoryDeployVersionRequest is the request struct for api ListHistoryDeployVersion
+type ListHistoryDeployVersionRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// ListHistoryDeployVersionResponse is the response struct for api ListHistoryDeployVersion
+type ListHistoryDeployVersionResponse struct {
+	*responses.BaseResponse
+	Code               int                `json:"Code" xml:"Code"`
+	Message            string             `json:"Message" xml:"Message"`
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	PackageVersionList PackageVersionList `json:"PackageVersionList" xml:"PackageVersionList"`
+}
+
+// CreateListHistoryDeployVersionRequest creates a request to invoke ListHistoryDeployVersion API
+func CreateListHistoryDeployVersionRequest() (request *ListHistoryDeployVersionRequest) {
+	request = &ListHistoryDeployVersionRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListHistoryDeployVersion", "/pop/v5/app/deploy_history_version_list", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListHistoryDeployVersionResponse creates a response to parse from ListHistoryDeployVersion response
+func CreateListHistoryDeployVersionResponse() (response *ListHistoryDeployVersionResponse) {
+	response = &ListHistoryDeployVersionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/list_published_services.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ListPublishedServices invokes the edas.ListPublishedServices API synchronously
+// api document: https://help.aliyun.com/api/edas/listpublishedservices.html
+func (client *Client) ListPublishedServices(request *ListPublishedServicesRequest) (response *ListPublishedServicesResponse, err error) {
+	response = CreateListPublishedServicesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListPublishedServicesWithChan invokes the edas.ListPublishedServices API asynchronously
+// api document: https://help.aliyun.com/api/edas/listpublishedservices.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListPublishedServicesWithChan(request *ListPublishedServicesRequest) (<-chan *ListPublishedServicesResponse, <-chan error) {
+	responseChan := make(chan *ListPublishedServicesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListPublishedServices(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListPublishedServicesWithCallback invokes the edas.ListPublishedServices API asynchronously
+// api document: https://help.aliyun.com/api/edas/listpublishedservices.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListPublishedServicesWithCallback(request *ListPublishedServicesRequest, callback func(response *ListPublishedServicesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListPublishedServicesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListPublishedServices(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListPublishedServicesRequest is the request struct for api ListPublishedServices
+type ListPublishedServicesRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// ListPublishedServicesResponse is the response struct for api ListPublishedServices
+type ListPublishedServicesResponse struct {
+	*responses.BaseResponse
+	Code                  int                   `json:"Code" xml:"Code"`
+	Message               string                `json:"Message" xml:"Message"`
+	RequestId             string                `json:"RequestId" xml:"RequestId"`
+	PublishedServicesList PublishedServicesList `json:"PublishedServicesList" xml:"PublishedServicesList"`
+}
+
+// CreateListPublishedServicesRequest creates a request to invoke ListPublishedServices API
+func CreateListPublishedServicesRequest() (request *ListPublishedServicesRequest) {
+	request = &ListPublishedServicesRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListPublishedServices", "/pop/v5/service/listPublishedServices", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListPublishedServicesResponse creates a response to parse from ListPublishedServices response
+func CreateListPublishedServicesResponse() (response *ListPublishedServicesResponse) {
+	response = &ListPublishedServicesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/list_recent_change_order.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ListRecentChangeOrder invokes the edas.ListRecentChangeOrder API synchronously
+// api document: https://help.aliyun.com/api/edas/listrecentchangeorder.html
+func (client *Client) ListRecentChangeOrder(request *ListRecentChangeOrderRequest) (response *ListRecentChangeOrderResponse, err error) {
+	response = CreateListRecentChangeOrderResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRecentChangeOrderWithChan invokes the edas.ListRecentChangeOrder API asynchronously
+// api document: https://help.aliyun.com/api/edas/listrecentchangeorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRecentChangeOrderWithChan(request *ListRecentChangeOrderRequest) (<-chan *ListRecentChangeOrderResponse, <-chan error) {
+	responseChan := make(chan *ListRecentChangeOrderResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRecentChangeOrder(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRecentChangeOrderWithCallback invokes the edas.ListRecentChangeOrder API asynchronously
+// api document: https://help.aliyun.com/api/edas/listrecentchangeorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRecentChangeOrderWithCallback(request *ListRecentChangeOrderRequest, callback func(response *ListRecentChangeOrderResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRecentChangeOrderResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRecentChangeOrder(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRecentChangeOrderRequest is the request struct for api ListRecentChangeOrder
+type ListRecentChangeOrderRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// ListRecentChangeOrderResponse is the response struct for api ListRecentChangeOrder
+type ListRecentChangeOrderResponse struct {
+	*responses.BaseResponse
+	Code            int             `json:"Code" xml:"Code"`
+	Message         string          `json:"Message" xml:"Message"`
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	ChangeOrderList ChangeOrderList `json:"ChangeOrderList" xml:"ChangeOrderList"`
+}
+
+// CreateListRecentChangeOrderRequest creates a request to invoke ListRecentChangeOrder API
+func CreateListRecentChangeOrderRequest() (request *ListRecentChangeOrderRequest) {
+	request = &ListRecentChangeOrderRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListRecentChangeOrder", "/pop/v5/changeorder/change_order_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListRecentChangeOrderResponse creates a response to parse from ListRecentChangeOrder response
+func CreateListRecentChangeOrderResponse() (response *ListRecentChangeOrderResponse) {
+	response = &ListRecentChangeOrderResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/list_resource_group.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// ListResourceGroup invokes the edas.ListResourceGroup API synchronously
+// api document: https://help.aliyun.com/api/edas/listresourcegroup.html
+func (client *Client) ListResourceGroup(request *ListResourceGroupRequest) (response *ListResourceGroupResponse, err error) {
+	response = CreateListResourceGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListResourceGroupWithChan invokes the edas.ListResourceGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/listresourcegroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListResourceGroupWithChan(request *ListResourceGroupRequest) (<-chan *ListResourceGroupResponse, <-chan error) {
+	responseChan := make(chan *ListResourceGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListResourceGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListResourceGroupWithCallback invokes the edas.ListResourceGroup API asynchronously
+// api document: https://help.aliyun.com/api/edas/listresourcegroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListResourceGroupWithCallback(request *ListResourceGroupRequest, callback func(response *ListResourceGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListResourceGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.ListResourceGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListResourceGroupRequest is the request struct for api ListResourceGroup
+type ListResourceGroupRequest struct {
+	*requests.RoaRequest
+}
+
+// ListResourceGroupResponse is the response struct for api ListResourceGroup
+type ListResourceGroupResponse struct {
+	*responses.BaseResponse
+	Code              int               `json:"Code" xml:"Code"`
+	Message           string            `json:"Message" xml:"Message"`
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	ResourceGroupList ResourceGroupList `json:"ResourceGroupList" xml:"ResourceGroupList"`
+}
+
+// CreateListResourceGroupRequest creates a request to invoke ListResourceGroup API
+func CreateListResourceGroupRequest() (request *ListResourceGroupRequest) {
+	request = &ListResourceGroupRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListResourceGroup", "/pop/v5/resource/reg_group_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListResourceGroupResponse creates a response to parse from ListResourceGroup response
+func CreateListResourceGroupResponse() (response *ListResourceGroupResponse) {
+	response = &ListResourceGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/list_role.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// ListRole invokes the edas.ListRole API synchronously
+// api document: https://help.aliyun.com/api/edas/listrole.html
+func (client *Client) ListRole(request *ListRoleRequest) (response *ListRoleResponse, err error) {
+	response = CreateListRoleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListRoleWithChan invokes the edas.ListRole API asynchronously
+// api document: https://help.aliyun.com/api/edas/listrole.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRoleWithChan(request *ListRoleRequest) (<-chan *ListRoleResponse, <-chan error) {
+	responseChan := make(chan *ListRoleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListRole(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListRoleWithCallback invokes the edas.ListRole API asynchronously
+// api document: https://help.aliyun.com/api/edas/listrole.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListRoleWithCallback(request *ListRoleRequest, callback func(response *ListRoleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListRoleResponse
+		var err error
+		defer close(result)
+		response, err = client.ListRole(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListRoleRequest is the request struct for api ListRole
+type ListRoleRequest struct {
+	*requests.RoaRequest
+}
+
+// ListRoleResponse is the response struct for api ListRole
+type ListRoleResponse struct {
+	*responses.BaseResponse
+	Code      int      `json:"Code" xml:"Code"`
+	Message   string   `json:"Message" xml:"Message"`
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	RoleList  RoleList `json:"RoleList" xml:"RoleList"`
+}
+
+// CreateListRoleRequest creates a request to invoke ListRole API
+func CreateListRoleRequest() (request *ListRoleRequest) {
+	request = &ListRoleRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListRole", "/pop/v5/account/role_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListRoleResponse creates a response to parse from ListRole response
+func CreateListRoleResponse() (response *ListRoleResponse) {
+	response = &ListRoleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/edas/list_scale_out_ecu.go

@@ -0,0 +1,113 @@
+package edas
+
+//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"
+)
+
+// ListScaleOutEcu invokes the edas.ListScaleOutEcu API synchronously
+// api document: https://help.aliyun.com/api/edas/listscaleoutecu.html
+func (client *Client) ListScaleOutEcu(request *ListScaleOutEcuRequest) (response *ListScaleOutEcuResponse, err error) {
+	response = CreateListScaleOutEcuResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListScaleOutEcuWithChan invokes the edas.ListScaleOutEcu API asynchronously
+// api document: https://help.aliyun.com/api/edas/listscaleoutecu.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListScaleOutEcuWithChan(request *ListScaleOutEcuRequest) (<-chan *ListScaleOutEcuResponse, <-chan error) {
+	responseChan := make(chan *ListScaleOutEcuResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListScaleOutEcu(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListScaleOutEcuWithCallback invokes the edas.ListScaleOutEcu API asynchronously
+// api document: https://help.aliyun.com/api/edas/listscaleoutecu.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListScaleOutEcuWithCallback(request *ListScaleOutEcuRequest, callback func(response *ListScaleOutEcuResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListScaleOutEcuResponse
+		var err error
+		defer close(result)
+		response, err = client.ListScaleOutEcu(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListScaleOutEcuRequest is the request struct for api ListScaleOutEcu
+type ListScaleOutEcuRequest struct {
+	*requests.RoaRequest
+	Mem             requests.Integer `position:"Query" name:"Mem"`
+	LogicalRegionId string           `position:"Query" name:"LogicalRegionId"`
+	AppId           string           `position:"Query" name:"AppId"`
+	GroupId         string           `position:"Query" name:"GroupId"`
+	InstanceNum     requests.Integer `position:"Query" name:"InstanceNum"`
+	Cpu             requests.Integer `position:"Query" name:"Cpu"`
+	ClusterId       string           `position:"Query" name:"ClusterId"`
+}
+
+// ListScaleOutEcuResponse is the response struct for api ListScaleOutEcu
+type ListScaleOutEcuResponse struct {
+	*responses.BaseResponse
+	Code        int                          `json:"Code" xml:"Code"`
+	Message     string                       `json:"Message" xml:"Message"`
+	RequestId   string                       `json:"RequestId" xml:"RequestId"`
+	EcuInfoList EcuInfoListInListScaleOutEcu `json:"EcuInfoList" xml:"EcuInfoList"`
+}
+
+// CreateListScaleOutEcuRequest creates a request to invoke ListScaleOutEcu API
+func CreateListScaleOutEcuRequest() (request *ListScaleOutEcuRequest) {
+	request = &ListScaleOutEcuRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListScaleOutEcu", "/pop/v5/resource/scale_out_ecu_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListScaleOutEcuResponse creates a response to parse from ListScaleOutEcu response
+func CreateListScaleOutEcuResponse() (response *ListScaleOutEcuResponse) {
+	response = &ListScaleOutEcuResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/list_service_groups.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// ListServiceGroups invokes the edas.ListServiceGroups API synchronously
+// api document: https://help.aliyun.com/api/edas/listservicegroups.html
+func (client *Client) ListServiceGroups(request *ListServiceGroupsRequest) (response *ListServiceGroupsResponse, err error) {
+	response = CreateListServiceGroupsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListServiceGroupsWithChan invokes the edas.ListServiceGroups API asynchronously
+// api document: https://help.aliyun.com/api/edas/listservicegroups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListServiceGroupsWithChan(request *ListServiceGroupsRequest) (<-chan *ListServiceGroupsResponse, <-chan error) {
+	responseChan := make(chan *ListServiceGroupsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListServiceGroups(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListServiceGroupsWithCallback invokes the edas.ListServiceGroups API asynchronously
+// api document: https://help.aliyun.com/api/edas/listservicegroups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListServiceGroupsWithCallback(request *ListServiceGroupsRequest, callback func(response *ListServiceGroupsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListServiceGroupsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListServiceGroups(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListServiceGroupsRequest is the request struct for api ListServiceGroups
+type ListServiceGroupsRequest struct {
+	*requests.RoaRequest
+}
+
+// ListServiceGroupsResponse is the response struct for api ListServiceGroups
+type ListServiceGroupsResponse struct {
+	*responses.BaseResponse
+	Code              int               `json:"Code" xml:"Code"`
+	Message           string            `json:"Message" xml:"Message"`
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	ServiceGroupsList ServiceGroupsList `json:"ServiceGroupsList" xml:"ServiceGroupsList"`
+}
+
+// CreateListServiceGroupsRequest creates a request to invoke ListServiceGroups API
+func CreateListServiceGroupsRequest() (request *ListServiceGroupsRequest) {
+	request = &ListServiceGroupsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListServiceGroups", "/pop/v5/service/serviceGroups", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListServiceGroupsResponse creates a response to parse from ListServiceGroups response
+func CreateListServiceGroupsResponse() (response *ListServiceGroupsResponse) {
+	response = &ListServiceGroupsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/list_slb.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// ListSlb invokes the edas.ListSlb API synchronously
+// api document: https://help.aliyun.com/api/edas/listslb.html
+func (client *Client) ListSlb(request *ListSlbRequest) (response *ListSlbResponse, err error) {
+	response = CreateListSlbResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListSlbWithChan invokes the edas.ListSlb API asynchronously
+// api document: https://help.aliyun.com/api/edas/listslb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListSlbWithChan(request *ListSlbRequest) (<-chan *ListSlbResponse, <-chan error) {
+	responseChan := make(chan *ListSlbResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListSlb(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListSlbWithCallback invokes the edas.ListSlb API asynchronously
+// api document: https://help.aliyun.com/api/edas/listslb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListSlbWithCallback(request *ListSlbRequest, callback func(response *ListSlbResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListSlbResponse
+		var err error
+		defer close(result)
+		response, err = client.ListSlb(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListSlbRequest is the request struct for api ListSlb
+type ListSlbRequest struct {
+	*requests.RoaRequest
+}
+
+// ListSlbResponse is the response struct for api ListSlb
+type ListSlbResponse struct {
+	*responses.BaseResponse
+	Code      int              `json:"Code" xml:"Code"`
+	Message   string           `json:"Message" xml:"Message"`
+	RequestId string           `json:"RequestId" xml:"RequestId"`
+	SlbList   SlbListInListSlb `json:"SlbList" xml:"SlbList"`
+}
+
+// CreateListSlbRequest creates a request to invoke ListSlb API
+func CreateListSlbRequest() (request *ListSlbRequest) {
+	request = &ListSlbRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListSlb", "/pop/v5/slb_list", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListSlbResponse creates a response to parse from ListSlb response
+func CreateListSlbResponse() (response *ListSlbResponse) {
+	response = &ListSlbResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/list_sub_account.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// ListSubAccount invokes the edas.ListSubAccount API synchronously
+// api document: https://help.aliyun.com/api/edas/listsubaccount.html
+func (client *Client) ListSubAccount(request *ListSubAccountRequest) (response *ListSubAccountResponse, err error) {
+	response = CreateListSubAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListSubAccountWithChan invokes the edas.ListSubAccount API asynchronously
+// api document: https://help.aliyun.com/api/edas/listsubaccount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListSubAccountWithChan(request *ListSubAccountRequest) (<-chan *ListSubAccountResponse, <-chan error) {
+	responseChan := make(chan *ListSubAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListSubAccount(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListSubAccountWithCallback invokes the edas.ListSubAccount API asynchronously
+// api document: https://help.aliyun.com/api/edas/listsubaccount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListSubAccountWithCallback(request *ListSubAccountRequest, callback func(response *ListSubAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListSubAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.ListSubAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListSubAccountRequest is the request struct for api ListSubAccount
+type ListSubAccountRequest struct {
+	*requests.RoaRequest
+}
+
+// ListSubAccountResponse is the response struct for api ListSubAccount
+type ListSubAccountResponse struct {
+	*responses.BaseResponse
+	Code           int            `json:"Code" xml:"Code"`
+	Message        string         `json:"Message" xml:"Message"`
+	RequestId      string         `json:"RequestId" xml:"RequestId"`
+	SubAccountList SubAccountList `json:"SubAccountList" xml:"SubAccountList"`
+}
+
+// CreateListSubAccountRequest creates a request to invoke ListSubAccount API
+func CreateListSubAccountRequest() (request *ListSubAccountRequest) {
+	request = &ListSubAccountRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListSubAccount", "/pop/v5/account/sub_account_list", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListSubAccountResponse creates a response to parse from ListSubAccount response
+func CreateListSubAccountResponse() (response *ListSubAccountResponse) {
+	response = &ListSubAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/list_user_define_region.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ListUserDefineRegion invokes the edas.ListUserDefineRegion API synchronously
+// api document: https://help.aliyun.com/api/edas/listuserdefineregion.html
+func (client *Client) ListUserDefineRegion(request *ListUserDefineRegionRequest) (response *ListUserDefineRegionResponse, err error) {
+	response = CreateListUserDefineRegionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListUserDefineRegionWithChan invokes the edas.ListUserDefineRegion API asynchronously
+// api document: https://help.aliyun.com/api/edas/listuserdefineregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListUserDefineRegionWithChan(request *ListUserDefineRegionRequest) (<-chan *ListUserDefineRegionResponse, <-chan error) {
+	responseChan := make(chan *ListUserDefineRegionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListUserDefineRegion(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListUserDefineRegionWithCallback invokes the edas.ListUserDefineRegion API asynchronously
+// api document: https://help.aliyun.com/api/edas/listuserdefineregion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListUserDefineRegionWithCallback(request *ListUserDefineRegionRequest, callback func(response *ListUserDefineRegionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListUserDefineRegionResponse
+		var err error
+		defer close(result)
+		response, err = client.ListUserDefineRegion(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListUserDefineRegionRequest is the request struct for api ListUserDefineRegion
+type ListUserDefineRegionRequest struct {
+	*requests.RoaRequest
+	DebugEnable requests.Boolean `position:"Query" name:"DebugEnable"`
+}
+
+// ListUserDefineRegionResponse is the response struct for api ListUserDefineRegion
+type ListUserDefineRegionResponse struct {
+	*responses.BaseResponse
+	Code                 int                  `json:"Code" xml:"Code"`
+	Message              string               `json:"Message" xml:"Message"`
+	RequestId            string               `json:"RequestId" xml:"RequestId"`
+	UserDefineRegionList UserDefineRegionList `json:"UserDefineRegionList" xml:"UserDefineRegionList"`
+}
+
+// CreateListUserDefineRegionRequest creates a request to invoke ListUserDefineRegion API
+func CreateListUserDefineRegionRequest() (request *ListUserDefineRegionRequest) {
+	request = &ListUserDefineRegionRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListUserDefineRegion", "/pop/v5/user_region_defs", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateListUserDefineRegionResponse creates a response to parse from ListUserDefineRegion response
+func CreateListUserDefineRegionResponse() (response *ListUserDefineRegionResponse) {
+	response = &ListUserDefineRegionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/edas/list_vpc.go

@@ -0,0 +1,106 @@
+package edas
+
+//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"
+)
+
+// ListVpc invokes the edas.ListVpc API synchronously
+// api document: https://help.aliyun.com/api/edas/listvpc.html
+func (client *Client) ListVpc(request *ListVpcRequest) (response *ListVpcResponse, err error) {
+	response = CreateListVpcResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListVpcWithChan invokes the edas.ListVpc API asynchronously
+// api document: https://help.aliyun.com/api/edas/listvpc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListVpcWithChan(request *ListVpcRequest) (<-chan *ListVpcResponse, <-chan error) {
+	responseChan := make(chan *ListVpcResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListVpc(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListVpcWithCallback invokes the edas.ListVpc API asynchronously
+// api document: https://help.aliyun.com/api/edas/listvpc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListVpcWithCallback(request *ListVpcRequest, callback func(response *ListVpcResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListVpcResponse
+		var err error
+		defer close(result)
+		response, err = client.ListVpc(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListVpcRequest is the request struct for api ListVpc
+type ListVpcRequest struct {
+	*requests.RoaRequest
+}
+
+// ListVpcResponse is the response struct for api ListVpc
+type ListVpcResponse struct {
+	*responses.BaseResponse
+	Code      int     `json:"Code" xml:"Code"`
+	Message   string  `json:"Message" xml:"Message"`
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	VpcList   VpcList `json:"VpcList" xml:"VpcList"`
+}
+
+// CreateListVpcRequest creates a request to invoke ListVpc API
+func CreateListVpcRequest() (request *ListVpcRequest) {
+	request = &ListVpcRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ListVpc", "/pop/v5/vpc_list", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListVpcResponse creates a response to parse from ListVpc response
+func CreateListVpcResponse() (response *ListVpcResponse) {
+	response = &ListVpcResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/migrate_ecu.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// MigrateEcu invokes the edas.MigrateEcu API synchronously
+// api document: https://help.aliyun.com/api/edas/migrateecu.html
+func (client *Client) MigrateEcu(request *MigrateEcuRequest) (response *MigrateEcuResponse, err error) {
+	response = CreateMigrateEcuResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// MigrateEcuWithChan invokes the edas.MigrateEcu API asynchronously
+// api document: https://help.aliyun.com/api/edas/migrateecu.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MigrateEcuWithChan(request *MigrateEcuRequest) (<-chan *MigrateEcuResponse, <-chan error) {
+	responseChan := make(chan *MigrateEcuResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.MigrateEcu(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// MigrateEcuWithCallback invokes the edas.MigrateEcu API asynchronously
+// api document: https://help.aliyun.com/api/edas/migrateecu.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MigrateEcuWithCallback(request *MigrateEcuRequest, callback func(response *MigrateEcuResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *MigrateEcuResponse
+		var err error
+		defer close(result)
+		response, err = client.MigrateEcu(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// MigrateEcuRequest is the request struct for api MigrateEcu
+type MigrateEcuRequest struct {
+	*requests.RoaRequest
+	InstanceIds     string `position:"Query" name:"InstanceIds"`
+	LogicalRegionId string `position:"Query" name:"LogicalRegionId"`
+}
+
+// MigrateEcuResponse is the response struct for api MigrateEcu
+type MigrateEcuResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateMigrateEcuRequest creates a request to invoke MigrateEcu API
+func CreateMigrateEcuRequest() (request *MigrateEcuRequest) {
+	request = &MigrateEcuRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "MigrateEcu", "/pop/v5/resource/migrate_ecu", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateMigrateEcuResponse creates a response to parse from MigrateEcu response
+func CreateMigrateEcuResponse() (response *MigrateEcuResponse) {
+	response = &MigrateEcuResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/query_application_status.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// QueryApplicationStatus invokes the edas.QueryApplicationStatus API synchronously
+// api document: https://help.aliyun.com/api/edas/queryapplicationstatus.html
+func (client *Client) QueryApplicationStatus(request *QueryApplicationStatusRequest) (response *QueryApplicationStatusResponse, err error) {
+	response = CreateQueryApplicationStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryApplicationStatusWithChan invokes the edas.QueryApplicationStatus API asynchronously
+// api document: https://help.aliyun.com/api/edas/queryapplicationstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryApplicationStatusWithChan(request *QueryApplicationStatusRequest) (<-chan *QueryApplicationStatusResponse, <-chan error) {
+	responseChan := make(chan *QueryApplicationStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryApplicationStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryApplicationStatusWithCallback invokes the edas.QueryApplicationStatus API asynchronously
+// api document: https://help.aliyun.com/api/edas/queryapplicationstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryApplicationStatusWithCallback(request *QueryApplicationStatusRequest, callback func(response *QueryApplicationStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryApplicationStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryApplicationStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryApplicationStatusRequest is the request struct for api QueryApplicationStatus
+type QueryApplicationStatusRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// QueryApplicationStatusResponse is the response struct for api QueryApplicationStatus
+type QueryApplicationStatusResponse struct {
+	*responses.BaseResponse
+	Code      int     `json:"Code" xml:"Code"`
+	Message   string  `json:"Message" xml:"Message"`
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	AppInfo   AppInfo `json:"AppInfo" xml:"AppInfo"`
+}
+
+// CreateQueryApplicationStatusRequest creates a request to invoke QueryApplicationStatus API
+func CreateQueryApplicationStatusRequest() (request *QueryApplicationStatusRequest) {
+	request = &QueryApplicationStatusRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "QueryApplicationStatus", "/pop/v5/app/app_status", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateQueryApplicationStatusResponse creates a response to parse from QueryApplicationStatus response
+func CreateQueryApplicationStatusResponse() (response *QueryApplicationStatusResponse) {
+	response = &QueryApplicationStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/edas/query_config_center.go

@@ -0,0 +1,109 @@
+package edas
+
+//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"
+)
+
+// QueryConfigCenter invokes the edas.QueryConfigCenter API synchronously
+// api document: https://help.aliyun.com/api/edas/queryconfigcenter.html
+func (client *Client) QueryConfigCenter(request *QueryConfigCenterRequest) (response *QueryConfigCenterResponse, err error) {
+	response = CreateQueryConfigCenterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryConfigCenterWithChan invokes the edas.QueryConfigCenter API asynchronously
+// api document: https://help.aliyun.com/api/edas/queryconfigcenter.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryConfigCenterWithChan(request *QueryConfigCenterRequest) (<-chan *QueryConfigCenterResponse, <-chan error) {
+	responseChan := make(chan *QueryConfigCenterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryConfigCenter(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryConfigCenterWithCallback invokes the edas.QueryConfigCenter API asynchronously
+// api document: https://help.aliyun.com/api/edas/queryconfigcenter.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryConfigCenterWithCallback(request *QueryConfigCenterRequest, callback func(response *QueryConfigCenterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryConfigCenterResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryConfigCenter(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryConfigCenterRequest is the request struct for api QueryConfigCenter
+type QueryConfigCenterRequest struct {
+	*requests.RoaRequest
+	DataId          string `position:"Query" name:"DataId"`
+	LogicalRegionId string `position:"Query" name:"LogicalRegionId"`
+	Group           string `position:"Query" name:"Group"`
+}
+
+// QueryConfigCenterResponse is the response struct for api QueryConfigCenter
+type QueryConfigCenterResponse struct {
+	*responses.BaseResponse
+	Code             int              `json:"Code" xml:"Code"`
+	Message          string           `json:"Message" xml:"Message"`
+	RequestId        string           `json:"RequestId" xml:"RequestId"`
+	ConfigCenterInfo ConfigCenterInfo `json:"configCenterInfo" xml:"configCenterInfo"`
+}
+
+// CreateQueryConfigCenterRequest creates a request to invoke QueryConfigCenter API
+func CreateQueryConfigCenterRequest() (request *QueryConfigCenterRequest) {
+	request = &QueryConfigCenterRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "QueryConfigCenter", "/pop/v5/configCenter", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateQueryConfigCenterResponse creates a response to parse from QueryConfigCenter response
+func CreateQueryConfigCenterResponse() (response *QueryConfigCenterResponse) {
+	response = &QueryConfigCenterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/query_migrate_ecu_list.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// QueryMigrateEcuList invokes the edas.QueryMigrateEcuList API synchronously
+// api document: https://help.aliyun.com/api/edas/querymigrateeculist.html
+func (client *Client) QueryMigrateEcuList(request *QueryMigrateEcuListRequest) (response *QueryMigrateEcuListResponse, err error) {
+	response = CreateQueryMigrateEcuListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryMigrateEcuListWithChan invokes the edas.QueryMigrateEcuList API asynchronously
+// api document: https://help.aliyun.com/api/edas/querymigrateeculist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMigrateEcuListWithChan(request *QueryMigrateEcuListRequest) (<-chan *QueryMigrateEcuListResponse, <-chan error) {
+	responseChan := make(chan *QueryMigrateEcuListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryMigrateEcuList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryMigrateEcuListWithCallback invokes the edas.QueryMigrateEcuList API asynchronously
+// api document: https://help.aliyun.com/api/edas/querymigrateeculist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMigrateEcuListWithCallback(request *QueryMigrateEcuListRequest, callback func(response *QueryMigrateEcuListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryMigrateEcuListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryMigrateEcuList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryMigrateEcuListRequest is the request struct for api QueryMigrateEcuList
+type QueryMigrateEcuListRequest struct {
+	*requests.RoaRequest
+	LogicalRegionId string `position:"Query" name:"LogicalRegionId"`
+}
+
+// QueryMigrateEcuListResponse is the response struct for api QueryMigrateEcuList
+type QueryMigrateEcuListResponse struct {
+	*responses.BaseResponse
+	Code          int                                `json:"Code" xml:"Code"`
+	Message       string                             `json:"Message" xml:"Message"`
+	RequestId     string                             `json:"RequestId" xml:"RequestId"`
+	EcuEntityList EcuEntityListInQueryMigrateEcuList `json:"EcuEntityList" xml:"EcuEntityList"`
+}
+
+// CreateQueryMigrateEcuListRequest creates a request to invoke QueryMigrateEcuList API
+func CreateQueryMigrateEcuListRequest() (request *QueryMigrateEcuListRequest) {
+	request = &QueryMigrateEcuListRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "QueryMigrateEcuList", "/pop/v5/resource/migrate_ecu_list", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateQueryMigrateEcuListResponse creates a response to parse from QueryMigrateEcuList response
+func CreateQueryMigrateEcuListResponse() (response *QueryMigrateEcuListResponse) {
+	response = &QueryMigrateEcuListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/query_migrate_region_list.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// QueryMigrateRegionList invokes the edas.QueryMigrateRegionList API synchronously
+// api document: https://help.aliyun.com/api/edas/querymigrateregionlist.html
+func (client *Client) QueryMigrateRegionList(request *QueryMigrateRegionListRequest) (response *QueryMigrateRegionListResponse, err error) {
+	response = CreateQueryMigrateRegionListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryMigrateRegionListWithChan invokes the edas.QueryMigrateRegionList API asynchronously
+// api document: https://help.aliyun.com/api/edas/querymigrateregionlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMigrateRegionListWithChan(request *QueryMigrateRegionListRequest) (<-chan *QueryMigrateRegionListResponse, <-chan error) {
+	responseChan := make(chan *QueryMigrateRegionListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryMigrateRegionList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryMigrateRegionListWithCallback invokes the edas.QueryMigrateRegionList API asynchronously
+// api document: https://help.aliyun.com/api/edas/querymigrateregionlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMigrateRegionListWithCallback(request *QueryMigrateRegionListRequest, callback func(response *QueryMigrateRegionListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryMigrateRegionListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryMigrateRegionList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryMigrateRegionListRequest is the request struct for api QueryMigrateRegionList
+type QueryMigrateRegionListRequest struct {
+	*requests.RoaRequest
+	LogicalRegionId string `position:"Query" name:"LogicalRegionId"`
+}
+
+// QueryMigrateRegionListResponse is the response struct for api QueryMigrateRegionList
+type QueryMigrateRegionListResponse struct {
+	*responses.BaseResponse
+	Code             int                                      `json:"Code" xml:"Code"`
+	Message          string                                   `json:"Message" xml:"Message"`
+	RequestId        string                                   `json:"RequestId" xml:"RequestId"`
+	RegionEntityList RegionEntityListInQueryMigrateRegionList `json:"RegionEntityList" xml:"RegionEntityList"`
+}
+
+// CreateQueryMigrateRegionListRequest creates a request to invoke QueryMigrateRegionList API
+func CreateQueryMigrateRegionListRequest() (request *QueryMigrateRegionListRequest) {
+	request = &QueryMigrateRegionListRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "QueryMigrateRegionList", "/pop/v5/resource/migrate_region_select", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateQueryMigrateRegionListResponse creates a response to parse from QueryMigrateRegionList response
+func CreateQueryMigrateRegionListResponse() (response *QueryMigrateRegionListResponse) {
+	response = &QueryMigrateRegionListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/edas/query_monitor_info.go

@@ -0,0 +1,112 @@
+package edas
+
+//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"
+)
+
+// QueryMonitorInfo invokes the edas.QueryMonitorInfo API synchronously
+// api document: https://help.aliyun.com/api/edas/querymonitorinfo.html
+func (client *Client) QueryMonitorInfo(request *QueryMonitorInfoRequest) (response *QueryMonitorInfoResponse, err error) {
+	response = CreateQueryMonitorInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryMonitorInfoWithChan invokes the edas.QueryMonitorInfo API asynchronously
+// api document: https://help.aliyun.com/api/edas/querymonitorinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMonitorInfoWithChan(request *QueryMonitorInfoRequest) (<-chan *QueryMonitorInfoResponse, <-chan error) {
+	responseChan := make(chan *QueryMonitorInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryMonitorInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryMonitorInfoWithCallback invokes the edas.QueryMonitorInfo API asynchronously
+// api document: https://help.aliyun.com/api/edas/querymonitorinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMonitorInfoWithCallback(request *QueryMonitorInfoRequest, callback func(response *QueryMonitorInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryMonitorInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryMonitorInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryMonitorInfoRequest is the request struct for api QueryMonitorInfo
+type QueryMonitorInfoRequest struct {
+	*requests.RoaRequest
+	Metric     string           `position:"Query" name:"Metric"`
+	Aggregator string           `position:"Query" name:"Aggregator"`
+	Start      requests.Integer `position:"Query" name:"Start"`
+	End        requests.Integer `position:"Query" name:"End"`
+	Interval   string           `position:"Query" name:"Interval"`
+	Tags       string           `position:"Query" name:"Tags"`
+}
+
+// QueryMonitorInfoResponse is the response struct for api QueryMonitorInfo
+type QueryMonitorInfoResponse struct {
+	*responses.BaseResponse
+	Code        int    `json:"Code" xml:"Code"`
+	Message     string `json:"Message" xml:"Message"`
+	MonitorInfo string `json:"MonitorInfo" xml:"MonitorInfo"`
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateQueryMonitorInfoRequest creates a request to invoke QueryMonitorInfo API
+func CreateQueryMonitorInfoRequest() (request *QueryMonitorInfoRequest) {
+	request = &QueryMonitorInfoRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "QueryMonitorInfo", "/pop/v5/monitor/queryMonitorInfo", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateQueryMonitorInfoResponse creates a response to parse from QueryMonitorInfo response
+func CreateQueryMonitorInfoResponse() (response *QueryMonitorInfoResponse) {
+	response = &QueryMonitorInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/reset_application.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// ResetApplication invokes the edas.ResetApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/resetapplication.html
+func (client *Client) ResetApplication(request *ResetApplicationRequest) (response *ResetApplicationResponse, err error) {
+	response = CreateResetApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ResetApplicationWithChan invokes the edas.ResetApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/resetapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResetApplicationWithChan(request *ResetApplicationRequest) (<-chan *ResetApplicationResponse, <-chan error) {
+	responseChan := make(chan *ResetApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ResetApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ResetApplicationWithCallback invokes the edas.ResetApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/resetapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResetApplicationWithCallback(request *ResetApplicationRequest, callback func(response *ResetApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ResetApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.ResetApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ResetApplicationRequest is the request struct for api ResetApplication
+type ResetApplicationRequest struct {
+	*requests.RoaRequest
+	AppId   string `position:"Query" name:"AppId"`
+	EccInfo string `position:"Query" name:"EccInfo"`
+}
+
+// ResetApplicationResponse is the response struct for api ResetApplication
+type ResetApplicationResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateResetApplicationRequest creates a request to invoke ResetApplication API
+func CreateResetApplicationRequest() (request *ResetApplicationRequest) {
+	request = &ResetApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ResetApplication", "/pop/v5/changeorder/co_reset", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateResetApplicationResponse creates a response to parse from ResetApplication response
+func CreateResetApplicationResponse() (response *ResetApplicationResponse) {
+	response = &ResetApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/edas/rollback_application.go

@@ -0,0 +1,111 @@
+package edas
+
+//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"
+)
+
+// RollbackApplication invokes the edas.RollbackApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/rollbackapplication.html
+func (client *Client) RollbackApplication(request *RollbackApplicationRequest) (response *RollbackApplicationResponse, err error) {
+	response = CreateRollbackApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RollbackApplicationWithChan invokes the edas.RollbackApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/rollbackapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RollbackApplicationWithChan(request *RollbackApplicationRequest) (<-chan *RollbackApplicationResponse, <-chan error) {
+	responseChan := make(chan *RollbackApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RollbackApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RollbackApplicationWithCallback invokes the edas.RollbackApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/rollbackapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RollbackApplicationWithCallback(request *RollbackApplicationRequest, callback func(response *RollbackApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RollbackApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.RollbackApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RollbackApplicationRequest is the request struct for api RollbackApplication
+type RollbackApplicationRequest struct {
+	*requests.RoaRequest
+	AppId          string           `position:"Query" name:"AppId"`
+	GroupId        string           `position:"Query" name:"GroupId"`
+	BatchWaitTime  requests.Integer `position:"Query" name:"BatchWaitTime"`
+	Batch          requests.Integer `position:"Query" name:"Batch"`
+	HistoryVersion string           `position:"Query" name:"HistoryVersion"`
+}
+
+// RollbackApplicationResponse is the response struct for api RollbackApplication
+type RollbackApplicationResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRollbackApplicationRequest creates a request to invoke RollbackApplication API
+func CreateRollbackApplicationRequest() (request *RollbackApplicationRequest) {
+	request = &RollbackApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "RollbackApplication", "/pop/v5/changeorder/co_rollback", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateRollbackApplicationResponse creates a response to parse from RollbackApplication response
+func CreateRollbackApplicationResponse() (response *RollbackApplicationResponse) {
+	response = &RollbackApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/scale_in_application.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// ScaleInApplication invokes the edas.ScaleInApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/scaleinapplication.html
+func (client *Client) ScaleInApplication(request *ScaleInApplicationRequest) (response *ScaleInApplicationResponse, err error) {
+	response = CreateScaleInApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ScaleInApplicationWithChan invokes the edas.ScaleInApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/scaleinapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ScaleInApplicationWithChan(request *ScaleInApplicationRequest) (<-chan *ScaleInApplicationResponse, <-chan error) {
+	responseChan := make(chan *ScaleInApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ScaleInApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ScaleInApplicationWithCallback invokes the edas.ScaleInApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/scaleinapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ScaleInApplicationWithCallback(request *ScaleInApplicationRequest, callback func(response *ScaleInApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ScaleInApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.ScaleInApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ScaleInApplicationRequest is the request struct for api ScaleInApplication
+type ScaleInApplicationRequest struct {
+	*requests.RoaRequest
+	ForceStatus requests.Boolean `position:"Query" name:"ForceStatus"`
+	AppId       string           `position:"Query" name:"AppId"`
+	EccInfo     string           `position:"Query" name:"EccInfo"`
+}
+
+// ScaleInApplicationResponse is the response struct for api ScaleInApplication
+type ScaleInApplicationResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+}
+
+// CreateScaleInApplicationRequest creates a request to invoke ScaleInApplication API
+func CreateScaleInApplicationRequest() (request *ScaleInApplicationRequest) {
+	request = &ScaleInApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ScaleInApplication", "/pop/v5/changeorder/co_scale_in", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateScaleInApplicationResponse creates a response to parse from ScaleInApplication response
+func CreateScaleInApplicationResponse() (response *ScaleInApplicationResponse) {
+	response = &ScaleInApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/scale_k8s_application.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// ScaleK8sApplication invokes the edas.ScaleK8sApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/scalek8sapplication.html
+func (client *Client) ScaleK8sApplication(request *ScaleK8sApplicationRequest) (response *ScaleK8sApplicationResponse, err error) {
+	response = CreateScaleK8sApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ScaleK8sApplicationWithChan invokes the edas.ScaleK8sApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/scalek8sapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ScaleK8sApplicationWithChan(request *ScaleK8sApplicationRequest) (<-chan *ScaleK8sApplicationResponse, <-chan error) {
+	responseChan := make(chan *ScaleK8sApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ScaleK8sApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ScaleK8sApplicationWithCallback invokes the edas.ScaleK8sApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/scalek8sapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ScaleK8sApplicationWithCallback(request *ScaleK8sApplicationRequest, callback func(response *ScaleK8sApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ScaleK8sApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.ScaleK8sApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ScaleK8sApplicationRequest is the request struct for api ScaleK8sApplication
+type ScaleK8sApplicationRequest struct {
+	*requests.RoaRequest
+	Replicas requests.Integer `position:"Query" name:"Replicas"`
+	AppId    string           `position:"Query" name:"AppId"`
+}
+
+// ScaleK8sApplicationResponse is the response struct for api ScaleK8sApplication
+type ScaleK8sApplicationResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+}
+
+// CreateScaleK8sApplicationRequest creates a request to invoke ScaleK8sApplication API
+func CreateScaleK8sApplicationRequest() (request *ScaleK8sApplicationRequest) {
+	request = &ScaleK8sApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ScaleK8sApplication", "/pop/v5/k8s/acs/k8s_apps", "", "")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateScaleK8sApplicationResponse creates a response to parse from ScaleK8sApplication response
+func CreateScaleK8sApplicationResponse() (response *ScaleK8sApplicationResponse) {
+	response = &ScaleK8sApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/edas/scale_out_application.go

@@ -0,0 +1,109 @@
+package edas
+
+//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"
+)
+
+// ScaleOutApplication invokes the edas.ScaleOutApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/scaleoutapplication.html
+func (client *Client) ScaleOutApplication(request *ScaleOutApplicationRequest) (response *ScaleOutApplicationResponse, err error) {
+	response = CreateScaleOutApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ScaleOutApplicationWithChan invokes the edas.ScaleOutApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/scaleoutapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ScaleOutApplicationWithChan(request *ScaleOutApplicationRequest) (<-chan *ScaleOutApplicationResponse, <-chan error) {
+	responseChan := make(chan *ScaleOutApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ScaleOutApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ScaleOutApplicationWithCallback invokes the edas.ScaleOutApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/scaleoutapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ScaleOutApplicationWithCallback(request *ScaleOutApplicationRequest, callback func(response *ScaleOutApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ScaleOutApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.ScaleOutApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ScaleOutApplicationRequest is the request struct for api ScaleOutApplication
+type ScaleOutApplicationRequest struct {
+	*requests.RoaRequest
+	EcuInfo     string `position:"Query" name:"EcuInfo"`
+	DeployGroup string `position:"Query" name:"DeployGroup"`
+	AppId       string `position:"Query" name:"AppId"`
+}
+
+// ScaleOutApplicationResponse is the response struct for api ScaleOutApplication
+type ScaleOutApplicationResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateScaleOutApplicationRequest creates a request to invoke ScaleOutApplication API
+func CreateScaleOutApplicationRequest() (request *ScaleOutApplicationRequest) {
+	request = &ScaleOutApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ScaleOutApplication", "/pop/v5/changeorder/co_scale_out", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateScaleOutApplicationResponse creates a response to parse from ScaleOutApplication response
+func CreateScaleOutApplicationResponse() (response *ScaleOutApplicationResponse) {
+	response = &ScaleOutApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/edas/scale_serverless_application.go

@@ -0,0 +1,107 @@
+package edas
+
+//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"
+)
+
+// ScaleServerlessApplication invokes the edas.ScaleServerlessApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/scaleserverlessapplication.html
+func (client *Client) ScaleServerlessApplication(request *ScaleServerlessApplicationRequest) (response *ScaleServerlessApplicationResponse, err error) {
+	response = CreateScaleServerlessApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ScaleServerlessApplicationWithChan invokes the edas.ScaleServerlessApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/scaleserverlessapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ScaleServerlessApplicationWithChan(request *ScaleServerlessApplicationRequest) (<-chan *ScaleServerlessApplicationResponse, <-chan error) {
+	responseChan := make(chan *ScaleServerlessApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ScaleServerlessApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ScaleServerlessApplicationWithCallback invokes the edas.ScaleServerlessApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/scaleserverlessapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ScaleServerlessApplicationWithCallback(request *ScaleServerlessApplicationRequest, callback func(response *ScaleServerlessApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ScaleServerlessApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.ScaleServerlessApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ScaleServerlessApplicationRequest is the request struct for api ScaleServerlessApplication
+type ScaleServerlessApplicationRequest struct {
+	*requests.RoaRequest
+	Replicas requests.Integer `position:"Query" name:"Replicas"`
+	AppId    string           `position:"Query" name:"AppId"`
+}
+
+// ScaleServerlessApplicationResponse is the response struct for api ScaleServerlessApplication
+type ScaleServerlessApplicationResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+}
+
+// CreateScaleServerlessApplicationRequest creates a request to invoke ScaleServerlessApplication API
+func CreateScaleServerlessApplicationRequest() (request *ScaleServerlessApplicationRequest) {
+	request = &ScaleServerlessApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "ScaleServerlessApplication", "/pop/v5/k8s/pop/pop_serverless_app_rescale", "", "")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateScaleServerlessApplicationResponse creates a response to parse from ScaleServerlessApplication response
+func CreateScaleServerlessApplicationResponse() (response *ScaleServerlessApplicationResponse) {
+	response = &ScaleServerlessApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/start_application.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// StartApplication invokes the edas.StartApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/startapplication.html
+func (client *Client) StartApplication(request *StartApplicationRequest) (response *StartApplicationResponse, err error) {
+	response = CreateStartApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StartApplicationWithChan invokes the edas.StartApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/startapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartApplicationWithChan(request *StartApplicationRequest) (<-chan *StartApplicationResponse, <-chan error) {
+	responseChan := make(chan *StartApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StartApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StartApplicationWithCallback invokes the edas.StartApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/startapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartApplicationWithCallback(request *StartApplicationRequest, callback func(response *StartApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StartApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.StartApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StartApplicationRequest is the request struct for api StartApplication
+type StartApplicationRequest struct {
+	*requests.RoaRequest
+	AppId   string `position:"Query" name:"AppId"`
+	EccInfo string `position:"Query" name:"EccInfo"`
+}
+
+// StartApplicationResponse is the response struct for api StartApplication
+type StartApplicationResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateStartApplicationRequest creates a request to invoke StartApplication API
+func CreateStartApplicationRequest() (request *StartApplicationRequest) {
+	request = &StartApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "StartApplication", "/pop/v5/changeorder/co_start", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateStartApplicationResponse creates a response to parse from StartApplication response
+func CreateStartApplicationResponse() (response *StartApplicationResponse) {
+	response = &StartApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/edas/stop_application.go

@@ -0,0 +1,108 @@
+package edas
+
+//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"
+)
+
+// StopApplication invokes the edas.StopApplication API synchronously
+// api document: https://help.aliyun.com/api/edas/stopapplication.html
+func (client *Client) StopApplication(request *StopApplicationRequest) (response *StopApplicationResponse, err error) {
+	response = CreateStopApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StopApplicationWithChan invokes the edas.StopApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/stopapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopApplicationWithChan(request *StopApplicationRequest) (<-chan *StopApplicationResponse, <-chan error) {
+	responseChan := make(chan *StopApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StopApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StopApplicationWithCallback invokes the edas.StopApplication API asynchronously
+// api document: https://help.aliyun.com/api/edas/stopapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopApplicationWithCallback(request *StopApplicationRequest, callback func(response *StopApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StopApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.StopApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StopApplicationRequest is the request struct for api StopApplication
+type StopApplicationRequest struct {
+	*requests.RoaRequest
+	AppId   string `position:"Query" name:"AppId"`
+	EccInfo string `position:"Query" name:"EccInfo"`
+}
+
+// StopApplicationResponse is the response struct for api StopApplication
+type StopApplicationResponse struct {
+	*responses.BaseResponse
+	Code          int    `json:"Code" xml:"Code"`
+	Message       string `json:"Message" xml:"Message"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateStopApplicationRequest creates a request to invoke StopApplication API
+func CreateStopApplicationRequest() (request *StopApplicationRequest) {
+	request = &StopApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Edas", "2017-08-01", "StopApplication", "/pop/v5/changeorder/co_stop", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateStopApplicationResponse creates a response to parse from StopApplication response
+func CreateStopApplicationResponse() (response *StopApplicationResponse) {
+	response = &StopApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 24 - 0
services/edas/struct_action.go

@@ -0,0 +1,24 @@
+package edas
+
+//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.
+
+// Action is a nested struct in edas response
+type Action struct {
+	Name        string `json:"Name" xml:"Name"`
+	Code        string `json:"Code" xml:"Code"`
+	GroupId     string `json:"GroupId" xml:"GroupId"`
+	Description string `json:"Description" xml:"Description"`
+}

+ 21 - 0
services/edas/struct_action_list_in_list_authority.go

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

+ 21 - 0
services/edas/struct_action_list_in_list_role.go

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

+ 43 - 0
services/edas/struct_app.go

@@ -0,0 +1,43 @@
+package edas
+
+//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.
+
+// App is a nested struct in edas response
+type App struct {
+	AppId                string `json:"AppId" xml:"AppId"`
+	Name                 string `json:"Name" xml:"Name"`
+	RegionId             string `json:"RegionId" xml:"RegionId"`
+	Description          string `json:"Description" xml:"Description"`
+	Owner                string `json:"Owner" xml:"Owner"`
+	InstanceCount        int    `json:"InstanceCount" xml:"InstanceCount"`
+	RunningInstanceCount int    `json:"RunningInstanceCount" xml:"RunningInstanceCount"`
+	Port                 int    `json:"Port" xml:"Port"`
+	UserId               string `json:"UserId" xml:"UserId"`
+	SlbId                string `json:"SlbId" xml:"SlbId"`
+	SlbIp                string `json:"SlbIp" xml:"SlbIp"`
+	SlbPort              int    `json:"SlbPort" xml:"SlbPort"`
+	ExtSlbId             string `json:"ExtSlbId" xml:"ExtSlbId"`
+	ExtSlbIp             string `json:"ExtSlbIp" xml:"ExtSlbIp"`
+	ApplicationType      string `json:"ApplicationType" xml:"ApplicationType"`
+	ClusterType          int    `json:"ClusterType" xml:"ClusterType"`
+	ClusterId            string `json:"ClusterId" xml:"ClusterId"`
+	Dockerize            bool   `json:"Dockerize" xml:"Dockerize"`
+	Cpu                  int    `json:"Cpu" xml:"Cpu"`
+	Memory               int    `json:"Memory" xml:"Memory"`
+	HealthCheckUrl       string `json:"HealthCheckUrl" xml:"HealthCheckUrl"`
+	BuildPackageId       int    `json:"BuildPackageId" xml:"BuildPackageId"`
+	CreateTime           int    `json:"CreateTime" xml:"CreateTime"`
+}

+ 25 - 0
services/edas/struct_app_info.go

@@ -0,0 +1,25 @@
+package edas
+
+//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.
+
+// AppInfo is a nested struct in edas response
+type AppInfo struct {
+	Application      Application      `json:"Application" xml:"Application"`
+	EcuList          EcuList          `json:"EcuList" xml:"EcuList"`
+	EccList          EccList          `json:"EccList" xml:"EccList"`
+	GroupList        GroupList        `json:"GroupList" xml:"GroupList"`
+	DeployRecordList DeployRecordList `json:"DeployRecordList" xml:"DeployRecordList"`
+}

+ 21 - 0
services/edas/struct_app_list.go

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

+ 45 - 0
services/edas/struct_applcation.go

@@ -0,0 +1,45 @@
+package edas
+
+//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.
+
+// Applcation is a nested struct in edas response
+type Applcation struct {
+	Name                 string `json:"Name" xml:"Name"`
+	CreateTime           int    `json:"CreateTime" xml:"CreateTime"`
+	Dockerize            bool   `json:"Dockerize" xml:"Dockerize"`
+	RegionId             string `json:"RegionId" xml:"RegionId"`
+	SlbPort              int    `json:"SlbPort" xml:"SlbPort"`
+	UserId               string `json:"UserId" xml:"UserId"`
+	ApplicationType      string `json:"ApplicationType" xml:"ApplicationType"`
+	Description          string `json:"Description" xml:"Description"`
+	ClusterId            string `json:"ClusterId" xml:"ClusterId"`
+	Port                 int    `json:"Port" xml:"Port"`
+	ExtSlbIp             string `json:"ExtSlbIp" xml:"ExtSlbIp"`
+	BuildPackageId       int    `json:"BuildPackageId" xml:"BuildPackageId"`
+	Memory               int    `json:"Memory" xml:"Memory"`
+	ExtSlbId             string `json:"ExtSlbId" xml:"ExtSlbId"`
+	Owner                string `json:"Owner" xml:"Owner"`
+	ExtSlbName           string `json:"ExtSlbName" xml:"ExtSlbName"`
+	SlbName              string `json:"SlbName" xml:"SlbName"`
+	AppId                string `json:"AppId" xml:"AppId"`
+	InstanceCount        int    `json:"InstanceCount" xml:"InstanceCount"`
+	HealthCheckUrl       string `json:"HealthCheckUrl" xml:"HealthCheckUrl"`
+	SlbId                string `json:"SlbId" xml:"SlbId"`
+	ClusterType          int    `json:"ClusterType" xml:"ClusterType"`
+	Cpu                  int    `json:"Cpu" xml:"Cpu"`
+	RunningInstanceCount int    `json:"RunningInstanceCount" xml:"RunningInstanceCount"`
+	SlbIp                string `json:"SlbIp" xml:"SlbIp"`
+}

+ 38 - 0
services/edas/struct_application.go

@@ -0,0 +1,38 @@
+package edas
+
+//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.
+
+// Application is a nested struct in edas response
+type Application struct {
+	Name                 string `json:"Name" xml:"Name"`
+	ClusterId            string `json:"ClusterId" xml:"ClusterId"`
+	ApplicationId        string `json:"ApplicationId" xml:"ApplicationId"`
+	Port                 int    `json:"Port" xml:"Port"`
+	Email                string `json:"Email" xml:"Email"`
+	Memory               int    `json:"Memory" xml:"Memory"`
+	LaunchTime           int    `json:"LaunchTime" xml:"LaunchTime"`
+	Owner                string `json:"Owner" xml:"Owner"`
+	CreateTime           int    `json:"CreateTime" xml:"CreateTime"`
+	Dockerize            bool   `json:"Dockerize" xml:"Dockerize"`
+	BuildPackageId       int    `json:"BuildPackageId" xml:"BuildPackageId"`
+	InstanceCount        int    `json:"InstanceCount" xml:"InstanceCount"`
+	RegionId             string `json:"RegionId" xml:"RegionId"`
+	HealthCheckUrl       string `json:"HealthCheckUrl" xml:"HealthCheckUrl"`
+	UserId               string `json:"UserId" xml:"UserId"`
+	Cpu                  int    `json:"Cpu" xml:"Cpu"`
+	Phone                string `json:"Phone" xml:"Phone"`
+	RunningInstanceCount int    `json:"RunningInstanceCount" xml:"RunningInstanceCount"`
+}

+ 43 - 0
services/edas/struct_application_in_list_application.go

@@ -0,0 +1,43 @@
+package edas
+
+//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.
+
+// ApplicationInListApplication is a nested struct in edas response
+type ApplicationInListApplication struct {
+	AppId                string `json:"AppId" xml:"AppId"`
+	Name                 string `json:"Name" xml:"Name"`
+	RegionId             string `json:"RegionId" xml:"RegionId"`
+	Description          string `json:"Description" xml:"Description"`
+	Owner                string `json:"Owner" xml:"Owner"`
+	InstanceCount        int    `json:"InstanceCount" xml:"InstanceCount"`
+	RunningInstanceCount int    `json:"RunningInstanceCount" xml:"RunningInstanceCount"`
+	Port                 int    `json:"Port" xml:"Port"`
+	UserId               string `json:"UserId" xml:"UserId"`
+	SlbId                string `json:"SlbId" xml:"SlbId"`
+	SlbIp                string `json:"SlbIp" xml:"SlbIp"`
+	SlbPort              int    `json:"SlbPort" xml:"SlbPort"`
+	ExtSlbId             string `json:"ExtSlbId" xml:"ExtSlbId"`
+	ExtSlbIp             string `json:"ExtSlbIp" xml:"ExtSlbIp"`
+	ApplicationType      string `json:"ApplicationType" xml:"ApplicationType"`
+	ClusterType          int    `json:"ClusterType" xml:"ClusterType"`
+	ClusterId            string `json:"ClusterId" xml:"ClusterId"`
+	Dockerize            bool   `json:"Dockerize" xml:"Dockerize"`
+	Cpu                  int    `json:"Cpu" xml:"Cpu"`
+	Memory               int    `json:"Memory" xml:"Memory"`
+	HealthCheckUrl       string `json:"HealthCheckUrl" xml:"HealthCheckUrl"`
+	BuildPackageId       int    `json:"BuildPackageId" xml:"BuildPackageId"`
+	CreateTime           int    `json:"CreateTime" xml:"CreateTime"`
+}

Some files were not shown because too many files changed in this diff