Browse Source

Add NamespaceId for listApplication.

sdk-team 6 năm trước cách đây
mục cha
commit
111b102694
75 tập tin đã thay đổi với 5086 bổ sung0 xóa
  1. 3 0
      ChangeLog.txt
  2. 110 0
      services/sae/abort_and_rollback_change_order.go
  3. 110 0
      services/sae/abort_change_order.go
  4. 112 0
      services/sae/bind_slb.go
  5. 129 0
      services/sae/client.go
  6. 111 0
      services/sae/confirm_pipeline_batch.go
  7. 135 0
      services/sae/create_application.go
  8. 112 0
      services/sae/create_namespace.go
  9. 110 0
      services/sae/delete_application.go
  10. 109 0
      services/sae/delete_namespace.go
  11. 127 0
      services/sae/deploy_application.go
  12. 110 0
      services/sae/describe_application_config.go
  13. 112 0
      services/sae/describe_application_groups.go
  14. 111 0
      services/sae/describe_application_image.go
  15. 113 0
      services/sae/describe_application_instances.go
  16. 110 0
      services/sae/describe_application_slbs.go
  17. 110 0
      services/sae/describe_application_status.go
  18. 110 0
      services/sae/describe_change_order.go
  19. 111 0
      services/sae/describe_components.go
  20. 109 0
      services/sae/describe_edas_containers.go
  21. 110 0
      services/sae/describe_instance_log.go
  22. 109 0
      services/sae/describe_instance_specifications.go
  23. 110 0
      services/sae/describe_namespace.go
  24. 111 0
      services/sae/describe_namespace_list.go
  25. 111 0
      services/sae/describe_namespaces.go
  26. 106 0
      services/sae/describe_regions.go
  27. 20 0
      services/sae/endpoint.go
  28. 111 0
      services/sae/list_applications.go
  29. 115 0
      services/sae/list_change_orders.go
  30. 110 0
      services/sae/list_consumed_services.go
  31. 110 0
      services/sae/list_published_services.go
  32. 110 0
      services/sae/query_resource_statics.go
  33. 110 0
      services/sae/rescale_application.go
  34. 112 0
      services/sae/rescale_application_vertically.go
  35. 111 0
      services/sae/restart_application.go
  36. 110 0
      services/sae/start_application.go
  37. 110 0
      services/sae/stop_application.go
  38. 27 0
      services/sae/struct_application.go
  39. 32 0
      services/sae/struct_application_group.go
  40. 21 0
      services/sae/struct_applications.go
  41. 33 0
      services/sae/struct_change_order.go
  42. 21 0
      services/sae/struct_change_order_list.go
  43. 21 0
      services/sae/struct_co_targets.go
  44. 93 0
      services/sae/struct_data.go
  45. 21 0
      services/sae/struct_data_in_describe_application_groups.go
  46. 21 0
      services/sae/struct_data_in_describe_components.go
  47. 21 0
      services/sae/struct_data_in_describe_edas_containers.go
  48. 21 0
      services/sae/struct_data_in_describe_instance_specifications.go
  49. 21 0
      services/sae/struct_data_in_describe_namespace_list.go
  50. 21 0
      services/sae/struct_data_in_list_consumed_services.go
  51. 21 0
      services/sae/struct_data_in_list_published_services.go
  52. 32 0
      services/sae/struct_data_item.go
  53. 26 0
      services/sae/struct_data_item_in_describe_instance_specifications.go
  54. 21 0
      services/sae/struct_groups_in_list_consumed_services.go
  55. 21 0
      services/sae/struct_groups_in_list_published_services.go
  56. 25 0
      services/sae/struct_instance.go
  57. 21 0
      services/sae/struct_instances.go
  58. 21 0
      services/sae/struct_internet.go
  59. 23 0
      services/sae/struct_internet_item.go
  60. 21 0
      services/sae/struct_intranet.go
  61. 23 0
      services/sae/struct_intranet_item.go
  62. 21 0
      services/sae/struct_ips_in_list_consumed_services.go
  63. 21 0
      services/sae/struct_ips_in_list_published_services.go
  64. 27 0
      services/sae/struct_list_consumed_services.go
  65. 28 0
      services/sae/struct_namespace.go
  66. 21 0
      services/sae/struct_namespaces.go
  67. 27 0
      services/sae/struct_pipeline.go
  68. 21 0
      services/sae/struct_pipelines.go
  69. 22 0
      services/sae/struct_real_time_res.go
  70. 23 0
      services/sae/struct_region.go
  71. 29 0
      services/sae/struct_region_list.go
  72. 21 0
      services/sae/struct_regions.go
  73. 22 0
      services/sae/struct_summary.go
  74. 112 0
      services/sae/unbind_slb.go
  75. 112 0
      services/sae/update_namespace.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-08-28 Version: 1.60.121
+- Add NamespaceId for listApplication.
+
 2019-08-27 Version: 1.60.120
 - Add ModifyDBInstanceAutoUpgradeMinorVersion Openapi.
 

+ 110 - 0
services/sae/abort_and_rollback_change_order.go

@@ -0,0 +1,110 @@
+package sae
+
+//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"
+)
+
+// AbortAndRollbackChangeOrder invokes the sae.AbortAndRollbackChangeOrder API synchronously
+// api document: https://help.aliyun.com/api/sae/abortandrollbackchangeorder.html
+func (client *Client) AbortAndRollbackChangeOrder(request *AbortAndRollbackChangeOrderRequest) (response *AbortAndRollbackChangeOrderResponse, err error) {
+	response = CreateAbortAndRollbackChangeOrderResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AbortAndRollbackChangeOrderWithChan invokes the sae.AbortAndRollbackChangeOrder API asynchronously
+// api document: https://help.aliyun.com/api/sae/abortandrollbackchangeorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AbortAndRollbackChangeOrderWithChan(request *AbortAndRollbackChangeOrderRequest) (<-chan *AbortAndRollbackChangeOrderResponse, <-chan error) {
+	responseChan := make(chan *AbortAndRollbackChangeOrderResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AbortAndRollbackChangeOrder(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AbortAndRollbackChangeOrderWithCallback invokes the sae.AbortAndRollbackChangeOrder API asynchronously
+// api document: https://help.aliyun.com/api/sae/abortandrollbackchangeorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AbortAndRollbackChangeOrderWithCallback(request *AbortAndRollbackChangeOrderRequest, callback func(response *AbortAndRollbackChangeOrderResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AbortAndRollbackChangeOrderResponse
+		var err error
+		defer close(result)
+		response, err = client.AbortAndRollbackChangeOrder(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AbortAndRollbackChangeOrderRequest is the request struct for api AbortAndRollbackChangeOrder
+type AbortAndRollbackChangeOrderRequest struct {
+	*requests.RoaRequest
+	ChangeOrderId string `position:"Query" name:"ChangeOrderId"`
+}
+
+// AbortAndRollbackChangeOrderResponse is the response struct for api AbortAndRollbackChangeOrder
+type AbortAndRollbackChangeOrderResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateAbortAndRollbackChangeOrderRequest creates a request to invoke AbortAndRollbackChangeOrder API
+func CreateAbortAndRollbackChangeOrderRequest() (request *AbortAndRollbackChangeOrderRequest) {
+	request = &AbortAndRollbackChangeOrderRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "AbortAndRollbackChangeOrder", "/pop/v1/sam/changeorder/AbortAndRollbackChangeOrder", "serverless", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateAbortAndRollbackChangeOrderResponse creates a response to parse from AbortAndRollbackChangeOrder response
+func CreateAbortAndRollbackChangeOrderResponse() (response *AbortAndRollbackChangeOrderResponse) {
+	response = &AbortAndRollbackChangeOrderResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/abort_change_order.go

@@ -0,0 +1,110 @@
+package sae
+
+//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"
+)
+
+// AbortChangeOrder invokes the sae.AbortChangeOrder API synchronously
+// api document: https://help.aliyun.com/api/sae/abortchangeorder.html
+func (client *Client) AbortChangeOrder(request *AbortChangeOrderRequest) (response *AbortChangeOrderResponse, err error) {
+	response = CreateAbortChangeOrderResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AbortChangeOrderWithChan invokes the sae.AbortChangeOrder API asynchronously
+// api document: https://help.aliyun.com/api/sae/abortchangeorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AbortChangeOrderWithChan(request *AbortChangeOrderRequest) (<-chan *AbortChangeOrderResponse, <-chan error) {
+	responseChan := make(chan *AbortChangeOrderResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AbortChangeOrder(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AbortChangeOrderWithCallback invokes the sae.AbortChangeOrder API asynchronously
+// api document: https://help.aliyun.com/api/sae/abortchangeorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AbortChangeOrderWithCallback(request *AbortChangeOrderRequest, callback func(response *AbortChangeOrderResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AbortChangeOrderResponse
+		var err error
+		defer close(result)
+		response, err = client.AbortChangeOrder(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AbortChangeOrderRequest is the request struct for api AbortChangeOrder
+type AbortChangeOrderRequest struct {
+	*requests.RoaRequest
+	ChangeOrderId string `position:"Query" name:"ChangeOrderId"`
+}
+
+// AbortChangeOrderResponse is the response struct for api AbortChangeOrder
+type AbortChangeOrderResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateAbortChangeOrderRequest creates a request to invoke AbortChangeOrder API
+func CreateAbortChangeOrderRequest() (request *AbortChangeOrderRequest) {
+	request = &AbortChangeOrderRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "AbortChangeOrder", "/pop/v1/sam/changeorder/AbortChangeOrder", "serverless", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateAbortChangeOrderResponse creates a response to parse from AbortChangeOrder response
+func CreateAbortChangeOrderResponse() (response *AbortChangeOrderResponse) {
+	response = &AbortChangeOrderResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/sae/bind_slb.go

@@ -0,0 +1,112 @@
+package sae
+
+//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 sae.BindSlb API synchronously
+// api document: https://help.aliyun.com/api/sae/bindslb.html
+func (client *Client) BindSlb(request *BindSlbRequest) (response *BindSlbResponse, err error) {
+	response = CreateBindSlbResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BindSlbWithChan invokes the sae.BindSlb API asynchronously
+// api document: https://help.aliyun.com/api/sae/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 sae.BindSlb API asynchronously
+// api document: https://help.aliyun.com/api/sae/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
+	Intranet string `position:"Query" name:"Intranet"`
+	AppId    string `position:"Query" name:"AppId"`
+	Internet string `position:"Query" name:"Internet"`
+}
+
+// BindSlbResponse is the response struct for api BindSlb
+type BindSlbResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	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("sae", "2019-05-06", "BindSlb", "/pop/v1/sam/app/slb", "serverless", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateBindSlbResponse creates a response to parse from BindSlb response
+func CreateBindSlbResponse() (response *BindSlbResponse) {
+	response = &BindSlbResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 129 - 0
services/sae/client.go

@@ -0,0 +1,129 @@
+package sae
+
+//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 (
+	"reflect"
+
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	SetEndpointDataToClient(client)
+	return
+}

+ 111 - 0
services/sae/confirm_pipeline_batch.go

@@ -0,0 +1,111 @@
+package sae
+
+//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"
+)
+
+// ConfirmPipelineBatch invokes the sae.ConfirmPipelineBatch API synchronously
+// api document: https://help.aliyun.com/api/sae/confirmpipelinebatch.html
+func (client *Client) ConfirmPipelineBatch(request *ConfirmPipelineBatchRequest) (response *ConfirmPipelineBatchResponse, err error) {
+	response = CreateConfirmPipelineBatchResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ConfirmPipelineBatchWithChan invokes the sae.ConfirmPipelineBatch API asynchronously
+// api document: https://help.aliyun.com/api/sae/confirmpipelinebatch.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfirmPipelineBatchWithChan(request *ConfirmPipelineBatchRequest) (<-chan *ConfirmPipelineBatchResponse, <-chan error) {
+	responseChan := make(chan *ConfirmPipelineBatchResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ConfirmPipelineBatch(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ConfirmPipelineBatchWithCallback invokes the sae.ConfirmPipelineBatch API asynchronously
+// api document: https://help.aliyun.com/api/sae/confirmpipelinebatch.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfirmPipelineBatchWithCallback(request *ConfirmPipelineBatchRequest, callback func(response *ConfirmPipelineBatchResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ConfirmPipelineBatchResponse
+		var err error
+		defer close(result)
+		response, err = client.ConfirmPipelineBatch(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ConfirmPipelineBatchRequest is the request struct for api ConfirmPipelineBatch
+type ConfirmPipelineBatchRequest struct {
+	*requests.RoaRequest
+	Confirm    requests.Boolean `position:"Query" name:"Confirm"`
+	PipelineId string           `position:"Query" name:"PipelineId"`
+}
+
+// ConfirmPipelineBatchResponse is the response struct for api ConfirmPipelineBatch
+type ConfirmPipelineBatchResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateConfirmPipelineBatchRequest creates a request to invoke ConfirmPipelineBatch API
+func CreateConfirmPipelineBatchRequest() (request *ConfirmPipelineBatchRequest) {
+	request = &ConfirmPipelineBatchRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "ConfirmPipelineBatch", "/pop/v1/sam/changeorder/ConfirmPipelineBatch", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateConfirmPipelineBatchResponse creates a response to parse from ConfirmPipelineBatch response
+func CreateConfirmPipelineBatchResponse() (response *ConfirmPipelineBatchResponse) {
+	response = &ConfirmPipelineBatchResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 135 - 0
services/sae/create_application.go

@@ -0,0 +1,135 @@
+package sae
+
+//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"
+)
+
+// CreateApplication invokes the sae.CreateApplication API synchronously
+// api document: https://help.aliyun.com/api/sae/createapplication.html
+func (client *Client) CreateApplication(request *CreateApplicationRequest) (response *CreateApplicationResponse, err error) {
+	response = CreateCreateApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateApplicationWithChan invokes the sae.CreateApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/createapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateApplicationWithChan(request *CreateApplicationRequest) (<-chan *CreateApplicationResponse, <-chan error) {
+	responseChan := make(chan *CreateApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateApplicationWithCallback invokes the sae.CreateApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/createapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateApplicationWithCallback(request *CreateApplicationRequest, callback func(response *CreateApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateApplicationRequest is the request struct for api CreateApplication
+type CreateApplicationRequest struct {
+	*requests.RoaRequest
+	WebContainer         string           `position:"Query" name:"WebContainer"`
+	JarStartArgs         string           `position:"Query" name:"JarStartArgs"`
+	Memory               requests.Integer `position:"Query" name:"Memory"`
+	SlsConfigs           string           `position:"Query" name:"SlsConfigs"`
+	CommandArgs          string           `position:"Query" name:"CommandArgs"`
+	Readiness            string           `position:"Query" name:"Readiness"`
+	Timezone             string           `position:"Query" name:"Timezone"`
+	Liveness             string           `position:"Query" name:"Liveness"`
+	Envs                 string           `position:"Query" name:"Envs"`
+	PackageVersion       string           `position:"Query" name:"PackageVersion"`
+	CustomHostAlias      string           `position:"Query" name:"CustomHostAlias"`
+	Deploy               requests.Boolean `position:"Query" name:"Deploy"`
+	JarStartOptions      string           `position:"Query" name:"JarStartOptions"`
+	EdasContainerVersion string           `position:"Query" name:"EdasContainerVersion"`
+	AppName              string           `position:"Query" name:"AppName"`
+	NamespaceId          string           `position:"Query" name:"NamespaceId"`
+	PackageUrl           string           `position:"Query" name:"PackageUrl"`
+	Replicas             requests.Integer `position:"Query" name:"Replicas"`
+	Cpu                  requests.Integer `position:"Query" name:"Cpu"`
+	Command              string           `position:"Query" name:"Command"`
+	VSwitchId            string           `position:"Query" name:"VSwitchId"`
+	Jdk                  string           `position:"Query" name:"Jdk"`
+	AppDescription       string           `position:"Query" name:"AppDescription"`
+	VpcId                string           `position:"Query" name:"VpcId"`
+	ImageUrl             string           `position:"Query" name:"ImageUrl"`
+	PackageType          string           `position:"Query" name:"PackageType"`
+}
+
+// CreateApplicationResponse is the response struct for api CreateApplication
+type CreateApplicationResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateCreateApplicationRequest creates a request to invoke CreateApplication API
+func CreateCreateApplicationRequest() (request *CreateApplicationRequest) {
+	request = &CreateApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "CreateApplication", "/pop/v1/sam/app/createApplication", "serverless", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateCreateApplicationResponse creates a response to parse from CreateApplication response
+func CreateCreateApplicationResponse() (response *CreateApplicationResponse) {
+	response = &CreateApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/sae/create_namespace.go

@@ -0,0 +1,112 @@
+package sae
+
+//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"
+)
+
+// CreateNamespace invokes the sae.CreateNamespace API synchronously
+// api document: https://help.aliyun.com/api/sae/createnamespace.html
+func (client *Client) CreateNamespace(request *CreateNamespaceRequest) (response *CreateNamespaceResponse, err error) {
+	response = CreateCreateNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateNamespaceWithChan invokes the sae.CreateNamespace API asynchronously
+// api document: https://help.aliyun.com/api/sae/createnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateNamespaceWithChan(request *CreateNamespaceRequest) (<-chan *CreateNamespaceResponse, <-chan error) {
+	responseChan := make(chan *CreateNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateNamespaceWithCallback invokes the sae.CreateNamespace API asynchronously
+// api document: https://help.aliyun.com/api/sae/createnamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateNamespaceWithCallback(request *CreateNamespaceRequest, callback func(response *CreateNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateNamespaceRequest is the request struct for api CreateNamespace
+type CreateNamespaceRequest struct {
+	*requests.RoaRequest
+	NamespaceName        string `position:"Query" name:"NamespaceName"`
+	NamespaceDescription string `position:"Query" name:"NamespaceDescription"`
+	NamespaceId          string `position:"Query" name:"NamespaceId"`
+}
+
+// CreateNamespaceResponse is the response struct for api CreateNamespace
+type CreateNamespaceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateCreateNamespaceRequest creates a request to invoke CreateNamespace API
+func CreateCreateNamespaceRequest() (request *CreateNamespaceRequest) {
+	request = &CreateNamespaceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "CreateNamespace", "/pop/v1/paas/namespace", "serverless", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateCreateNamespaceResponse creates a response to parse from CreateNamespace response
+func CreateCreateNamespaceResponse() (response *CreateNamespaceResponse) {
+	response = &CreateNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/delete_application.go

@@ -0,0 +1,110 @@
+package sae
+
+//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 sae.DeleteApplication API synchronously
+// api document: https://help.aliyun.com/api/sae/deleteapplication.html
+func (client *Client) DeleteApplication(request *DeleteApplicationRequest) (response *DeleteApplicationResponse, err error) {
+	response = CreateDeleteApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteApplicationWithChan invokes the sae.DeleteApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/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 sae.DeleteApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/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      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDeleteApplicationRequest creates a request to invoke DeleteApplication API
+func CreateDeleteApplicationRequest() (request *DeleteApplicationRequest) {
+	request = &DeleteApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DeleteApplication", "/pop/v1/sam/app/deleteApplication", "serverless", "openAPI")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteApplicationResponse creates a response to parse from DeleteApplication response
+func CreateDeleteApplicationResponse() (response *DeleteApplicationResponse) {
+	response = &DeleteApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/sae/delete_namespace.go

@@ -0,0 +1,109 @@
+package sae
+
+//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"
+)
+
+// DeleteNamespace invokes the sae.DeleteNamespace API synchronously
+// api document: https://help.aliyun.com/api/sae/deletenamespace.html
+func (client *Client) DeleteNamespace(request *DeleteNamespaceRequest) (response *DeleteNamespaceResponse, err error) {
+	response = CreateDeleteNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteNamespaceWithChan invokes the sae.DeleteNamespace API asynchronously
+// api document: https://help.aliyun.com/api/sae/deletenamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteNamespaceWithChan(request *DeleteNamespaceRequest) (<-chan *DeleteNamespaceResponse, <-chan error) {
+	responseChan := make(chan *DeleteNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteNamespaceWithCallback invokes the sae.DeleteNamespace API asynchronously
+// api document: https://help.aliyun.com/api/sae/deletenamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteNamespaceWithCallback(request *DeleteNamespaceRequest, callback func(response *DeleteNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteNamespaceRequest is the request struct for api DeleteNamespace
+type DeleteNamespaceRequest struct {
+	*requests.RoaRequest
+	NamespaceId string `position:"Query" name:"NamespaceId"`
+}
+
+// DeleteNamespaceResponse is the response struct for api DeleteNamespace
+type DeleteNamespaceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+}
+
+// CreateDeleteNamespaceRequest creates a request to invoke DeleteNamespace API
+func CreateDeleteNamespaceRequest() (request *DeleteNamespaceRequest) {
+	request = &DeleteNamespaceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DeleteNamespace", "/pop/v1/paas/namespace", "serverless", "openAPI")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteNamespaceResponse creates a response to parse from DeleteNamespace response
+func CreateDeleteNamespaceResponse() (response *DeleteNamespaceResponse) {
+	response = &DeleteNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 127 - 0
services/sae/deploy_application.go

@@ -0,0 +1,127 @@
+package sae
+
+//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 sae.DeployApplication API synchronously
+// api document: https://help.aliyun.com/api/sae/deployapplication.html
+func (client *Client) DeployApplication(request *DeployApplicationRequest) (response *DeployApplicationResponse, err error) {
+	response = CreateDeployApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeployApplicationWithChan invokes the sae.DeployApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/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 sae.DeployApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/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
+	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"`
+	UpdateStrategy       string           `position:"Query" name:"UpdateStrategy"`
+	Jdk                  string           `position:"Query" name:"Jdk"`
+	JarStartOptions      string           `position:"Query" name:"JarStartOptions"`
+	MinReadyInstances    requests.Integer `position:"Query" name:"MinReadyInstances"`
+	EdasContainerVersion string           `position:"Query" name:"EdasContainerVersion"`
+	PackageUrl           string           `position:"Query" name:"PackageUrl"`
+	AppId                string           `position:"Query" name:"AppId"`
+	ImageUrl             string           `position:"Query" name:"ImageUrl"`
+}
+
+// DeployApplicationResponse is the response struct for api DeployApplication
+type DeployApplicationResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDeployApplicationRequest creates a request to invoke DeployApplication API
+func CreateDeployApplicationRequest() (request *DeployApplicationRequest) {
+	request = &DeployApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DeployApplication", "/pop/v1/sam/app/deployApplication", "serverless", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateDeployApplicationResponse creates a response to parse from DeployApplication response
+func CreateDeployApplicationResponse() (response *DeployApplicationResponse) {
+	response = &DeployApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/describe_application_config.go

@@ -0,0 +1,110 @@
+package sae
+
+//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"
+)
+
+// DescribeApplicationConfig invokes the sae.DescribeApplicationConfig API synchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationconfig.html
+func (client *Client) DescribeApplicationConfig(request *DescribeApplicationConfigRequest) (response *DescribeApplicationConfigResponse, err error) {
+	response = CreateDescribeApplicationConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApplicationConfigWithChan invokes the sae.DescribeApplicationConfig API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationConfigWithChan(request *DescribeApplicationConfigRequest) (<-chan *DescribeApplicationConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeApplicationConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApplicationConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApplicationConfigWithCallback invokes the sae.DescribeApplicationConfig API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationConfigWithCallback(request *DescribeApplicationConfigRequest, callback func(response *DescribeApplicationConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApplicationConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApplicationConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApplicationConfigRequest is the request struct for api DescribeApplicationConfig
+type DescribeApplicationConfigRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// DescribeApplicationConfigResponse is the response struct for api DescribeApplicationConfig
+type DescribeApplicationConfigResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeApplicationConfigRequest creates a request to invoke DescribeApplicationConfig API
+func CreateDescribeApplicationConfigRequest() (request *DescribeApplicationConfigRequest) {
+	request = &DescribeApplicationConfigRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeApplicationConfig", "/pop/v1/sam/app/describeApplicationConfig", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeApplicationConfigResponse creates a response to parse from DescribeApplicationConfig response
+func CreateDescribeApplicationConfigResponse() (response *DescribeApplicationConfigResponse) {
+	response = &DescribeApplicationConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/sae/describe_application_groups.go

@@ -0,0 +1,112 @@
+package sae
+
+//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"
+)
+
+// DescribeApplicationGroups invokes the sae.DescribeApplicationGroups API synchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationgroups.html
+func (client *Client) DescribeApplicationGroups(request *DescribeApplicationGroupsRequest) (response *DescribeApplicationGroupsResponse, err error) {
+	response = CreateDescribeApplicationGroupsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApplicationGroupsWithChan invokes the sae.DescribeApplicationGroups API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationgroups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationGroupsWithChan(request *DescribeApplicationGroupsRequest) (<-chan *DescribeApplicationGroupsResponse, <-chan error) {
+	responseChan := make(chan *DescribeApplicationGroupsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApplicationGroups(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApplicationGroupsWithCallback invokes the sae.DescribeApplicationGroups API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationgroups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationGroupsWithCallback(request *DescribeApplicationGroupsRequest, callback func(response *DescribeApplicationGroupsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApplicationGroupsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApplicationGroups(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApplicationGroupsRequest is the request struct for api DescribeApplicationGroups
+type DescribeApplicationGroupsRequest struct {
+	*requests.RoaRequest
+	AppId       string           `position:"Query" name:"AppId"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+}
+
+// DescribeApplicationGroupsResponse is the response struct for api DescribeApplicationGroups
+type DescribeApplicationGroupsResponse struct {
+	*responses.BaseResponse
+	Code      string             `json:"Code" xml:"Code"`
+	Message   string             `json:"Message" xml:"Message"`
+	TraceId   string             `json:"TraceId" xml:"TraceId"`
+	RequestId string             `json:"RequestId" xml:"RequestId"`
+	Success   bool               `json:"Success" xml:"Success"`
+	ErrorCode string             `json:"ErrorCode" xml:"ErrorCode"`
+	Data      []ApplicationGroup `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeApplicationGroupsRequest creates a request to invoke DescribeApplicationGroups API
+func CreateDescribeApplicationGroupsRequest() (request *DescribeApplicationGroupsRequest) {
+	request = &DescribeApplicationGroupsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeApplicationGroups", "/pop/v1/sam/app/describeApplicationGroups", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeApplicationGroupsResponse creates a response to parse from DescribeApplicationGroups response
+func CreateDescribeApplicationGroupsResponse() (response *DescribeApplicationGroupsResponse) {
+	response = &DescribeApplicationGroupsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/sae/describe_application_image.go

@@ -0,0 +1,111 @@
+package sae
+
+//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"
+)
+
+// DescribeApplicationImage invokes the sae.DescribeApplicationImage API synchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationimage.html
+func (client *Client) DescribeApplicationImage(request *DescribeApplicationImageRequest) (response *DescribeApplicationImageResponse, err error) {
+	response = CreateDescribeApplicationImageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApplicationImageWithChan invokes the sae.DescribeApplicationImage API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationimage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationImageWithChan(request *DescribeApplicationImageRequest) (<-chan *DescribeApplicationImageResponse, <-chan error) {
+	responseChan := make(chan *DescribeApplicationImageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApplicationImage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApplicationImageWithCallback invokes the sae.DescribeApplicationImage API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationimage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationImageWithCallback(request *DescribeApplicationImageRequest, callback func(response *DescribeApplicationImageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApplicationImageResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApplicationImage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApplicationImageRequest is the request struct for api DescribeApplicationImage
+type DescribeApplicationImageRequest struct {
+	*requests.RoaRequest
+	AppId    string `position:"Query" name:"AppId"`
+	ImageUrl string `position:"Query" name:"ImageUrl"`
+}
+
+// DescribeApplicationImageResponse is the response struct for api DescribeApplicationImage
+type DescribeApplicationImageResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeApplicationImageRequest creates a request to invoke DescribeApplicationImage API
+func CreateDescribeApplicationImageRequest() (request *DescribeApplicationImageRequest) {
+	request = &DescribeApplicationImageRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeApplicationImage", "/pop/v1/sam/container/describeApplicationImage", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeApplicationImageResponse creates a response to parse from DescribeApplicationImage response
+func CreateDescribeApplicationImageResponse() (response *DescribeApplicationImageResponse) {
+	response = &DescribeApplicationImageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/sae/describe_application_instances.go

@@ -0,0 +1,113 @@
+package sae
+
+//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"
+)
+
+// DescribeApplicationInstances invokes the sae.DescribeApplicationInstances API synchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationinstances.html
+func (client *Client) DescribeApplicationInstances(request *DescribeApplicationInstancesRequest) (response *DescribeApplicationInstancesResponse, err error) {
+	response = CreateDescribeApplicationInstancesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApplicationInstancesWithChan invokes the sae.DescribeApplicationInstances API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationInstancesWithChan(request *DescribeApplicationInstancesRequest) (<-chan *DescribeApplicationInstancesResponse, <-chan error) {
+	responseChan := make(chan *DescribeApplicationInstancesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApplicationInstances(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApplicationInstancesWithCallback invokes the sae.DescribeApplicationInstances API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationInstancesWithCallback(request *DescribeApplicationInstancesRequest, callback func(response *DescribeApplicationInstancesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApplicationInstancesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApplicationInstances(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApplicationInstancesRequest is the request struct for api DescribeApplicationInstances
+type DescribeApplicationInstancesRequest struct {
+	*requests.RoaRequest
+	AppId       string           `position:"Query" name:"AppId"`
+	GroupId     string           `position:"Query" name:"GroupId"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+}
+
+// DescribeApplicationInstancesResponse is the response struct for api DescribeApplicationInstances
+type DescribeApplicationInstancesResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeApplicationInstancesRequest creates a request to invoke DescribeApplicationInstances API
+func CreateDescribeApplicationInstancesRequest() (request *DescribeApplicationInstancesRequest) {
+	request = &DescribeApplicationInstancesRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeApplicationInstances", "/pop/v1/sam/app/describeApplicationInstances", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeApplicationInstancesResponse creates a response to parse from DescribeApplicationInstances response
+func CreateDescribeApplicationInstancesResponse() (response *DescribeApplicationInstancesResponse) {
+	response = &DescribeApplicationInstancesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/describe_application_slbs.go

@@ -0,0 +1,110 @@
+package sae
+
+//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"
+)
+
+// DescribeApplicationSlbs invokes the sae.DescribeApplicationSlbs API synchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationslbs.html
+func (client *Client) DescribeApplicationSlbs(request *DescribeApplicationSlbsRequest) (response *DescribeApplicationSlbsResponse, err error) {
+	response = CreateDescribeApplicationSlbsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApplicationSlbsWithChan invokes the sae.DescribeApplicationSlbs API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationslbs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationSlbsWithChan(request *DescribeApplicationSlbsRequest) (<-chan *DescribeApplicationSlbsResponse, <-chan error) {
+	responseChan := make(chan *DescribeApplicationSlbsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApplicationSlbs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApplicationSlbsWithCallback invokes the sae.DescribeApplicationSlbs API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationslbs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationSlbsWithCallback(request *DescribeApplicationSlbsRequest, callback func(response *DescribeApplicationSlbsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApplicationSlbsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApplicationSlbs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApplicationSlbsRequest is the request struct for api DescribeApplicationSlbs
+type DescribeApplicationSlbsRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// DescribeApplicationSlbsResponse is the response struct for api DescribeApplicationSlbs
+type DescribeApplicationSlbsResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeApplicationSlbsRequest creates a request to invoke DescribeApplicationSlbs API
+func CreateDescribeApplicationSlbsRequest() (request *DescribeApplicationSlbsRequest) {
+	request = &DescribeApplicationSlbsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeApplicationSlbs", "/pop/v1/sam/app/slb", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeApplicationSlbsResponse creates a response to parse from DescribeApplicationSlbs response
+func CreateDescribeApplicationSlbsResponse() (response *DescribeApplicationSlbsResponse) {
+	response = &DescribeApplicationSlbsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/describe_application_status.go

@@ -0,0 +1,110 @@
+package sae
+
+//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"
+)
+
+// DescribeApplicationStatus invokes the sae.DescribeApplicationStatus API synchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationstatus.html
+func (client *Client) DescribeApplicationStatus(request *DescribeApplicationStatusRequest) (response *DescribeApplicationStatusResponse, err error) {
+	response = CreateDescribeApplicationStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApplicationStatusWithChan invokes the sae.DescribeApplicationStatus API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationStatusWithChan(request *DescribeApplicationStatusRequest) (<-chan *DescribeApplicationStatusResponse, <-chan error) {
+	responseChan := make(chan *DescribeApplicationStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApplicationStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApplicationStatusWithCallback invokes the sae.DescribeApplicationStatus API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeapplicationstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApplicationStatusWithCallback(request *DescribeApplicationStatusRequest, callback func(response *DescribeApplicationStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApplicationStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApplicationStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApplicationStatusRequest is the request struct for api DescribeApplicationStatus
+type DescribeApplicationStatusRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// DescribeApplicationStatusResponse is the response struct for api DescribeApplicationStatus
+type DescribeApplicationStatusResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeApplicationStatusRequest creates a request to invoke DescribeApplicationStatus API
+func CreateDescribeApplicationStatusRequest() (request *DescribeApplicationStatusRequest) {
+	request = &DescribeApplicationStatusRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeApplicationStatus", "/pop/v1/sam/app/describeApplicationStatus", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeApplicationStatusResponse creates a response to parse from DescribeApplicationStatus response
+func CreateDescribeApplicationStatusResponse() (response *DescribeApplicationStatusResponse) {
+	response = &DescribeApplicationStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/describe_change_order.go

@@ -0,0 +1,110 @@
+package sae
+
+//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"
+)
+
+// DescribeChangeOrder invokes the sae.DescribeChangeOrder API synchronously
+// api document: https://help.aliyun.com/api/sae/describechangeorder.html
+func (client *Client) DescribeChangeOrder(request *DescribeChangeOrderRequest) (response *DescribeChangeOrderResponse, err error) {
+	response = CreateDescribeChangeOrderResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeChangeOrderWithChan invokes the sae.DescribeChangeOrder API asynchronously
+// api document: https://help.aliyun.com/api/sae/describechangeorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeChangeOrderWithChan(request *DescribeChangeOrderRequest) (<-chan *DescribeChangeOrderResponse, <-chan error) {
+	responseChan := make(chan *DescribeChangeOrderResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeChangeOrder(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeChangeOrderWithCallback invokes the sae.DescribeChangeOrder API asynchronously
+// api document: https://help.aliyun.com/api/sae/describechangeorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeChangeOrderWithCallback(request *DescribeChangeOrderRequest, callback func(response *DescribeChangeOrderResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeChangeOrderResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeChangeOrder(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeChangeOrderRequest is the request struct for api DescribeChangeOrder
+type DescribeChangeOrderRequest struct {
+	*requests.RoaRequest
+	ChangeOrderId string `position:"Query" name:"ChangeOrderId"`
+}
+
+// DescribeChangeOrderResponse is the response struct for api DescribeChangeOrder
+type DescribeChangeOrderResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeChangeOrderRequest creates a request to invoke DescribeChangeOrder API
+func CreateDescribeChangeOrderRequest() (request *DescribeChangeOrderRequest) {
+	request = &DescribeChangeOrderRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeChangeOrder", "/pop/v1/sam/changeorder/DescribeChangeOrder", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeChangeOrderResponse creates a response to parse from DescribeChangeOrder response
+func CreateDescribeChangeOrderResponse() (response *DescribeChangeOrderResponse) {
+	response = &DescribeChangeOrderResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/sae/describe_components.go

@@ -0,0 +1,111 @@
+package sae
+
+//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"
+)
+
+// DescribeComponents invokes the sae.DescribeComponents API synchronously
+// api document: https://help.aliyun.com/api/sae/describecomponents.html
+func (client *Client) DescribeComponents(request *DescribeComponentsRequest) (response *DescribeComponentsResponse, err error) {
+	response = CreateDescribeComponentsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeComponentsWithChan invokes the sae.DescribeComponents API asynchronously
+// api document: https://help.aliyun.com/api/sae/describecomponents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeComponentsWithChan(request *DescribeComponentsRequest) (<-chan *DescribeComponentsResponse, <-chan error) {
+	responseChan := make(chan *DescribeComponentsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeComponents(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeComponentsWithCallback invokes the sae.DescribeComponents API asynchronously
+// api document: https://help.aliyun.com/api/sae/describecomponents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeComponentsWithCallback(request *DescribeComponentsRequest, callback func(response *DescribeComponentsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeComponentsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeComponents(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeComponentsRequest is the request struct for api DescribeComponents
+type DescribeComponentsRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+	Type  string `position:"Query" name:"Type"`
+}
+
+// DescribeComponentsResponse is the response struct for api DescribeComponents
+type DescribeComponentsResponse struct {
+	*responses.BaseResponse
+	RequestId string     `json:"RequestId" xml:"RequestId"`
+	Code      string     `json:"Code" xml:"Code"`
+	ErrorCode string     `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string     `json:"Message" xml:"Message"`
+	Success   bool       `json:"Success" xml:"Success"`
+	TraceId   string     `json:"TraceId" xml:"TraceId"`
+	Data      []DataItem `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeComponentsRequest creates a request to invoke DescribeComponents API
+func CreateDescribeComponentsRequest() (request *DescribeComponentsRequest) {
+	request = &DescribeComponentsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeComponents", "/pop/v1/sam/resource/components", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeComponentsResponse creates a response to parse from DescribeComponents response
+func CreateDescribeComponentsResponse() (response *DescribeComponentsResponse) {
+	response = &DescribeComponentsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/sae/describe_edas_containers.go

@@ -0,0 +1,109 @@
+package sae
+
+//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"
+)
+
+// DescribeEdasContainers invokes the sae.DescribeEdasContainers API synchronously
+// api document: https://help.aliyun.com/api/sae/describeedascontainers.html
+func (client *Client) DescribeEdasContainers(request *DescribeEdasContainersRequest) (response *DescribeEdasContainersResponse, err error) {
+	response = CreateDescribeEdasContainersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeEdasContainersWithChan invokes the sae.DescribeEdasContainers API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeedascontainers.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeEdasContainersWithChan(request *DescribeEdasContainersRequest) (<-chan *DescribeEdasContainersResponse, <-chan error) {
+	responseChan := make(chan *DescribeEdasContainersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeEdasContainers(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeEdasContainersWithCallback invokes the sae.DescribeEdasContainers API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeedascontainers.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeEdasContainersWithCallback(request *DescribeEdasContainersRequest, callback func(response *DescribeEdasContainersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeEdasContainersResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeEdasContainers(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeEdasContainersRequest is the request struct for api DescribeEdasContainers
+type DescribeEdasContainersRequest struct {
+	*requests.RoaRequest
+}
+
+// DescribeEdasContainersResponse is the response struct for api DescribeEdasContainers
+type DescribeEdasContainersResponse struct {
+	*responses.BaseResponse
+	RequestId string     `json:"RequestId" xml:"RequestId"`
+	Code      string     `json:"Code" xml:"Code"`
+	Message   string     `json:"Message" xml:"Message"`
+	Success   bool       `json:"Success" xml:"Success"`
+	ErrorCode string     `json:"ErrorCode" xml:"ErrorCode"`
+	TraceId   string     `json:"TraceId" xml:"TraceId"`
+	Data      []DataItem `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeEdasContainersRequest creates a request to invoke DescribeEdasContainers API
+func CreateDescribeEdasContainersRequest() (request *DescribeEdasContainersRequest) {
+	request = &DescribeEdasContainersRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeEdasContainers", "/pop/v1/sam/resource/edasContainers", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeEdasContainersResponse creates a response to parse from DescribeEdasContainers response
+func CreateDescribeEdasContainersResponse() (response *DescribeEdasContainersResponse) {
+	response = &DescribeEdasContainersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/describe_instance_log.go

@@ -0,0 +1,110 @@
+package sae
+
+//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"
+)
+
+// DescribeInstanceLog invokes the sae.DescribeInstanceLog API synchronously
+// api document: https://help.aliyun.com/api/sae/describeinstancelog.html
+func (client *Client) DescribeInstanceLog(request *DescribeInstanceLogRequest) (response *DescribeInstanceLogResponse, err error) {
+	response = CreateDescribeInstanceLogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceLogWithChan invokes the sae.DescribeInstanceLog API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeinstancelog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceLogWithChan(request *DescribeInstanceLogRequest) (<-chan *DescribeInstanceLogResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceLogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceLog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceLogWithCallback invokes the sae.DescribeInstanceLog API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeinstancelog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceLogWithCallback(request *DescribeInstanceLogRequest, callback func(response *DescribeInstanceLogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceLogResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceLog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceLogRequest is the request struct for api DescribeInstanceLog
+type DescribeInstanceLogRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// DescribeInstanceLogResponse is the response struct for api DescribeInstanceLog
+type DescribeInstanceLogResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeInstanceLogRequest creates a request to invoke DescribeInstanceLog API
+func CreateDescribeInstanceLogRequest() (request *DescribeInstanceLogRequest) {
+	request = &DescribeInstanceLogRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeInstanceLog", "/pop/v1/sam/instance/describeInstanceLog", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeInstanceLogResponse creates a response to parse from DescribeInstanceLog response
+func CreateDescribeInstanceLogResponse() (response *DescribeInstanceLogResponse) {
+	response = &DescribeInstanceLogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/sae/describe_instance_specifications.go

@@ -0,0 +1,109 @@
+package sae
+
+//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"
+)
+
+// DescribeInstanceSpecifications invokes the sae.DescribeInstanceSpecifications API synchronously
+// api document: https://help.aliyun.com/api/sae/describeinstancespecifications.html
+func (client *Client) DescribeInstanceSpecifications(request *DescribeInstanceSpecificationsRequest) (response *DescribeInstanceSpecificationsResponse, err error) {
+	response = CreateDescribeInstanceSpecificationsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceSpecificationsWithChan invokes the sae.DescribeInstanceSpecifications API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeinstancespecifications.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceSpecificationsWithChan(request *DescribeInstanceSpecificationsRequest) (<-chan *DescribeInstanceSpecificationsResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceSpecificationsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceSpecifications(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceSpecificationsWithCallback invokes the sae.DescribeInstanceSpecifications API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeinstancespecifications.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceSpecificationsWithCallback(request *DescribeInstanceSpecificationsRequest, callback func(response *DescribeInstanceSpecificationsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceSpecificationsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceSpecifications(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceSpecificationsRequest is the request struct for api DescribeInstanceSpecifications
+type DescribeInstanceSpecificationsRequest struct {
+	*requests.RoaRequest
+}
+
+// DescribeInstanceSpecificationsResponse is the response struct for api DescribeInstanceSpecifications
+type DescribeInstanceSpecificationsResponse struct {
+	*responses.BaseResponse
+	RequestId string                                     `json:"RequestId" xml:"RequestId"`
+	Code      string                                     `json:"Code" xml:"Code"`
+	Message   string                                     `json:"Message" xml:"Message"`
+	Success   bool                                       `json:"Success" xml:"Success"`
+	ErrorCode string                                     `json:"ErrorCode" xml:"ErrorCode"`
+	TraceId   string                                     `json:"TraceId" xml:"TraceId"`
+	Data      []DataItemInDescribeInstanceSpecifications `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeInstanceSpecificationsRequest creates a request to invoke DescribeInstanceSpecifications API
+func CreateDescribeInstanceSpecificationsRequest() (request *DescribeInstanceSpecificationsRequest) {
+	request = &DescribeInstanceSpecificationsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeInstanceSpecifications", "/pop/v1/paas/quota/instanceSpecifications", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeInstanceSpecificationsResponse creates a response to parse from DescribeInstanceSpecifications response
+func CreateDescribeInstanceSpecificationsResponse() (response *DescribeInstanceSpecificationsResponse) {
+	response = &DescribeInstanceSpecificationsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/describe_namespace.go

@@ -0,0 +1,110 @@
+package sae
+
+//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"
+)
+
+// DescribeNamespace invokes the sae.DescribeNamespace API synchronously
+// api document: https://help.aliyun.com/api/sae/describenamespace.html
+func (client *Client) DescribeNamespace(request *DescribeNamespaceRequest) (response *DescribeNamespaceResponse, err error) {
+	response = CreateDescribeNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeNamespaceWithChan invokes the sae.DescribeNamespace API asynchronously
+// api document: https://help.aliyun.com/api/sae/describenamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeNamespaceWithChan(request *DescribeNamespaceRequest) (<-chan *DescribeNamespaceResponse, <-chan error) {
+	responseChan := make(chan *DescribeNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeNamespaceWithCallback invokes the sae.DescribeNamespace API asynchronously
+// api document: https://help.aliyun.com/api/sae/describenamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeNamespaceWithCallback(request *DescribeNamespaceRequest, callback func(response *DescribeNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeNamespaceRequest is the request struct for api DescribeNamespace
+type DescribeNamespaceRequest struct {
+	*requests.RoaRequest
+	NamespaceId string `position:"Query" name:"NamespaceId"`
+}
+
+// DescribeNamespaceResponse is the response struct for api DescribeNamespace
+type DescribeNamespaceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeNamespaceRequest creates a request to invoke DescribeNamespace API
+func CreateDescribeNamespaceRequest() (request *DescribeNamespaceRequest) {
+	request = &DescribeNamespaceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeNamespace", "/pop/v1/paas/namespace", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeNamespaceResponse creates a response to parse from DescribeNamespace response
+func CreateDescribeNamespaceResponse() (response *DescribeNamespaceResponse) {
+	response = &DescribeNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/sae/describe_namespace_list.go

@@ -0,0 +1,111 @@
+package sae
+
+//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"
+)
+
+// DescribeNamespaceList invokes the sae.DescribeNamespaceList API synchronously
+// api document: https://help.aliyun.com/api/sae/describenamespacelist.html
+func (client *Client) DescribeNamespaceList(request *DescribeNamespaceListRequest) (response *DescribeNamespaceListResponse, err error) {
+	response = CreateDescribeNamespaceListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeNamespaceListWithChan invokes the sae.DescribeNamespaceList API asynchronously
+// api document: https://help.aliyun.com/api/sae/describenamespacelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeNamespaceListWithChan(request *DescribeNamespaceListRequest) (<-chan *DescribeNamespaceListResponse, <-chan error) {
+	responseChan := make(chan *DescribeNamespaceListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeNamespaceList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeNamespaceListWithCallback invokes the sae.DescribeNamespaceList API asynchronously
+// api document: https://help.aliyun.com/api/sae/describenamespacelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeNamespaceListWithCallback(request *DescribeNamespaceListRequest, callback func(response *DescribeNamespaceListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeNamespaceListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeNamespaceList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeNamespaceListRequest is the request struct for api DescribeNamespaceList
+type DescribeNamespaceListRequest struct {
+	*requests.RoaRequest
+	HybridCloudExclude requests.Boolean `position:"Query" name:"HybridCloudExclude"`
+	ContainCustom      requests.Boolean `position:"Query" name:"ContainCustom"`
+}
+
+// DescribeNamespaceListResponse is the response struct for api DescribeNamespaceList
+type DescribeNamespaceListResponse struct {
+	*responses.BaseResponse
+	RequestId string       `json:"RequestId" xml:"RequestId"`
+	Code      string       `json:"Code" xml:"Code"`
+	Message   string       `json:"Message" xml:"Message"`
+	Success   bool         `json:"Success" xml:"Success"`
+	ErrorCode string       `json:"ErrorCode" xml:"ErrorCode"`
+	TraceId   string       `json:"TraceId" xml:"TraceId"`
+	Data      []RegionList `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeNamespaceListRequest creates a request to invoke DescribeNamespaceList API
+func CreateDescribeNamespaceListRequest() (request *DescribeNamespaceListRequest) {
+	request = &DescribeNamespaceListRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeNamespaceList", "/pop/v1/sam/namespace/describeNamespaceList", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeNamespaceListResponse creates a response to parse from DescribeNamespaceList response
+func CreateDescribeNamespaceListResponse() (response *DescribeNamespaceListResponse) {
+	response = &DescribeNamespaceListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/sae/describe_namespaces.go

@@ -0,0 +1,111 @@
+package sae
+
+//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"
+)
+
+// DescribeNamespaces invokes the sae.DescribeNamespaces API synchronously
+// api document: https://help.aliyun.com/api/sae/describenamespaces.html
+func (client *Client) DescribeNamespaces(request *DescribeNamespacesRequest) (response *DescribeNamespacesResponse, err error) {
+	response = CreateDescribeNamespacesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeNamespacesWithChan invokes the sae.DescribeNamespaces API asynchronously
+// api document: https://help.aliyun.com/api/sae/describenamespaces.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeNamespacesWithChan(request *DescribeNamespacesRequest) (<-chan *DescribeNamespacesResponse, <-chan error) {
+	responseChan := make(chan *DescribeNamespacesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeNamespaces(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeNamespacesWithCallback invokes the sae.DescribeNamespaces API asynchronously
+// api document: https://help.aliyun.com/api/sae/describenamespaces.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeNamespacesWithCallback(request *DescribeNamespacesRequest, callback func(response *DescribeNamespacesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeNamespacesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeNamespaces(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeNamespacesRequest is the request struct for api DescribeNamespaces
+type DescribeNamespacesRequest struct {
+	*requests.RoaRequest
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+}
+
+// DescribeNamespacesResponse is the response struct for api DescribeNamespaces
+type DescribeNamespacesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeNamespacesRequest creates a request to invoke DescribeNamespaces API
+func CreateDescribeNamespacesRequest() (request *DescribeNamespacesRequest) {
+	request = &DescribeNamespacesRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeNamespaces", "/pop/v1/paas/namespaces", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeNamespacesResponse creates a response to parse from DescribeNamespaces response
+func CreateDescribeNamespacesResponse() (response *DescribeNamespacesResponse) {
+	response = &DescribeNamespacesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/sae/describe_regions.go

@@ -0,0 +1,106 @@
+package sae
+
+//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"
+)
+
+// DescribeRegions invokes the sae.DescribeRegions API synchronously
+// api document: https://help.aliyun.com/api/sae/describeregions.html
+func (client *Client) DescribeRegions(request *DescribeRegionsRequest) (response *DescribeRegionsResponse, err error) {
+	response = CreateDescribeRegionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRegionsWithChan invokes the sae.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithChan(request *DescribeRegionsRequest) (<-chan *DescribeRegionsResponse, <-chan error) {
+	responseChan := make(chan *DescribeRegionsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRegions(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRegionsWithCallback invokes the sae.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/sae/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithCallback(request *DescribeRegionsRequest, callback func(response *DescribeRegionsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRegionsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRegions(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRegionsRequest is the request struct for api DescribeRegions
+type DescribeRegionsRequest struct {
+	*requests.RoaRequest
+}
+
+// DescribeRegionsResponse is the response struct for api DescribeRegions
+type DescribeRegionsResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	Code      int     `json:"Code" xml:"Code"`
+	Message   string  `json:"Message" xml:"Message"`
+	Regions   Regions `json:"Regions" xml:"Regions"`
+}
+
+// CreateDescribeRegionsRequest creates a request to invoke DescribeRegions API
+func CreateDescribeRegionsRequest() (request *DescribeRegionsRequest) {
+	request = &DescribeRegionsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "DescribeRegions", "/pop/v1/paas/regionConfig", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeRegionsResponse creates a response to parse from DescribeRegions response
+func CreateDescribeRegionsResponse() (response *DescribeRegionsResponse) {
+	response = &DescribeRegionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 20 - 0
services/sae/endpoint.go

@@ -0,0 +1,20 @@
+package sae
+
+// EndpointMap Endpoint Data
+var EndpointMap map[string]string
+
+// EndpointType regional or central
+var EndpointType = "regional"
+
+// GetEndpointMap Get Endpoint Data Map
+func GetEndpointMap() map[string]string {
+	if EndpointMap == nil {
+		EndpointMap = map[string]string{}
+	}
+	return EndpointMap
+}
+
+// GetEndpointType Get Endpoint Type Value
+func GetEndpointType() string {
+	return EndpointType
+}

+ 111 - 0
services/sae/list_applications.go

@@ -0,0 +1,111 @@
+package sae
+
+//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"
+)
+
+// ListApplications invokes the sae.ListApplications API synchronously
+// api document: https://help.aliyun.com/api/sae/listapplications.html
+func (client *Client) ListApplications(request *ListApplicationsRequest) (response *ListApplicationsResponse, err error) {
+	response = CreateListApplicationsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListApplicationsWithChan invokes the sae.ListApplications API asynchronously
+// api document: https://help.aliyun.com/api/sae/listapplications.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListApplicationsWithChan(request *ListApplicationsRequest) (<-chan *ListApplicationsResponse, <-chan error) {
+	responseChan := make(chan *ListApplicationsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListApplications(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListApplicationsWithCallback invokes the sae.ListApplications API asynchronously
+// api document: https://help.aliyun.com/api/sae/listapplications.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListApplicationsWithCallback(request *ListApplicationsRequest, callback func(response *ListApplicationsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListApplicationsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListApplications(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListApplicationsRequest is the request struct for api ListApplications
+type ListApplicationsRequest struct {
+	*requests.RoaRequest
+	AppName     string           `position:"Query" name:"AppName"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+}
+
+// ListApplicationsResponse is the response struct for api ListApplications
+type ListApplicationsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateListApplicationsRequest creates a request to invoke ListApplications API
+func CreateListApplicationsRequest() (request *ListApplicationsRequest) {
+	request = &ListApplicationsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "ListApplications", "/pop/v1/sam/app/listApplications", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListApplicationsResponse creates a response to parse from ListApplications response
+func CreateListApplicationsResponse() (response *ListApplicationsResponse) {
+	response = &ListApplicationsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/sae/list_change_orders.go

@@ -0,0 +1,115 @@
+package sae
+
+//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"
+)
+
+// ListChangeOrders invokes the sae.ListChangeOrders API synchronously
+// api document: https://help.aliyun.com/api/sae/listchangeorders.html
+func (client *Client) ListChangeOrders(request *ListChangeOrdersRequest) (response *ListChangeOrdersResponse, err error) {
+	response = CreateListChangeOrdersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListChangeOrdersWithChan invokes the sae.ListChangeOrders API asynchronously
+// api document: https://help.aliyun.com/api/sae/listchangeorders.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListChangeOrdersWithChan(request *ListChangeOrdersRequest) (<-chan *ListChangeOrdersResponse, <-chan error) {
+	responseChan := make(chan *ListChangeOrdersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListChangeOrders(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListChangeOrdersWithCallback invokes the sae.ListChangeOrders API asynchronously
+// api document: https://help.aliyun.com/api/sae/listchangeorders.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListChangeOrdersWithCallback(request *ListChangeOrdersRequest, callback func(response *ListChangeOrdersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListChangeOrdersResponse
+		var err error
+		defer close(result)
+		response, err = client.ListChangeOrders(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListChangeOrdersRequest is the request struct for api ListChangeOrders
+type ListChangeOrdersRequest struct {
+	*requests.RoaRequest
+	CoType      string           `position:"Query" name:"CoType"`
+	AppId       string           `position:"Query" name:"AppId"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+	CoStatus    string           `position:"Query" name:"CoStatus"`
+	Key         string           `position:"Query" name:"Key"`
+}
+
+// ListChangeOrdersResponse is the response struct for api ListChangeOrders
+type ListChangeOrdersResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateListChangeOrdersRequest creates a request to invoke ListChangeOrders API
+func CreateListChangeOrdersRequest() (request *ListChangeOrdersRequest) {
+	request = &ListChangeOrdersRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "ListChangeOrders", "/pop/v1/sam/changeorder/ListChangeOrders", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListChangeOrdersResponse creates a response to parse from ListChangeOrders response
+func CreateListChangeOrdersResponse() (response *ListChangeOrdersResponse) {
+	response = &ListChangeOrdersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/list_consumed_services.go

@@ -0,0 +1,110 @@
+package sae
+
+//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 sae.ListConsumedServices API synchronously
+// api document: https://help.aliyun.com/api/sae/listconsumedservices.html
+func (client *Client) ListConsumedServices(request *ListConsumedServicesRequest) (response *ListConsumedServicesResponse, err error) {
+	response = CreateListConsumedServicesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListConsumedServicesWithChan invokes the sae.ListConsumedServices API asynchronously
+// api document: https://help.aliyun.com/api/sae/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 sae.ListConsumedServices API asynchronously
+// api document: https://help.aliyun.com/api/sae/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      string                 `json:"Code" xml:"Code"`
+	Message   string                 `json:"Message" xml:"Message"`
+	RequestId string                 `json:"RequestId" xml:"RequestId"`
+	Success   bool                   `json:"Success" xml:"Success"`
+	ErrorCode string                 `json:"ErrorCode" xml:"ErrorCode"`
+	TraceId   string                 `json:"TraceId" xml:"TraceId"`
+	Data      []ListConsumedServices `json:"Data" xml:"Data"`
+}
+
+// CreateListConsumedServicesRequest creates a request to invoke ListConsumedServices API
+func CreateListConsumedServicesRequest() (request *ListConsumedServicesRequest) {
+	request = &ListConsumedServicesRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "ListConsumedServices", "/pop/v1/sam/service/listConsumedServices", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListConsumedServicesResponse creates a response to parse from ListConsumedServices response
+func CreateListConsumedServicesResponse() (response *ListConsumedServicesResponse) {
+	response = &ListConsumedServicesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/list_published_services.go

@@ -0,0 +1,110 @@
+package sae
+
+//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 sae.ListPublishedServices API synchronously
+// api document: https://help.aliyun.com/api/sae/listpublishedservices.html
+func (client *Client) ListPublishedServices(request *ListPublishedServicesRequest) (response *ListPublishedServicesResponse, err error) {
+	response = CreateListPublishedServicesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListPublishedServicesWithChan invokes the sae.ListPublishedServices API asynchronously
+// api document: https://help.aliyun.com/api/sae/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 sae.ListPublishedServices API asynchronously
+// api document: https://help.aliyun.com/api/sae/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      string     `json:"Code" xml:"Code"`
+	Message   string     `json:"Message" xml:"Message"`
+	RequestId string     `json:"RequestId" xml:"RequestId"`
+	Success   bool       `json:"Success" xml:"Success"`
+	ErrorCode string     `json:"ErrorCode" xml:"ErrorCode"`
+	TraceId   string     `json:"TraceId" xml:"TraceId"`
+	Data      []DataItem `json:"Data" xml:"Data"`
+}
+
+// CreateListPublishedServicesRequest creates a request to invoke ListPublishedServices API
+func CreateListPublishedServicesRequest() (request *ListPublishedServicesRequest) {
+	request = &ListPublishedServicesRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "ListPublishedServices", "/pop/v1/sam/service/listPublishedServices", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListPublishedServicesResponse creates a response to parse from ListPublishedServices response
+func CreateListPublishedServicesResponse() (response *ListPublishedServicesResponse) {
+	response = &ListPublishedServicesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/query_resource_statics.go

@@ -0,0 +1,110 @@
+package sae
+
+//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"
+)
+
+// QueryResourceStatics invokes the sae.QueryResourceStatics API synchronously
+// api document: https://help.aliyun.com/api/sae/queryresourcestatics.html
+func (client *Client) QueryResourceStatics(request *QueryResourceStaticsRequest) (response *QueryResourceStaticsResponse, err error) {
+	response = CreateQueryResourceStaticsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryResourceStaticsWithChan invokes the sae.QueryResourceStatics API asynchronously
+// api document: https://help.aliyun.com/api/sae/queryresourcestatics.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryResourceStaticsWithChan(request *QueryResourceStaticsRequest) (<-chan *QueryResourceStaticsResponse, <-chan error) {
+	responseChan := make(chan *QueryResourceStaticsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryResourceStatics(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryResourceStaticsWithCallback invokes the sae.QueryResourceStatics API asynchronously
+// api document: https://help.aliyun.com/api/sae/queryresourcestatics.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryResourceStaticsWithCallback(request *QueryResourceStaticsRequest, callback func(response *QueryResourceStaticsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryResourceStaticsResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryResourceStatics(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryResourceStaticsRequest is the request struct for api QueryResourceStatics
+type QueryResourceStaticsRequest struct {
+	*requests.RoaRequest
+	AppId string `position:"Query" name:"AppId"`
+}
+
+// QueryResourceStaticsResponse is the response struct for api QueryResourceStatics
+type QueryResourceStaticsResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateQueryResourceStaticsRequest creates a request to invoke QueryResourceStatics API
+func CreateQueryResourceStaticsRequest() (request *QueryResourceStaticsRequest) {
+	request = &QueryResourceStaticsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "QueryResourceStatics", "/pop/v1/paas/quota/queryResourceStatics", "serverless", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateQueryResourceStaticsResponse creates a response to parse from QueryResourceStatics response
+func CreateQueryResourceStaticsResponse() (response *QueryResourceStaticsResponse) {
+	response = &QueryResourceStaticsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/rescale_application.go

@@ -0,0 +1,110 @@
+package sae
+
+//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"
+)
+
+// RescaleApplication invokes the sae.RescaleApplication API synchronously
+// api document: https://help.aliyun.com/api/sae/rescaleapplication.html
+func (client *Client) RescaleApplication(request *RescaleApplicationRequest) (response *RescaleApplicationResponse, err error) {
+	response = CreateRescaleApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RescaleApplicationWithChan invokes the sae.RescaleApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/rescaleapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RescaleApplicationWithChan(request *RescaleApplicationRequest) (<-chan *RescaleApplicationResponse, <-chan error) {
+	responseChan := make(chan *RescaleApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RescaleApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RescaleApplicationWithCallback invokes the sae.RescaleApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/rescaleapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RescaleApplicationWithCallback(request *RescaleApplicationRequest, callback func(response *RescaleApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RescaleApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.RescaleApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RescaleApplicationRequest is the request struct for api RescaleApplication
+type RescaleApplicationRequest struct {
+	*requests.RoaRequest
+	Replicas requests.Integer `position:"Query" name:"Replicas"`
+	AppId    string           `position:"Query" name:"AppId"`
+}
+
+// RescaleApplicationResponse is the response struct for api RescaleApplication
+type RescaleApplicationResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateRescaleApplicationRequest creates a request to invoke RescaleApplication API
+func CreateRescaleApplicationRequest() (request *RescaleApplicationRequest) {
+	request = &RescaleApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "RescaleApplication", "/pop/v1/sam/app/rescaleApplication", "serverless", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateRescaleApplicationResponse creates a response to parse from RescaleApplication response
+func CreateRescaleApplicationResponse() (response *RescaleApplicationResponse) {
+	response = &RescaleApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/sae/rescale_application_vertically.go

@@ -0,0 +1,112 @@
+package sae
+
+//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"
+)
+
+// RescaleApplicationVertically invokes the sae.RescaleApplicationVertically API synchronously
+// api document: https://help.aliyun.com/api/sae/rescaleapplicationvertically.html
+func (client *Client) RescaleApplicationVertically(request *RescaleApplicationVerticallyRequest) (response *RescaleApplicationVerticallyResponse, err error) {
+	response = CreateRescaleApplicationVerticallyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RescaleApplicationVerticallyWithChan invokes the sae.RescaleApplicationVertically API asynchronously
+// api document: https://help.aliyun.com/api/sae/rescaleapplicationvertically.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RescaleApplicationVerticallyWithChan(request *RescaleApplicationVerticallyRequest) (<-chan *RescaleApplicationVerticallyResponse, <-chan error) {
+	responseChan := make(chan *RescaleApplicationVerticallyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RescaleApplicationVertically(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RescaleApplicationVerticallyWithCallback invokes the sae.RescaleApplicationVertically API asynchronously
+// api document: https://help.aliyun.com/api/sae/rescaleapplicationvertically.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RescaleApplicationVerticallyWithCallback(request *RescaleApplicationVerticallyRequest, callback func(response *RescaleApplicationVerticallyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RescaleApplicationVerticallyResponse
+		var err error
+		defer close(result)
+		response, err = client.RescaleApplicationVertically(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RescaleApplicationVerticallyRequest is the request struct for api RescaleApplicationVertically
+type RescaleApplicationVerticallyRequest struct {
+	*requests.RoaRequest
+	Memory string `position:"Query" name:"Memory"`
+	AppId  string `position:"Query" name:"AppId"`
+	Cpu    string `position:"Query" name:"Cpu"`
+}
+
+// RescaleApplicationVerticallyResponse is the response struct for api RescaleApplicationVertically
+type RescaleApplicationVerticallyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateRescaleApplicationVerticallyRequest creates a request to invoke RescaleApplicationVertically API
+func CreateRescaleApplicationVerticallyRequest() (request *RescaleApplicationVerticallyRequest) {
+	request = &RescaleApplicationVerticallyRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "RescaleApplicationVertically", "/pop/v1/sam/app/rescaleApplicationVertically", "serverless", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateRescaleApplicationVerticallyResponse creates a response to parse from RescaleApplicationVertically response
+func CreateRescaleApplicationVerticallyResponse() (response *RescaleApplicationVerticallyResponse) {
+	response = &RescaleApplicationVerticallyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/sae/restart_application.go

@@ -0,0 +1,111 @@
+package sae
+
+//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"
+)
+
+// RestartApplication invokes the sae.RestartApplication API synchronously
+// api document: https://help.aliyun.com/api/sae/restartapplication.html
+func (client *Client) RestartApplication(request *RestartApplicationRequest) (response *RestartApplicationResponse, err error) {
+	response = CreateRestartApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RestartApplicationWithChan invokes the sae.RestartApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/restartapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RestartApplicationWithChan(request *RestartApplicationRequest) (<-chan *RestartApplicationResponse, <-chan error) {
+	responseChan := make(chan *RestartApplicationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RestartApplication(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RestartApplicationWithCallback invokes the sae.RestartApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/restartapplication.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RestartApplicationWithCallback(request *RestartApplicationRequest, callback func(response *RestartApplicationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RestartApplicationResponse
+		var err error
+		defer close(result)
+		response, err = client.RestartApplication(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RestartApplicationRequest is the request struct for api RestartApplication
+type RestartApplicationRequest struct {
+	*requests.RoaRequest
+	MinReadyInstances requests.Integer `position:"Query" name:"MinReadyInstances"`
+	AppId             string           `position:"Query" name:"AppId"`
+}
+
+// RestartApplicationResponse is the response struct for api RestartApplication
+type RestartApplicationResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateRestartApplicationRequest creates a request to invoke RestartApplication API
+func CreateRestartApplicationRequest() (request *RestartApplicationRequest) {
+	request = &RestartApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "RestartApplication", "/pop/v1/sam/app/restartApplication", "serverless", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateRestartApplicationResponse creates a response to parse from RestartApplication response
+func CreateRestartApplicationResponse() (response *RestartApplicationResponse) {
+	response = &RestartApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/start_application.go

@@ -0,0 +1,110 @@
+package sae
+
+//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 sae.StartApplication API synchronously
+// api document: https://help.aliyun.com/api/sae/startapplication.html
+func (client *Client) StartApplication(request *StartApplicationRequest) (response *StartApplicationResponse, err error) {
+	response = CreateStartApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StartApplicationWithChan invokes the sae.StartApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/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 sae.StartApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/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"`
+}
+
+// StartApplicationResponse is the response struct for api StartApplication
+type StartApplicationResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateStartApplicationRequest creates a request to invoke StartApplication API
+func CreateStartApplicationRequest() (request *StartApplicationRequest) {
+	request = &StartApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "StartApplication", "/pop/v1/sam/app/startApplication", "serverless", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateStartApplicationResponse creates a response to parse from StartApplication response
+func CreateStartApplicationResponse() (response *StartApplicationResponse) {
+	response = &StartApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sae/stop_application.go

@@ -0,0 +1,110 @@
+package sae
+
+//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 sae.StopApplication API synchronously
+// api document: https://help.aliyun.com/api/sae/stopapplication.html
+func (client *Client) StopApplication(request *StopApplicationRequest) (response *StopApplicationResponse, err error) {
+	response = CreateStopApplicationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StopApplicationWithChan invokes the sae.StopApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/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 sae.StopApplication API asynchronously
+// api document: https://help.aliyun.com/api/sae/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"`
+}
+
+// StopApplicationResponse is the response struct for api StopApplication
+type StopApplicationResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateStopApplicationRequest creates a request to invoke StopApplication API
+func CreateStopApplicationRequest() (request *StopApplicationRequest) {
+	request = &StopApplicationRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "StopApplication", "/pop/v1/sam/app/stopApplication", "serverless", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateStopApplicationResponse creates a response to parse from StopApplication response
+func CreateStopApplicationResponse() (response *StopApplicationResponse) {
+	response = &StopApplicationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 27 - 0
services/sae/struct_application.go

@@ -0,0 +1,27 @@
+package sae
+
+//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 sae response
+type Application struct {
+	AppDeletingStatus bool   `json:"AppDeletingStatus" xml:"AppDeletingStatus"`
+	AppId             string `json:"AppId" xml:"AppId"`
+	AppName           string `json:"AppName" xml:"AppName"`
+	RegionId          string `json:"RegionId" xml:"RegionId"`
+	RunningInstances  int    `json:"RunningInstances" xml:"RunningInstances"`
+	Instances         int    `json:"Instances" xml:"Instances"`
+	NamespaceId       string `json:"NamespaceId" xml:"NamespaceId"`
+}

+ 32 - 0
services/sae/struct_application_group.go

@@ -0,0 +1,32 @@
+package sae
+
+//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.
+
+// ApplicationGroup is a nested struct in sae response
+type ApplicationGroup struct {
+	GroupId              string `json:"GroupId" xml:"GroupId"`
+	GroupName            string `json:"GroupName" xml:"GroupName"`
+	GroupType            int    `json:"GroupType" xml:"GroupType"`
+	PackageType          string `json:"PackageType" xml:"PackageType"`
+	PackageVersion       string `json:"PackageVersion" xml:"PackageVersion"`
+	ImageUrl             string `json:"ImageUrl" xml:"ImageUrl"`
+	PackageUrl           string `json:"PackageUrl" xml:"PackageUrl"`
+	Jdk                  string `json:"Jdk" xml:"Jdk"`
+	WebContainer         string `json:"WebContainer" xml:"WebContainer"`
+	EdasContainerVersion string `json:"EdasContainerVersion" xml:"EdasContainerVersion"`
+	Replicas             int    `json:"Replicas" xml:"Replicas"`
+	RunningInstances     int    `json:"RunningInstances" xml:"RunningInstances"`
+}

+ 21 - 0
services/sae/struct_applications.go

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

+ 33 - 0
services/sae/struct_change_order.go

@@ -0,0 +1,33 @@
+package sae
+
+//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.
+
+// ChangeOrder is a nested struct in sae response
+type ChangeOrder struct {
+	AppId         string `json:"AppId" xml:"AppId"`
+	BatchCount    int    `json:"BatchCount" xml:"BatchCount"`
+	BatchType     string `json:"BatchType" xml:"BatchType"`
+	ChangeOrderId string `json:"ChangeOrderId" xml:"ChangeOrderId"`
+	CoType        string `json:"CoType" xml:"CoType"`
+	CoTypeCode    string `json:"CoTypeCode" xml:"CoTypeCode"`
+	CreateTime    string `json:"CreateTime" xml:"CreateTime"`
+	Description   string `json:"Description" xml:"Description"`
+	FinishTime    string `json:"FinishTime" xml:"FinishTime"`
+	GroupId       string `json:"GroupId" xml:"GroupId"`
+	Pipelines     string `json:"Pipelines" xml:"Pipelines"`
+	Source        string `json:"Source" xml:"Source"`
+	Status        int    `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/sae/struct_change_order_list.go

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

+ 21 - 0
services/sae/struct_co_targets.go

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

+ 93 - 0
services/sae/struct_data.go

@@ -0,0 +1,93 @@
+package sae
+
+//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.
+
+// Data is a nested struct in sae response
+type Data struct {
+	PackageType            string         `json:"PackageType" xml:"PackageType"`
+	LastChangeOrderRunning bool           `json:"LastChangeOrderRunning" xml:"LastChangeOrderRunning"`
+	Logo                   string         `json:"Logo" xml:"Logo"`
+	RunningInstances       int            `json:"RunningInstances" xml:"RunningInstances"`
+	CoType                 string         `json:"CoType" xml:"CoType"`
+	CoTypeCode             string         `json:"CoTypeCode" xml:"CoTypeCode"`
+	CurrentPipelineId      string         `json:"CurrentPipelineId" xml:"CurrentPipelineId"`
+	LastChangeOrderId      string         `json:"LastChangeOrderId" xml:"LastChangeOrderId"`
+	EdasContainerVersion   string         `json:"EdasContainerVersion" xml:"EdasContainerVersion"`
+	ImageUrl               string         `json:"ImageUrl" xml:"ImageUrl"`
+	LastChangeOrderStatus  string         `json:"LastChangeOrderStatus" xml:"LastChangeOrderStatus"`
+	VpcId                  string         `json:"VpcId" xml:"VpcId"`
+	IntranetIp             string         `json:"IntranetIp" xml:"IntranetIp"`
+	NamespaceDescription   string         `json:"NamespaceDescription" xml:"NamespaceDescription"`
+	BatchWaitTime          int            `json:"BatchWaitTime" xml:"BatchWaitTime"`
+	RepoId                 int            `json:"RepoId" xml:"RepoId"`
+	CrUrl                  string         `json:"CrUrl" xml:"CrUrl"`
+	SupportRollback        bool           `json:"SupportRollback" xml:"SupportRollback"`
+	JarStartArgs           string         `json:"JarStartArgs" xml:"JarStartArgs"`
+	Jdk                    string         `json:"Jdk" xml:"Jdk"`
+	CurrentStatus          string         `json:"CurrentStatus" xml:"CurrentStatus"`
+	BatchCount             int            `json:"BatchCount" xml:"BatchCount"`
+	Command                string         `json:"Command" xml:"Command"`
+	AppId                  string         `json:"AppId" xml:"AppId"`
+	JarStartOptions        string         `json:"JarStartOptions" xml:"JarStartOptions"`
+	Envs                   string         `json:"Envs" xml:"Envs"`
+	Cpu                    int            `json:"Cpu" xml:"Cpu"`
+	ArmsApmInfo            string         `json:"ArmsApmInfo" xml:"ArmsApmInfo"`
+	RepoType               string         `json:"RepoType" xml:"RepoType"`
+	RepoTag                string         `json:"RepoTag" xml:"RepoTag"`
+	TotalSize              int            `json:"TotalSize" xml:"TotalSize"`
+	ChangeOrderId          string         `json:"ChangeOrderId" xml:"ChangeOrderId"`
+	BatchType              string         `json:"BatchType" xml:"BatchType"`
+	ErrorMessage           string         `json:"ErrorMessage" xml:"ErrorMessage"`
+	WebContainer           string         `json:"WebContainer" xml:"WebContainer"`
+	Auto                   bool           `json:"Auto" xml:"Auto"`
+	RepoOriginType         string         `json:"RepoOriginType" xml:"RepoOriginType"`
+	CreateTime             string         `json:"CreateTime" xml:"CreateTime"`
+	CommandArgs            string         `json:"CommandArgs" xml:"CommandArgs"`
+	MinReadyInstances      int            `json:"MinReadyInstances" xml:"MinReadyInstances"`
+	PageSize               int            `json:"PageSize" xml:"PageSize"`
+	PackageVersion         string         `json:"PackageVersion" xml:"PackageVersion"`
+	AppDescription         string         `json:"AppDescription" xml:"AppDescription"`
+	RegionId               string         `json:"RegionId" xml:"RegionId"`
+	Replicas               int            `json:"Replicas" xml:"Replicas"`
+	PipelineId             string         `json:"PipelineId" xml:"PipelineId"`
+	SupportAbortFreeze     bool           `json:"SupportAbortFreeze" xml:"SupportAbortFreeze"`
+	Description            string         `json:"Description" xml:"Description"`
+	CustomHostAlias        string         `json:"CustomHostAlias" xml:"CustomHostAlias"`
+	NamespaceName          string         `json:"NamespaceName" xml:"NamespaceName"`
+	Status                 int            `json:"Status" xml:"Status"`
+	InternetIp             string         `json:"InternetIp" xml:"InternetIp"`
+	Memory                 int            `json:"Memory" xml:"Memory"`
+	VSwitchId              string         `json:"VSwitchId" xml:"VSwitchId"`
+	RepoNamespace          string         `json:"RepoNamespace" xml:"RepoNamespace"`
+	Liveness               string         `json:"Liveness" xml:"Liveness"`
+	Readiness              string         `json:"Readiness" xml:"Readiness"`
+	RepoName               string         `json:"RepoName" xml:"RepoName"`
+	CurrentPage            int            `json:"CurrentPage" xml:"CurrentPage"`
+	ArmsAdvancedEnabled    string         `json:"ArmsAdvancedEnabled" xml:"ArmsAdvancedEnabled"`
+	NamespaceId            string         `json:"NamespaceId" xml:"NamespaceId"`
+	AppName                string         `json:"AppName" xml:"AppName"`
+	PackageUrl             string         `json:"PackageUrl" xml:"PackageUrl"`
+	CoTargets              []string       `json:"CoTargets" xml:"CoTargets"`
+	RealTimeRes            RealTimeRes    `json:"RealTimeRes" xml:"RealTimeRes"`
+	Summary                Summary        `json:"Summary" xml:"Summary"`
+	ChangeOrderList        []ChangeOrder  `json:"ChangeOrderList" xml:"ChangeOrderList"`
+	Namespaces             []Namespace    `json:"Namespaces" xml:"Namespaces"`
+	Pipelines              []Pipeline     `json:"Pipelines" xml:"Pipelines"`
+	Internet               []InternetItem `json:"Internet" xml:"Internet"`
+	Intranet               []IntranetItem `json:"Intranet" xml:"Intranet"`
+	Instances              []Instance     `json:"Instances" xml:"Instances"`
+	Applications           []Application  `json:"Applications" xml:"Applications"`
+}

+ 21 - 0
services/sae/struct_data_in_describe_application_groups.go

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

+ 21 - 0
services/sae/struct_data_in_describe_components.go

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

+ 21 - 0
services/sae/struct_data_in_describe_edas_containers.go

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

+ 21 - 0
services/sae/struct_data_in_describe_instance_specifications.go

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

+ 21 - 0
services/sae/struct_data_in_describe_namespace_list.go

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

+ 21 - 0
services/sae/struct_data_in_list_consumed_services.go

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

+ 21 - 0
services/sae/struct_data_in_list_published_services.go

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

+ 32 - 0
services/sae/struct_data_item.go

@@ -0,0 +1,32 @@
+package sae
+
+//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.
+
+// DataItem is a nested struct in sae response
+type DataItem struct {
+	Name                 string   `json:"Name" xml:"Name"`
+	AppId                string   `json:"AppId" xml:"AppId"`
+	Expired              bool     `json:"Expired" xml:"Expired"`
+	EdasContainerVersion string   `json:"EdasContainerVersion" xml:"EdasContainerVersion"`
+	Group2Ip             string   `json:"Group2Ip" xml:"Group2Ip"`
+	Disabled             bool     `json:"Disabled" xml:"Disabled"`
+	Version              string   `json:"Version" xml:"Version"`
+	ComponentKey         string   `json:"ComponentKey" xml:"ComponentKey"`
+	ComponentDescription string   `json:"ComponentDescription" xml:"ComponentDescription"`
+	Type                 string   `json:"Type" xml:"Type"`
+	Groups               []string `json:"Groups" xml:"Groups"`
+	Ips                  []string `json:"Ips" xml:"Ips"`
+}

+ 26 - 0
services/sae/struct_data_item_in_describe_instance_specifications.go

@@ -0,0 +1,26 @@
+package sae
+
+//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.
+
+// DataItemInDescribeInstanceSpecifications is a nested struct in sae response
+type DataItemInDescribeInstanceSpecifications struct {
+	Cpu      int    `json:"Cpu" xml:"Cpu"`
+	Enable   bool   `json:"Enable" xml:"Enable"`
+	Id       int    `json:"Id" xml:"Id"`
+	Memory   int    `json:"Memory" xml:"Memory"`
+	SpecInfo string `json:"SpecInfo" xml:"SpecInfo"`
+	Version  int    `json:"Version" xml:"Version"`
+}

+ 21 - 0
services/sae/struct_groups_in_list_consumed_services.go

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

+ 21 - 0
services/sae/struct_groups_in_list_published_services.go

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

+ 25 - 0
services/sae/struct_instance.go

@@ -0,0 +1,25 @@
+package sae
+
+//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.
+
+// Instance is a nested struct in sae response
+type Instance struct {
+	GroupId                 string `json:"GroupId" xml:"GroupId"`
+	InstanceId              string `json:"InstanceId" xml:"InstanceId"`
+	InstanceContainerStatus string `json:"InstanceContainerStatus" xml:"InstanceContainerStatus"`
+	InstanceContainerIp     string `json:"InstanceContainerIp" xml:"InstanceContainerIp"`
+	CreateTimeStamp         int64  `json:"CreateTimeStamp" xml:"CreateTimeStamp"`
+}

+ 21 - 0
services/sae/struct_instances.go

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

+ 21 - 0
services/sae/struct_internet.go

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

+ 23 - 0
services/sae/struct_internet_item.go

@@ -0,0 +1,23 @@
+package sae
+
+//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.
+
+// InternetItem is a nested struct in sae response
+type InternetItem struct {
+	Port       int    `json:"Port" xml:"Port"`
+	Protocol   string `json:"Protocol" xml:"Protocol"`
+	TargetPort int    `json:"TargetPort" xml:"TargetPort"`
+}

+ 21 - 0
services/sae/struct_intranet.go

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

+ 23 - 0
services/sae/struct_intranet_item.go

@@ -0,0 +1,23 @@
+package sae
+
+//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.
+
+// IntranetItem is a nested struct in sae response
+type IntranetItem struct {
+	Port       int    `json:"Port" xml:"Port"`
+	Protocol   string `json:"Protocol" xml:"Protocol"`
+	TargetPort int    `json:"TargetPort" xml:"TargetPort"`
+}

+ 21 - 0
services/sae/struct_ips_in_list_consumed_services.go

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

+ 21 - 0
services/sae/struct_ips_in_list_published_services.go

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

+ 27 - 0
services/sae/struct_list_consumed_services.go

@@ -0,0 +1,27 @@
+package sae
+
+//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.
+
+// ListConsumedServices is a nested struct in sae response
+type ListConsumedServices struct {
+	AppId    string   `json:"AppId" xml:"AppId"`
+	Group2Ip string   `json:"Group2Ip" xml:"Group2Ip"`
+	Name     string   `json:"Name" xml:"Name"`
+	Type     string   `json:"Type" xml:"Type"`
+	Version  string   `json:"Version" xml:"Version"`
+	Groups   []string `json:"Groups" xml:"Groups"`
+	Ips      []string `json:"Ips" xml:"Ips"`
+}

+ 28 - 0
services/sae/struct_namespace.go

@@ -0,0 +1,28 @@
+package sae
+
+//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.
+
+// Namespace is a nested struct in sae response
+type Namespace struct {
+	AccessKey            string `json:"AccessKey" xml:"AccessKey"`
+	AddressServerHost    string `json:"AddressServerHost" xml:"AddressServerHost"`
+	SecretKey            string `json:"SecretKey" xml:"SecretKey"`
+	TenantId             string `json:"TenantId" xml:"TenantId"`
+	RegionId             string `json:"RegionId" xml:"RegionId"`
+	NamespaceId          string `json:"NamespaceId" xml:"NamespaceId"`
+	NamespaceName        string `json:"NamespaceName" xml:"NamespaceName"`
+	NamespaceDescription string `json:"NamespaceDescription" xml:"NamespaceDescription"`
+}

+ 21 - 0
services/sae/struct_namespaces.go

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

+ 27 - 0
services/sae/struct_pipeline.go

@@ -0,0 +1,27 @@
+package sae
+
+//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.
+
+// Pipeline is a nested struct in sae response
+type Pipeline struct {
+	BatchType     int    `json:"BatchType" xml:"BatchType"`
+	ParallelCount int    `json:"ParallelCount" xml:"ParallelCount"`
+	PipelineId    string `json:"PipelineId" xml:"PipelineId"`
+	PipelineName  string `json:"PipelineName" xml:"PipelineName"`
+	StartTime     int64  `json:"StartTime" xml:"StartTime"`
+	Status        int    `json:"Status" xml:"Status"`
+	UpdateTime    int64  `json:"UpdateTime" xml:"UpdateTime"`
+}

+ 21 - 0
services/sae/struct_pipelines.go

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

+ 22 - 0
services/sae/struct_real_time_res.go

@@ -0,0 +1,22 @@
+package sae
+
+//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.
+
+// RealTimeRes is a nested struct in sae response
+type RealTimeRes struct {
+	Cpu    int `json:"Cpu" xml:"Cpu"`
+	Memory int `json:"Memory" xml:"Memory"`
+}

+ 23 - 0
services/sae/struct_region.go

@@ -0,0 +1,23 @@
+package sae
+
+//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.
+
+// Region is a nested struct in sae response
+type Region struct {
+	RegionId       string `json:"RegionId" xml:"RegionId"`
+	RegionEndpoint string `json:"RegionEndpoint" xml:"RegionEndpoint"`
+	LocalName      string `json:"LocalName" xml:"LocalName"`
+}

+ 29 - 0
services/sae/struct_region_list.go

@@ -0,0 +1,29 @@
+package sae
+
+//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.
+
+// RegionList is a nested struct in sae response
+type RegionList struct {
+	NamespaceName     string `json:"NamespaceName" xml:"NamespaceName"`
+	NamespaceId       string `json:"NamespaceId" xml:"NamespaceId"`
+	AgentInstall      string `json:"AgentInstall" xml:"AgentInstall"`
+	Current           bool   `json:"Current" xml:"Current"`
+	Custom            bool   `json:"Custom" xml:"Custom"`
+	RegionId          string `json:"RegionId" xml:"RegionId"`
+	HybridCloudEnable bool   `json:"HybridCloudEnable" xml:"HybridCloudEnable"`
+	VpcId             string `json:"VpcId" xml:"VpcId"`
+	VSwitchId         string `json:"VSwitchId" xml:"VSwitchId"`
+}

+ 21 - 0
services/sae/struct_regions.go

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

+ 22 - 0
services/sae/struct_summary.go

@@ -0,0 +1,22 @@
+package sae
+
+//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.
+
+// Summary is a nested struct in sae response
+type Summary struct {
+	Cpu    int `json:"Cpu" xml:"Cpu"`
+	Memory int `json:"Memory" xml:"Memory"`
+}

+ 112 - 0
services/sae/unbind_slb.go

@@ -0,0 +1,112 @@
+package sae
+
+//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"
+)
+
+// UnbindSlb invokes the sae.UnbindSlb API synchronously
+// api document: https://help.aliyun.com/api/sae/unbindslb.html
+func (client *Client) UnbindSlb(request *UnbindSlbRequest) (response *UnbindSlbResponse, err error) {
+	response = CreateUnbindSlbResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UnbindSlbWithChan invokes the sae.UnbindSlb API asynchronously
+// api document: https://help.aliyun.com/api/sae/unbindslb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnbindSlbWithChan(request *UnbindSlbRequest) (<-chan *UnbindSlbResponse, <-chan error) {
+	responseChan := make(chan *UnbindSlbResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UnbindSlb(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UnbindSlbWithCallback invokes the sae.UnbindSlb API asynchronously
+// api document: https://help.aliyun.com/api/sae/unbindslb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnbindSlbWithCallback(request *UnbindSlbRequest, callback func(response *UnbindSlbResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UnbindSlbResponse
+		var err error
+		defer close(result)
+		response, err = client.UnbindSlb(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UnbindSlbRequest is the request struct for api UnbindSlb
+type UnbindSlbRequest struct {
+	*requests.RoaRequest
+	Intranet requests.Boolean `position:"Query" name:"Intranet"`
+	AppId    string           `position:"Query" name:"AppId"`
+	Internet requests.Boolean `position:"Query" name:"Internet"`
+}
+
+// UnbindSlbResponse is the response struct for api UnbindSlb
+type UnbindSlbResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateUnbindSlbRequest creates a request to invoke UnbindSlb API
+func CreateUnbindSlbRequest() (request *UnbindSlbRequest) {
+	request = &UnbindSlbRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "UnbindSlb", "/pop/v1/sam/app/slb", "serverless", "openAPI")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateUnbindSlbResponse creates a response to parse from UnbindSlb response
+func CreateUnbindSlbResponse() (response *UnbindSlbResponse) {
+	response = &UnbindSlbResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/sae/update_namespace.go

@@ -0,0 +1,112 @@
+package sae
+
+//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"
+)
+
+// UpdateNamespace invokes the sae.UpdateNamespace API synchronously
+// api document: https://help.aliyun.com/api/sae/updatenamespace.html
+func (client *Client) UpdateNamespace(request *UpdateNamespaceRequest) (response *UpdateNamespaceResponse, err error) {
+	response = CreateUpdateNamespaceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateNamespaceWithChan invokes the sae.UpdateNamespace API asynchronously
+// api document: https://help.aliyun.com/api/sae/updatenamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateNamespaceWithChan(request *UpdateNamespaceRequest) (<-chan *UpdateNamespaceResponse, <-chan error) {
+	responseChan := make(chan *UpdateNamespaceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateNamespace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateNamespaceWithCallback invokes the sae.UpdateNamespace API asynchronously
+// api document: https://help.aliyun.com/api/sae/updatenamespace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateNamespaceWithCallback(request *UpdateNamespaceRequest, callback func(response *UpdateNamespaceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateNamespaceResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateNamespace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateNamespaceRequest is the request struct for api UpdateNamespace
+type UpdateNamespaceRequest struct {
+	*requests.RoaRequest
+	NamespaceName        string `position:"Query" name:"NamespaceName"`
+	NamespaceDescription string `position:"Query" name:"NamespaceDescription"`
+	NamespaceId          string `position:"Query" name:"NamespaceId"`
+}
+
+// UpdateNamespaceResponse is the response struct for api UpdateNamespace
+type UpdateNamespaceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateUpdateNamespaceRequest creates a request to invoke UpdateNamespace API
+func CreateUpdateNamespaceRequest() (request *UpdateNamespaceRequest) {
+	request = &UpdateNamespaceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("sae", "2019-05-06", "UpdateNamespace", "/pop/v1/paas/namespace", "serverless", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateUpdateNamespaceResponse creates a response to parse from UpdateNamespace response
+func CreateUpdateNamespaceResponse() (response *UpdateNamespaceResponse) {
+	response = &UpdateNamespaceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}