Browse Source

由逸雄发起的CLOUDAPI SDK自动发布, 版本号:1.8.2

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 years ago
parent
commit
7a731a8631
100 changed files with 10703 additions and 0 deletions
  1. 4 0
      ChangeLog.txt
  2. 105 0
      services/cloudapi/abolish_api.go
  3. 104 0
      services/cloudapi/add_catalog_relation.go
  4. 104 0
      services/cloudapi/add_catalog_relations.go
  5. 106 0
      services/cloudapi/add_ip_control_policy_item.go
  6. 106 0
      services/cloudapi/add_traffic_special_control.go
  7. 103 0
      services/cloudapi/clear_catalog_relations.go
  8. 81 0
      services/cloudapi/client.go
  9. 123 0
      services/cloudapi/create_api.go
  10. 108 0
      services/cloudapi/create_api_group.go
  11. 108 0
      services/cloudapi/create_api_stage_variable.go
  12. 105 0
      services/cloudapi/create_app.go
  13. 106 0
      services/cloudapi/create_catalog.go
  14. 113 0
      services/cloudapi/create_ip_control.go
  15. 105 0
      services/cloudapi/create_log_config.go
  16. 107 0
      services/cloudapi/create_signature.go
  17. 109 0
      services/cloudapi/create_traffic_control.go
  18. 103 0
      services/cloudapi/delete_all_traffic_special_control.go
  19. 104 0
      services/cloudapi/delete_api.go
  20. 103 0
      services/cloudapi/delete_api_group.go
  21. 105 0
      services/cloudapi/delete_api_stage_variable.go
  22. 103 0
      services/cloudapi/delete_app.go
  23. 103 0
      services/cloudapi/delete_catalog.go
  24. 104 0
      services/cloudapi/delete_domain.go
  25. 105 0
      services/cloudapi/delete_domain_certificate.go
  26. 103 0
      services/cloudapi/delete_ip_control.go
  27. 103 0
      services/cloudapi/delete_log_config.go
  28. 103 0
      services/cloudapi/delete_signature.go
  29. 103 0
      services/cloudapi/delete_traffic_control.go
  30. 105 0
      services/cloudapi/delete_traffic_special_control.go
  31. 106 0
      services/cloudapi/deploy_api.go
  32. 133 0
      services/cloudapi/describe_api.go
  33. 122 0
      services/cloudapi/describe_api_doc.go
  34. 108 0
      services/cloudapi/describe_api_error_data.go
  35. 116 0
      services/cloudapi/describe_api_group.go
  36. 110 0
      services/cloudapi/describe_api_groups.go
  37. 112 0
      services/cloudapi/describe_api_histories.go
  38. 133 0
      services/cloudapi/describe_api_history.go
  39. 111 0
      services/cloudapi/describe_api_ip_controls.go
  40. 107 0
      services/cloudapi/describe_api_latency_data.go
  41. 108 0
      services/cloudapi/describe_api_qps_data.go
  42. 111 0
      services/cloudapi/describe_api_signatures.go
  43. 111 0
      services/cloudapi/describe_api_stage.go
  44. 111 0
      services/cloudapi/describe_api_traffic_controls.go
  45. 108 0
      services/cloudapi/describe_api_traffic_data.go
  46. 113 0
      services/cloudapi/describe_apis.go
  47. 109 0
      services/cloudapi/describe_apis_by_app.go
  48. 109 0
      services/cloudapi/describe_apis_by_ip_control.go
  49. 109 0
      services/cloudapi/describe_apis_by_signature.go
  50. 109 0
      services/cloudapi/describe_apis_by_traffic_control.go
  51. 109 0
      services/cloudapi/describe_app_attributes.go
  52. 107 0
      services/cloudapi/describe_app_security.go
  53. 110 0
      services/cloudapi/describe_apps.go
  54. 109 0
      services/cloudapi/describe_authorized_apis.go
  55. 111 0
      services/cloudapi/describe_authorized_apps.go
  56. 111 0
      services/cloudapi/describe_catalog.go
  57. 106 0
      services/cloudapi/describe_catalogs.go
  58. 130 0
      services/cloudapi/describe_deployed_api.go
  59. 112 0
      services/cloudapi/describe_deployed_apis.go
  60. 116 0
      services/cloudapi/describe_domain.go
  61. 106 0
      services/cloudapi/describe_domains_resolution.go
  62. 112 0
      services/cloudapi/describe_history_apis.go
  63. 110 0
      services/cloudapi/describe_ip_control_policy_items.go
  64. 111 0
      services/cloudapi/describe_ip_controls.go
  65. 104 0
      services/cloudapi/describe_log_config.go
  66. 110 0
      services/cloudapi/describe_purchased_api_group.go
  67. 108 0
      services/cloudapi/describe_purchased_api_groups.go
  68. 113 0
      services/cloudapi/describe_purchased_apis.go
  69. 103 0
      services/cloudapi/describe_regions.go
  70. 110 0
      services/cloudapi/describe_signatures.go
  71. 106 0
      services/cloudapi/describe_signatures_by_api.go
  72. 103 0
      services/cloudapi/describe_system_parameters.go
  73. 113 0
      services/cloudapi/describe_traffic_controls.go
  74. 106 0
      services/cloudapi/describe_traffic_controls_by_api.go
  75. 108 0
      services/cloudapi/describe_vpc_accesses.go
  76. 123 0
      services/cloudapi/modify_api.go
  77. 109 0
      services/cloudapi/modify_api_group.go
  78. 105 0
      services/cloudapi/modify_app.go
  79. 105 0
      services/cloudapi/modify_catalog.go
  80. 105 0
      services/cloudapi/modify_ip_control.go
  81. 106 0
      services/cloudapi/modify_ip_control_policy_item.go
  82. 105 0
      services/cloudapi/modify_log_config.go
  83. 108 0
      services/cloudapi/modify_signature.go
  84. 109 0
      services/cloudapi/modify_traffic_control.go
  85. 104 0
      services/cloudapi/reactivate_domain.go
  86. 107 0
      services/cloudapi/remove_apis_authorities.go
  87. 106 0
      services/cloudapi/remove_apps_authorities.go
  88. 104 0
      services/cloudapi/remove_catalog_relation.go
  89. 103 0
      services/cloudapi/remove_catalog_relations.go
  90. 106 0
      services/cloudapi/remove_ip_control_apis.go
  91. 104 0
      services/cloudapi/remove_ip_control_policy_item.go
  92. 106 0
      services/cloudapi/remove_signature_apis.go
  93. 106 0
      services/cloudapi/remove_traffic_control_apis.go
  94. 105 0
      services/cloudapi/remove_vpc_access.go
  95. 103 0
      services/cloudapi/reset_app_secret.go
  96. 106 0
      services/cloudapi/sdk_generate.go
  97. 105 0
      services/cloudapi/sdk_generate_by_app.go
  98. 105 0
      services/cloudapi/sdk_generate_by_group.go
  99. 107 0
      services/cloudapi/set_apis_authorities.go
  100. 107 0
      services/cloudapi/set_apps_authorities.go

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2018-04-16 Version: 1.8.2
+1, Release go sdk
+
+
 2018-04-11 Version: 1.8.1
 1, GetLibrary/FetchLibraries add return ctime
 2, Editphotos add input param takenAt

+ 105 - 0
services/cloudapi/abolish_api.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// AbolishApi invokes the cloudapi.AbolishApi API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/abolishapi.html
+func (client *Client) AbolishApi(request *AbolishApiRequest) (response *AbolishApiResponse, err error) {
+	response = CreateAbolishApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AbolishApiWithChan invokes the cloudapi.AbolishApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/abolishapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AbolishApiWithChan(request *AbolishApiRequest) (<-chan *AbolishApiResponse, <-chan error) {
+	responseChan := make(chan *AbolishApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AbolishApi(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AbolishApiWithCallback invokes the cloudapi.AbolishApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/abolishapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AbolishApiWithCallback(request *AbolishApiRequest, callback func(response *AbolishApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AbolishApiResponse
+		var err error
+		defer close(result)
+		response, err = client.AbolishApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AbolishApiRequest is the request struct for api AbolishApi
+type AbolishApiRequest struct {
+	*requests.RpcRequest
+	GroupId   string `position:"Query" name:"GroupId"`
+	ApiId     string `position:"Query" name:"ApiId"`
+	StageName string `position:"Query" name:"StageName"`
+}
+
+// AbolishApiResponse is the response struct for api AbolishApi
+type AbolishApiResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAbolishApiRequest creates a request to invoke AbolishApi API
+func CreateAbolishApiRequest() (request *AbolishApiRequest) {
+	request = &AbolishApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "AbolishApi", "apigateway", "openAPI")
+	return
+}
+
+// CreateAbolishApiResponse creates a response to parse from AbolishApi response
+func CreateAbolishApiResponse() (response *AbolishApiResponse) {
+	response = &AbolishApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/cloudapi/add_catalog_relation.go

@@ -0,0 +1,104 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// AddCatalogRelation invokes the cloudapi.AddCatalogRelation API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/addcatalogrelation.html
+func (client *Client) AddCatalogRelation(request *AddCatalogRelationRequest) (response *AddCatalogRelationResponse, err error) {
+	response = CreateAddCatalogRelationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddCatalogRelationWithChan invokes the cloudapi.AddCatalogRelation API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/addcatalogrelation.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddCatalogRelationWithChan(request *AddCatalogRelationRequest) (<-chan *AddCatalogRelationResponse, <-chan error) {
+	responseChan := make(chan *AddCatalogRelationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddCatalogRelation(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddCatalogRelationWithCallback invokes the cloudapi.AddCatalogRelation API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/addcatalogrelation.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddCatalogRelationWithCallback(request *AddCatalogRelationRequest, callback func(response *AddCatalogRelationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddCatalogRelationResponse
+		var err error
+		defer close(result)
+		response, err = client.AddCatalogRelation(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddCatalogRelationRequest is the request struct for api AddCatalogRelation
+type AddCatalogRelationRequest struct {
+	*requests.RpcRequest
+	CatalogId string `position:"Query" name:"CatalogId"`
+	ApiId     string `position:"Query" name:"ApiId"`
+}
+
+// AddCatalogRelationResponse is the response struct for api AddCatalogRelation
+type AddCatalogRelationResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAddCatalogRelationRequest creates a request to invoke AddCatalogRelation API
+func CreateAddCatalogRelationRequest() (request *AddCatalogRelationRequest) {
+	request = &AddCatalogRelationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "AddCatalogRelation", "apigateway", "openAPI")
+	return
+}
+
+// CreateAddCatalogRelationResponse creates a response to parse from AddCatalogRelation response
+func CreateAddCatalogRelationResponse() (response *AddCatalogRelationResponse) {
+	response = &AddCatalogRelationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/cloudapi/add_catalog_relations.go

@@ -0,0 +1,104 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// AddCatalogRelations invokes the cloudapi.AddCatalogRelations API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/addcatalogrelations.html
+func (client *Client) AddCatalogRelations(request *AddCatalogRelationsRequest) (response *AddCatalogRelationsResponse, err error) {
+	response = CreateAddCatalogRelationsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddCatalogRelationsWithChan invokes the cloudapi.AddCatalogRelations API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/addcatalogrelations.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddCatalogRelationsWithChan(request *AddCatalogRelationsRequest) (<-chan *AddCatalogRelationsResponse, <-chan error) {
+	responseChan := make(chan *AddCatalogRelationsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddCatalogRelations(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddCatalogRelationsWithCallback invokes the cloudapi.AddCatalogRelations API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/addcatalogrelations.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddCatalogRelationsWithCallback(request *AddCatalogRelationsRequest, callback func(response *AddCatalogRelationsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddCatalogRelationsResponse
+		var err error
+		defer close(result)
+		response, err = client.AddCatalogRelations(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddCatalogRelationsRequest is the request struct for api AddCatalogRelations
+type AddCatalogRelationsRequest struct {
+	*requests.RpcRequest
+	CatalogId string `position:"Query" name:"CatalogId"`
+	ApiIds    string `position:"Query" name:"ApiIds"`
+}
+
+// AddCatalogRelationsResponse is the response struct for api AddCatalogRelations
+type AddCatalogRelationsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAddCatalogRelationsRequest creates a request to invoke AddCatalogRelations API
+func CreateAddCatalogRelationsRequest() (request *AddCatalogRelationsRequest) {
+	request = &AddCatalogRelationsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "AddCatalogRelations", "apigateway", "openAPI")
+	return
+}
+
+// CreateAddCatalogRelationsResponse creates a response to parse from AddCatalogRelations response
+func CreateAddCatalogRelationsResponse() (response *AddCatalogRelationsResponse) {
+	response = &AddCatalogRelationsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/add_ip_control_policy_item.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// AddIpControlPolicyItem invokes the cloudapi.AddIpControlPolicyItem API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/addipcontrolpolicyitem.html
+func (client *Client) AddIpControlPolicyItem(request *AddIpControlPolicyItemRequest) (response *AddIpControlPolicyItemResponse, err error) {
+	response = CreateAddIpControlPolicyItemResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddIpControlPolicyItemWithChan invokes the cloudapi.AddIpControlPolicyItem API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/addipcontrolpolicyitem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddIpControlPolicyItemWithChan(request *AddIpControlPolicyItemRequest) (<-chan *AddIpControlPolicyItemResponse, <-chan error) {
+	responseChan := make(chan *AddIpControlPolicyItemResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddIpControlPolicyItem(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddIpControlPolicyItemWithCallback invokes the cloudapi.AddIpControlPolicyItem API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/addipcontrolpolicyitem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddIpControlPolicyItemWithCallback(request *AddIpControlPolicyItemRequest, callback func(response *AddIpControlPolicyItemResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddIpControlPolicyItemResponse
+		var err error
+		defer close(result)
+		response, err = client.AddIpControlPolicyItem(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddIpControlPolicyItemRequest is the request struct for api AddIpControlPolicyItem
+type AddIpControlPolicyItemRequest struct {
+	*requests.RpcRequest
+	IpControlId string `position:"Query" name:"IpControlId"`
+	AppId       string `position:"Query" name:"AppId"`
+	CidrIp      string `position:"Query" name:"CidrIp"`
+}
+
+// AddIpControlPolicyItemResponse is the response struct for api AddIpControlPolicyItem
+type AddIpControlPolicyItemResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	PolicyItemId string `json:"PolicyItemId" xml:"PolicyItemId"`
+}
+
+// CreateAddIpControlPolicyItemRequest creates a request to invoke AddIpControlPolicyItem API
+func CreateAddIpControlPolicyItemRequest() (request *AddIpControlPolicyItemRequest) {
+	request = &AddIpControlPolicyItemRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "AddIpControlPolicyItem", "apigateway", "openAPI")
+	return
+}
+
+// CreateAddIpControlPolicyItemResponse creates a response to parse from AddIpControlPolicyItem response
+func CreateAddIpControlPolicyItemResponse() (response *AddIpControlPolicyItemResponse) {
+	response = &AddIpControlPolicyItemResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/add_traffic_special_control.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// AddTrafficSpecialControl invokes the cloudapi.AddTrafficSpecialControl API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/addtrafficspecialcontrol.html
+func (client *Client) AddTrafficSpecialControl(request *AddTrafficSpecialControlRequest) (response *AddTrafficSpecialControlResponse, err error) {
+	response = CreateAddTrafficSpecialControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddTrafficSpecialControlWithChan invokes the cloudapi.AddTrafficSpecialControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/addtrafficspecialcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddTrafficSpecialControlWithChan(request *AddTrafficSpecialControlRequest) (<-chan *AddTrafficSpecialControlResponse, <-chan error) {
+	responseChan := make(chan *AddTrafficSpecialControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddTrafficSpecialControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddTrafficSpecialControlWithCallback invokes the cloudapi.AddTrafficSpecialControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/addtrafficspecialcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddTrafficSpecialControlWithCallback(request *AddTrafficSpecialControlRequest, callback func(response *AddTrafficSpecialControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddTrafficSpecialControlResponse
+		var err error
+		defer close(result)
+		response, err = client.AddTrafficSpecialControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddTrafficSpecialControlRequest is the request struct for api AddTrafficSpecialControl
+type AddTrafficSpecialControlRequest struct {
+	*requests.RpcRequest
+	TrafficControlId string           `position:"Query" name:"TrafficControlId"`
+	SpecialType      string           `position:"Query" name:"SpecialType"`
+	SpecialKey       string           `position:"Query" name:"SpecialKey"`
+	TrafficValue     requests.Integer `position:"Query" name:"TrafficValue"`
+}
+
+// AddTrafficSpecialControlResponse is the response struct for api AddTrafficSpecialControl
+type AddTrafficSpecialControlResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAddTrafficSpecialControlRequest creates a request to invoke AddTrafficSpecialControl API
+func CreateAddTrafficSpecialControlRequest() (request *AddTrafficSpecialControlRequest) {
+	request = &AddTrafficSpecialControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "AddTrafficSpecialControl", "apigateway", "openAPI")
+	return
+}
+
+// CreateAddTrafficSpecialControlResponse creates a response to parse from AddTrafficSpecialControl response
+func CreateAddTrafficSpecialControlResponse() (response *AddTrafficSpecialControlResponse) {
+	response = &AddTrafficSpecialControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/clear_catalog_relations.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ClearCatalogRelations invokes the cloudapi.ClearCatalogRelations API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/clearcatalogrelations.html
+func (client *Client) ClearCatalogRelations(request *ClearCatalogRelationsRequest) (response *ClearCatalogRelationsResponse, err error) {
+	response = CreateClearCatalogRelationsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ClearCatalogRelationsWithChan invokes the cloudapi.ClearCatalogRelations API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/clearcatalogrelations.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ClearCatalogRelationsWithChan(request *ClearCatalogRelationsRequest) (<-chan *ClearCatalogRelationsResponse, <-chan error) {
+	responseChan := make(chan *ClearCatalogRelationsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ClearCatalogRelations(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ClearCatalogRelationsWithCallback invokes the cloudapi.ClearCatalogRelations API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/clearcatalogrelations.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ClearCatalogRelationsWithCallback(request *ClearCatalogRelationsRequest, callback func(response *ClearCatalogRelationsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ClearCatalogRelationsResponse
+		var err error
+		defer close(result)
+		response, err = client.ClearCatalogRelations(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ClearCatalogRelationsRequest is the request struct for api ClearCatalogRelations
+type ClearCatalogRelationsRequest struct {
+	*requests.RpcRequest
+	CatalogId string `position:"Query" name:"CatalogId"`
+}
+
+// ClearCatalogRelationsResponse is the response struct for api ClearCatalogRelations
+type ClearCatalogRelationsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateClearCatalogRelationsRequest creates a request to invoke ClearCatalogRelations API
+func CreateClearCatalogRelationsRequest() (request *ClearCatalogRelationsRequest) {
+	request = &ClearCatalogRelationsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ClearCatalogRelations", "apigateway", "openAPI")
+	return
+}
+
+// CreateClearCatalogRelationsResponse creates a response to parse from ClearCatalogRelations response
+func CreateClearCatalogRelationsResponse() (response *ClearCatalogRelationsResponse) {
+	response = &ClearCatalogRelationsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 81 - 0
services/cloudapi/client.go

@@ -0,0 +1,81 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 123 - 0
services/cloudapi/create_api.go

@@ -0,0 +1,123 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateApi invokes the cloudapi.CreateApi API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapi.html
+func (client *Client) CreateApi(request *CreateApiRequest) (response *CreateApiResponse, err error) {
+	response = CreateCreateApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateApiWithChan invokes the cloudapi.CreateApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateApiWithChan(request *CreateApiRequest) (<-chan *CreateApiResponse, <-chan error) {
+	responseChan := make(chan *CreateApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateApi(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateApiWithCallback invokes the cloudapi.CreateApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateApiWithCallback(request *CreateApiRequest, callback func(response *CreateApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateApiResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateApiRequest is the request struct for api CreateApi
+type CreateApiRequest struct {
+	*requests.RpcRequest
+	GroupId              string `position:"Query" name:"GroupId"`
+	ApiName              string `position:"Query" name:"ApiName"`
+	Visibility           string `position:"Query" name:"Visibility"`
+	Description          string `position:"Query" name:"Description"`
+	AuthType             string `position:"Query" name:"AuthType"`
+	RequestConfig        string `position:"Query" name:"RequestConfig"`
+	ServiceConfig        string `position:"Query" name:"ServiceConfig"`
+	RequestParameters    string `position:"Query" name:"RequestParameters"`
+	SystemParameters     string `position:"Query" name:"SystemParameters"`
+	ConstantParameters   string `position:"Query" name:"ConstantParameters"`
+	ServiceParameters    string `position:"Query" name:"ServiceParameters"`
+	ServiceParametersMap string `position:"Query" name:"ServiceParametersMap"`
+	ResultType           string `position:"Query" name:"ResultType"`
+	ResultSample         string `position:"Query" name:"ResultSample"`
+	FailResultSample     string `position:"Query" name:"FailResultSample"`
+	ErrorCodeSamples     string `position:"Query" name:"ErrorCodeSamples"`
+	ResultDescriptions   string `position:"Query" name:"ResultDescriptions"`
+	OpenIdConnectConfig  string `position:"Query" name:"OpenIdConnectConfig"`
+	AllowSignatureMethod string `position:"Query" name:"AllowSignatureMethod"`
+	WebSocketApiType     string `position:"Query" name:"WebSocketApiType"`
+}
+
+// CreateApiResponse is the response struct for api CreateApi
+type CreateApiResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	ApiId     string `json:"ApiId" xml:"ApiId"`
+}
+
+// CreateCreateApiRequest creates a request to invoke CreateApi API
+func CreateCreateApiRequest() (request *CreateApiRequest) {
+	request = &CreateApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "CreateApi", "apigateway", "openAPI")
+	return
+}
+
+// CreateCreateApiResponse creates a response to parse from CreateApi response
+func CreateCreateApiResponse() (response *CreateApiResponse) {
+	response = &CreateApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cloudapi/create_api_group.go

@@ -0,0 +1,108 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateApiGroup invokes the cloudapi.CreateApiGroup API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapigroup.html
+func (client *Client) CreateApiGroup(request *CreateApiGroupRequest) (response *CreateApiGroupResponse, err error) {
+	response = CreateCreateApiGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateApiGroupWithChan invokes the cloudapi.CreateApiGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapigroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateApiGroupWithChan(request *CreateApiGroupRequest) (<-chan *CreateApiGroupResponse, <-chan error) {
+	responseChan := make(chan *CreateApiGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateApiGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateApiGroupWithCallback invokes the cloudapi.CreateApiGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapigroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateApiGroupWithCallback(request *CreateApiGroupRequest, callback func(response *CreateApiGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateApiGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateApiGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateApiGroupRequest is the request struct for api CreateApiGroup
+type CreateApiGroupRequest struct {
+	*requests.RpcRequest
+	GroupName   string `position:"Query" name:"GroupName"`
+	Description string `position:"Query" name:"Description"`
+}
+
+// CreateApiGroupResponse is the response struct for api CreateApiGroup
+type CreateApiGroupResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	GroupId     string `json:"GroupId" xml:"GroupId"`
+	GroupName   string `json:"GroupName" xml:"GroupName"`
+	SubDomain   string `json:"SubDomain" xml:"SubDomain"`
+	Description string `json:"Description" xml:"Description"`
+}
+
+// CreateCreateApiGroupRequest creates a request to invoke CreateApiGroup API
+func CreateCreateApiGroupRequest() (request *CreateApiGroupRequest) {
+	request = &CreateApiGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "CreateApiGroup", "apigateway", "openAPI")
+	return
+}
+
+// CreateCreateApiGroupResponse creates a response to parse from CreateApiGroup response
+func CreateCreateApiGroupResponse() (response *CreateApiGroupResponse) {
+	response = &CreateApiGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cloudapi/create_api_stage_variable.go

@@ -0,0 +1,108 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateApiStageVariable invokes the cloudapi.CreateApiStageVariable API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapistagevariable.html
+func (client *Client) CreateApiStageVariable(request *CreateApiStageVariableRequest) (response *CreateApiStageVariableResponse, err error) {
+	response = CreateCreateApiStageVariableResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateApiStageVariableWithChan invokes the cloudapi.CreateApiStageVariable API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapistagevariable.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateApiStageVariableWithChan(request *CreateApiStageVariableRequest) (<-chan *CreateApiStageVariableResponse, <-chan error) {
+	responseChan := make(chan *CreateApiStageVariableResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateApiStageVariable(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateApiStageVariableWithCallback invokes the cloudapi.CreateApiStageVariable API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapistagevariable.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateApiStageVariableWithCallback(request *CreateApiStageVariableRequest, callback func(response *CreateApiStageVariableResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateApiStageVariableResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateApiStageVariable(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateApiStageVariableRequest is the request struct for api CreateApiStageVariable
+type CreateApiStageVariableRequest struct {
+	*requests.RpcRequest
+	GroupId         string           `position:"Query" name:"GroupId"`
+	StageId         string           `position:"Query" name:"StageId"`
+	VariableName    string           `position:"Query" name:"VariableName"`
+	SupportRoute    requests.Boolean `position:"Query" name:"SupportRoute"`
+	VariableValue   string           `position:"Query" name:"VariableValue"`
+	StageRouteModel string           `position:"Query" name:"StageRouteModel"`
+}
+
+// CreateApiStageVariableResponse is the response struct for api CreateApiStageVariable
+type CreateApiStageVariableResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateApiStageVariableRequest creates a request to invoke CreateApiStageVariable API
+func CreateCreateApiStageVariableRequest() (request *CreateApiStageVariableRequest) {
+	request = &CreateApiStageVariableRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "CreateApiStageVariable", "apigateway", "openAPI")
+	return
+}
+
+// CreateCreateApiStageVariableResponse creates a response to parse from CreateApiStageVariable response
+func CreateCreateApiStageVariableResponse() (response *CreateApiStageVariableResponse) {
+	response = &CreateApiStageVariableResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/create_app.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateApp invokes the cloudapi.CreateApp API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapp.html
+func (client *Client) CreateApp(request *CreateAppRequest) (response *CreateAppResponse, err error) {
+	response = CreateCreateAppResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateAppWithChan invokes the cloudapi.CreateApp API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAppWithChan(request *CreateAppRequest) (<-chan *CreateAppResponse, <-chan error) {
+	responseChan := make(chan *CreateAppResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateApp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateAppWithCallback invokes the cloudapi.CreateApp API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAppWithCallback(request *CreateAppRequest, callback func(response *CreateAppResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateAppResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateApp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateAppRequest is the request struct for api CreateApp
+type CreateAppRequest struct {
+	*requests.RpcRequest
+	AppName     string `position:"Query" name:"AppName"`
+	Description string `position:"Query" name:"Description"`
+}
+
+// CreateAppResponse is the response struct for api CreateApp
+type CreateAppResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	AppId     int    `json:"AppId" xml:"AppId"`
+}
+
+// CreateCreateAppRequest creates a request to invoke CreateApp API
+func CreateCreateAppRequest() (request *CreateAppRequest) {
+	request = &CreateAppRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "CreateApp", "apigateway", "openAPI")
+	return
+}
+
+// CreateCreateAppResponse creates a response to parse from CreateApp response
+func CreateCreateAppResponse() (response *CreateAppResponse) {
+	response = &CreateAppResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/create_catalog.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateCatalog invokes the cloudapi.CreateCatalog API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/createcatalog.html
+func (client *Client) CreateCatalog(request *CreateCatalogRequest) (response *CreateCatalogResponse, err error) {
+	response = CreateCreateCatalogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateCatalogWithChan invokes the cloudapi.CreateCatalog API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createcatalog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCatalogWithChan(request *CreateCatalogRequest) (<-chan *CreateCatalogResponse, <-chan error) {
+	responseChan := make(chan *CreateCatalogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateCatalog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateCatalogWithCallback invokes the cloudapi.CreateCatalog API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createcatalog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCatalogWithCallback(request *CreateCatalogRequest, callback func(response *CreateCatalogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateCatalogResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateCatalog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateCatalogRequest is the request struct for api CreateCatalog
+type CreateCatalogRequest struct {
+	*requests.RpcRequest
+	CatalogName string `position:"Query" name:"CatalogName"`
+	Description string `position:"Query" name:"Description"`
+	ParentId    string `position:"Query" name:"ParentId"`
+}
+
+// CreateCatalogResponse is the response struct for api CreateCatalog
+type CreateCatalogResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	CatalogId string `json:"CatalogId" xml:"CatalogId"`
+}
+
+// CreateCreateCatalogRequest creates a request to invoke CreateCatalog API
+func CreateCreateCatalogRequest() (request *CreateCatalogRequest) {
+	request = &CreateCatalogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "CreateCatalog", "apigateway", "openAPI")
+	return
+}
+
+// CreateCreateCatalogResponse creates a response to parse from CreateCatalog response
+func CreateCreateCatalogResponse() (response *CreateCatalogResponse) {
+	response = &CreateCatalogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/cloudapi/create_ip_control.go

@@ -0,0 +1,113 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateIpControl invokes the cloudapi.CreateIpControl API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/createipcontrol.html
+func (client *Client) CreateIpControl(request *CreateIpControlRequest) (response *CreateIpControlResponse, err error) {
+	response = CreateCreateIpControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateIpControlWithChan invokes the cloudapi.CreateIpControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createipcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateIpControlWithChan(request *CreateIpControlRequest) (<-chan *CreateIpControlResponse, <-chan error) {
+	responseChan := make(chan *CreateIpControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateIpControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateIpControlWithCallback invokes the cloudapi.CreateIpControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createipcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateIpControlWithCallback(request *CreateIpControlRequest, callback func(response *CreateIpControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateIpControlResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateIpControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateIpControlRequest is the request struct for api CreateIpControl
+type CreateIpControlRequest struct {
+	*requests.RpcRequest
+	IpControlName    string                             `position:"Query" name:"IpControlName"`
+	IpControlType    string                             `position:"Query" name:"IpControlType"`
+	Description      string                             `position:"Query" name:"Description"`
+	IpControlPolicys *[]CreateIpControlIpControlPolicys `position:"Query" name:"IpControlPolicys"  type:"Repeated"`
+}
+
+// CreateIpControlIpControlPolicys is a repeated param struct in CreateIpControlRequest
+type CreateIpControlIpControlPolicys struct {
+	AppId  string `name:"AppId"`
+	CidrIp string `name:"CidrIp"`
+}
+
+// CreateIpControlResponse is the response struct for api CreateIpControl
+type CreateIpControlResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	IpControlId string `json:"IpControlId" xml:"IpControlId"`
+}
+
+// CreateCreateIpControlRequest creates a request to invoke CreateIpControl API
+func CreateCreateIpControlRequest() (request *CreateIpControlRequest) {
+	request = &CreateIpControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "CreateIpControl", "apigateway", "openAPI")
+	return
+}
+
+// CreateCreateIpControlResponse creates a response to parse from CreateIpControl response
+func CreateCreateIpControlResponse() (response *CreateIpControlResponse) {
+	response = &CreateIpControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/create_log_config.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateLogConfig invokes the cloudapi.CreateLogConfig API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/createlogconfig.html
+func (client *Client) CreateLogConfig(request *CreateLogConfigRequest) (response *CreateLogConfigResponse, err error) {
+	response = CreateCreateLogConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateLogConfigWithChan invokes the cloudapi.CreateLogConfig API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createlogconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateLogConfigWithChan(request *CreateLogConfigRequest) (<-chan *CreateLogConfigResponse, <-chan error) {
+	responseChan := make(chan *CreateLogConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateLogConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateLogConfigWithCallback invokes the cloudapi.CreateLogConfig API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createlogconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateLogConfigWithCallback(request *CreateLogConfigRequest, callback func(response *CreateLogConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateLogConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateLogConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateLogConfigRequest is the request struct for api CreateLogConfig
+type CreateLogConfigRequest struct {
+	*requests.RpcRequest
+	SlsProject  string `position:"Query" name:"SlsProject"`
+	SlsLogStore string `position:"Query" name:"SlsLogStore"`
+	LogType     string `position:"Query" name:"LogType"`
+}
+
+// CreateLogConfigResponse is the response struct for api CreateLogConfig
+type CreateLogConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateLogConfigRequest creates a request to invoke CreateLogConfig API
+func CreateCreateLogConfigRequest() (request *CreateLogConfigRequest) {
+	request = &CreateLogConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "CreateLogConfig", "apigateway", "openAPI")
+	return
+}
+
+// CreateCreateLogConfigResponse creates a response to parse from CreateLogConfig response
+func CreateCreateLogConfigResponse() (response *CreateLogConfigResponse) {
+	response = &CreateLogConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cloudapi/create_signature.go

@@ -0,0 +1,107 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateSignature invokes the cloudapi.CreateSignature API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/createsignature.html
+func (client *Client) CreateSignature(request *CreateSignatureRequest) (response *CreateSignatureResponse, err error) {
+	response = CreateCreateSignatureResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateSignatureWithChan invokes the cloudapi.CreateSignature API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createsignature.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateSignatureWithChan(request *CreateSignatureRequest) (<-chan *CreateSignatureResponse, <-chan error) {
+	responseChan := make(chan *CreateSignatureResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateSignature(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateSignatureWithCallback invokes the cloudapi.CreateSignature API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createsignature.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateSignatureWithCallback(request *CreateSignatureRequest, callback func(response *CreateSignatureResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateSignatureResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateSignature(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateSignatureRequest is the request struct for api CreateSignature
+type CreateSignatureRequest struct {
+	*requests.RpcRequest
+	SignatureName   string `position:"Query" name:"SignatureName"`
+	SignatureKey    string `position:"Query" name:"SignatureKey"`
+	SignatureSecret string `position:"Query" name:"SignatureSecret"`
+}
+
+// CreateSignatureResponse is the response struct for api CreateSignature
+type CreateSignatureResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	SignatureId   string `json:"SignatureId" xml:"SignatureId"`
+	SignatureName string `json:"SignatureName" xml:"SignatureName"`
+}
+
+// CreateCreateSignatureRequest creates a request to invoke CreateSignature API
+func CreateCreateSignatureRequest() (request *CreateSignatureRequest) {
+	request = &CreateSignatureRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "CreateSignature", "apigateway", "openAPI")
+	return
+}
+
+// CreateCreateSignatureResponse creates a response to parse from CreateSignature response
+func CreateCreateSignatureResponse() (response *CreateSignatureResponse) {
+	response = &CreateSignatureResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cloudapi/create_traffic_control.go

@@ -0,0 +1,109 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateTrafficControl invokes the cloudapi.CreateTrafficControl API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/createtrafficcontrol.html
+func (client *Client) CreateTrafficControl(request *CreateTrafficControlRequest) (response *CreateTrafficControlResponse, err error) {
+	response = CreateCreateTrafficControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateTrafficControlWithChan invokes the cloudapi.CreateTrafficControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createtrafficcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateTrafficControlWithChan(request *CreateTrafficControlRequest) (<-chan *CreateTrafficControlResponse, <-chan error) {
+	responseChan := make(chan *CreateTrafficControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateTrafficControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateTrafficControlWithCallback invokes the cloudapi.CreateTrafficControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/createtrafficcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateTrafficControlWithCallback(request *CreateTrafficControlRequest, callback func(response *CreateTrafficControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateTrafficControlResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateTrafficControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateTrafficControlRequest is the request struct for api CreateTrafficControl
+type CreateTrafficControlRequest struct {
+	*requests.RpcRequest
+	TrafficControlName string           `position:"Query" name:"TrafficControlName"`
+	TrafficControlUnit string           `position:"Query" name:"TrafficControlUnit"`
+	ApiDefault         requests.Integer `position:"Query" name:"ApiDefault"`
+	UserDefault        requests.Integer `position:"Query" name:"UserDefault"`
+	AppDefault         requests.Integer `position:"Query" name:"AppDefault"`
+	Description        string           `position:"Query" name:"Description"`
+}
+
+// CreateTrafficControlResponse is the response struct for api CreateTrafficControl
+type CreateTrafficControlResponse struct {
+	*responses.BaseResponse
+	RequestId        string `json:"RequestId" xml:"RequestId"`
+	TrafficControlId string `json:"TrafficControlId" xml:"TrafficControlId"`
+}
+
+// CreateCreateTrafficControlRequest creates a request to invoke CreateTrafficControl API
+func CreateCreateTrafficControlRequest() (request *CreateTrafficControlRequest) {
+	request = &CreateTrafficControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "CreateTrafficControl", "apigateway", "openAPI")
+	return
+}
+
+// CreateCreateTrafficControlResponse creates a response to parse from CreateTrafficControl response
+func CreateCreateTrafficControlResponse() (response *CreateTrafficControlResponse) {
+	response = &CreateTrafficControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/delete_all_traffic_special_control.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteAllTrafficSpecialControl invokes the cloudapi.DeleteAllTrafficSpecialControl API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletealltrafficspecialcontrol.html
+func (client *Client) DeleteAllTrafficSpecialControl(request *DeleteAllTrafficSpecialControlRequest) (response *DeleteAllTrafficSpecialControlResponse, err error) {
+	response = CreateDeleteAllTrafficSpecialControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteAllTrafficSpecialControlWithChan invokes the cloudapi.DeleteAllTrafficSpecialControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletealltrafficspecialcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAllTrafficSpecialControlWithChan(request *DeleteAllTrafficSpecialControlRequest) (<-chan *DeleteAllTrafficSpecialControlResponse, <-chan error) {
+	responseChan := make(chan *DeleteAllTrafficSpecialControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteAllTrafficSpecialControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteAllTrafficSpecialControlWithCallback invokes the cloudapi.DeleteAllTrafficSpecialControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletealltrafficspecialcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAllTrafficSpecialControlWithCallback(request *DeleteAllTrafficSpecialControlRequest, callback func(response *DeleteAllTrafficSpecialControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteAllTrafficSpecialControlResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteAllTrafficSpecialControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteAllTrafficSpecialControlRequest is the request struct for api DeleteAllTrafficSpecialControl
+type DeleteAllTrafficSpecialControlRequest struct {
+	*requests.RpcRequest
+	TrafficControlId string `position:"Query" name:"TrafficControlId"`
+}
+
+// DeleteAllTrafficSpecialControlResponse is the response struct for api DeleteAllTrafficSpecialControl
+type DeleteAllTrafficSpecialControlResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteAllTrafficSpecialControlRequest creates a request to invoke DeleteAllTrafficSpecialControl API
+func CreateDeleteAllTrafficSpecialControlRequest() (request *DeleteAllTrafficSpecialControlRequest) {
+	request = &DeleteAllTrafficSpecialControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteAllTrafficSpecialControl", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteAllTrafficSpecialControlResponse creates a response to parse from DeleteAllTrafficSpecialControl response
+func CreateDeleteAllTrafficSpecialControlResponse() (response *DeleteAllTrafficSpecialControlResponse) {
+	response = &DeleteAllTrafficSpecialControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/cloudapi/delete_api.go

@@ -0,0 +1,104 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteApi invokes the cloudapi.DeleteApi API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapi.html
+func (client *Client) DeleteApi(request *DeleteApiRequest) (response *DeleteApiResponse, err error) {
+	response = CreateDeleteApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteApiWithChan invokes the cloudapi.DeleteApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteApiWithChan(request *DeleteApiRequest) (<-chan *DeleteApiResponse, <-chan error) {
+	responseChan := make(chan *DeleteApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteApi(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteApiWithCallback invokes the cloudapi.DeleteApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteApiWithCallback(request *DeleteApiRequest, callback func(response *DeleteApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteApiResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteApiRequest is the request struct for api DeleteApi
+type DeleteApiRequest struct {
+	*requests.RpcRequest
+	GroupId string `position:"Query" name:"GroupId"`
+	ApiId   string `position:"Query" name:"ApiId"`
+}
+
+// DeleteApiResponse is the response struct for api DeleteApi
+type DeleteApiResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteApiRequest creates a request to invoke DeleteApi API
+func CreateDeleteApiRequest() (request *DeleteApiRequest) {
+	request = &DeleteApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteApi", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteApiResponse creates a response to parse from DeleteApi response
+func CreateDeleteApiResponse() (response *DeleteApiResponse) {
+	response = &DeleteApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/delete_api_group.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteApiGroup invokes the cloudapi.DeleteApiGroup API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapigroup.html
+func (client *Client) DeleteApiGroup(request *DeleteApiGroupRequest) (response *DeleteApiGroupResponse, err error) {
+	response = CreateDeleteApiGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteApiGroupWithChan invokes the cloudapi.DeleteApiGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapigroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteApiGroupWithChan(request *DeleteApiGroupRequest) (<-chan *DeleteApiGroupResponse, <-chan error) {
+	responseChan := make(chan *DeleteApiGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteApiGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteApiGroupWithCallback invokes the cloudapi.DeleteApiGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapigroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteApiGroupWithCallback(request *DeleteApiGroupRequest, callback func(response *DeleteApiGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteApiGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteApiGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteApiGroupRequest is the request struct for api DeleteApiGroup
+type DeleteApiGroupRequest struct {
+	*requests.RpcRequest
+	GroupId string `position:"Query" name:"GroupId"`
+}
+
+// DeleteApiGroupResponse is the response struct for api DeleteApiGroup
+type DeleteApiGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteApiGroupRequest creates a request to invoke DeleteApiGroup API
+func CreateDeleteApiGroupRequest() (request *DeleteApiGroupRequest) {
+	request = &DeleteApiGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteApiGroup", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteApiGroupResponse creates a response to parse from DeleteApiGroup response
+func CreateDeleteApiGroupResponse() (response *DeleteApiGroupResponse) {
+	response = &DeleteApiGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/delete_api_stage_variable.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteApiStageVariable invokes the cloudapi.DeleteApiStageVariable API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapistagevariable.html
+func (client *Client) DeleteApiStageVariable(request *DeleteApiStageVariableRequest) (response *DeleteApiStageVariableResponse, err error) {
+	response = CreateDeleteApiStageVariableResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteApiStageVariableWithChan invokes the cloudapi.DeleteApiStageVariable API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapistagevariable.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteApiStageVariableWithChan(request *DeleteApiStageVariableRequest) (<-chan *DeleteApiStageVariableResponse, <-chan error) {
+	responseChan := make(chan *DeleteApiStageVariableResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteApiStageVariable(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteApiStageVariableWithCallback invokes the cloudapi.DeleteApiStageVariable API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapistagevariable.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteApiStageVariableWithCallback(request *DeleteApiStageVariableRequest, callback func(response *DeleteApiStageVariableResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteApiStageVariableResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteApiStageVariable(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteApiStageVariableRequest is the request struct for api DeleteApiStageVariable
+type DeleteApiStageVariableRequest struct {
+	*requests.RpcRequest
+	GroupId      string `position:"Query" name:"GroupId"`
+	StageId      string `position:"Query" name:"StageId"`
+	VariableName string `position:"Query" name:"VariableName"`
+}
+
+// DeleteApiStageVariableResponse is the response struct for api DeleteApiStageVariable
+type DeleteApiStageVariableResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteApiStageVariableRequest creates a request to invoke DeleteApiStageVariable API
+func CreateDeleteApiStageVariableRequest() (request *DeleteApiStageVariableRequest) {
+	request = &DeleteApiStageVariableRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteApiStageVariable", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteApiStageVariableResponse creates a response to parse from DeleteApiStageVariable response
+func CreateDeleteApiStageVariableResponse() (response *DeleteApiStageVariableResponse) {
+	response = &DeleteApiStageVariableResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/delete_app.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteApp invokes the cloudapi.DeleteApp API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapp.html
+func (client *Client) DeleteApp(request *DeleteAppRequest) (response *DeleteAppResponse, err error) {
+	response = CreateDeleteAppResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteAppWithChan invokes the cloudapi.DeleteApp API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAppWithChan(request *DeleteAppRequest) (<-chan *DeleteAppResponse, <-chan error) {
+	responseChan := make(chan *DeleteAppResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteApp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteAppWithCallback invokes the cloudapi.DeleteApp API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAppWithCallback(request *DeleteAppRequest, callback func(response *DeleteAppResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteAppResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteApp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteAppRequest is the request struct for api DeleteApp
+type DeleteAppRequest struct {
+	*requests.RpcRequest
+	AppId requests.Integer `position:"Query" name:"AppId"`
+}
+
+// DeleteAppResponse is the response struct for api DeleteApp
+type DeleteAppResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteAppRequest creates a request to invoke DeleteApp API
+func CreateDeleteAppRequest() (request *DeleteAppRequest) {
+	request = &DeleteAppRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteApp", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteAppResponse creates a response to parse from DeleteApp response
+func CreateDeleteAppResponse() (response *DeleteAppResponse) {
+	response = &DeleteAppResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/delete_catalog.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteCatalog invokes the cloudapi.DeleteCatalog API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletecatalog.html
+func (client *Client) DeleteCatalog(request *DeleteCatalogRequest) (response *DeleteCatalogResponse, err error) {
+	response = CreateDeleteCatalogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteCatalogWithChan invokes the cloudapi.DeleteCatalog API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletecatalog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteCatalogWithChan(request *DeleteCatalogRequest) (<-chan *DeleteCatalogResponse, <-chan error) {
+	responseChan := make(chan *DeleteCatalogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteCatalog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteCatalogWithCallback invokes the cloudapi.DeleteCatalog API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletecatalog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteCatalogWithCallback(request *DeleteCatalogRequest, callback func(response *DeleteCatalogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteCatalogResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteCatalog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteCatalogRequest is the request struct for api DeleteCatalog
+type DeleteCatalogRequest struct {
+	*requests.RpcRequest
+	CatalogId string `position:"Query" name:"CatalogId"`
+}
+
+// DeleteCatalogResponse is the response struct for api DeleteCatalog
+type DeleteCatalogResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteCatalogRequest creates a request to invoke DeleteCatalog API
+func CreateDeleteCatalogRequest() (request *DeleteCatalogRequest) {
+	request = &DeleteCatalogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteCatalog", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteCatalogResponse creates a response to parse from DeleteCatalog response
+func CreateDeleteCatalogResponse() (response *DeleteCatalogResponse) {
+	response = &DeleteCatalogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/cloudapi/delete_domain.go

@@ -0,0 +1,104 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteDomain invokes the cloudapi.DeleteDomain API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletedomain.html
+func (client *Client) DeleteDomain(request *DeleteDomainRequest) (response *DeleteDomainResponse, err error) {
+	response = CreateDeleteDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteDomainWithChan invokes the cloudapi.DeleteDomain API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletedomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDomainWithChan(request *DeleteDomainRequest) (<-chan *DeleteDomainResponse, <-chan error) {
+	responseChan := make(chan *DeleteDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteDomainWithCallback invokes the cloudapi.DeleteDomain API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletedomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDomainWithCallback(request *DeleteDomainRequest, callback func(response *DeleteDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteDomainRequest is the request struct for api DeleteDomain
+type DeleteDomainRequest struct {
+	*requests.RpcRequest
+	GroupId    string `position:"Query" name:"GroupId"`
+	DomainName string `position:"Query" name:"DomainName"`
+}
+
+// DeleteDomainResponse is the response struct for api DeleteDomain
+type DeleteDomainResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteDomainRequest creates a request to invoke DeleteDomain API
+func CreateDeleteDomainRequest() (request *DeleteDomainRequest) {
+	request = &DeleteDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteDomain", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteDomainResponse creates a response to parse from DeleteDomain response
+func CreateDeleteDomainResponse() (response *DeleteDomainResponse) {
+	response = &DeleteDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/delete_domain_certificate.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteDomainCertificate invokes the cloudapi.DeleteDomainCertificate API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletedomaincertificate.html
+func (client *Client) DeleteDomainCertificate(request *DeleteDomainCertificateRequest) (response *DeleteDomainCertificateResponse, err error) {
+	response = CreateDeleteDomainCertificateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteDomainCertificateWithChan invokes the cloudapi.DeleteDomainCertificate API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletedomaincertificate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDomainCertificateWithChan(request *DeleteDomainCertificateRequest) (<-chan *DeleteDomainCertificateResponse, <-chan error) {
+	responseChan := make(chan *DeleteDomainCertificateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDomainCertificate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteDomainCertificateWithCallback invokes the cloudapi.DeleteDomainCertificate API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletedomaincertificate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDomainCertificateWithCallback(request *DeleteDomainCertificateRequest, callback func(response *DeleteDomainCertificateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDomainCertificateResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDomainCertificate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteDomainCertificateRequest is the request struct for api DeleteDomainCertificate
+type DeleteDomainCertificateRequest struct {
+	*requests.RpcRequest
+	GroupId       string `position:"Query" name:"GroupId"`
+	DomainName    string `position:"Query" name:"DomainName"`
+	CertificateId string `position:"Query" name:"CertificateId"`
+}
+
+// DeleteDomainCertificateResponse is the response struct for api DeleteDomainCertificate
+type DeleteDomainCertificateResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteDomainCertificateRequest creates a request to invoke DeleteDomainCertificate API
+func CreateDeleteDomainCertificateRequest() (request *DeleteDomainCertificateRequest) {
+	request = &DeleteDomainCertificateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteDomainCertificate", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteDomainCertificateResponse creates a response to parse from DeleteDomainCertificate response
+func CreateDeleteDomainCertificateResponse() (response *DeleteDomainCertificateResponse) {
+	response = &DeleteDomainCertificateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/delete_ip_control.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteIpControl invokes the cloudapi.DeleteIpControl API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteipcontrol.html
+func (client *Client) DeleteIpControl(request *DeleteIpControlRequest) (response *DeleteIpControlResponse, err error) {
+	response = CreateDeleteIpControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteIpControlWithChan invokes the cloudapi.DeleteIpControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteipcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteIpControlWithChan(request *DeleteIpControlRequest) (<-chan *DeleteIpControlResponse, <-chan error) {
+	responseChan := make(chan *DeleteIpControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteIpControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteIpControlWithCallback invokes the cloudapi.DeleteIpControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deleteipcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteIpControlWithCallback(request *DeleteIpControlRequest, callback func(response *DeleteIpControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteIpControlResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteIpControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteIpControlRequest is the request struct for api DeleteIpControl
+type DeleteIpControlRequest struct {
+	*requests.RpcRequest
+	IpControlId string `position:"Query" name:"IpControlId"`
+}
+
+// DeleteIpControlResponse is the response struct for api DeleteIpControl
+type DeleteIpControlResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteIpControlRequest creates a request to invoke DeleteIpControl API
+func CreateDeleteIpControlRequest() (request *DeleteIpControlRequest) {
+	request = &DeleteIpControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteIpControl", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteIpControlResponse creates a response to parse from DeleteIpControl response
+func CreateDeleteIpControlResponse() (response *DeleteIpControlResponse) {
+	response = &DeleteIpControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/delete_log_config.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteLogConfig invokes the cloudapi.DeleteLogConfig API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletelogconfig.html
+func (client *Client) DeleteLogConfig(request *DeleteLogConfigRequest) (response *DeleteLogConfigResponse, err error) {
+	response = CreateDeleteLogConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteLogConfigWithChan invokes the cloudapi.DeleteLogConfig API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletelogconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteLogConfigWithChan(request *DeleteLogConfigRequest) (<-chan *DeleteLogConfigResponse, <-chan error) {
+	responseChan := make(chan *DeleteLogConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteLogConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteLogConfigWithCallback invokes the cloudapi.DeleteLogConfig API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletelogconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteLogConfigWithCallback(request *DeleteLogConfigRequest, callback func(response *DeleteLogConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteLogConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteLogConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteLogConfigRequest is the request struct for api DeleteLogConfig
+type DeleteLogConfigRequest struct {
+	*requests.RpcRequest
+	LogType string `position:"Query" name:"LogType"`
+}
+
+// DeleteLogConfigResponse is the response struct for api DeleteLogConfig
+type DeleteLogConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteLogConfigRequest creates a request to invoke DeleteLogConfig API
+func CreateDeleteLogConfigRequest() (request *DeleteLogConfigRequest) {
+	request = &DeleteLogConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteLogConfig", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteLogConfigResponse creates a response to parse from DeleteLogConfig response
+func CreateDeleteLogConfigResponse() (response *DeleteLogConfigResponse) {
+	response = &DeleteLogConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/delete_signature.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteSignature invokes the cloudapi.DeleteSignature API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletesignature.html
+func (client *Client) DeleteSignature(request *DeleteSignatureRequest) (response *DeleteSignatureResponse, err error) {
+	response = CreateDeleteSignatureResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteSignatureWithChan invokes the cloudapi.DeleteSignature API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletesignature.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteSignatureWithChan(request *DeleteSignatureRequest) (<-chan *DeleteSignatureResponse, <-chan error) {
+	responseChan := make(chan *DeleteSignatureResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteSignature(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteSignatureWithCallback invokes the cloudapi.DeleteSignature API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletesignature.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteSignatureWithCallback(request *DeleteSignatureRequest, callback func(response *DeleteSignatureResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteSignatureResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteSignature(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteSignatureRequest is the request struct for api DeleteSignature
+type DeleteSignatureRequest struct {
+	*requests.RpcRequest
+	SignatureId string `position:"Query" name:"SignatureId"`
+}
+
+// DeleteSignatureResponse is the response struct for api DeleteSignature
+type DeleteSignatureResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteSignatureRequest creates a request to invoke DeleteSignature API
+func CreateDeleteSignatureRequest() (request *DeleteSignatureRequest) {
+	request = &DeleteSignatureRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteSignature", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteSignatureResponse creates a response to parse from DeleteSignature response
+func CreateDeleteSignatureResponse() (response *DeleteSignatureResponse) {
+	response = &DeleteSignatureResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/delete_traffic_control.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteTrafficControl invokes the cloudapi.DeleteTrafficControl API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletetrafficcontrol.html
+func (client *Client) DeleteTrafficControl(request *DeleteTrafficControlRequest) (response *DeleteTrafficControlResponse, err error) {
+	response = CreateDeleteTrafficControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteTrafficControlWithChan invokes the cloudapi.DeleteTrafficControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletetrafficcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTrafficControlWithChan(request *DeleteTrafficControlRequest) (<-chan *DeleteTrafficControlResponse, <-chan error) {
+	responseChan := make(chan *DeleteTrafficControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteTrafficControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteTrafficControlWithCallback invokes the cloudapi.DeleteTrafficControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletetrafficcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTrafficControlWithCallback(request *DeleteTrafficControlRequest, callback func(response *DeleteTrafficControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteTrafficControlResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteTrafficControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteTrafficControlRequest is the request struct for api DeleteTrafficControl
+type DeleteTrafficControlRequest struct {
+	*requests.RpcRequest
+	TrafficControlId string `position:"Query" name:"TrafficControlId"`
+}
+
+// DeleteTrafficControlResponse is the response struct for api DeleteTrafficControl
+type DeleteTrafficControlResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteTrafficControlRequest creates a request to invoke DeleteTrafficControl API
+func CreateDeleteTrafficControlRequest() (request *DeleteTrafficControlRequest) {
+	request = &DeleteTrafficControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteTrafficControl", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteTrafficControlResponse creates a response to parse from DeleteTrafficControl response
+func CreateDeleteTrafficControlResponse() (response *DeleteTrafficControlResponse) {
+	response = &DeleteTrafficControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/delete_traffic_special_control.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteTrafficSpecialControl invokes the cloudapi.DeleteTrafficSpecialControl API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletetrafficspecialcontrol.html
+func (client *Client) DeleteTrafficSpecialControl(request *DeleteTrafficSpecialControlRequest) (response *DeleteTrafficSpecialControlResponse, err error) {
+	response = CreateDeleteTrafficSpecialControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteTrafficSpecialControlWithChan invokes the cloudapi.DeleteTrafficSpecialControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletetrafficspecialcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTrafficSpecialControlWithChan(request *DeleteTrafficSpecialControlRequest) (<-chan *DeleteTrafficSpecialControlResponse, <-chan error) {
+	responseChan := make(chan *DeleteTrafficSpecialControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteTrafficSpecialControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteTrafficSpecialControlWithCallback invokes the cloudapi.DeleteTrafficSpecialControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deletetrafficspecialcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTrafficSpecialControlWithCallback(request *DeleteTrafficSpecialControlRequest, callback func(response *DeleteTrafficSpecialControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteTrafficSpecialControlResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteTrafficSpecialControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteTrafficSpecialControlRequest is the request struct for api DeleteTrafficSpecialControl
+type DeleteTrafficSpecialControlRequest struct {
+	*requests.RpcRequest
+	TrafficControlId string `position:"Query" name:"TrafficControlId"`
+	SpecialType      string `position:"Query" name:"SpecialType"`
+	SpecialKey       string `position:"Query" name:"SpecialKey"`
+}
+
+// DeleteTrafficSpecialControlResponse is the response struct for api DeleteTrafficSpecialControl
+type DeleteTrafficSpecialControlResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteTrafficSpecialControlRequest creates a request to invoke DeleteTrafficSpecialControl API
+func CreateDeleteTrafficSpecialControlRequest() (request *DeleteTrafficSpecialControlRequest) {
+	request = &DeleteTrafficSpecialControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeleteTrafficSpecialControl", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeleteTrafficSpecialControlResponse creates a response to parse from DeleteTrafficSpecialControl response
+func CreateDeleteTrafficSpecialControlResponse() (response *DeleteTrafficSpecialControlResponse) {
+	response = &DeleteTrafficSpecialControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/deploy_api.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeployApi invokes the cloudapi.DeployApi API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/deployapi.html
+func (client *Client) DeployApi(request *DeployApiRequest) (response *DeployApiResponse, err error) {
+	response = CreateDeployApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeployApiWithChan invokes the cloudapi.DeployApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deployapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeployApiWithChan(request *DeployApiRequest) (<-chan *DeployApiResponse, <-chan error) {
+	responseChan := make(chan *DeployApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeployApi(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeployApiWithCallback invokes the cloudapi.DeployApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/deployapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeployApiWithCallback(request *DeployApiRequest, callback func(response *DeployApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeployApiResponse
+		var err error
+		defer close(result)
+		response, err = client.DeployApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeployApiRequest is the request struct for api DeployApi
+type DeployApiRequest struct {
+	*requests.RpcRequest
+	GroupId     string `position:"Query" name:"GroupId"`
+	ApiId       string `position:"Query" name:"ApiId"`
+	StageName   string `position:"Query" name:"StageName"`
+	Description string `position:"Query" name:"Description"`
+}
+
+// DeployApiResponse is the response struct for api DeployApi
+type DeployApiResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeployApiRequest creates a request to invoke DeployApi API
+func CreateDeployApiRequest() (request *DeployApiRequest) {
+	request = &DeployApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DeployApi", "apigateway", "openAPI")
+	return
+}
+
+// CreateDeployApiResponse creates a response to parse from DeployApi response
+func CreateDeployApiResponse() (response *DeployApiResponse) {
+	response = &DeployApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 133 - 0
services/cloudapi/describe_api.go

@@ -0,0 +1,133 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApi invokes the cloudapi.DescribeApi API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapi.html
+func (client *Client) DescribeApi(request *DescribeApiRequest) (response *DescribeApiResponse, err error) {
+	response = CreateDescribeApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiWithChan invokes the cloudapi.DescribeApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiWithChan(request *DescribeApiRequest) (<-chan *DescribeApiResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApi(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiWithCallback invokes the cloudapi.DescribeApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiWithCallback(request *DescribeApiRequest, callback func(response *DescribeApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiRequest is the request struct for api DescribeApi
+type DescribeApiRequest struct {
+	*requests.RpcRequest
+	GroupId string `position:"Query" name:"GroupId"`
+	ApiId   string `position:"Query" name:"ApiId"`
+}
+
+// DescribeApiResponse is the response struct for api DescribeApi
+type DescribeApiResponse struct {
+	*responses.BaseResponse
+	RequestId              string                              `json:"RequestId" xml:"RequestId"`
+	RegionId               string                              `json:"RegionId" xml:"RegionId"`
+	ApiId                  string                              `json:"ApiId" xml:"ApiId"`
+	ApiName                string                              `json:"ApiName" xml:"ApiName"`
+	GroupId                string                              `json:"GroupId" xml:"GroupId"`
+	GroupName              string                              `json:"GroupName" xml:"GroupName"`
+	Visibility             string                              `json:"Visibility" xml:"Visibility"`
+	AuthType               string                              `json:"AuthType" xml:"AuthType"`
+	ResultType             string                              `json:"ResultType" xml:"ResultType"`
+	ResultSample           string                              `json:"ResultSample" xml:"ResultSample"`
+	FailResultSample       string                              `json:"FailResultSample" xml:"FailResultSample"`
+	CreatedTime            string                              `json:"CreatedTime" xml:"CreatedTime"`
+	ModifiedTime           string                              `json:"ModifiedTime" xml:"ModifiedTime"`
+	Description            string                              `json:"Description" xml:"Description"`
+	Mock                   string                              `json:"Mock" xml:"Mock"`
+	MockResult             string                              `json:"MockResult" xml:"MockResult"`
+	AllowSignatureMethod   string                              `json:"AllowSignatureMethod" xml:"AllowSignatureMethod"`
+	WebSocketApiType       string                              `json:"WebSocketApiType" xml:"WebSocketApiType"`
+	RequestConfig          RequestConfig                       `json:"RequestConfig" xml:"RequestConfig"`
+	ServiceConfig          ServiceConfig                       `json:"ServiceConfig" xml:"ServiceConfig"`
+	OpenIdConnectConfig    OpenIdConnectConfig                 `json:"OpenIdConnectConfig" xml:"OpenIdConnectConfig"`
+	ErrorCodeSamples       ErrorCodeSamplesInDescribeApi       `json:"ErrorCodeSamples" xml:"ErrorCodeSamples"`
+	ResultDescriptions     ResultDescriptionsInDescribeApi     `json:"ResultDescriptions" xml:"ResultDescriptions"`
+	SystemParameters       SystemParametersInDescribeApi       `json:"SystemParameters" xml:"SystemParameters"`
+	CustomSystemParameters CustomSystemParametersInDescribeApi `json:"CustomSystemParameters" xml:"CustomSystemParameters"`
+	ConstantParameters     ConstantParametersInDescribeApi     `json:"ConstantParameters" xml:"ConstantParameters"`
+	RequestParameters      RequestParametersInDescribeApi      `json:"RequestParameters" xml:"RequestParameters"`
+	ServiceParameters      ServiceParametersInDescribeApi      `json:"ServiceParameters" xml:"ServiceParameters"`
+	ServiceParametersMap   ServiceParametersMapInDescribeApi   `json:"ServiceParametersMap" xml:"ServiceParametersMap"`
+	DeployedInfos          DeployedInfos                       `json:"DeployedInfos" xml:"DeployedInfos"`
+}
+
+// CreateDescribeApiRequest creates a request to invoke DescribeApi API
+func CreateDescribeApiRequest() (request *DescribeApiRequest) {
+	request = &DescribeApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApi", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiResponse creates a response to parse from DescribeApi response
+func CreateDescribeApiResponse() (response *DescribeApiResponse) {
+	response = &DescribeApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 122 - 0
services/cloudapi/describe_api_doc.go

@@ -0,0 +1,122 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiDoc invokes the cloudapi.DescribeApiDoc API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapidoc.html
+func (client *Client) DescribeApiDoc(request *DescribeApiDocRequest) (response *DescribeApiDocResponse, err error) {
+	response = CreateDescribeApiDocResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiDocWithChan invokes the cloudapi.DescribeApiDoc API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapidoc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiDocWithChan(request *DescribeApiDocRequest) (<-chan *DescribeApiDocResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiDocResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiDoc(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiDocWithCallback invokes the cloudapi.DescribeApiDoc API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapidoc.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiDocWithCallback(request *DescribeApiDocRequest, callback func(response *DescribeApiDocResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiDocResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiDoc(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiDocRequest is the request struct for api DescribeApiDoc
+type DescribeApiDocRequest struct {
+	*requests.RpcRequest
+	GroupId   string `position:"Query" name:"GroupId"`
+	StageName string `position:"Query" name:"StageName"`
+	ApiId     string `position:"Query" name:"ApiId"`
+}
+
+// DescribeApiDocResponse is the response struct for api DescribeApiDoc
+type DescribeApiDocResponse struct {
+	*responses.BaseResponse
+	RequestId          string                             `json:"RequestId" xml:"RequestId"`
+	RegionId           string                             `json:"RegionId" xml:"RegionId"`
+	GroupId            string                             `json:"GroupId" xml:"GroupId"`
+	GroupName          string                             `json:"GroupName" xml:"GroupName"`
+	StageName          string                             `json:"StageName" xml:"StageName"`
+	ApiId              string                             `json:"ApiId" xml:"ApiId"`
+	ApiName            string                             `json:"ApiName" xml:"ApiName"`
+	Description        string                             `json:"Description" xml:"Description"`
+	Visibility         string                             `json:"Visibility" xml:"Visibility"`
+	AuthType           string                             `json:"AuthType" xml:"AuthType"`
+	ResultType         string                             `json:"ResultType" xml:"ResultType"`
+	ResultSample       string                             `json:"ResultSample" xml:"ResultSample"`
+	FailResultSample   string                             `json:"FailResultSample" xml:"FailResultSample"`
+	DeployedTime       string                             `json:"DeployedTime" xml:"DeployedTime"`
+	RequestConfig      RequestConfig                      `json:"RequestConfig" xml:"RequestConfig"`
+	ErrorCodeSamples   ErrorCodeSamplesInDescribeApiDoc   `json:"ErrorCodeSamples" xml:"ErrorCodeSamples"`
+	ResultDescriptions ResultDescriptionsInDescribeApiDoc `json:"ResultDescriptions" xml:"ResultDescriptions"`
+	RequestParameters  RequestParametersInDescribeApiDoc  `json:"RequestParameters" xml:"RequestParameters"`
+}
+
+// CreateDescribeApiDocRequest creates a request to invoke DescribeApiDoc API
+func CreateDescribeApiDocRequest() (request *DescribeApiDocRequest) {
+	request = &DescribeApiDocRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiDoc", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiDocResponse creates a response to parse from DescribeApiDoc response
+func CreateDescribeApiDocResponse() (response *DescribeApiDocResponse) {
+	response = &DescribeApiDocResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cloudapi/describe_api_error_data.go

@@ -0,0 +1,108 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiErrorData invokes the cloudapi.DescribeApiErrorData API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapierrordata.html
+func (client *Client) DescribeApiErrorData(request *DescribeApiErrorDataRequest) (response *DescribeApiErrorDataResponse, err error) {
+	response = CreateDescribeApiErrorDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiErrorDataWithChan invokes the cloudapi.DescribeApiErrorData API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapierrordata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiErrorDataWithChan(request *DescribeApiErrorDataRequest) (<-chan *DescribeApiErrorDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiErrorDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiErrorData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiErrorDataWithCallback invokes the cloudapi.DescribeApiErrorData API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapierrordata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiErrorDataWithCallback(request *DescribeApiErrorDataRequest, callback func(response *DescribeApiErrorDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiErrorDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiErrorData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiErrorDataRequest is the request struct for api DescribeApiErrorData
+type DescribeApiErrorDataRequest struct {
+	*requests.RpcRequest
+	ApiId     string `position:"Query" name:"ApiId"`
+	GroupId   string `position:"Query" name:"GroupId"`
+	StartTime string `position:"Query" name:"StartTime"`
+	EndTime   string `position:"Query" name:"EndTime"`
+}
+
+// DescribeApiErrorDataResponse is the response struct for api DescribeApiErrorData
+type DescribeApiErrorDataResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	ClientErrors ClientErrors `json:"ClientErrors" xml:"ClientErrors"`
+	ServerErrors ServerErrors `json:"ServerErrors" xml:"ServerErrors"`
+}
+
+// CreateDescribeApiErrorDataRequest creates a request to invoke DescribeApiErrorData API
+func CreateDescribeApiErrorDataRequest() (request *DescribeApiErrorDataRequest) {
+	request = &DescribeApiErrorDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiErrorData", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiErrorDataResponse creates a response to parse from DescribeApiErrorData response
+func CreateDescribeApiErrorDataResponse() (response *DescribeApiErrorDataResponse) {
+	response = &DescribeApiErrorDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/cloudapi/describe_api_group.go

@@ -0,0 +1,116 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiGroup invokes the cloudapi.DescribeApiGroup API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapigroup.html
+func (client *Client) DescribeApiGroup(request *DescribeApiGroupRequest) (response *DescribeApiGroupResponse, err error) {
+	response = CreateDescribeApiGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiGroupWithChan invokes the cloudapi.DescribeApiGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapigroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiGroupWithChan(request *DescribeApiGroupRequest) (<-chan *DescribeApiGroupResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiGroupWithCallback invokes the cloudapi.DescribeApiGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapigroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiGroupWithCallback(request *DescribeApiGroupRequest, callback func(response *DescribeApiGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiGroupRequest is the request struct for api DescribeApiGroup
+type DescribeApiGroupRequest struct {
+	*requests.RpcRequest
+	GroupId string `position:"Query" name:"GroupId"`
+}
+
+// DescribeApiGroupResponse is the response struct for api DescribeApiGroup
+type DescribeApiGroupResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	GroupId       string        `json:"GroupId" xml:"GroupId"`
+	GroupName     string        `json:"GroupName" xml:"GroupName"`
+	SubDomain     string        `json:"SubDomain" xml:"SubDomain"`
+	Description   string        `json:"Description" xml:"Description"`
+	CreatedTime   string        `json:"CreatedTime" xml:"CreatedTime"`
+	ModifiedTime  string        `json:"ModifiedTime" xml:"ModifiedTime"`
+	RegionId      string        `json:"RegionId" xml:"RegionId"`
+	Status        string        `json:"Status" xml:"Status"`
+	BillingStatus string        `json:"BillingStatus" xml:"BillingStatus"`
+	IllegalStatus string        `json:"IllegalStatus" xml:"IllegalStatus"`
+	TrafficLimit  int           `json:"TrafficLimit" xml:"TrafficLimit"`
+	CustomDomains CustomDomains `json:"CustomDomains" xml:"CustomDomains"`
+	StageItems    StageItems    `json:"StageItems" xml:"StageItems"`
+}
+
+// CreateDescribeApiGroupRequest creates a request to invoke DescribeApiGroup API
+func CreateDescribeApiGroupRequest() (request *DescribeApiGroupRequest) {
+	request = &DescribeApiGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiGroup", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiGroupResponse creates a response to parse from DescribeApiGroup response
+func CreateDescribeApiGroupResponse() (response *DescribeApiGroupResponse) {
+	response = &DescribeApiGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cloudapi/describe_api_groups.go

@@ -0,0 +1,110 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiGroups invokes the cloudapi.DescribeApiGroups API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapigroups.html
+func (client *Client) DescribeApiGroups(request *DescribeApiGroupsRequest) (response *DescribeApiGroupsResponse, err error) {
+	response = CreateDescribeApiGroupsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiGroupsWithChan invokes the cloudapi.DescribeApiGroups API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapigroups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiGroupsWithChan(request *DescribeApiGroupsRequest) (<-chan *DescribeApiGroupsResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiGroupsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiGroups(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiGroupsWithCallback invokes the cloudapi.DescribeApiGroups API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapigroups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiGroupsWithCallback(request *DescribeApiGroupsRequest, callback func(response *DescribeApiGroupsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiGroupsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiGroups(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiGroupsRequest is the request struct for api DescribeApiGroups
+type DescribeApiGroupsRequest struct {
+	*requests.RpcRequest
+	GroupId    string           `position:"Query" name:"GroupId"`
+	GroupName  string           `position:"Query" name:"GroupName"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeApiGroupsResponse is the response struct for api DescribeApiGroups
+type DescribeApiGroupsResponse struct {
+	*responses.BaseResponse
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	TotalCount         int                `json:"TotalCount" xml:"TotalCount"`
+	PageSize           int                `json:"PageSize" xml:"PageSize"`
+	PageNumber         int                `json:"PageNumber" xml:"PageNumber"`
+	ApiGroupAttributes ApiGroupAttributes `json:"ApiGroupAttributes" xml:"ApiGroupAttributes"`
+}
+
+// CreateDescribeApiGroupsRequest creates a request to invoke DescribeApiGroups API
+func CreateDescribeApiGroupsRequest() (request *DescribeApiGroupsRequest) {
+	request = &DescribeApiGroupsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiGroups", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiGroupsResponse creates a response to parse from DescribeApiGroups response
+func CreateDescribeApiGroupsResponse() (response *DescribeApiGroupsResponse) {
+	response = &DescribeApiGroupsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cloudapi/describe_api_histories.go

@@ -0,0 +1,112 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiHistories invokes the cloudapi.DescribeApiHistories API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapihistories.html
+func (client *Client) DescribeApiHistories(request *DescribeApiHistoriesRequest) (response *DescribeApiHistoriesResponse, err error) {
+	response = CreateDescribeApiHistoriesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiHistoriesWithChan invokes the cloudapi.DescribeApiHistories API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapihistories.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiHistoriesWithChan(request *DescribeApiHistoriesRequest) (<-chan *DescribeApiHistoriesResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiHistoriesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiHistories(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiHistoriesWithCallback invokes the cloudapi.DescribeApiHistories API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapihistories.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiHistoriesWithCallback(request *DescribeApiHistoriesRequest, callback func(response *DescribeApiHistoriesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiHistoriesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiHistories(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiHistoriesRequest is the request struct for api DescribeApiHistories
+type DescribeApiHistoriesRequest struct {
+	*requests.RpcRequest
+	GroupId    string `position:"Query" name:"GroupId"`
+	StageName  string `position:"Query" name:"StageName"`
+	ApiId      string `position:"Query" name:"ApiId"`
+	ApiName    string `position:"Query" name:"ApiName"`
+	PageSize   string `position:"Query" name:"PageSize"`
+	PageNumber string `position:"Query" name:"PageNumber"`
+}
+
+// DescribeApiHistoriesResponse is the response struct for api DescribeApiHistories
+type DescribeApiHistoriesResponse struct {
+	*responses.BaseResponse
+	RequestId   string                            `json:"RequestId" xml:"RequestId"`
+	TotalCount  int                               `json:"TotalCount" xml:"TotalCount"`
+	PageSize    int                               `json:"PageSize" xml:"PageSize"`
+	PageNumber  int                               `json:"PageNumber" xml:"PageNumber"`
+	ApiHisItems ApiHisItemsInDescribeApiHistories `json:"ApiHisItems" xml:"ApiHisItems"`
+}
+
+// CreateDescribeApiHistoriesRequest creates a request to invoke DescribeApiHistories API
+func CreateDescribeApiHistoriesRequest() (request *DescribeApiHistoriesRequest) {
+	request = &DescribeApiHistoriesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiHistories", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiHistoriesResponse creates a response to parse from DescribeApiHistories response
+func CreateDescribeApiHistoriesResponse() (response *DescribeApiHistoriesResponse) {
+	response = &DescribeApiHistoriesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 133 - 0
services/cloudapi/describe_api_history.go

@@ -0,0 +1,133 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiHistory invokes the cloudapi.DescribeApiHistory API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapihistory.html
+func (client *Client) DescribeApiHistory(request *DescribeApiHistoryRequest) (response *DescribeApiHistoryResponse, err error) {
+	response = CreateDescribeApiHistoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiHistoryWithChan invokes the cloudapi.DescribeApiHistory API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapihistory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiHistoryWithChan(request *DescribeApiHistoryRequest) (<-chan *DescribeApiHistoryResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiHistoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiHistory(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiHistoryWithCallback invokes the cloudapi.DescribeApiHistory API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapihistory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiHistoryWithCallback(request *DescribeApiHistoryRequest, callback func(response *DescribeApiHistoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiHistoryResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiHistory(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiHistoryRequest is the request struct for api DescribeApiHistory
+type DescribeApiHistoryRequest struct {
+	*requests.RpcRequest
+	GroupId        string `position:"Query" name:"GroupId"`
+	ApiId          string `position:"Query" name:"ApiId"`
+	StageName      string `position:"Query" name:"StageName"`
+	HistoryVersion string `position:"Query" name:"HistoryVersion"`
+}
+
+// DescribeApiHistoryResponse is the response struct for api DescribeApiHistory
+type DescribeApiHistoryResponse struct {
+	*responses.BaseResponse
+	RequestId              string                                     `json:"RequestId" xml:"RequestId"`
+	RegionId               string                                     `json:"RegionId" xml:"RegionId"`
+	GroupId                string                                     `json:"GroupId" xml:"GroupId"`
+	GroupName              string                                     `json:"GroupName" xml:"GroupName"`
+	StageName              string                                     `json:"StageName" xml:"StageName"`
+	ApiId                  string                                     `json:"ApiId" xml:"ApiId"`
+	ApiName                string                                     `json:"ApiName" xml:"ApiName"`
+	Description            string                                     `json:"Description" xml:"Description"`
+	HistoryVersion         string                                     `json:"HistoryVersion" xml:"HistoryVersion"`
+	Status                 string                                     `json:"Status" xml:"Status"`
+	Visibility             string                                     `json:"Visibility" xml:"Visibility"`
+	AuthType               string                                     `json:"AuthType" xml:"AuthType"`
+	ResultType             string                                     `json:"ResultType" xml:"ResultType"`
+	ResultSample           string                                     `json:"ResultSample" xml:"ResultSample"`
+	FailResultSample       string                                     `json:"FailResultSample" xml:"FailResultSample"`
+	DeployedTime           string                                     `json:"DeployedTime" xml:"DeployedTime"`
+	AllowSignatureMethod   string                                     `json:"AllowSignatureMethod" xml:"AllowSignatureMethod"`
+	RequestConfig          RequestConfig                              `json:"RequestConfig" xml:"RequestConfig"`
+	ServiceConfig          ServiceConfig                              `json:"ServiceConfig" xml:"ServiceConfig"`
+	OpenIdConnectConfig    OpenIdConnectConfig                        `json:"OpenIdConnectConfig" xml:"OpenIdConnectConfig"`
+	ErrorCodeSamples       ErrorCodeSamplesInDescribeApiHistory       `json:"ErrorCodeSamples" xml:"ErrorCodeSamples"`
+	ResultDescriptions     ResultDescriptionsInDescribeApiHistory     `json:"ResultDescriptions" xml:"ResultDescriptions"`
+	SystemParameters       SystemParametersInDescribeApiHistory       `json:"SystemParameters" xml:"SystemParameters"`
+	CustomSystemParameters CustomSystemParametersInDescribeApiHistory `json:"CustomSystemParameters" xml:"CustomSystemParameters"`
+	ConstantParameters     ConstantParametersInDescribeApiHistory     `json:"ConstantParameters" xml:"ConstantParameters"`
+	RequestParameters      RequestParametersInDescribeApiHistory      `json:"RequestParameters" xml:"RequestParameters"`
+	ServiceParameters      ServiceParametersInDescribeApiHistory      `json:"ServiceParameters" xml:"ServiceParameters"`
+	ServiceParametersMap   ServiceParametersMapInDescribeApiHistory   `json:"ServiceParametersMap" xml:"ServiceParametersMap"`
+}
+
+// CreateDescribeApiHistoryRequest creates a request to invoke DescribeApiHistory API
+func CreateDescribeApiHistoryRequest() (request *DescribeApiHistoryRequest) {
+	request = &DescribeApiHistoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiHistory", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiHistoryResponse creates a response to parse from DescribeApiHistory response
+func CreateDescribeApiHistoryResponse() (response *DescribeApiHistoryResponse) {
+	response = &DescribeApiHistoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cloudapi/describe_api_ip_controls.go

@@ -0,0 +1,111 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiIpControls invokes the cloudapi.DescribeApiIpControls API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapiipcontrols.html
+func (client *Client) DescribeApiIpControls(request *DescribeApiIpControlsRequest) (response *DescribeApiIpControlsResponse, err error) {
+	response = CreateDescribeApiIpControlsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiIpControlsWithChan invokes the cloudapi.DescribeApiIpControls API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapiipcontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiIpControlsWithChan(request *DescribeApiIpControlsRequest) (<-chan *DescribeApiIpControlsResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiIpControlsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiIpControls(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiIpControlsWithCallback invokes the cloudapi.DescribeApiIpControls API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapiipcontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiIpControlsWithCallback(request *DescribeApiIpControlsRequest, callback func(response *DescribeApiIpControlsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiIpControlsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiIpControls(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiIpControlsRequest is the request struct for api DescribeApiIpControls
+type DescribeApiIpControlsRequest struct {
+	*requests.RpcRequest
+	StageName  string           `position:"Query" name:"StageName"`
+	GroupId    string           `position:"Query" name:"GroupId"`
+	ApiIds     string           `position:"Query" name:"ApiIds"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeApiIpControlsResponse is the response struct for api DescribeApiIpControls
+type DescribeApiIpControlsResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	TotalCount    int           `json:"TotalCount" xml:"TotalCount"`
+	PageSize      int           `json:"PageSize" xml:"PageSize"`
+	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
+	ApiIpControls ApiIpControls `json:"ApiIpControls" xml:"ApiIpControls"`
+}
+
+// CreateDescribeApiIpControlsRequest creates a request to invoke DescribeApiIpControls API
+func CreateDescribeApiIpControlsRequest() (request *DescribeApiIpControlsRequest) {
+	request = &DescribeApiIpControlsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiIpControls", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiIpControlsResponse creates a response to parse from DescribeApiIpControls response
+func CreateDescribeApiIpControlsResponse() (response *DescribeApiIpControlsResponse) {
+	response = &DescribeApiIpControlsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cloudapi/describe_api_latency_data.go

@@ -0,0 +1,107 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiLatencyData invokes the cloudapi.DescribeApiLatencyData API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapilatencydata.html
+func (client *Client) DescribeApiLatencyData(request *DescribeApiLatencyDataRequest) (response *DescribeApiLatencyDataResponse, err error) {
+	response = CreateDescribeApiLatencyDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiLatencyDataWithChan invokes the cloudapi.DescribeApiLatencyData API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapilatencydata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiLatencyDataWithChan(request *DescribeApiLatencyDataRequest) (<-chan *DescribeApiLatencyDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiLatencyDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiLatencyData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiLatencyDataWithCallback invokes the cloudapi.DescribeApiLatencyData API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapilatencydata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiLatencyDataWithCallback(request *DescribeApiLatencyDataRequest, callback func(response *DescribeApiLatencyDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiLatencyDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiLatencyData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiLatencyDataRequest is the request struct for api DescribeApiLatencyData
+type DescribeApiLatencyDataRequest struct {
+	*requests.RpcRequest
+	ApiId     string `position:"Query" name:"ApiId"`
+	GroupId   string `position:"Query" name:"GroupId"`
+	StartTime string `position:"Query" name:"StartTime"`
+	EndTime   string `position:"Query" name:"EndTime"`
+}
+
+// DescribeApiLatencyDataResponse is the response struct for api DescribeApiLatencyData
+type DescribeApiLatencyDataResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	CallLatencys CallLatencys `json:"CallLatencys" xml:"CallLatencys"`
+}
+
+// CreateDescribeApiLatencyDataRequest creates a request to invoke DescribeApiLatencyData API
+func CreateDescribeApiLatencyDataRequest() (request *DescribeApiLatencyDataRequest) {
+	request = &DescribeApiLatencyDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiLatencyData", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiLatencyDataResponse creates a response to parse from DescribeApiLatencyData response
+func CreateDescribeApiLatencyDataResponse() (response *DescribeApiLatencyDataResponse) {
+	response = &DescribeApiLatencyDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cloudapi/describe_api_qps_data.go

@@ -0,0 +1,108 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiQpsData invokes the cloudapi.DescribeApiQpsData API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapiqpsdata.html
+func (client *Client) DescribeApiQpsData(request *DescribeApiQpsDataRequest) (response *DescribeApiQpsDataResponse, err error) {
+	response = CreateDescribeApiQpsDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiQpsDataWithChan invokes the cloudapi.DescribeApiQpsData API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapiqpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiQpsDataWithChan(request *DescribeApiQpsDataRequest) (<-chan *DescribeApiQpsDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiQpsDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiQpsData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiQpsDataWithCallback invokes the cloudapi.DescribeApiQpsData API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapiqpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiQpsDataWithCallback(request *DescribeApiQpsDataRequest, callback func(response *DescribeApiQpsDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiQpsDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiQpsData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiQpsDataRequest is the request struct for api DescribeApiQpsData
+type DescribeApiQpsDataRequest struct {
+	*requests.RpcRequest
+	ApiId     string `position:"Query" name:"ApiId"`
+	GroupId   string `position:"Query" name:"GroupId"`
+	StartTime string `position:"Query" name:"StartTime"`
+	EndTime   string `position:"Query" name:"EndTime"`
+}
+
+// DescribeApiQpsDataResponse is the response struct for api DescribeApiQpsData
+type DescribeApiQpsDataResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	CallSuccesses CallSuccesses `json:"CallSuccesses" xml:"CallSuccesses"`
+	CallFails     CallFails     `json:"CallFails" xml:"CallFails"`
+}
+
+// CreateDescribeApiQpsDataRequest creates a request to invoke DescribeApiQpsData API
+func CreateDescribeApiQpsDataRequest() (request *DescribeApiQpsDataRequest) {
+	request = &DescribeApiQpsDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiQpsData", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiQpsDataResponse creates a response to parse from DescribeApiQpsData response
+func CreateDescribeApiQpsDataResponse() (response *DescribeApiQpsDataResponse) {
+	response = &DescribeApiQpsDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cloudapi/describe_api_signatures.go

@@ -0,0 +1,111 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiSignatures invokes the cloudapi.DescribeApiSignatures API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisignatures.html
+func (client *Client) DescribeApiSignatures(request *DescribeApiSignaturesRequest) (response *DescribeApiSignaturesResponse, err error) {
+	response = CreateDescribeApiSignaturesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiSignaturesWithChan invokes the cloudapi.DescribeApiSignatures API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisignatures.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiSignaturesWithChan(request *DescribeApiSignaturesRequest) (<-chan *DescribeApiSignaturesResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiSignaturesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiSignatures(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiSignaturesWithCallback invokes the cloudapi.DescribeApiSignatures API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisignatures.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiSignaturesWithCallback(request *DescribeApiSignaturesRequest, callback func(response *DescribeApiSignaturesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiSignaturesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiSignatures(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiSignaturesRequest is the request struct for api DescribeApiSignatures
+type DescribeApiSignaturesRequest struct {
+	*requests.RpcRequest
+	StageName  string           `position:"Query" name:"StageName"`
+	GroupId    string           `position:"Query" name:"GroupId"`
+	ApiIds     string           `position:"Query" name:"ApiIds"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeApiSignaturesResponse is the response struct for api DescribeApiSignatures
+type DescribeApiSignaturesResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	TotalCount    int           `json:"TotalCount" xml:"TotalCount"`
+	PageSize      int           `json:"PageSize" xml:"PageSize"`
+	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
+	ApiSignatures ApiSignatures `json:"ApiSignatures" xml:"ApiSignatures"`
+}
+
+// CreateDescribeApiSignaturesRequest creates a request to invoke DescribeApiSignatures API
+func CreateDescribeApiSignaturesRequest() (request *DescribeApiSignaturesRequest) {
+	request = &DescribeApiSignaturesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiSignatures", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiSignaturesResponse creates a response to parse from DescribeApiSignatures response
+func CreateDescribeApiSignaturesResponse() (response *DescribeApiSignaturesResponse) {
+	response = &DescribeApiSignaturesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cloudapi/describe_api_stage.go

@@ -0,0 +1,111 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiStage invokes the cloudapi.DescribeApiStage API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapistage.html
+func (client *Client) DescribeApiStage(request *DescribeApiStageRequest) (response *DescribeApiStageResponse, err error) {
+	response = CreateDescribeApiStageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiStageWithChan invokes the cloudapi.DescribeApiStage API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapistage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiStageWithChan(request *DescribeApiStageRequest) (<-chan *DescribeApiStageResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiStageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiStage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiStageWithCallback invokes the cloudapi.DescribeApiStage API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapistage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiStageWithCallback(request *DescribeApiStageRequest, callback func(response *DescribeApiStageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiStageResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiStage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiStageRequest is the request struct for api DescribeApiStage
+type DescribeApiStageRequest struct {
+	*requests.RpcRequest
+	GroupId string `position:"Query" name:"GroupId"`
+	StageId string `position:"Query" name:"StageId"`
+}
+
+// DescribeApiStageResponse is the response struct for api DescribeApiStage
+type DescribeApiStageResponse struct {
+	*responses.BaseResponse
+	RequestId    string    `json:"RequestId" xml:"RequestId"`
+	GroupId      string    `json:"GroupId" xml:"GroupId"`
+	StageId      string    `json:"StageId" xml:"StageId"`
+	StageName    string    `json:"StageName" xml:"StageName"`
+	Description  string    `json:"Description" xml:"Description"`
+	CreatedTime  string    `json:"CreatedTime" xml:"CreatedTime"`
+	ModifiedTime string    `json:"ModifiedTime" xml:"ModifiedTime"`
+	Variables    Variables `json:"Variables" xml:"Variables"`
+}
+
+// CreateDescribeApiStageRequest creates a request to invoke DescribeApiStage API
+func CreateDescribeApiStageRequest() (request *DescribeApiStageRequest) {
+	request = &DescribeApiStageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiStage", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiStageResponse creates a response to parse from DescribeApiStage response
+func CreateDescribeApiStageResponse() (response *DescribeApiStageResponse) {
+	response = &DescribeApiStageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cloudapi/describe_api_traffic_controls.go

@@ -0,0 +1,111 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiTrafficControls invokes the cloudapi.DescribeApiTrafficControls API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapitrafficcontrols.html
+func (client *Client) DescribeApiTrafficControls(request *DescribeApiTrafficControlsRequest) (response *DescribeApiTrafficControlsResponse, err error) {
+	response = CreateDescribeApiTrafficControlsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiTrafficControlsWithChan invokes the cloudapi.DescribeApiTrafficControls API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapitrafficcontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiTrafficControlsWithChan(request *DescribeApiTrafficControlsRequest) (<-chan *DescribeApiTrafficControlsResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiTrafficControlsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiTrafficControls(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiTrafficControlsWithCallback invokes the cloudapi.DescribeApiTrafficControls API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapitrafficcontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiTrafficControlsWithCallback(request *DescribeApiTrafficControlsRequest, callback func(response *DescribeApiTrafficControlsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiTrafficControlsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiTrafficControls(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiTrafficControlsRequest is the request struct for api DescribeApiTrafficControls
+type DescribeApiTrafficControlsRequest struct {
+	*requests.RpcRequest
+	StageName  string           `position:"Query" name:"StageName"`
+	GroupId    string           `position:"Query" name:"GroupId"`
+	ApiIds     string           `position:"Query" name:"ApiIds"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeApiTrafficControlsResponse is the response struct for api DescribeApiTrafficControls
+type DescribeApiTrafficControlsResponse struct {
+	*responses.BaseResponse
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	TotalCount         int                `json:"TotalCount" xml:"TotalCount"`
+	PageSize           int                `json:"PageSize" xml:"PageSize"`
+	PageNumber         int                `json:"PageNumber" xml:"PageNumber"`
+	ApiTrafficControls ApiTrafficControls `json:"ApiTrafficControls" xml:"ApiTrafficControls"`
+}
+
+// CreateDescribeApiTrafficControlsRequest creates a request to invoke DescribeApiTrafficControls API
+func CreateDescribeApiTrafficControlsRequest() (request *DescribeApiTrafficControlsRequest) {
+	request = &DescribeApiTrafficControlsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiTrafficControls", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiTrafficControlsResponse creates a response to parse from DescribeApiTrafficControls response
+func CreateDescribeApiTrafficControlsResponse() (response *DescribeApiTrafficControlsResponse) {
+	response = &DescribeApiTrafficControlsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cloudapi/describe_api_traffic_data.go

@@ -0,0 +1,108 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApiTrafficData invokes the cloudapi.DescribeApiTrafficData API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapitrafficdata.html
+func (client *Client) DescribeApiTrafficData(request *DescribeApiTrafficDataRequest) (response *DescribeApiTrafficDataResponse, err error) {
+	response = CreateDescribeApiTrafficDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApiTrafficDataWithChan invokes the cloudapi.DescribeApiTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapitrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiTrafficDataWithChan(request *DescribeApiTrafficDataRequest) (<-chan *DescribeApiTrafficDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeApiTrafficDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApiTrafficData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApiTrafficDataWithCallback invokes the cloudapi.DescribeApiTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapitrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApiTrafficDataWithCallback(request *DescribeApiTrafficDataRequest, callback func(response *DescribeApiTrafficDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApiTrafficDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApiTrafficData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApiTrafficDataRequest is the request struct for api DescribeApiTrafficData
+type DescribeApiTrafficDataRequest struct {
+	*requests.RpcRequest
+	ApiId     string `position:"Query" name:"ApiId"`
+	GroupId   string `position:"Query" name:"GroupId"`
+	StartTime string `position:"Query" name:"StartTime"`
+	EndTime   string `position:"Query" name:"EndTime"`
+}
+
+// DescribeApiTrafficDataResponse is the response struct for api DescribeApiTrafficData
+type DescribeApiTrafficDataResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	CallUploads   CallUploads   `json:"CallUploads" xml:"CallUploads"`
+	CallDownloads CallDownloads `json:"CallDownloads" xml:"CallDownloads"`
+}
+
+// CreateDescribeApiTrafficDataRequest creates a request to invoke DescribeApiTrafficData API
+func CreateDescribeApiTrafficDataRequest() (request *DescribeApiTrafficDataRequest) {
+	request = &DescribeApiTrafficDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApiTrafficData", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApiTrafficDataResponse creates a response to parse from DescribeApiTrafficData response
+func CreateDescribeApiTrafficDataResponse() (response *DescribeApiTrafficDataResponse) {
+	response = &DescribeApiTrafficDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/cloudapi/describe_apis.go

@@ -0,0 +1,113 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApis invokes the cloudapi.DescribeApis API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapis.html
+func (client *Client) DescribeApis(request *DescribeApisRequest) (response *DescribeApisResponse, err error) {
+	response = CreateDescribeApisResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApisWithChan invokes the cloudapi.DescribeApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApisWithChan(request *DescribeApisRequest) (<-chan *DescribeApisResponse, <-chan error) {
+	responseChan := make(chan *DescribeApisResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApis(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApisWithCallback invokes the cloudapi.DescribeApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApisWithCallback(request *DescribeApisRequest, callback func(response *DescribeApisResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApisResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApis(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApisRequest is the request struct for api DescribeApis
+type DescribeApisRequest struct {
+	*requests.RpcRequest
+	GroupId    string           `position:"Query" name:"GroupId"`
+	ApiId      string           `position:"Query" name:"ApiId"`
+	ApiName    string           `position:"Query" name:"ApiName"`
+	CatalogId  string           `position:"Query" name:"CatalogId"`
+	Visibility string           `position:"Query" name:"Visibility"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribeApisResponse is the response struct for api DescribeApis
+type DescribeApisResponse struct {
+	*responses.BaseResponse
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	TotalCount  int         `json:"TotalCount" xml:"TotalCount"`
+	PageSize    int         `json:"PageSize" xml:"PageSize"`
+	PageNumber  int         `json:"PageNumber" xml:"PageNumber"`
+	ApiSummarys ApiSummarys `json:"ApiSummarys" xml:"ApiSummarys"`
+}
+
+// CreateDescribeApisRequest creates a request to invoke DescribeApis API
+func CreateDescribeApisRequest() (request *DescribeApisRequest) {
+	request = &DescribeApisRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApis", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApisResponse creates a response to parse from DescribeApis response
+func CreateDescribeApisResponse() (response *DescribeApisResponse) {
+	response = &DescribeApisResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cloudapi/describe_apis_by_app.go

@@ -0,0 +1,109 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApisByApp invokes the cloudapi.DescribeApisByApp API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbyapp.html
+func (client *Client) DescribeApisByApp(request *DescribeApisByAppRequest) (response *DescribeApisByAppResponse, err error) {
+	response = CreateDescribeApisByAppResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApisByAppWithChan invokes the cloudapi.DescribeApisByApp API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbyapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApisByAppWithChan(request *DescribeApisByAppRequest) (<-chan *DescribeApisByAppResponse, <-chan error) {
+	responseChan := make(chan *DescribeApisByAppResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApisByApp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApisByAppWithCallback invokes the cloudapi.DescribeApisByApp API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbyapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApisByAppWithCallback(request *DescribeApisByAppRequest, callback func(response *DescribeApisByAppResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApisByAppResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApisByApp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApisByAppRequest is the request struct for api DescribeApisByApp
+type DescribeApisByAppRequest struct {
+	*requests.RpcRequest
+	AppId      requests.Integer `position:"Query" name:"AppId"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeApisByAppResponse is the response struct for api DescribeApisByApp
+type DescribeApisByAppResponse struct {
+	*responses.BaseResponse
+	RequestId           string              `json:"RequestId" xml:"RequestId"`
+	TotalCount          int                 `json:"TotalCount" xml:"TotalCount"`
+	PageSize            int                 `json:"PageSize" xml:"PageSize"`
+	PageNumber          int                 `json:"PageNumber" xml:"PageNumber"`
+	AppApiRelationInfos AppApiRelationInfos `json:"AppApiRelationInfos" xml:"AppApiRelationInfos"`
+}
+
+// CreateDescribeApisByAppRequest creates a request to invoke DescribeApisByApp API
+func CreateDescribeApisByAppRequest() (request *DescribeApisByAppRequest) {
+	request = &DescribeApisByAppRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApisByApp", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApisByAppResponse creates a response to parse from DescribeApisByApp response
+func CreateDescribeApisByAppResponse() (response *DescribeApisByAppResponse) {
+	response = &DescribeApisByAppResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cloudapi/describe_apis_by_ip_control.go

@@ -0,0 +1,109 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApisByIpControl invokes the cloudapi.DescribeApisByIpControl API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbyipcontrol.html
+func (client *Client) DescribeApisByIpControl(request *DescribeApisByIpControlRequest) (response *DescribeApisByIpControlResponse, err error) {
+	response = CreateDescribeApisByIpControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApisByIpControlWithChan invokes the cloudapi.DescribeApisByIpControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbyipcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApisByIpControlWithChan(request *DescribeApisByIpControlRequest) (<-chan *DescribeApisByIpControlResponse, <-chan error) {
+	responseChan := make(chan *DescribeApisByIpControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApisByIpControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApisByIpControlWithCallback invokes the cloudapi.DescribeApisByIpControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbyipcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApisByIpControlWithCallback(request *DescribeApisByIpControlRequest, callback func(response *DescribeApisByIpControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApisByIpControlResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApisByIpControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApisByIpControlRequest is the request struct for api DescribeApisByIpControl
+type DescribeApisByIpControlRequest struct {
+	*requests.RpcRequest
+	IpControlId string           `position:"Query" name:"IpControlId"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	PageNumber  requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribeApisByIpControlResponse is the response struct for api DescribeApisByIpControl
+type DescribeApisByIpControlResponse struct {
+	*responses.BaseResponse
+	RequestId  string                            `json:"RequestId" xml:"RequestId"`
+	TotalCount int                               `json:"TotalCount" xml:"TotalCount"`
+	PageSize   int                               `json:"PageSize" xml:"PageSize"`
+	PageNumber int                               `json:"PageNumber" xml:"PageNumber"`
+	ApiInfos   ApiInfosInDescribeApisByIpControl `json:"ApiInfos" xml:"ApiInfos"`
+}
+
+// CreateDescribeApisByIpControlRequest creates a request to invoke DescribeApisByIpControl API
+func CreateDescribeApisByIpControlRequest() (request *DescribeApisByIpControlRequest) {
+	request = &DescribeApisByIpControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApisByIpControl", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApisByIpControlResponse creates a response to parse from DescribeApisByIpControl response
+func CreateDescribeApisByIpControlResponse() (response *DescribeApisByIpControlResponse) {
+	response = &DescribeApisByIpControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cloudapi/describe_apis_by_signature.go

@@ -0,0 +1,109 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApisBySignature invokes the cloudapi.DescribeApisBySignature API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbysignature.html
+func (client *Client) DescribeApisBySignature(request *DescribeApisBySignatureRequest) (response *DescribeApisBySignatureResponse, err error) {
+	response = CreateDescribeApisBySignatureResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApisBySignatureWithChan invokes the cloudapi.DescribeApisBySignature API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbysignature.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApisBySignatureWithChan(request *DescribeApisBySignatureRequest) (<-chan *DescribeApisBySignatureResponse, <-chan error) {
+	responseChan := make(chan *DescribeApisBySignatureResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApisBySignature(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApisBySignatureWithCallback invokes the cloudapi.DescribeApisBySignature API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbysignature.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApisBySignatureWithCallback(request *DescribeApisBySignatureRequest, callback func(response *DescribeApisBySignatureResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApisBySignatureResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApisBySignature(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApisBySignatureRequest is the request struct for api DescribeApisBySignature
+type DescribeApisBySignatureRequest struct {
+	*requests.RpcRequest
+	SignatureId string           `position:"Query" name:"SignatureId"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	PageNumber  requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribeApisBySignatureResponse is the response struct for api DescribeApisBySignature
+type DescribeApisBySignatureResponse struct {
+	*responses.BaseResponse
+	RequestId  string                            `json:"RequestId" xml:"RequestId"`
+	TotalCount int                               `json:"TotalCount" xml:"TotalCount"`
+	PageSize   int                               `json:"PageSize" xml:"PageSize"`
+	PageNumber int                               `json:"PageNumber" xml:"PageNumber"`
+	ApiInfos   ApiInfosInDescribeApisBySignature `json:"ApiInfos" xml:"ApiInfos"`
+}
+
+// CreateDescribeApisBySignatureRequest creates a request to invoke DescribeApisBySignature API
+func CreateDescribeApisBySignatureRequest() (request *DescribeApisBySignatureRequest) {
+	request = &DescribeApisBySignatureRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApisBySignature", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApisBySignatureResponse creates a response to parse from DescribeApisBySignature response
+func CreateDescribeApisBySignatureResponse() (response *DescribeApisBySignatureResponse) {
+	response = &DescribeApisBySignatureResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cloudapi/describe_apis_by_traffic_control.go

@@ -0,0 +1,109 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApisByTrafficControl invokes the cloudapi.DescribeApisByTrafficControl API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbytrafficcontrol.html
+func (client *Client) DescribeApisByTrafficControl(request *DescribeApisByTrafficControlRequest) (response *DescribeApisByTrafficControlResponse, err error) {
+	response = CreateDescribeApisByTrafficControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeApisByTrafficControlWithChan invokes the cloudapi.DescribeApisByTrafficControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbytrafficcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApisByTrafficControlWithChan(request *DescribeApisByTrafficControlRequest) (<-chan *DescribeApisByTrafficControlResponse, <-chan error) {
+	responseChan := make(chan *DescribeApisByTrafficControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApisByTrafficControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeApisByTrafficControlWithCallback invokes the cloudapi.DescribeApisByTrafficControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapisbytrafficcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeApisByTrafficControlWithCallback(request *DescribeApisByTrafficControlRequest, callback func(response *DescribeApisByTrafficControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeApisByTrafficControlResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApisByTrafficControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeApisByTrafficControlRequest is the request struct for api DescribeApisByTrafficControl
+type DescribeApisByTrafficControlRequest struct {
+	*requests.RpcRequest
+	TrafficControlId string           `position:"Query" name:"TrafficControlId"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	PageNumber       requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribeApisByTrafficControlResponse is the response struct for api DescribeApisByTrafficControl
+type DescribeApisByTrafficControlResponse struct {
+	*responses.BaseResponse
+	RequestId  string                                 `json:"RequestId" xml:"RequestId"`
+	TotalCount int                                    `json:"TotalCount" xml:"TotalCount"`
+	PageSize   int                                    `json:"PageSize" xml:"PageSize"`
+	PageNumber int                                    `json:"PageNumber" xml:"PageNumber"`
+	ApiInfos   ApiInfosInDescribeApisByTrafficControl `json:"ApiInfos" xml:"ApiInfos"`
+}
+
+// CreateDescribeApisByTrafficControlRequest creates a request to invoke DescribeApisByTrafficControl API
+func CreateDescribeApisByTrafficControlRequest() (request *DescribeApisByTrafficControlRequest) {
+	request = &DescribeApisByTrafficControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApisByTrafficControl", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeApisByTrafficControlResponse creates a response to parse from DescribeApisByTrafficControl response
+func CreateDescribeApisByTrafficControlResponse() (response *DescribeApisByTrafficControlResponse) {
+	response = &DescribeApisByTrafficControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cloudapi/describe_app_attributes.go

@@ -0,0 +1,109 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeAppAttributes invokes the cloudapi.DescribeAppAttributes API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeappattributes.html
+func (client *Client) DescribeAppAttributes(request *DescribeAppAttributesRequest) (response *DescribeAppAttributesResponse, err error) {
+	response = CreateDescribeAppAttributesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAppAttributesWithChan invokes the cloudapi.DescribeAppAttributes API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeappattributes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAppAttributesWithChan(request *DescribeAppAttributesRequest) (<-chan *DescribeAppAttributesResponse, <-chan error) {
+	responseChan := make(chan *DescribeAppAttributesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAppAttributes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAppAttributesWithCallback invokes the cloudapi.DescribeAppAttributes API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeappattributes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAppAttributesWithCallback(request *DescribeAppAttributesRequest, callback func(response *DescribeAppAttributesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAppAttributesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAppAttributes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAppAttributesRequest is the request struct for api DescribeAppAttributes
+type DescribeAppAttributesRequest struct {
+	*requests.RpcRequest
+	AppId      requests.Integer `position:"Query" name:"AppId"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeAppAttributesResponse is the response struct for api DescribeAppAttributes
+type DescribeAppAttributesResponse struct {
+	*responses.BaseResponse
+	RequestId  string                      `json:"RequestId" xml:"RequestId"`
+	TotalCount int                         `json:"TotalCount" xml:"TotalCount"`
+	PageSize   int                         `json:"PageSize" xml:"PageSize"`
+	PageNumber int                         `json:"PageNumber" xml:"PageNumber"`
+	Apps       AppsInDescribeAppAttributes `json:"Apps" xml:"Apps"`
+}
+
+// CreateDescribeAppAttributesRequest creates a request to invoke DescribeAppAttributes API
+func CreateDescribeAppAttributesRequest() (request *DescribeAppAttributesRequest) {
+	request = &DescribeAppAttributesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeAppAttributes", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeAppAttributesResponse creates a response to parse from DescribeAppAttributes response
+func CreateDescribeAppAttributesResponse() (response *DescribeAppAttributesResponse) {
+	response = &DescribeAppAttributesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cloudapi/describe_app_security.go

@@ -0,0 +1,107 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeAppSecurity invokes the cloudapi.DescribeAppSecurity API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeappsecurity.html
+func (client *Client) DescribeAppSecurity(request *DescribeAppSecurityRequest) (response *DescribeAppSecurityResponse, err error) {
+	response = CreateDescribeAppSecurityResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAppSecurityWithChan invokes the cloudapi.DescribeAppSecurity API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeappsecurity.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAppSecurityWithChan(request *DescribeAppSecurityRequest) (<-chan *DescribeAppSecurityResponse, <-chan error) {
+	responseChan := make(chan *DescribeAppSecurityResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAppSecurity(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAppSecurityWithCallback invokes the cloudapi.DescribeAppSecurity API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeappsecurity.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAppSecurityWithCallback(request *DescribeAppSecurityRequest, callback func(response *DescribeAppSecurityResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAppSecurityResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAppSecurity(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAppSecurityRequest is the request struct for api DescribeAppSecurity
+type DescribeAppSecurityRequest struct {
+	*requests.RpcRequest
+	AppId requests.Integer `position:"Query" name:"AppId"`
+}
+
+// DescribeAppSecurityResponse is the response struct for api DescribeAppSecurity
+type DescribeAppSecurityResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	AppKey       string `json:"AppKey" xml:"AppKey"`
+	AppSecret    string `json:"AppSecret" xml:"AppSecret"`
+	CreatedTime  string `json:"CreatedTime" xml:"CreatedTime"`
+	ModifiedTime string `json:"ModifiedTime" xml:"ModifiedTime"`
+}
+
+// CreateDescribeAppSecurityRequest creates a request to invoke DescribeAppSecurity API
+func CreateDescribeAppSecurityRequest() (request *DescribeAppSecurityRequest) {
+	request = &DescribeAppSecurityRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeAppSecurity", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeAppSecurityResponse creates a response to parse from DescribeAppSecurity response
+func CreateDescribeAppSecurityResponse() (response *DescribeAppSecurityResponse) {
+	response = &DescribeAppSecurityResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cloudapi/describe_apps.go

@@ -0,0 +1,110 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeApps invokes the cloudapi.DescribeApps API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapps.html
+func (client *Client) DescribeApps(request *DescribeAppsRequest) (response *DescribeAppsResponse, err error) {
+	response = CreateDescribeAppsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAppsWithChan invokes the cloudapi.DescribeApps API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAppsWithChan(request *DescribeAppsRequest) (<-chan *DescribeAppsResponse, <-chan error) {
+	responseChan := make(chan *DescribeAppsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApps(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAppsWithCallback invokes the cloudapi.DescribeApps API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeapps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAppsWithCallback(request *DescribeAppsRequest, callback func(response *DescribeAppsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAppsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApps(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAppsRequest is the request struct for api DescribeApps
+type DescribeAppsRequest struct {
+	*requests.RpcRequest
+	AppId      requests.Integer `position:"Query" name:"AppId"`
+	AppOwner   requests.Integer `position:"Query" name:"AppOwner"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeAppsResponse is the response struct for api DescribeApps
+type DescribeAppsResponse struct {
+	*responses.BaseResponse
+	RequestId  string             `json:"RequestId" xml:"RequestId"`
+	TotalCount int                `json:"TotalCount" xml:"TotalCount"`
+	PageSize   int                `json:"PageSize" xml:"PageSize"`
+	PageNumber int                `json:"PageNumber" xml:"PageNumber"`
+	Apps       AppsInDescribeApps `json:"Apps" xml:"Apps"`
+}
+
+// CreateDescribeAppsRequest creates a request to invoke DescribeApps API
+func CreateDescribeAppsRequest() (request *DescribeAppsRequest) {
+	request = &DescribeAppsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeApps", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeAppsResponse creates a response to parse from DescribeApps response
+func CreateDescribeAppsResponse() (response *DescribeAppsResponse) {
+	response = &DescribeAppsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cloudapi/describe_authorized_apis.go

@@ -0,0 +1,109 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeAuthorizedApis invokes the cloudapi.DescribeAuthorizedApis API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeauthorizedapis.html
+func (client *Client) DescribeAuthorizedApis(request *DescribeAuthorizedApisRequest) (response *DescribeAuthorizedApisResponse, err error) {
+	response = CreateDescribeAuthorizedApisResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAuthorizedApisWithChan invokes the cloudapi.DescribeAuthorizedApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeauthorizedapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAuthorizedApisWithChan(request *DescribeAuthorizedApisRequest) (<-chan *DescribeAuthorizedApisResponse, <-chan error) {
+	responseChan := make(chan *DescribeAuthorizedApisResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAuthorizedApis(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAuthorizedApisWithCallback invokes the cloudapi.DescribeAuthorizedApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeauthorizedapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAuthorizedApisWithCallback(request *DescribeAuthorizedApisRequest, callback func(response *DescribeAuthorizedApisResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAuthorizedApisResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAuthorizedApis(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAuthorizedApisRequest is the request struct for api DescribeAuthorizedApis
+type DescribeAuthorizedApisRequest struct {
+	*requests.RpcRequest
+	AppId      requests.Integer `position:"Query" name:"AppId"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeAuthorizedApisResponse is the response struct for api DescribeAuthorizedApis
+type DescribeAuthorizedApisResponse struct {
+	*responses.BaseResponse
+	RequestId      string         `json:"RequestId" xml:"RequestId"`
+	TotalCount     int            `json:"TotalCount" xml:"TotalCount"`
+	PageSize       int            `json:"PageSize" xml:"PageSize"`
+	PageNumber     int            `json:"PageNumber" xml:"PageNumber"`
+	AuthorizedApis AuthorizedApis `json:"AuthorizedApis" xml:"AuthorizedApis"`
+}
+
+// CreateDescribeAuthorizedApisRequest creates a request to invoke DescribeAuthorizedApis API
+func CreateDescribeAuthorizedApisRequest() (request *DescribeAuthorizedApisRequest) {
+	request = &DescribeAuthorizedApisRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeAuthorizedApis", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeAuthorizedApisResponse creates a response to parse from DescribeAuthorizedApis response
+func CreateDescribeAuthorizedApisResponse() (response *DescribeAuthorizedApisResponse) {
+	response = &DescribeAuthorizedApisResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cloudapi/describe_authorized_apps.go

@@ -0,0 +1,111 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeAuthorizedApps invokes the cloudapi.DescribeAuthorizedApps API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeauthorizedapps.html
+func (client *Client) DescribeAuthorizedApps(request *DescribeAuthorizedAppsRequest) (response *DescribeAuthorizedAppsResponse, err error) {
+	response = CreateDescribeAuthorizedAppsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAuthorizedAppsWithChan invokes the cloudapi.DescribeAuthorizedApps API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeauthorizedapps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAuthorizedAppsWithChan(request *DescribeAuthorizedAppsRequest) (<-chan *DescribeAuthorizedAppsResponse, <-chan error) {
+	responseChan := make(chan *DescribeAuthorizedAppsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAuthorizedApps(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAuthorizedAppsWithCallback invokes the cloudapi.DescribeAuthorizedApps API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeauthorizedapps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAuthorizedAppsWithCallback(request *DescribeAuthorizedAppsRequest, callback func(response *DescribeAuthorizedAppsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAuthorizedAppsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAuthorizedApps(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAuthorizedAppsRequest is the request struct for api DescribeAuthorizedApps
+type DescribeAuthorizedAppsRequest struct {
+	*requests.RpcRequest
+	GroupId    string           `position:"Query" name:"GroupId"`
+	StageName  string           `position:"Query" name:"StageName"`
+	ApiId      string           `position:"Query" name:"ApiId"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeAuthorizedAppsResponse is the response struct for api DescribeAuthorizedApps
+type DescribeAuthorizedAppsResponse struct {
+	*responses.BaseResponse
+	RequestId      string         `json:"RequestId" xml:"RequestId"`
+	TotalCount     int            `json:"TotalCount" xml:"TotalCount"`
+	PageSize       int            `json:"PageSize" xml:"PageSize"`
+	PageNumber     int            `json:"PageNumber" xml:"PageNumber"`
+	AuthorizedApps AuthorizedApps `json:"AuthorizedApps" xml:"AuthorizedApps"`
+}
+
+// CreateDescribeAuthorizedAppsRequest creates a request to invoke DescribeAuthorizedApps API
+func CreateDescribeAuthorizedAppsRequest() (request *DescribeAuthorizedAppsRequest) {
+	request = &DescribeAuthorizedAppsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeAuthorizedApps", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeAuthorizedAppsResponse creates a response to parse from DescribeAuthorizedApps response
+func CreateDescribeAuthorizedAppsResponse() (response *DescribeAuthorizedAppsResponse) {
+	response = &DescribeAuthorizedAppsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cloudapi/describe_catalog.go

@@ -0,0 +1,111 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeCatalog invokes the cloudapi.DescribeCatalog API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describecatalog.html
+func (client *Client) DescribeCatalog(request *DescribeCatalogRequest) (response *DescribeCatalogResponse, err error) {
+	response = CreateDescribeCatalogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCatalogWithChan invokes the cloudapi.DescribeCatalog API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describecatalog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCatalogWithChan(request *DescribeCatalogRequest) (<-chan *DescribeCatalogResponse, <-chan error) {
+	responseChan := make(chan *DescribeCatalogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCatalog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCatalogWithCallback invokes the cloudapi.DescribeCatalog API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describecatalog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCatalogWithCallback(request *DescribeCatalogRequest, callback func(response *DescribeCatalogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCatalogResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCatalog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCatalogRequest is the request struct for api DescribeCatalog
+type DescribeCatalogRequest struct {
+	*requests.RpcRequest
+	CatalogId string `position:"Query" name:"CatalogId"`
+}
+
+// DescribeCatalogResponse is the response struct for api DescribeCatalog
+type DescribeCatalogResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	CatalogId    string `json:"CatalogId" xml:"CatalogId"`
+	CatalogName  string `json:"CatalogName" xml:"CatalogName"`
+	Description  string `json:"Description" xml:"Description"`
+	ParentId     string `json:"ParentId" xml:"ParentId"`
+	CreatedTime  string `json:"CreatedTime" xml:"CreatedTime"`
+	ModifiedTime string `json:"ModifiedTime" xml:"ModifiedTime"`
+	RegionId     string `json:"RegionId" xml:"RegionId"`
+	ApiIds       ApiIds `json:"ApiIds" xml:"ApiIds"`
+}
+
+// CreateDescribeCatalogRequest creates a request to invoke DescribeCatalog API
+func CreateDescribeCatalogRequest() (request *DescribeCatalogRequest) {
+	request = &DescribeCatalogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeCatalog", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeCatalogResponse creates a response to parse from DescribeCatalog response
+func CreateDescribeCatalogResponse() (response *DescribeCatalogResponse) {
+	response = &DescribeCatalogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/describe_catalogs.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeCatalogs invokes the cloudapi.DescribeCatalogs API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describecatalogs.html
+func (client *Client) DescribeCatalogs(request *DescribeCatalogsRequest) (response *DescribeCatalogsResponse, err error) {
+	response = CreateDescribeCatalogsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCatalogsWithChan invokes the cloudapi.DescribeCatalogs API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describecatalogs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCatalogsWithChan(request *DescribeCatalogsRequest) (<-chan *DescribeCatalogsResponse, <-chan error) {
+	responseChan := make(chan *DescribeCatalogsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCatalogs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCatalogsWithCallback invokes the cloudapi.DescribeCatalogs API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describecatalogs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCatalogsWithCallback(request *DescribeCatalogsRequest, callback func(response *DescribeCatalogsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCatalogsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCatalogs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCatalogsRequest is the request struct for api DescribeCatalogs
+type DescribeCatalogsRequest struct {
+	*requests.RpcRequest
+}
+
+// DescribeCatalogsResponse is the response struct for api DescribeCatalogs
+type DescribeCatalogsResponse struct {
+	*responses.BaseResponse
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	TotalCount        int               `json:"TotalCount" xml:"TotalCount"`
+	PageSize          int               `json:"PageSize" xml:"PageSize"`
+	PageNumber        int               `json:"PageNumber" xml:"PageNumber"`
+	CatalogAttributes CatalogAttributes `json:"CatalogAttributes" xml:"CatalogAttributes"`
+}
+
+// CreateDescribeCatalogsRequest creates a request to invoke DescribeCatalogs API
+func CreateDescribeCatalogsRequest() (request *DescribeCatalogsRequest) {
+	request = &DescribeCatalogsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeCatalogs", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeCatalogsResponse creates a response to parse from DescribeCatalogs response
+func CreateDescribeCatalogsResponse() (response *DescribeCatalogsResponse) {
+	response = &DescribeCatalogsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 130 - 0
services/cloudapi/describe_deployed_api.go

@@ -0,0 +1,130 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeDeployedApi invokes the cloudapi.DescribeDeployedApi API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedeployedapi.html
+func (client *Client) DescribeDeployedApi(request *DescribeDeployedApiRequest) (response *DescribeDeployedApiResponse, err error) {
+	response = CreateDescribeDeployedApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDeployedApiWithChan invokes the cloudapi.DescribeDeployedApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedeployedapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDeployedApiWithChan(request *DescribeDeployedApiRequest) (<-chan *DescribeDeployedApiResponse, <-chan error) {
+	responseChan := make(chan *DescribeDeployedApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDeployedApi(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDeployedApiWithCallback invokes the cloudapi.DescribeDeployedApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedeployedapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDeployedApiWithCallback(request *DescribeDeployedApiRequest, callback func(response *DescribeDeployedApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDeployedApiResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDeployedApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDeployedApiRequest is the request struct for api DescribeDeployedApi
+type DescribeDeployedApiRequest struct {
+	*requests.RpcRequest
+	GroupId   string `position:"Query" name:"GroupId"`
+	ApiId     string `position:"Query" name:"ApiId"`
+	StageName string `position:"Query" name:"StageName"`
+}
+
+// DescribeDeployedApiResponse is the response struct for api DescribeDeployedApi
+type DescribeDeployedApiResponse struct {
+	*responses.BaseResponse
+	RequestId              string                                      `json:"RequestId" xml:"RequestId"`
+	RegionId               string                                      `json:"RegionId" xml:"RegionId"`
+	GroupId                string                                      `json:"GroupId" xml:"GroupId"`
+	GroupName              string                                      `json:"GroupName" xml:"GroupName"`
+	StageName              string                                      `json:"StageName" xml:"StageName"`
+	ApiId                  string                                      `json:"ApiId" xml:"ApiId"`
+	ApiName                string                                      `json:"ApiName" xml:"ApiName"`
+	Description            string                                      `json:"Description" xml:"Description"`
+	Visibility             string                                      `json:"Visibility" xml:"Visibility"`
+	AuthType               string                                      `json:"AuthType" xml:"AuthType"`
+	ResultType             string                                      `json:"ResultType" xml:"ResultType"`
+	ResultSample           string                                      `json:"ResultSample" xml:"ResultSample"`
+	FailResultSample       string                                      `json:"FailResultSample" xml:"FailResultSample"`
+	DeployedTime           string                                      `json:"DeployedTime" xml:"DeployedTime"`
+	AllowSignatureMethod   string                                      `json:"AllowSignatureMethod" xml:"AllowSignatureMethod"`
+	RequestConfig          RequestConfig                               `json:"RequestConfig" xml:"RequestConfig"`
+	ServiceConfig          ServiceConfig                               `json:"ServiceConfig" xml:"ServiceConfig"`
+	OpenIdConnectConfig    OpenIdConnectConfig                         `json:"OpenIdConnectConfig" xml:"OpenIdConnectConfig"`
+	ErrorCodeSamples       ErrorCodeSamplesInDescribeDeployedApi       `json:"ErrorCodeSamples" xml:"ErrorCodeSamples"`
+	ResultDescriptions     ResultDescriptionsInDescribeDeployedApi     `json:"ResultDescriptions" xml:"ResultDescriptions"`
+	SystemParameters       SystemParametersInDescribeDeployedApi       `json:"SystemParameters" xml:"SystemParameters"`
+	CustomSystemParameters CustomSystemParametersInDescribeDeployedApi `json:"CustomSystemParameters" xml:"CustomSystemParameters"`
+	ConstantParameters     ConstantParametersInDescribeDeployedApi     `json:"ConstantParameters" xml:"ConstantParameters"`
+	RequestParameters      RequestParametersInDescribeDeployedApi      `json:"RequestParameters" xml:"RequestParameters"`
+	ServiceParameters      ServiceParametersInDescribeDeployedApi      `json:"ServiceParameters" xml:"ServiceParameters"`
+	ServiceParametersMap   ServiceParametersMapInDescribeDeployedApi   `json:"ServiceParametersMap" xml:"ServiceParametersMap"`
+}
+
+// CreateDescribeDeployedApiRequest creates a request to invoke DescribeDeployedApi API
+func CreateDescribeDeployedApiRequest() (request *DescribeDeployedApiRequest) {
+	request = &DescribeDeployedApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeDeployedApi", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeDeployedApiResponse creates a response to parse from DescribeDeployedApi response
+func CreateDescribeDeployedApiResponse() (response *DescribeDeployedApiResponse) {
+	response = &DescribeDeployedApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cloudapi/describe_deployed_apis.go

@@ -0,0 +1,112 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeDeployedApis invokes the cloudapi.DescribeDeployedApis API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedeployedapis.html
+func (client *Client) DescribeDeployedApis(request *DescribeDeployedApisRequest) (response *DescribeDeployedApisResponse, err error) {
+	response = CreateDescribeDeployedApisResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDeployedApisWithChan invokes the cloudapi.DescribeDeployedApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedeployedapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDeployedApisWithChan(request *DescribeDeployedApisRequest) (<-chan *DescribeDeployedApisResponse, <-chan error) {
+	responseChan := make(chan *DescribeDeployedApisResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDeployedApis(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDeployedApisWithCallback invokes the cloudapi.DescribeDeployedApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedeployedapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDeployedApisWithCallback(request *DescribeDeployedApisRequest, callback func(response *DescribeDeployedApisResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDeployedApisResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDeployedApis(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDeployedApisRequest is the request struct for api DescribeDeployedApis
+type DescribeDeployedApisRequest struct {
+	*requests.RpcRequest
+	GroupId    string           `position:"Query" name:"GroupId"`
+	StageName  string           `position:"Query" name:"StageName"`
+	ApiId      string           `position:"Query" name:"ApiId"`
+	ApiName    string           `position:"Query" name:"ApiName"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeDeployedApisResponse is the response struct for api DescribeDeployedApis
+type DescribeDeployedApisResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	TotalCount   int          `json:"TotalCount" xml:"TotalCount"`
+	PageSize     int          `json:"PageSize" xml:"PageSize"`
+	PageNumber   int          `json:"PageNumber" xml:"PageNumber"`
+	DeployedApis DeployedApis `json:"DeployedApis" xml:"DeployedApis"`
+}
+
+// CreateDescribeDeployedApisRequest creates a request to invoke DescribeDeployedApis API
+func CreateDescribeDeployedApisRequest() (request *DescribeDeployedApisRequest) {
+	request = &DescribeDeployedApisRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeDeployedApis", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeDeployedApisResponse creates a response to parse from DescribeDeployedApis response
+func CreateDescribeDeployedApisResponse() (response *DescribeDeployedApisResponse) {
+	response = &DescribeDeployedApisResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/cloudapi/describe_domain.go

@@ -0,0 +1,116 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeDomain invokes the cloudapi.DescribeDomain API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedomain.html
+func (client *Client) DescribeDomain(request *DescribeDomainRequest) (response *DescribeDomainResponse, err error) {
+	response = CreateDescribeDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainWithChan invokes the cloudapi.DescribeDomain API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainWithChan(request *DescribeDomainRequest) (<-chan *DescribeDomainResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainWithCallback invokes the cloudapi.DescribeDomain API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainWithCallback(request *DescribeDomainRequest, callback func(response *DescribeDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainRequest is the request struct for api DescribeDomain
+type DescribeDomainRequest struct {
+	*requests.RpcRequest
+	GroupId    string `position:"Query" name:"GroupId"`
+	DomainName string `position:"Query" name:"DomainName"`
+}
+
+// DescribeDomainResponse is the response struct for api DescribeDomain
+type DescribeDomainResponse struct {
+	*responses.BaseResponse
+	RequestId             string `json:"RequestId" xml:"RequestId"`
+	GroupId               string `json:"GroupId" xml:"GroupId"`
+	DomainName            string `json:"DomainName" xml:"DomainName"`
+	SubDomain             string `json:"SubDomain" xml:"SubDomain"`
+	CertificateId         string `json:"CertificateId" xml:"CertificateId"`
+	CertificateName       string `json:"CertificateName" xml:"CertificateName"`
+	CertificateBody       string `json:"CertificateBody" xml:"CertificateBody"`
+	CertificatePrivateKey string `json:"CertificatePrivateKey" xml:"CertificatePrivateKey"`
+	DomainBindingStatus   string `json:"DomainBindingStatus" xml:"DomainBindingStatus"`
+	DomainCNAMEStatus     string `json:"DomainCNAMEStatus" xml:"DomainCNAMEStatus"`
+	DomainLegalStatus     string `json:"DomainLegalStatus" xml:"DomainLegalStatus"`
+	DomainWebSocketStatus string `json:"DomainWebSocketStatus" xml:"DomainWebSocketStatus"`
+	DomainRemark          string `json:"DomainRemark" xml:"DomainRemark"`
+}
+
+// CreateDescribeDomainRequest creates a request to invoke DescribeDomain API
+func CreateDescribeDomainRequest() (request *DescribeDomainRequest) {
+	request = &DescribeDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeDomain", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeDomainResponse creates a response to parse from DescribeDomain response
+func CreateDescribeDomainResponse() (response *DescribeDomainResponse) {
+	response = &DescribeDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/describe_domains_resolution.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeDomainsResolution invokes the cloudapi.DescribeDomainsResolution API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedomainsresolution.html
+func (client *Client) DescribeDomainsResolution(request *DescribeDomainsResolutionRequest) (response *DescribeDomainsResolutionResponse, err error) {
+	response = CreateDescribeDomainsResolutionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainsResolutionWithChan invokes the cloudapi.DescribeDomainsResolution API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedomainsresolution.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainsResolutionWithChan(request *DescribeDomainsResolutionRequest) (<-chan *DescribeDomainsResolutionResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainsResolutionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainsResolution(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainsResolutionWithCallback invokes the cloudapi.DescribeDomainsResolution API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describedomainsresolution.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainsResolutionWithCallback(request *DescribeDomainsResolutionRequest, callback func(response *DescribeDomainsResolutionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainsResolutionResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainsResolution(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainsResolutionRequest is the request struct for api DescribeDomainsResolution
+type DescribeDomainsResolutionRequest struct {
+	*requests.RpcRequest
+	GroupId     string `position:"Query" name:"GroupId"`
+	DomainNames string `position:"Query" name:"DomainNames"`
+}
+
+// DescribeDomainsResolutionResponse is the response struct for api DescribeDomainsResolution
+type DescribeDomainsResolutionResponse struct {
+	*responses.BaseResponse
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	GroupId           string            `json:"GroupId" xml:"GroupId"`
+	DomainResolutions DomainResolutions `json:"DomainResolutions" xml:"DomainResolutions"`
+}
+
+// CreateDescribeDomainsResolutionRequest creates a request to invoke DescribeDomainsResolution API
+func CreateDescribeDomainsResolutionRequest() (request *DescribeDomainsResolutionRequest) {
+	request = &DescribeDomainsResolutionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeDomainsResolution", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeDomainsResolutionResponse creates a response to parse from DescribeDomainsResolution response
+func CreateDescribeDomainsResolutionResponse() (response *DescribeDomainsResolutionResponse) {
+	response = &DescribeDomainsResolutionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cloudapi/describe_history_apis.go

@@ -0,0 +1,112 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeHistoryApis invokes the cloudapi.DescribeHistoryApis API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describehistoryapis.html
+func (client *Client) DescribeHistoryApis(request *DescribeHistoryApisRequest) (response *DescribeHistoryApisResponse, err error) {
+	response = CreateDescribeHistoryApisResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeHistoryApisWithChan invokes the cloudapi.DescribeHistoryApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describehistoryapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeHistoryApisWithChan(request *DescribeHistoryApisRequest) (<-chan *DescribeHistoryApisResponse, <-chan error) {
+	responseChan := make(chan *DescribeHistoryApisResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeHistoryApis(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeHistoryApisWithCallback invokes the cloudapi.DescribeHistoryApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describehistoryapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeHistoryApisWithCallback(request *DescribeHistoryApisRequest, callback func(response *DescribeHistoryApisResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeHistoryApisResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeHistoryApis(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeHistoryApisRequest is the request struct for api DescribeHistoryApis
+type DescribeHistoryApisRequest struct {
+	*requests.RpcRequest
+	GroupId    string `position:"Query" name:"GroupId"`
+	StageName  string `position:"Query" name:"StageName"`
+	ApiId      string `position:"Query" name:"ApiId"`
+	ApiName    string `position:"Query" name:"ApiName"`
+	PageSize   string `position:"Query" name:"PageSize"`
+	PageNumber string `position:"Query" name:"PageNumber"`
+}
+
+// DescribeHistoryApisResponse is the response struct for api DescribeHistoryApis
+type DescribeHistoryApisResponse struct {
+	*responses.BaseResponse
+	RequestId   string                           `json:"RequestId" xml:"RequestId"`
+	TotalCount  int                              `json:"TotalCount" xml:"TotalCount"`
+	PageSize    int                              `json:"PageSize" xml:"PageSize"`
+	PageNumber  int                              `json:"PageNumber" xml:"PageNumber"`
+	ApiHisItems ApiHisItemsInDescribeHistoryApis `json:"ApiHisItems" xml:"ApiHisItems"`
+}
+
+// CreateDescribeHistoryApisRequest creates a request to invoke DescribeHistoryApis API
+func CreateDescribeHistoryApisRequest() (request *DescribeHistoryApisRequest) {
+	request = &DescribeHistoryApisRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeHistoryApis", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeHistoryApisResponse creates a response to parse from DescribeHistoryApis response
+func CreateDescribeHistoryApisResponse() (response *DescribeHistoryApisResponse) {
+	response = &DescribeHistoryApisResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cloudapi/describe_ip_control_policy_items.go

@@ -0,0 +1,110 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeIpControlPolicyItems invokes the cloudapi.DescribeIpControlPolicyItems API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeipcontrolpolicyitems.html
+func (client *Client) DescribeIpControlPolicyItems(request *DescribeIpControlPolicyItemsRequest) (response *DescribeIpControlPolicyItemsResponse, err error) {
+	response = CreateDescribeIpControlPolicyItemsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeIpControlPolicyItemsWithChan invokes the cloudapi.DescribeIpControlPolicyItems API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeipcontrolpolicyitems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpControlPolicyItemsWithChan(request *DescribeIpControlPolicyItemsRequest) (<-chan *DescribeIpControlPolicyItemsResponse, <-chan error) {
+	responseChan := make(chan *DescribeIpControlPolicyItemsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeIpControlPolicyItems(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeIpControlPolicyItemsWithCallback invokes the cloudapi.DescribeIpControlPolicyItems API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeipcontrolpolicyitems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpControlPolicyItemsWithCallback(request *DescribeIpControlPolicyItemsRequest, callback func(response *DescribeIpControlPolicyItemsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeIpControlPolicyItemsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeIpControlPolicyItems(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeIpControlPolicyItemsRequest is the request struct for api DescribeIpControlPolicyItems
+type DescribeIpControlPolicyItemsRequest struct {
+	*requests.RpcRequest
+	IpControlId  string           `position:"Query" name:"IpControlId"`
+	PolicyItemId string           `position:"Query" name:"PolicyItemId"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeIpControlPolicyItemsResponse is the response struct for api DescribeIpControlPolicyItems
+type DescribeIpControlPolicyItemsResponse struct {
+	*responses.BaseResponse
+	RequestId            string               `json:"RequestId" xml:"RequestId"`
+	TotalCount           int                  `json:"TotalCount" xml:"TotalCount"`
+	PageSize             int                  `json:"PageSize" xml:"PageSize"`
+	PageNumber           int                  `json:"PageNumber" xml:"PageNumber"`
+	IpControlPolicyItems IpControlPolicyItems `json:"IpControlPolicyItems" xml:"IpControlPolicyItems"`
+}
+
+// CreateDescribeIpControlPolicyItemsRequest creates a request to invoke DescribeIpControlPolicyItems API
+func CreateDescribeIpControlPolicyItemsRequest() (request *DescribeIpControlPolicyItemsRequest) {
+	request = &DescribeIpControlPolicyItemsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeIpControlPolicyItems", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeIpControlPolicyItemsResponse creates a response to parse from DescribeIpControlPolicyItems response
+func CreateDescribeIpControlPolicyItemsResponse() (response *DescribeIpControlPolicyItemsResponse) {
+	response = &DescribeIpControlPolicyItemsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cloudapi/describe_ip_controls.go

@@ -0,0 +1,111 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeIpControls invokes the cloudapi.DescribeIpControls API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeipcontrols.html
+func (client *Client) DescribeIpControls(request *DescribeIpControlsRequest) (response *DescribeIpControlsResponse, err error) {
+	response = CreateDescribeIpControlsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeIpControlsWithChan invokes the cloudapi.DescribeIpControls API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeipcontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpControlsWithChan(request *DescribeIpControlsRequest) (<-chan *DescribeIpControlsResponse, <-chan error) {
+	responseChan := make(chan *DescribeIpControlsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeIpControls(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeIpControlsWithCallback invokes the cloudapi.DescribeIpControls API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeipcontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpControlsWithCallback(request *DescribeIpControlsRequest, callback func(response *DescribeIpControlsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeIpControlsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeIpControls(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeIpControlsRequest is the request struct for api DescribeIpControls
+type DescribeIpControlsRequest struct {
+	*requests.RpcRequest
+	IpControlId   string           `position:"Query" name:"IpControlId"`
+	IpControlName string           `position:"Query" name:"IpControlName"`
+	IpControlType string           `position:"Query" name:"IpControlType"`
+	PageNumber    requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize      requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeIpControlsResponse is the response struct for api DescribeIpControls
+type DescribeIpControlsResponse struct {
+	*responses.BaseResponse
+	RequestId      string         `json:"RequestId" xml:"RequestId"`
+	TotalCount     int            `json:"TotalCount" xml:"TotalCount"`
+	PageSize       int            `json:"PageSize" xml:"PageSize"`
+	PageNumber     int            `json:"PageNumber" xml:"PageNumber"`
+	IpControlInfos IpControlInfos `json:"IpControlInfos" xml:"IpControlInfos"`
+}
+
+// CreateDescribeIpControlsRequest creates a request to invoke DescribeIpControls API
+func CreateDescribeIpControlsRequest() (request *DescribeIpControlsRequest) {
+	request = &DescribeIpControlsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeIpControls", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeIpControlsResponse creates a response to parse from DescribeIpControls response
+func CreateDescribeIpControlsResponse() (response *DescribeIpControlsResponse) {
+	response = &DescribeIpControlsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/cloudapi/describe_log_config.go

@@ -0,0 +1,104 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeLogConfig invokes the cloudapi.DescribeLogConfig API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describelogconfig.html
+func (client *Client) DescribeLogConfig(request *DescribeLogConfigRequest) (response *DescribeLogConfigResponse, err error) {
+	response = CreateDescribeLogConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLogConfigWithChan invokes the cloudapi.DescribeLogConfig API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describelogconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLogConfigWithChan(request *DescribeLogConfigRequest) (<-chan *DescribeLogConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeLogConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLogConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLogConfigWithCallback invokes the cloudapi.DescribeLogConfig API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describelogconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLogConfigWithCallback(request *DescribeLogConfigRequest, callback func(response *DescribeLogConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLogConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLogConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLogConfigRequest is the request struct for api DescribeLogConfig
+type DescribeLogConfigRequest struct {
+	*requests.RpcRequest
+	LogType string `position:"Query" name:"LogType"`
+}
+
+// DescribeLogConfigResponse is the response struct for api DescribeLogConfig
+type DescribeLogConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	LogInfos  LogInfos `json:"LogInfos" xml:"LogInfos"`
+}
+
+// CreateDescribeLogConfigRequest creates a request to invoke DescribeLogConfig API
+func CreateDescribeLogConfigRequest() (request *DescribeLogConfigRequest) {
+	request = &DescribeLogConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeLogConfig", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeLogConfigResponse creates a response to parse from DescribeLogConfig response
+func CreateDescribeLogConfigResponse() (response *DescribeLogConfigResponse) {
+	response = &DescribeLogConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cloudapi/describe_purchased_api_group.go

@@ -0,0 +1,110 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribePurchasedApiGroup invokes the cloudapi.DescribePurchasedApiGroup API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describepurchasedapigroup.html
+func (client *Client) DescribePurchasedApiGroup(request *DescribePurchasedApiGroupRequest) (response *DescribePurchasedApiGroupResponse, err error) {
+	response = CreateDescribePurchasedApiGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribePurchasedApiGroupWithChan invokes the cloudapi.DescribePurchasedApiGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describepurchasedapigroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePurchasedApiGroupWithChan(request *DescribePurchasedApiGroupRequest) (<-chan *DescribePurchasedApiGroupResponse, <-chan error) {
+	responseChan := make(chan *DescribePurchasedApiGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribePurchasedApiGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribePurchasedApiGroupWithCallback invokes the cloudapi.DescribePurchasedApiGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describepurchasedapigroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePurchasedApiGroupWithCallback(request *DescribePurchasedApiGroupRequest, callback func(response *DescribePurchasedApiGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribePurchasedApiGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribePurchasedApiGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribePurchasedApiGroupRequest is the request struct for api DescribePurchasedApiGroup
+type DescribePurchasedApiGroupRequest struct {
+	*requests.RpcRequest
+	GroupId string `position:"Query" name:"GroupId"`
+}
+
+// DescribePurchasedApiGroupResponse is the response struct for api DescribePurchasedApiGroup
+type DescribePurchasedApiGroupResponse struct {
+	*responses.BaseResponse
+	RequestId     string  `json:"RequestId" xml:"RequestId"`
+	GroupId       string  `json:"GroupId" xml:"GroupId"`
+	GroupName     string  `json:"GroupName" xml:"GroupName"`
+	Description   string  `json:"Description" xml:"Description"`
+	PurchasedTime string  `json:"PurchasedTime" xml:"PurchasedTime"`
+	RegionId      string  `json:"RegionId" xml:"RegionId"`
+	Status        string  `json:"Status" xml:"Status"`
+	Domains       Domains `json:"Domains" xml:"Domains"`
+}
+
+// CreateDescribePurchasedApiGroupRequest creates a request to invoke DescribePurchasedApiGroup API
+func CreateDescribePurchasedApiGroupRequest() (request *DescribePurchasedApiGroupRequest) {
+	request = &DescribePurchasedApiGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribePurchasedApiGroup", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribePurchasedApiGroupResponse creates a response to parse from DescribePurchasedApiGroup response
+func CreateDescribePurchasedApiGroupResponse() (response *DescribePurchasedApiGroupResponse) {
+	response = &DescribePurchasedApiGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cloudapi/describe_purchased_api_groups.go

@@ -0,0 +1,108 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribePurchasedApiGroups invokes the cloudapi.DescribePurchasedApiGroups API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describepurchasedapigroups.html
+func (client *Client) DescribePurchasedApiGroups(request *DescribePurchasedApiGroupsRequest) (response *DescribePurchasedApiGroupsResponse, err error) {
+	response = CreateDescribePurchasedApiGroupsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribePurchasedApiGroupsWithChan invokes the cloudapi.DescribePurchasedApiGroups API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describepurchasedapigroups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePurchasedApiGroupsWithChan(request *DescribePurchasedApiGroupsRequest) (<-chan *DescribePurchasedApiGroupsResponse, <-chan error) {
+	responseChan := make(chan *DescribePurchasedApiGroupsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribePurchasedApiGroups(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribePurchasedApiGroupsWithCallback invokes the cloudapi.DescribePurchasedApiGroups API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describepurchasedapigroups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePurchasedApiGroupsWithCallback(request *DescribePurchasedApiGroupsRequest, callback func(response *DescribePurchasedApiGroupsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribePurchasedApiGroupsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribePurchasedApiGroups(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribePurchasedApiGroupsRequest is the request struct for api DescribePurchasedApiGroups
+type DescribePurchasedApiGroupsRequest struct {
+	*requests.RpcRequest
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribePurchasedApiGroupsResponse is the response struct for api DescribePurchasedApiGroups
+type DescribePurchasedApiGroupsResponse struct {
+	*responses.BaseResponse
+	RequestId                   string                      `json:"RequestId" xml:"RequestId"`
+	TotalCount                  int                         `json:"TotalCount" xml:"TotalCount"`
+	PageSize                    int                         `json:"PageSize" xml:"PageSize"`
+	PageNumber                  int                         `json:"PageNumber" xml:"PageNumber"`
+	PurchasedApiGroupAttributes PurchasedApiGroupAttributes `json:"PurchasedApiGroupAttributes" xml:"PurchasedApiGroupAttributes"`
+}
+
+// CreateDescribePurchasedApiGroupsRequest creates a request to invoke DescribePurchasedApiGroups API
+func CreateDescribePurchasedApiGroupsRequest() (request *DescribePurchasedApiGroupsRequest) {
+	request = &DescribePurchasedApiGroupsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribePurchasedApiGroups", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribePurchasedApiGroupsResponse creates a response to parse from DescribePurchasedApiGroups response
+func CreateDescribePurchasedApiGroupsResponse() (response *DescribePurchasedApiGroupsResponse) {
+	response = &DescribePurchasedApiGroupsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/cloudapi/describe_purchased_apis.go

@@ -0,0 +1,113 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribePurchasedApis invokes the cloudapi.DescribePurchasedApis API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describepurchasedapis.html
+func (client *Client) DescribePurchasedApis(request *DescribePurchasedApisRequest) (response *DescribePurchasedApisResponse, err error) {
+	response = CreateDescribePurchasedApisResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribePurchasedApisWithChan invokes the cloudapi.DescribePurchasedApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describepurchasedapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePurchasedApisWithChan(request *DescribePurchasedApisRequest) (<-chan *DescribePurchasedApisResponse, <-chan error) {
+	responseChan := make(chan *DescribePurchasedApisResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribePurchasedApis(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribePurchasedApisWithCallback invokes the cloudapi.DescribePurchasedApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describepurchasedapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePurchasedApisWithCallback(request *DescribePurchasedApisRequest, callback func(response *DescribePurchasedApisResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribePurchasedApisResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribePurchasedApis(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribePurchasedApisRequest is the request struct for api DescribePurchasedApis
+type DescribePurchasedApisRequest struct {
+	*requests.RpcRequest
+	GroupId    string           `position:"Query" name:"GroupId"`
+	StageName  string           `position:"Query" name:"StageName"`
+	ApiId      string           `position:"Query" name:"ApiId"`
+	ApiName    string           `position:"Query" name:"ApiName"`
+	Visibility string           `position:"Query" name:"Visibility"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribePurchasedApisResponse is the response struct for api DescribePurchasedApis
+type DescribePurchasedApisResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	TotalCount    int           `json:"TotalCount" xml:"TotalCount"`
+	PageSize      int           `json:"PageSize" xml:"PageSize"`
+	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
+	PurchasedApis PurchasedApis `json:"PurchasedApis" xml:"PurchasedApis"`
+}
+
+// CreateDescribePurchasedApisRequest creates a request to invoke DescribePurchasedApis API
+func CreateDescribePurchasedApisRequest() (request *DescribePurchasedApisRequest) {
+	request = &DescribePurchasedApisRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribePurchasedApis", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribePurchasedApisResponse creates a response to parse from DescribePurchasedApis response
+func CreateDescribePurchasedApisResponse() (response *DescribePurchasedApisResponse) {
+	response = &DescribePurchasedApisResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/describe_regions.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 cloudapi.DescribeRegions API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describeregions.html
+func (client *Client) DescribeRegions(request *DescribeRegionsRequest) (response *DescribeRegionsResponse, err error) {
+	response = CreateDescribeRegionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRegionsWithChan invokes the cloudapi.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/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 cloudapi.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/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.RpcRequest
+}
+
+// DescribeRegionsResponse is the response struct for api DescribeRegions
+type DescribeRegionsResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	Regions   Regions `json:"Regions" xml:"Regions"`
+}
+
+// CreateDescribeRegionsRequest creates a request to invoke DescribeRegions API
+func CreateDescribeRegionsRequest() (request *DescribeRegionsRequest) {
+	request = &DescribeRegionsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeRegions", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeRegionsResponse creates a response to parse from DescribeRegions response
+func CreateDescribeRegionsResponse() (response *DescribeRegionsResponse) {
+	response = &DescribeRegionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/cloudapi/describe_signatures.go

@@ -0,0 +1,110 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeSignatures invokes the cloudapi.DescribeSignatures API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describesignatures.html
+func (client *Client) DescribeSignatures(request *DescribeSignaturesRequest) (response *DescribeSignaturesResponse, err error) {
+	response = CreateDescribeSignaturesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSignaturesWithChan invokes the cloudapi.DescribeSignatures API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describesignatures.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSignaturesWithChan(request *DescribeSignaturesRequest) (<-chan *DescribeSignaturesResponse, <-chan error) {
+	responseChan := make(chan *DescribeSignaturesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSignatures(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeSignaturesWithCallback invokes the cloudapi.DescribeSignatures API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describesignatures.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSignaturesWithCallback(request *DescribeSignaturesRequest, callback func(response *DescribeSignaturesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSignaturesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSignatures(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeSignaturesRequest is the request struct for api DescribeSignatures
+type DescribeSignaturesRequest struct {
+	*requests.RpcRequest
+	SignatureId   string           `position:"Query" name:"SignatureId"`
+	SignatureName string           `position:"Query" name:"SignatureName"`
+	PageNumber    requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize      requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeSignaturesResponse is the response struct for api DescribeSignatures
+type DescribeSignaturesResponse struct {
+	*responses.BaseResponse
+	RequestId      string         `json:"RequestId" xml:"RequestId"`
+	TotalCount     int            `json:"TotalCount" xml:"TotalCount"`
+	PageSize       int            `json:"PageSize" xml:"PageSize"`
+	PageNumber     int            `json:"PageNumber" xml:"PageNumber"`
+	SignatureInfos SignatureInfos `json:"SignatureInfos" xml:"SignatureInfos"`
+}
+
+// CreateDescribeSignaturesRequest creates a request to invoke DescribeSignatures API
+func CreateDescribeSignaturesRequest() (request *DescribeSignaturesRequest) {
+	request = &DescribeSignaturesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeSignatures", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeSignaturesResponse creates a response to parse from DescribeSignatures response
+func CreateDescribeSignaturesResponse() (response *DescribeSignaturesResponse) {
+	response = &DescribeSignaturesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/describe_signatures_by_api.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeSignaturesByApi invokes the cloudapi.DescribeSignaturesByApi API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describesignaturesbyapi.html
+func (client *Client) DescribeSignaturesByApi(request *DescribeSignaturesByApiRequest) (response *DescribeSignaturesByApiResponse, err error) {
+	response = CreateDescribeSignaturesByApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSignaturesByApiWithChan invokes the cloudapi.DescribeSignaturesByApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describesignaturesbyapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSignaturesByApiWithChan(request *DescribeSignaturesByApiRequest) (<-chan *DescribeSignaturesByApiResponse, <-chan error) {
+	responseChan := make(chan *DescribeSignaturesByApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSignaturesByApi(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeSignaturesByApiWithCallback invokes the cloudapi.DescribeSignaturesByApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describesignaturesbyapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSignaturesByApiWithCallback(request *DescribeSignaturesByApiRequest, callback func(response *DescribeSignaturesByApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSignaturesByApiResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSignaturesByApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeSignaturesByApiRequest is the request struct for api DescribeSignaturesByApi
+type DescribeSignaturesByApiRequest struct {
+	*requests.RpcRequest
+	GroupId   string `position:"Query" name:"GroupId"`
+	ApiId     string `position:"Query" name:"ApiId"`
+	StageName string `position:"Query" name:"StageName"`
+}
+
+// DescribeSignaturesByApiResponse is the response struct for api DescribeSignaturesByApi
+type DescribeSignaturesByApiResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	Signatures Signatures `json:"Signatures" xml:"Signatures"`
+}
+
+// CreateDescribeSignaturesByApiRequest creates a request to invoke DescribeSignaturesByApi API
+func CreateDescribeSignaturesByApiRequest() (request *DescribeSignaturesByApiRequest) {
+	request = &DescribeSignaturesByApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeSignaturesByApi", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeSignaturesByApiResponse creates a response to parse from DescribeSignaturesByApi response
+func CreateDescribeSignaturesByApiResponse() (response *DescribeSignaturesByApiResponse) {
+	response = &DescribeSignaturesByApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/describe_system_parameters.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeSystemParameters invokes the cloudapi.DescribeSystemParameters API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describesystemparameters.html
+func (client *Client) DescribeSystemParameters(request *DescribeSystemParametersRequest) (response *DescribeSystemParametersResponse, err error) {
+	response = CreateDescribeSystemParametersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSystemParametersWithChan invokes the cloudapi.DescribeSystemParameters API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describesystemparameters.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSystemParametersWithChan(request *DescribeSystemParametersRequest) (<-chan *DescribeSystemParametersResponse, <-chan error) {
+	responseChan := make(chan *DescribeSystemParametersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSystemParameters(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeSystemParametersWithCallback invokes the cloudapi.DescribeSystemParameters API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describesystemparameters.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSystemParametersWithCallback(request *DescribeSystemParametersRequest, callback func(response *DescribeSystemParametersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSystemParametersResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSystemParameters(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeSystemParametersRequest is the request struct for api DescribeSystemParameters
+type DescribeSystemParametersRequest struct {
+	*requests.RpcRequest
+}
+
+// DescribeSystemParametersResponse is the response struct for api DescribeSystemParameters
+type DescribeSystemParametersResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	SystemParams SystemParams `json:"SystemParams" xml:"SystemParams"`
+}
+
+// CreateDescribeSystemParametersRequest creates a request to invoke DescribeSystemParameters API
+func CreateDescribeSystemParametersRequest() (request *DescribeSystemParametersRequest) {
+	request = &DescribeSystemParametersRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeSystemParameters", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeSystemParametersResponse creates a response to parse from DescribeSystemParameters response
+func CreateDescribeSystemParametersResponse() (response *DescribeSystemParametersResponse) {
+	response = &DescribeSystemParametersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/cloudapi/describe_traffic_controls.go

@@ -0,0 +1,113 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeTrafficControls invokes the cloudapi.DescribeTrafficControls API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describetrafficcontrols.html
+func (client *Client) DescribeTrafficControls(request *DescribeTrafficControlsRequest) (response *DescribeTrafficControlsResponse, err error) {
+	response = CreateDescribeTrafficControlsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTrafficControlsWithChan invokes the cloudapi.DescribeTrafficControls API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describetrafficcontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTrafficControlsWithChan(request *DescribeTrafficControlsRequest) (<-chan *DescribeTrafficControlsResponse, <-chan error) {
+	responseChan := make(chan *DescribeTrafficControlsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTrafficControls(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTrafficControlsWithCallback invokes the cloudapi.DescribeTrafficControls API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describetrafficcontrols.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTrafficControlsWithCallback(request *DescribeTrafficControlsRequest, callback func(response *DescribeTrafficControlsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTrafficControlsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTrafficControls(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTrafficControlsRequest is the request struct for api DescribeTrafficControls
+type DescribeTrafficControlsRequest struct {
+	*requests.RpcRequest
+	TrafficControlId   string           `position:"Query" name:"TrafficControlId"`
+	GroupId            string           `position:"Query" name:"GroupId"`
+	ApiId              string           `position:"Query" name:"ApiId"`
+	StageName          string           `position:"Query" name:"StageName"`
+	TrafficControlName string           `position:"Query" name:"TrafficControlName"`
+	PageNumber         requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize           requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeTrafficControlsResponse is the response struct for api DescribeTrafficControls
+type DescribeTrafficControlsResponse struct {
+	*responses.BaseResponse
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	TotalCount      int             `json:"TotalCount" xml:"TotalCount"`
+	PageSize        int             `json:"PageSize" xml:"PageSize"`
+	PageNumber      int             `json:"PageNumber" xml:"PageNumber"`
+	TrafficControls TrafficControls `json:"TrafficControls" xml:"TrafficControls"`
+}
+
+// CreateDescribeTrafficControlsRequest creates a request to invoke DescribeTrafficControls API
+func CreateDescribeTrafficControlsRequest() (request *DescribeTrafficControlsRequest) {
+	request = &DescribeTrafficControlsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeTrafficControls", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeTrafficControlsResponse creates a response to parse from DescribeTrafficControls response
+func CreateDescribeTrafficControlsResponse() (response *DescribeTrafficControlsResponse) {
+	response = &DescribeTrafficControlsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/describe_traffic_controls_by_api.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeTrafficControlsByApi invokes the cloudapi.DescribeTrafficControlsByApi API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describetrafficcontrolsbyapi.html
+func (client *Client) DescribeTrafficControlsByApi(request *DescribeTrafficControlsByApiRequest) (response *DescribeTrafficControlsByApiResponse, err error) {
+	response = CreateDescribeTrafficControlsByApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTrafficControlsByApiWithChan invokes the cloudapi.DescribeTrafficControlsByApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describetrafficcontrolsbyapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTrafficControlsByApiWithChan(request *DescribeTrafficControlsByApiRequest) (<-chan *DescribeTrafficControlsByApiResponse, <-chan error) {
+	responseChan := make(chan *DescribeTrafficControlsByApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTrafficControlsByApi(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTrafficControlsByApiWithCallback invokes the cloudapi.DescribeTrafficControlsByApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describetrafficcontrolsbyapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTrafficControlsByApiWithCallback(request *DescribeTrafficControlsByApiRequest, callback func(response *DescribeTrafficControlsByApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTrafficControlsByApiResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTrafficControlsByApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTrafficControlsByApiRequest is the request struct for api DescribeTrafficControlsByApi
+type DescribeTrafficControlsByApiRequest struct {
+	*requests.RpcRequest
+	GroupId   string `position:"Query" name:"GroupId"`
+	ApiId     string `position:"Query" name:"ApiId"`
+	StageName string `position:"Query" name:"StageName"`
+}
+
+// DescribeTrafficControlsByApiResponse is the response struct for api DescribeTrafficControlsByApi
+type DescribeTrafficControlsByApiResponse struct {
+	*responses.BaseResponse
+	RequestId           string              `json:"RequestId" xml:"RequestId"`
+	TrafficControlItems TrafficControlItems `json:"TrafficControlItems" xml:"TrafficControlItems"`
+}
+
+// CreateDescribeTrafficControlsByApiRequest creates a request to invoke DescribeTrafficControlsByApi API
+func CreateDescribeTrafficControlsByApiRequest() (request *DescribeTrafficControlsByApiRequest) {
+	request = &DescribeTrafficControlsByApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeTrafficControlsByApi", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeTrafficControlsByApiResponse creates a response to parse from DescribeTrafficControlsByApi response
+func CreateDescribeTrafficControlsByApiResponse() (response *DescribeTrafficControlsByApiResponse) {
+	response = &DescribeTrafficControlsByApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cloudapi/describe_vpc_accesses.go

@@ -0,0 +1,108 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeVpcAccesses invokes the cloudapi.DescribeVpcAccesses API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/describevpcaccesses.html
+func (client *Client) DescribeVpcAccesses(request *DescribeVpcAccessesRequest) (response *DescribeVpcAccessesResponse, err error) {
+	response = CreateDescribeVpcAccessesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVpcAccessesWithChan invokes the cloudapi.DescribeVpcAccesses API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describevpcaccesses.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVpcAccessesWithChan(request *DescribeVpcAccessesRequest) (<-chan *DescribeVpcAccessesResponse, <-chan error) {
+	responseChan := make(chan *DescribeVpcAccessesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVpcAccesses(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVpcAccessesWithCallback invokes the cloudapi.DescribeVpcAccesses API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/describevpcaccesses.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVpcAccessesWithCallback(request *DescribeVpcAccessesRequest, callback func(response *DescribeVpcAccessesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVpcAccessesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVpcAccesses(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVpcAccessesRequest is the request struct for api DescribeVpcAccesses
+type DescribeVpcAccessesRequest struct {
+	*requests.RpcRequest
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeVpcAccessesResponse is the response struct for api DescribeVpcAccesses
+type DescribeVpcAccessesResponse struct {
+	*responses.BaseResponse
+	RequestId           string              `json:"RequestId" xml:"RequestId"`
+	TotalCount          int                 `json:"TotalCount" xml:"TotalCount"`
+	PageSize            int                 `json:"PageSize" xml:"PageSize"`
+	PageNumber          int                 `json:"PageNumber" xml:"PageNumber"`
+	VpcAccessAttributes VpcAccessAttributes `json:"VpcAccessAttributes" xml:"VpcAccessAttributes"`
+}
+
+// CreateDescribeVpcAccessesRequest creates a request to invoke DescribeVpcAccesses API
+func CreateDescribeVpcAccessesRequest() (request *DescribeVpcAccessesRequest) {
+	request = &DescribeVpcAccessesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "DescribeVpcAccesses", "apigateway", "openAPI")
+	return
+}
+
+// CreateDescribeVpcAccessesResponse creates a response to parse from DescribeVpcAccesses response
+func CreateDescribeVpcAccessesResponse() (response *DescribeVpcAccessesResponse) {
+	response = &DescribeVpcAccessesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 123 - 0
services/cloudapi/modify_api.go

@@ -0,0 +1,123 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyApi invokes the cloudapi.ModifyApi API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyapi.html
+func (client *Client) ModifyApi(request *ModifyApiRequest) (response *ModifyApiResponse, err error) {
+	response = CreateModifyApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyApiWithChan invokes the cloudapi.ModifyApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyApiWithChan(request *ModifyApiRequest) (<-chan *ModifyApiResponse, <-chan error) {
+	responseChan := make(chan *ModifyApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyApi(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyApiWithCallback invokes the cloudapi.ModifyApi API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyApiWithCallback(request *ModifyApiRequest, callback func(response *ModifyApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyApiResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyApiRequest is the request struct for api ModifyApi
+type ModifyApiRequest struct {
+	*requests.RpcRequest
+	GroupId              string `position:"Query" name:"GroupId"`
+	ApiId                string `position:"Query" name:"ApiId"`
+	ApiName              string `position:"Query" name:"ApiName"`
+	Description          string `position:"Query" name:"Description"`
+	Visibility           string `position:"Query" name:"Visibility"`
+	AuthType             string `position:"Query" name:"AuthType"`
+	RequestConfig        string `position:"Query" name:"RequestConfig"`
+	ServiceConfig        string `position:"Query" name:"ServiceConfig"`
+	RequestParameters    string `position:"Query" name:"RequestParameters"`
+	SystemParameters     string `position:"Query" name:"SystemParameters"`
+	ConstantParameters   string `position:"Query" name:"ConstantParameters"`
+	ServiceParameters    string `position:"Query" name:"ServiceParameters"`
+	ServiceParametersMap string `position:"Query" name:"ServiceParametersMap"`
+	ResultType           string `position:"Query" name:"ResultType"`
+	ResultSample         string `position:"Query" name:"ResultSample"`
+	FailResultSample     string `position:"Query" name:"FailResultSample"`
+	ErrorCodeSamples     string `position:"Query" name:"ErrorCodeSamples"`
+	ResultDescriptions   string `position:"Query" name:"ResultDescriptions"`
+	OpenIdConnectConfig  string `position:"Query" name:"OpenIdConnectConfig"`
+	AllowSignatureMethod string `position:"Query" name:"AllowSignatureMethod"`
+	WebSocketApiType     string `position:"Query" name:"WebSocketApiType"`
+}
+
+// ModifyApiResponse is the response struct for api ModifyApi
+type ModifyApiResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyApiRequest creates a request to invoke ModifyApi API
+func CreateModifyApiRequest() (request *ModifyApiRequest) {
+	request = &ModifyApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ModifyApi", "apigateway", "openAPI")
+	return
+}
+
+// CreateModifyApiResponse creates a response to parse from ModifyApi response
+func CreateModifyApiResponse() (response *ModifyApiResponse) {
+	response = &ModifyApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cloudapi/modify_api_group.go

@@ -0,0 +1,109 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyApiGroup invokes the cloudapi.ModifyApiGroup API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyapigroup.html
+func (client *Client) ModifyApiGroup(request *ModifyApiGroupRequest) (response *ModifyApiGroupResponse, err error) {
+	response = CreateModifyApiGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyApiGroupWithChan invokes the cloudapi.ModifyApiGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyapigroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyApiGroupWithChan(request *ModifyApiGroupRequest) (<-chan *ModifyApiGroupResponse, <-chan error) {
+	responseChan := make(chan *ModifyApiGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyApiGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyApiGroupWithCallback invokes the cloudapi.ModifyApiGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyapigroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyApiGroupWithCallback(request *ModifyApiGroupRequest, callback func(response *ModifyApiGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyApiGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyApiGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyApiGroupRequest is the request struct for api ModifyApiGroup
+type ModifyApiGroupRequest struct {
+	*requests.RpcRequest
+	GroupId     string `position:"Query" name:"GroupId"`
+	GroupName   string `position:"Query" name:"GroupName"`
+	Description string `position:"Query" name:"Description"`
+}
+
+// ModifyApiGroupResponse is the response struct for api ModifyApiGroup
+type ModifyApiGroupResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	GroupId     string `json:"GroupId" xml:"GroupId"`
+	GroupName   string `json:"GroupName" xml:"GroupName"`
+	SubDomain   string `json:"SubDomain" xml:"SubDomain"`
+	Description string `json:"Description" xml:"Description"`
+}
+
+// CreateModifyApiGroupRequest creates a request to invoke ModifyApiGroup API
+func CreateModifyApiGroupRequest() (request *ModifyApiGroupRequest) {
+	request = &ModifyApiGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ModifyApiGroup", "apigateway", "openAPI")
+	return
+}
+
+// CreateModifyApiGroupResponse creates a response to parse from ModifyApiGroup response
+func CreateModifyApiGroupResponse() (response *ModifyApiGroupResponse) {
+	response = &ModifyApiGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/modify_app.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyApp invokes the cloudapi.ModifyApp API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyapp.html
+func (client *Client) ModifyApp(request *ModifyAppRequest) (response *ModifyAppResponse, err error) {
+	response = CreateModifyAppResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyAppWithChan invokes the cloudapi.ModifyApp API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAppWithChan(request *ModifyAppRequest) (<-chan *ModifyAppResponse, <-chan error) {
+	responseChan := make(chan *ModifyAppResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyApp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyAppWithCallback invokes the cloudapi.ModifyApp API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAppWithCallback(request *ModifyAppRequest, callback func(response *ModifyAppResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyAppResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyApp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyAppRequest is the request struct for api ModifyApp
+type ModifyAppRequest struct {
+	*requests.RpcRequest
+	AppId       requests.Integer `position:"Query" name:"AppId"`
+	AppName     string           `position:"Query" name:"AppName"`
+	Description string           `position:"Query" name:"Description"`
+}
+
+// ModifyAppResponse is the response struct for api ModifyApp
+type ModifyAppResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyAppRequest creates a request to invoke ModifyApp API
+func CreateModifyAppRequest() (request *ModifyAppRequest) {
+	request = &ModifyAppRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ModifyApp", "apigateway", "openAPI")
+	return
+}
+
+// CreateModifyAppResponse creates a response to parse from ModifyApp response
+func CreateModifyAppResponse() (response *ModifyAppResponse) {
+	response = &ModifyAppResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/modify_catalog.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyCatalog invokes the cloudapi.ModifyCatalog API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifycatalog.html
+func (client *Client) ModifyCatalog(request *ModifyCatalogRequest) (response *ModifyCatalogResponse, err error) {
+	response = CreateModifyCatalogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyCatalogWithChan invokes the cloudapi.ModifyCatalog API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifycatalog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyCatalogWithChan(request *ModifyCatalogRequest) (<-chan *ModifyCatalogResponse, <-chan error) {
+	responseChan := make(chan *ModifyCatalogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyCatalog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyCatalogWithCallback invokes the cloudapi.ModifyCatalog API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifycatalog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyCatalogWithCallback(request *ModifyCatalogRequest, callback func(response *ModifyCatalogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyCatalogResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyCatalog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyCatalogRequest is the request struct for api ModifyCatalog
+type ModifyCatalogRequest struct {
+	*requests.RpcRequest
+	CatalogId   string `position:"Query" name:"CatalogId"`
+	CatalogName string `position:"Query" name:"CatalogName"`
+	Description string `position:"Query" name:"Description"`
+}
+
+// ModifyCatalogResponse is the response struct for api ModifyCatalog
+type ModifyCatalogResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyCatalogRequest creates a request to invoke ModifyCatalog API
+func CreateModifyCatalogRequest() (request *ModifyCatalogRequest) {
+	request = &ModifyCatalogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ModifyCatalog", "apigateway", "openAPI")
+	return
+}
+
+// CreateModifyCatalogResponse creates a response to parse from ModifyCatalog response
+func CreateModifyCatalogResponse() (response *ModifyCatalogResponse) {
+	response = &ModifyCatalogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/modify_ip_control.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyIpControl invokes the cloudapi.ModifyIpControl API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyipcontrol.html
+func (client *Client) ModifyIpControl(request *ModifyIpControlRequest) (response *ModifyIpControlResponse, err error) {
+	response = CreateModifyIpControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyIpControlWithChan invokes the cloudapi.ModifyIpControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyipcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpControlWithChan(request *ModifyIpControlRequest) (<-chan *ModifyIpControlResponse, <-chan error) {
+	responseChan := make(chan *ModifyIpControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyIpControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyIpControlWithCallback invokes the cloudapi.ModifyIpControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyipcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpControlWithCallback(request *ModifyIpControlRequest, callback func(response *ModifyIpControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyIpControlResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyIpControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyIpControlRequest is the request struct for api ModifyIpControl
+type ModifyIpControlRequest struct {
+	*requests.RpcRequest
+	IpControlId   string `position:"Query" name:"IpControlId"`
+	IpControlName string `position:"Query" name:"IpControlName"`
+	Description   string `position:"Query" name:"Description"`
+}
+
+// ModifyIpControlResponse is the response struct for api ModifyIpControl
+type ModifyIpControlResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyIpControlRequest creates a request to invoke ModifyIpControl API
+func CreateModifyIpControlRequest() (request *ModifyIpControlRequest) {
+	request = &ModifyIpControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ModifyIpControl", "apigateway", "openAPI")
+	return
+}
+
+// CreateModifyIpControlResponse creates a response to parse from ModifyIpControl response
+func CreateModifyIpControlResponse() (response *ModifyIpControlResponse) {
+	response = &ModifyIpControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/modify_ip_control_policy_item.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyIpControlPolicyItem invokes the cloudapi.ModifyIpControlPolicyItem API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyipcontrolpolicyitem.html
+func (client *Client) ModifyIpControlPolicyItem(request *ModifyIpControlPolicyItemRequest) (response *ModifyIpControlPolicyItemResponse, err error) {
+	response = CreateModifyIpControlPolicyItemResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyIpControlPolicyItemWithChan invokes the cloudapi.ModifyIpControlPolicyItem API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyipcontrolpolicyitem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpControlPolicyItemWithChan(request *ModifyIpControlPolicyItemRequest) (<-chan *ModifyIpControlPolicyItemResponse, <-chan error) {
+	responseChan := make(chan *ModifyIpControlPolicyItemResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyIpControlPolicyItem(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyIpControlPolicyItemWithCallback invokes the cloudapi.ModifyIpControlPolicyItem API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifyipcontrolpolicyitem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpControlPolicyItemWithCallback(request *ModifyIpControlPolicyItemRequest, callback func(response *ModifyIpControlPolicyItemResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyIpControlPolicyItemResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyIpControlPolicyItem(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyIpControlPolicyItemRequest is the request struct for api ModifyIpControlPolicyItem
+type ModifyIpControlPolicyItemRequest struct {
+	*requests.RpcRequest
+	IpControlId  string `position:"Query" name:"IpControlId"`
+	PolicyItemId string `position:"Query" name:"PolicyItemId"`
+	AppId        string `position:"Query" name:"AppId"`
+	CidrIp       string `position:"Query" name:"CidrIp"`
+}
+
+// ModifyIpControlPolicyItemResponse is the response struct for api ModifyIpControlPolicyItem
+type ModifyIpControlPolicyItemResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyIpControlPolicyItemRequest creates a request to invoke ModifyIpControlPolicyItem API
+func CreateModifyIpControlPolicyItemRequest() (request *ModifyIpControlPolicyItemRequest) {
+	request = &ModifyIpControlPolicyItemRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ModifyIpControlPolicyItem", "apigateway", "openAPI")
+	return
+}
+
+// CreateModifyIpControlPolicyItemResponse creates a response to parse from ModifyIpControlPolicyItem response
+func CreateModifyIpControlPolicyItemResponse() (response *ModifyIpControlPolicyItemResponse) {
+	response = &ModifyIpControlPolicyItemResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/modify_log_config.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyLogConfig invokes the cloudapi.ModifyLogConfig API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifylogconfig.html
+func (client *Client) ModifyLogConfig(request *ModifyLogConfigRequest) (response *ModifyLogConfigResponse, err error) {
+	response = CreateModifyLogConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyLogConfigWithChan invokes the cloudapi.ModifyLogConfig API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifylogconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyLogConfigWithChan(request *ModifyLogConfigRequest) (<-chan *ModifyLogConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyLogConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyLogConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyLogConfigWithCallback invokes the cloudapi.ModifyLogConfig API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifylogconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyLogConfigWithCallback(request *ModifyLogConfigRequest, callback func(response *ModifyLogConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyLogConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyLogConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyLogConfigRequest is the request struct for api ModifyLogConfig
+type ModifyLogConfigRequest struct {
+	*requests.RpcRequest
+	SlsProject  string `position:"Query" name:"SlsProject"`
+	SlsLogStore string `position:"Query" name:"SlsLogStore"`
+	LogType     string `position:"Query" name:"LogType"`
+}
+
+// ModifyLogConfigResponse is the response struct for api ModifyLogConfig
+type ModifyLogConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyLogConfigRequest creates a request to invoke ModifyLogConfig API
+func CreateModifyLogConfigRequest() (request *ModifyLogConfigRequest) {
+	request = &ModifyLogConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ModifyLogConfig", "apigateway", "openAPI")
+	return
+}
+
+// CreateModifyLogConfigResponse creates a response to parse from ModifyLogConfig response
+func CreateModifyLogConfigResponse() (response *ModifyLogConfigResponse) {
+	response = &ModifyLogConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cloudapi/modify_signature.go

@@ -0,0 +1,108 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifySignature invokes the cloudapi.ModifySignature API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifysignature.html
+func (client *Client) ModifySignature(request *ModifySignatureRequest) (response *ModifySignatureResponse, err error) {
+	response = CreateModifySignatureResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifySignatureWithChan invokes the cloudapi.ModifySignature API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifysignature.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySignatureWithChan(request *ModifySignatureRequest) (<-chan *ModifySignatureResponse, <-chan error) {
+	responseChan := make(chan *ModifySignatureResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifySignature(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifySignatureWithCallback invokes the cloudapi.ModifySignature API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifysignature.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySignatureWithCallback(request *ModifySignatureRequest, callback func(response *ModifySignatureResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifySignatureResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifySignature(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifySignatureRequest is the request struct for api ModifySignature
+type ModifySignatureRequest struct {
+	*requests.RpcRequest
+	SignatureId     string `position:"Query" name:"SignatureId"`
+	SignatureName   string `position:"Query" name:"SignatureName"`
+	SignatureKey    string `position:"Query" name:"SignatureKey"`
+	SignatureSecret string `position:"Query" name:"SignatureSecret"`
+}
+
+// ModifySignatureResponse is the response struct for api ModifySignature
+type ModifySignatureResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	SignatureId   string `json:"SignatureId" xml:"SignatureId"`
+	SignatureName string `json:"SignatureName" xml:"SignatureName"`
+}
+
+// CreateModifySignatureRequest creates a request to invoke ModifySignature API
+func CreateModifySignatureRequest() (request *ModifySignatureRequest) {
+	request = &ModifySignatureRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ModifySignature", "apigateway", "openAPI")
+	return
+}
+
+// CreateModifySignatureResponse creates a response to parse from ModifySignature response
+func CreateModifySignatureResponse() (response *ModifySignatureResponse) {
+	response = &ModifySignatureResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cloudapi/modify_traffic_control.go

@@ -0,0 +1,109 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyTrafficControl invokes the cloudapi.ModifyTrafficControl API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifytrafficcontrol.html
+func (client *Client) ModifyTrafficControl(request *ModifyTrafficControlRequest) (response *ModifyTrafficControlResponse, err error) {
+	response = CreateModifyTrafficControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyTrafficControlWithChan invokes the cloudapi.ModifyTrafficControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifytrafficcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyTrafficControlWithChan(request *ModifyTrafficControlRequest) (<-chan *ModifyTrafficControlResponse, <-chan error) {
+	responseChan := make(chan *ModifyTrafficControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyTrafficControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyTrafficControlWithCallback invokes the cloudapi.ModifyTrafficControl API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/modifytrafficcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyTrafficControlWithCallback(request *ModifyTrafficControlRequest, callback func(response *ModifyTrafficControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyTrafficControlResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyTrafficControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyTrafficControlRequest is the request struct for api ModifyTrafficControl
+type ModifyTrafficControlRequest struct {
+	*requests.RpcRequest
+	TrafficControlId   string           `position:"Query" name:"TrafficControlId"`
+	TrafficControlName string           `position:"Query" name:"TrafficControlName"`
+	TrafficControlUnit string           `position:"Query" name:"TrafficControlUnit"`
+	ApiDefault         requests.Integer `position:"Query" name:"ApiDefault"`
+	UserDefault        requests.Integer `position:"Query" name:"UserDefault"`
+	AppDefault         requests.Integer `position:"Query" name:"AppDefault"`
+	Description        string           `position:"Query" name:"Description"`
+}
+
+// ModifyTrafficControlResponse is the response struct for api ModifyTrafficControl
+type ModifyTrafficControlResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyTrafficControlRequest creates a request to invoke ModifyTrafficControl API
+func CreateModifyTrafficControlRequest() (request *ModifyTrafficControlRequest) {
+	request = &ModifyTrafficControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ModifyTrafficControl", "apigateway", "openAPI")
+	return
+}
+
+// CreateModifyTrafficControlResponse creates a response to parse from ModifyTrafficControl response
+func CreateModifyTrafficControlResponse() (response *ModifyTrafficControlResponse) {
+	response = &ModifyTrafficControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/cloudapi/reactivate_domain.go

@@ -0,0 +1,104 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ReactivateDomain invokes the cloudapi.ReactivateDomain API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/reactivatedomain.html
+func (client *Client) ReactivateDomain(request *ReactivateDomainRequest) (response *ReactivateDomainResponse, err error) {
+	response = CreateReactivateDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ReactivateDomainWithChan invokes the cloudapi.ReactivateDomain API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/reactivatedomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReactivateDomainWithChan(request *ReactivateDomainRequest) (<-chan *ReactivateDomainResponse, <-chan error) {
+	responseChan := make(chan *ReactivateDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ReactivateDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ReactivateDomainWithCallback invokes the cloudapi.ReactivateDomain API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/reactivatedomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReactivateDomainWithCallback(request *ReactivateDomainRequest, callback func(response *ReactivateDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ReactivateDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.ReactivateDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ReactivateDomainRequest is the request struct for api ReactivateDomain
+type ReactivateDomainRequest struct {
+	*requests.RpcRequest
+	GroupId    string `position:"Query" name:"GroupId"`
+	DomainName string `position:"Query" name:"DomainName"`
+}
+
+// ReactivateDomainResponse is the response struct for api ReactivateDomain
+type ReactivateDomainResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateReactivateDomainRequest creates a request to invoke ReactivateDomain API
+func CreateReactivateDomainRequest() (request *ReactivateDomainRequest) {
+	request = &ReactivateDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ReactivateDomain", "apigateway", "openAPI")
+	return
+}
+
+// CreateReactivateDomainResponse creates a response to parse from ReactivateDomain response
+func CreateReactivateDomainResponse() (response *ReactivateDomainResponse) {
+	response = &ReactivateDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cloudapi/remove_apis_authorities.go

@@ -0,0 +1,107 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RemoveApisAuthorities invokes the cloudapi.RemoveApisAuthorities API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeapisauthorities.html
+func (client *Client) RemoveApisAuthorities(request *RemoveApisAuthoritiesRequest) (response *RemoveApisAuthoritiesResponse, err error) {
+	response = CreateRemoveApisAuthoritiesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveApisAuthoritiesWithChan invokes the cloudapi.RemoveApisAuthorities API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeapisauthorities.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveApisAuthoritiesWithChan(request *RemoveApisAuthoritiesRequest) (<-chan *RemoveApisAuthoritiesResponse, <-chan error) {
+	responseChan := make(chan *RemoveApisAuthoritiesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveApisAuthorities(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveApisAuthoritiesWithCallback invokes the cloudapi.RemoveApisAuthorities API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeapisauthorities.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveApisAuthoritiesWithCallback(request *RemoveApisAuthoritiesRequest, callback func(response *RemoveApisAuthoritiesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveApisAuthoritiesResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveApisAuthorities(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveApisAuthoritiesRequest is the request struct for api RemoveApisAuthorities
+type RemoveApisAuthoritiesRequest struct {
+	*requests.RpcRequest
+	GroupId     string           `position:"Query" name:"GroupId"`
+	AppId       requests.Integer `position:"Query" name:"AppId"`
+	StageName   string           `position:"Query" name:"StageName"`
+	ApiIds      string           `position:"Query" name:"ApiIds"`
+	Description string           `position:"Query" name:"Description"`
+}
+
+// RemoveApisAuthoritiesResponse is the response struct for api RemoveApisAuthorities
+type RemoveApisAuthoritiesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRemoveApisAuthoritiesRequest creates a request to invoke RemoveApisAuthorities API
+func CreateRemoveApisAuthoritiesRequest() (request *RemoveApisAuthoritiesRequest) {
+	request = &RemoveApisAuthoritiesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "RemoveApisAuthorities", "apigateway", "openAPI")
+	return
+}
+
+// CreateRemoveApisAuthoritiesResponse creates a response to parse from RemoveApisAuthorities response
+func CreateRemoveApisAuthoritiesResponse() (response *RemoveApisAuthoritiesResponse) {
+	response = &RemoveApisAuthoritiesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/remove_apps_authorities.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RemoveAppsAuthorities invokes the cloudapi.RemoveAppsAuthorities API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeappsauthorities.html
+func (client *Client) RemoveAppsAuthorities(request *RemoveAppsAuthoritiesRequest) (response *RemoveAppsAuthoritiesResponse, err error) {
+	response = CreateRemoveAppsAuthoritiesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveAppsAuthoritiesWithChan invokes the cloudapi.RemoveAppsAuthorities API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeappsauthorities.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveAppsAuthoritiesWithChan(request *RemoveAppsAuthoritiesRequest) (<-chan *RemoveAppsAuthoritiesResponse, <-chan error) {
+	responseChan := make(chan *RemoveAppsAuthoritiesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveAppsAuthorities(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveAppsAuthoritiesWithCallback invokes the cloudapi.RemoveAppsAuthorities API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeappsauthorities.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveAppsAuthoritiesWithCallback(request *RemoveAppsAuthoritiesRequest, callback func(response *RemoveAppsAuthoritiesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveAppsAuthoritiesResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveAppsAuthorities(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveAppsAuthoritiesRequest is the request struct for api RemoveAppsAuthorities
+type RemoveAppsAuthoritiesRequest struct {
+	*requests.RpcRequest
+	GroupId   string `position:"Query" name:"GroupId"`
+	ApiId     string `position:"Query" name:"ApiId"`
+	StageName string `position:"Query" name:"StageName"`
+	AppIds    string `position:"Query" name:"AppIds"`
+}
+
+// RemoveAppsAuthoritiesResponse is the response struct for api RemoveAppsAuthorities
+type RemoveAppsAuthoritiesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRemoveAppsAuthoritiesRequest creates a request to invoke RemoveAppsAuthorities API
+func CreateRemoveAppsAuthoritiesRequest() (request *RemoveAppsAuthoritiesRequest) {
+	request = &RemoveAppsAuthoritiesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "RemoveAppsAuthorities", "apigateway", "openAPI")
+	return
+}
+
+// CreateRemoveAppsAuthoritiesResponse creates a response to parse from RemoveAppsAuthorities response
+func CreateRemoveAppsAuthoritiesResponse() (response *RemoveAppsAuthoritiesResponse) {
+	response = &RemoveAppsAuthoritiesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/cloudapi/remove_catalog_relation.go

@@ -0,0 +1,104 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RemoveCatalogRelation invokes the cloudapi.RemoveCatalogRelation API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/removecatalogrelation.html
+func (client *Client) RemoveCatalogRelation(request *RemoveCatalogRelationRequest) (response *RemoveCatalogRelationResponse, err error) {
+	response = CreateRemoveCatalogRelationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveCatalogRelationWithChan invokes the cloudapi.RemoveCatalogRelation API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removecatalogrelation.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveCatalogRelationWithChan(request *RemoveCatalogRelationRequest) (<-chan *RemoveCatalogRelationResponse, <-chan error) {
+	responseChan := make(chan *RemoveCatalogRelationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveCatalogRelation(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveCatalogRelationWithCallback invokes the cloudapi.RemoveCatalogRelation API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removecatalogrelation.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveCatalogRelationWithCallback(request *RemoveCatalogRelationRequest, callback func(response *RemoveCatalogRelationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveCatalogRelationResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveCatalogRelation(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveCatalogRelationRequest is the request struct for api RemoveCatalogRelation
+type RemoveCatalogRelationRequest struct {
+	*requests.RpcRequest
+	CatalogId string `position:"Query" name:"CatalogId"`
+	ApiId     string `position:"Query" name:"ApiId"`
+}
+
+// RemoveCatalogRelationResponse is the response struct for api RemoveCatalogRelation
+type RemoveCatalogRelationResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRemoveCatalogRelationRequest creates a request to invoke RemoveCatalogRelation API
+func CreateRemoveCatalogRelationRequest() (request *RemoveCatalogRelationRequest) {
+	request = &RemoveCatalogRelationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "RemoveCatalogRelation", "apigateway", "openAPI")
+	return
+}
+
+// CreateRemoveCatalogRelationResponse creates a response to parse from RemoveCatalogRelation response
+func CreateRemoveCatalogRelationResponse() (response *RemoveCatalogRelationResponse) {
+	response = &RemoveCatalogRelationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/remove_catalog_relations.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RemoveCatalogRelations invokes the cloudapi.RemoveCatalogRelations API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/removecatalogrelations.html
+func (client *Client) RemoveCatalogRelations(request *RemoveCatalogRelationsRequest) (response *RemoveCatalogRelationsResponse, err error) {
+	response = CreateRemoveCatalogRelationsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveCatalogRelationsWithChan invokes the cloudapi.RemoveCatalogRelations API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removecatalogrelations.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveCatalogRelationsWithChan(request *RemoveCatalogRelationsRequest) (<-chan *RemoveCatalogRelationsResponse, <-chan error) {
+	responseChan := make(chan *RemoveCatalogRelationsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveCatalogRelations(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveCatalogRelationsWithCallback invokes the cloudapi.RemoveCatalogRelations API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removecatalogrelations.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveCatalogRelationsWithCallback(request *RemoveCatalogRelationsRequest, callback func(response *RemoveCatalogRelationsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveCatalogRelationsResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveCatalogRelations(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveCatalogRelationsRequest is the request struct for api RemoveCatalogRelations
+type RemoveCatalogRelationsRequest struct {
+	*requests.RpcRequest
+	CatalogId string `position:"Query" name:"CatalogId"`
+}
+
+// RemoveCatalogRelationsResponse is the response struct for api RemoveCatalogRelations
+type RemoveCatalogRelationsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRemoveCatalogRelationsRequest creates a request to invoke RemoveCatalogRelations API
+func CreateRemoveCatalogRelationsRequest() (request *RemoveCatalogRelationsRequest) {
+	request = &RemoveCatalogRelationsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "RemoveCatalogRelations", "apigateway", "openAPI")
+	return
+}
+
+// CreateRemoveCatalogRelationsResponse creates a response to parse from RemoveCatalogRelations response
+func CreateRemoveCatalogRelationsResponse() (response *RemoveCatalogRelationsResponse) {
+	response = &RemoveCatalogRelationsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/remove_ip_control_apis.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RemoveIpControlApis invokes the cloudapi.RemoveIpControlApis API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeipcontrolapis.html
+func (client *Client) RemoveIpControlApis(request *RemoveIpControlApisRequest) (response *RemoveIpControlApisResponse, err error) {
+	response = CreateRemoveIpControlApisResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveIpControlApisWithChan invokes the cloudapi.RemoveIpControlApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeipcontrolapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveIpControlApisWithChan(request *RemoveIpControlApisRequest) (<-chan *RemoveIpControlApisResponse, <-chan error) {
+	responseChan := make(chan *RemoveIpControlApisResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveIpControlApis(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveIpControlApisWithCallback invokes the cloudapi.RemoveIpControlApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeipcontrolapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveIpControlApisWithCallback(request *RemoveIpControlApisRequest, callback func(response *RemoveIpControlApisResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveIpControlApisResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveIpControlApis(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveIpControlApisRequest is the request struct for api RemoveIpControlApis
+type RemoveIpControlApisRequest struct {
+	*requests.RpcRequest
+	IpControlId string `position:"Query" name:"IpControlId"`
+	GroupId     string `position:"Query" name:"GroupId"`
+	ApiIds      string `position:"Query" name:"ApiIds"`
+	StageName   string `position:"Query" name:"StageName"`
+}
+
+// RemoveIpControlApisResponse is the response struct for api RemoveIpControlApis
+type RemoveIpControlApisResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRemoveIpControlApisRequest creates a request to invoke RemoveIpControlApis API
+func CreateRemoveIpControlApisRequest() (request *RemoveIpControlApisRequest) {
+	request = &RemoveIpControlApisRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "RemoveIpControlApis", "apigateway", "openAPI")
+	return
+}
+
+// CreateRemoveIpControlApisResponse creates a response to parse from RemoveIpControlApis response
+func CreateRemoveIpControlApisResponse() (response *RemoveIpControlApisResponse) {
+	response = &RemoveIpControlApisResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/cloudapi/remove_ip_control_policy_item.go

@@ -0,0 +1,104 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RemoveIpControlPolicyItem invokes the cloudapi.RemoveIpControlPolicyItem API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeipcontrolpolicyitem.html
+func (client *Client) RemoveIpControlPolicyItem(request *RemoveIpControlPolicyItemRequest) (response *RemoveIpControlPolicyItemResponse, err error) {
+	response = CreateRemoveIpControlPolicyItemResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveIpControlPolicyItemWithChan invokes the cloudapi.RemoveIpControlPolicyItem API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeipcontrolpolicyitem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveIpControlPolicyItemWithChan(request *RemoveIpControlPolicyItemRequest) (<-chan *RemoveIpControlPolicyItemResponse, <-chan error) {
+	responseChan := make(chan *RemoveIpControlPolicyItemResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveIpControlPolicyItem(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveIpControlPolicyItemWithCallback invokes the cloudapi.RemoveIpControlPolicyItem API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removeipcontrolpolicyitem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveIpControlPolicyItemWithCallback(request *RemoveIpControlPolicyItemRequest, callback func(response *RemoveIpControlPolicyItemResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveIpControlPolicyItemResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveIpControlPolicyItem(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveIpControlPolicyItemRequest is the request struct for api RemoveIpControlPolicyItem
+type RemoveIpControlPolicyItemRequest struct {
+	*requests.RpcRequest
+	IpControlId   string `position:"Query" name:"IpControlId"`
+	PolicyItemIds string `position:"Query" name:"PolicyItemIds"`
+}
+
+// RemoveIpControlPolicyItemResponse is the response struct for api RemoveIpControlPolicyItem
+type RemoveIpControlPolicyItemResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRemoveIpControlPolicyItemRequest creates a request to invoke RemoveIpControlPolicyItem API
+func CreateRemoveIpControlPolicyItemRequest() (request *RemoveIpControlPolicyItemRequest) {
+	request = &RemoveIpControlPolicyItemRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "RemoveIpControlPolicyItem", "apigateway", "openAPI")
+	return
+}
+
+// CreateRemoveIpControlPolicyItemResponse creates a response to parse from RemoveIpControlPolicyItem response
+func CreateRemoveIpControlPolicyItemResponse() (response *RemoveIpControlPolicyItemResponse) {
+	response = &RemoveIpControlPolicyItemResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/remove_signature_apis.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RemoveSignatureApis invokes the cloudapi.RemoveSignatureApis API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/removesignatureapis.html
+func (client *Client) RemoveSignatureApis(request *RemoveSignatureApisRequest) (response *RemoveSignatureApisResponse, err error) {
+	response = CreateRemoveSignatureApisResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveSignatureApisWithChan invokes the cloudapi.RemoveSignatureApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removesignatureapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveSignatureApisWithChan(request *RemoveSignatureApisRequest) (<-chan *RemoveSignatureApisResponse, <-chan error) {
+	responseChan := make(chan *RemoveSignatureApisResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveSignatureApis(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveSignatureApisWithCallback invokes the cloudapi.RemoveSignatureApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removesignatureapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveSignatureApisWithCallback(request *RemoveSignatureApisRequest, callback func(response *RemoveSignatureApisResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveSignatureApisResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveSignatureApis(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveSignatureApisRequest is the request struct for api RemoveSignatureApis
+type RemoveSignatureApisRequest struct {
+	*requests.RpcRequest
+	SignatureId string `position:"Query" name:"SignatureId"`
+	GroupId     string `position:"Query" name:"GroupId"`
+	ApiIds      string `position:"Query" name:"ApiIds"`
+	StageName   string `position:"Query" name:"StageName"`
+}
+
+// RemoveSignatureApisResponse is the response struct for api RemoveSignatureApis
+type RemoveSignatureApisResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRemoveSignatureApisRequest creates a request to invoke RemoveSignatureApis API
+func CreateRemoveSignatureApisRequest() (request *RemoveSignatureApisRequest) {
+	request = &RemoveSignatureApisRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "RemoveSignatureApis", "apigateway", "openAPI")
+	return
+}
+
+// CreateRemoveSignatureApisResponse creates a response to parse from RemoveSignatureApis response
+func CreateRemoveSignatureApisResponse() (response *RemoveSignatureApisResponse) {
+	response = &RemoveSignatureApisResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/remove_traffic_control_apis.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RemoveTrafficControlApis invokes the cloudapi.RemoveTrafficControlApis API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/removetrafficcontrolapis.html
+func (client *Client) RemoveTrafficControlApis(request *RemoveTrafficControlApisRequest) (response *RemoveTrafficControlApisResponse, err error) {
+	response = CreateRemoveTrafficControlApisResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveTrafficControlApisWithChan invokes the cloudapi.RemoveTrafficControlApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removetrafficcontrolapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveTrafficControlApisWithChan(request *RemoveTrafficControlApisRequest) (<-chan *RemoveTrafficControlApisResponse, <-chan error) {
+	responseChan := make(chan *RemoveTrafficControlApisResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveTrafficControlApis(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveTrafficControlApisWithCallback invokes the cloudapi.RemoveTrafficControlApis API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removetrafficcontrolapis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveTrafficControlApisWithCallback(request *RemoveTrafficControlApisRequest, callback func(response *RemoveTrafficControlApisResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveTrafficControlApisResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveTrafficControlApis(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveTrafficControlApisRequest is the request struct for api RemoveTrafficControlApis
+type RemoveTrafficControlApisRequest struct {
+	*requests.RpcRequest
+	TrafficControlId string `position:"Query" name:"TrafficControlId"`
+	GroupId          string `position:"Query" name:"GroupId"`
+	ApiIds           string `position:"Query" name:"ApiIds"`
+	StageName        string `position:"Query" name:"StageName"`
+}
+
+// RemoveTrafficControlApisResponse is the response struct for api RemoveTrafficControlApis
+type RemoveTrafficControlApisResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRemoveTrafficControlApisRequest creates a request to invoke RemoveTrafficControlApis API
+func CreateRemoveTrafficControlApisRequest() (request *RemoveTrafficControlApisRequest) {
+	request = &RemoveTrafficControlApisRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "RemoveTrafficControlApis", "apigateway", "openAPI")
+	return
+}
+
+// CreateRemoveTrafficControlApisResponse creates a response to parse from RemoveTrafficControlApis response
+func CreateRemoveTrafficControlApisResponse() (response *RemoveTrafficControlApisResponse) {
+	response = &RemoveTrafficControlApisResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/remove_vpc_access.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RemoveVpcAccess invokes the cloudapi.RemoveVpcAccess API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/removevpcaccess.html
+func (client *Client) RemoveVpcAccess(request *RemoveVpcAccessRequest) (response *RemoveVpcAccessResponse, err error) {
+	response = CreateRemoveVpcAccessResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveVpcAccessWithChan invokes the cloudapi.RemoveVpcAccess API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removevpcaccess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveVpcAccessWithChan(request *RemoveVpcAccessRequest) (<-chan *RemoveVpcAccessResponse, <-chan error) {
+	responseChan := make(chan *RemoveVpcAccessResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveVpcAccess(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveVpcAccessWithCallback invokes the cloudapi.RemoveVpcAccess API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/removevpcaccess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveVpcAccessWithCallback(request *RemoveVpcAccessRequest, callback func(response *RemoveVpcAccessResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveVpcAccessResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveVpcAccess(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveVpcAccessRequest is the request struct for api RemoveVpcAccess
+type RemoveVpcAccessRequest struct {
+	*requests.RpcRequest
+	VpcId      string           `position:"Query" name:"VpcId"`
+	InstanceId string           `position:"Query" name:"InstanceId"`
+	Port       requests.Integer `position:"Query" name:"Port"`
+}
+
+// RemoveVpcAccessResponse is the response struct for api RemoveVpcAccess
+type RemoveVpcAccessResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRemoveVpcAccessRequest creates a request to invoke RemoveVpcAccess API
+func CreateRemoveVpcAccessRequest() (request *RemoveVpcAccessRequest) {
+	request = &RemoveVpcAccessRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "RemoveVpcAccess", "apigateway", "openAPI")
+	return
+}
+
+// CreateRemoveVpcAccessResponse creates a response to parse from RemoveVpcAccess response
+func CreateRemoveVpcAccessResponse() (response *RemoveVpcAccessResponse) {
+	response = &RemoveVpcAccessResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cloudapi/reset_app_secret.go

@@ -0,0 +1,103 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ResetAppSecret invokes the cloudapi.ResetAppSecret API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/resetappsecret.html
+func (client *Client) ResetAppSecret(request *ResetAppSecretRequest) (response *ResetAppSecretResponse, err error) {
+	response = CreateResetAppSecretResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ResetAppSecretWithChan invokes the cloudapi.ResetAppSecret API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/resetappsecret.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResetAppSecretWithChan(request *ResetAppSecretRequest) (<-chan *ResetAppSecretResponse, <-chan error) {
+	responseChan := make(chan *ResetAppSecretResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ResetAppSecret(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ResetAppSecretWithCallback invokes the cloudapi.ResetAppSecret API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/resetappsecret.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResetAppSecretWithCallback(request *ResetAppSecretRequest, callback func(response *ResetAppSecretResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ResetAppSecretResponse
+		var err error
+		defer close(result)
+		response, err = client.ResetAppSecret(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ResetAppSecretRequest is the request struct for api ResetAppSecret
+type ResetAppSecretRequest struct {
+	*requests.RpcRequest
+	AppKey string `position:"Query" name:"AppKey"`
+}
+
+// ResetAppSecretResponse is the response struct for api ResetAppSecret
+type ResetAppSecretResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateResetAppSecretRequest creates a request to invoke ResetAppSecret API
+func CreateResetAppSecretRequest() (request *ResetAppSecretRequest) {
+	request = &ResetAppSecretRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "ResetAppSecret", "apigateway", "openAPI")
+	return
+}
+
+// CreateResetAppSecretResponse creates a response to parse from ResetAppSecret response
+func CreateResetAppSecretResponse() (response *ResetAppSecretResponse) {
+	response = &ResetAppSecretResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudapi/sdk_generate.go

@@ -0,0 +1,106 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// SdkGenerate invokes the cloudapi.SdkGenerate API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/sdkgenerate.html
+func (client *Client) SdkGenerate(request *SdkGenerateRequest) (response *SdkGenerateResponse, err error) {
+	response = CreateSdkGenerateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SdkGenerateWithChan invokes the cloudapi.SdkGenerate API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/sdkgenerate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SdkGenerateWithChan(request *SdkGenerateRequest) (<-chan *SdkGenerateResponse, <-chan error) {
+	responseChan := make(chan *SdkGenerateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SdkGenerate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SdkGenerateWithCallback invokes the cloudapi.SdkGenerate API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/sdkgenerate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SdkGenerateWithCallback(request *SdkGenerateRequest, callback func(response *SdkGenerateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SdkGenerateResponse
+		var err error
+		defer close(result)
+		response, err = client.SdkGenerate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SdkGenerateRequest is the request struct for api SdkGenerate
+type SdkGenerateRequest struct {
+	*requests.RpcRequest
+	GroupId  string           `position:"Query" name:"GroupId"`
+	AppId    requests.Integer `position:"Query" name:"AppId"`
+	Language string           `position:"Query" name:"Language"`
+}
+
+// SdkGenerateResponse is the response struct for api SdkGenerate
+type SdkGenerateResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	DownloadLink string `json:"DownloadLink" xml:"DownloadLink"`
+}
+
+// CreateSdkGenerateRequest creates a request to invoke SdkGenerate API
+func CreateSdkGenerateRequest() (request *SdkGenerateRequest) {
+	request = &SdkGenerateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "SdkGenerate", "apigateway", "openAPI")
+	return
+}
+
+// CreateSdkGenerateResponse creates a response to parse from SdkGenerate response
+func CreateSdkGenerateResponse() (response *SdkGenerateResponse) {
+	response = &SdkGenerateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/sdk_generate_by_app.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// SdkGenerateByApp invokes the cloudapi.SdkGenerateByApp API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/sdkgeneratebyapp.html
+func (client *Client) SdkGenerateByApp(request *SdkGenerateByAppRequest) (response *SdkGenerateByAppResponse, err error) {
+	response = CreateSdkGenerateByAppResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SdkGenerateByAppWithChan invokes the cloudapi.SdkGenerateByApp API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/sdkgeneratebyapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SdkGenerateByAppWithChan(request *SdkGenerateByAppRequest) (<-chan *SdkGenerateByAppResponse, <-chan error) {
+	responseChan := make(chan *SdkGenerateByAppResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SdkGenerateByApp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SdkGenerateByAppWithCallback invokes the cloudapi.SdkGenerateByApp API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/sdkgeneratebyapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SdkGenerateByAppWithCallback(request *SdkGenerateByAppRequest, callback func(response *SdkGenerateByAppResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SdkGenerateByAppResponse
+		var err error
+		defer close(result)
+		response, err = client.SdkGenerateByApp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SdkGenerateByAppRequest is the request struct for api SdkGenerateByApp
+type SdkGenerateByAppRequest struct {
+	*requests.RpcRequest
+	AppId    requests.Integer `position:"Query" name:"AppId"`
+	Language string           `position:"Query" name:"Language"`
+}
+
+// SdkGenerateByAppResponse is the response struct for api SdkGenerateByApp
+type SdkGenerateByAppResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	DownloadLink string `json:"DownloadLink" xml:"DownloadLink"`
+}
+
+// CreateSdkGenerateByAppRequest creates a request to invoke SdkGenerateByApp API
+func CreateSdkGenerateByAppRequest() (request *SdkGenerateByAppRequest) {
+	request = &SdkGenerateByAppRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "SdkGenerateByApp", "apigateway", "openAPI")
+	return
+}
+
+// CreateSdkGenerateByAppResponse creates a response to parse from SdkGenerateByApp response
+func CreateSdkGenerateByAppResponse() (response *SdkGenerateByAppResponse) {
+	response = &SdkGenerateByAppResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/cloudapi/sdk_generate_by_group.go

@@ -0,0 +1,105 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// SdkGenerateByGroup invokes the cloudapi.SdkGenerateByGroup API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/sdkgeneratebygroup.html
+func (client *Client) SdkGenerateByGroup(request *SdkGenerateByGroupRequest) (response *SdkGenerateByGroupResponse, err error) {
+	response = CreateSdkGenerateByGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SdkGenerateByGroupWithChan invokes the cloudapi.SdkGenerateByGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/sdkgeneratebygroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SdkGenerateByGroupWithChan(request *SdkGenerateByGroupRequest) (<-chan *SdkGenerateByGroupResponse, <-chan error) {
+	responseChan := make(chan *SdkGenerateByGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SdkGenerateByGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SdkGenerateByGroupWithCallback invokes the cloudapi.SdkGenerateByGroup API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/sdkgeneratebygroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SdkGenerateByGroupWithCallback(request *SdkGenerateByGroupRequest, callback func(response *SdkGenerateByGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SdkGenerateByGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.SdkGenerateByGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SdkGenerateByGroupRequest is the request struct for api SdkGenerateByGroup
+type SdkGenerateByGroupRequest struct {
+	*requests.RpcRequest
+	GroupId  string `position:"Query" name:"GroupId"`
+	Language string `position:"Query" name:"Language"`
+}
+
+// SdkGenerateByGroupResponse is the response struct for api SdkGenerateByGroup
+type SdkGenerateByGroupResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	DownloadLink string `json:"DownloadLink" xml:"DownloadLink"`
+}
+
+// CreateSdkGenerateByGroupRequest creates a request to invoke SdkGenerateByGroup API
+func CreateSdkGenerateByGroupRequest() (request *SdkGenerateByGroupRequest) {
+	request = &SdkGenerateByGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "SdkGenerateByGroup", "apigateway", "openAPI")
+	return
+}
+
+// CreateSdkGenerateByGroupResponse creates a response to parse from SdkGenerateByGroup response
+func CreateSdkGenerateByGroupResponse() (response *SdkGenerateByGroupResponse) {
+	response = &SdkGenerateByGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cloudapi/set_apis_authorities.go

@@ -0,0 +1,107 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// SetApisAuthorities invokes the cloudapi.SetApisAuthorities API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/setapisauthorities.html
+func (client *Client) SetApisAuthorities(request *SetApisAuthoritiesRequest) (response *SetApisAuthoritiesResponse, err error) {
+	response = CreateSetApisAuthoritiesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetApisAuthoritiesWithChan invokes the cloudapi.SetApisAuthorities API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/setapisauthorities.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetApisAuthoritiesWithChan(request *SetApisAuthoritiesRequest) (<-chan *SetApisAuthoritiesResponse, <-chan error) {
+	responseChan := make(chan *SetApisAuthoritiesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetApisAuthorities(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetApisAuthoritiesWithCallback invokes the cloudapi.SetApisAuthorities API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/setapisauthorities.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetApisAuthoritiesWithCallback(request *SetApisAuthoritiesRequest, callback func(response *SetApisAuthoritiesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetApisAuthoritiesResponse
+		var err error
+		defer close(result)
+		response, err = client.SetApisAuthorities(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetApisAuthoritiesRequest is the request struct for api SetApisAuthorities
+type SetApisAuthoritiesRequest struct {
+	*requests.RpcRequest
+	GroupId     string           `position:"Query" name:"GroupId"`
+	AppId       requests.Integer `position:"Query" name:"AppId"`
+	StageName   string           `position:"Query" name:"StageName"`
+	ApiIds      string           `position:"Query" name:"ApiIds"`
+	Description string           `position:"Query" name:"Description"`
+}
+
+// SetApisAuthoritiesResponse is the response struct for api SetApisAuthorities
+type SetApisAuthoritiesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetApisAuthoritiesRequest creates a request to invoke SetApisAuthorities API
+func CreateSetApisAuthoritiesRequest() (request *SetApisAuthoritiesRequest) {
+	request = &SetApisAuthoritiesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "SetApisAuthorities", "apigateway", "openAPI")
+	return
+}
+
+// CreateSetApisAuthoritiesResponse creates a response to parse from SetApisAuthorities response
+func CreateSetApisAuthoritiesResponse() (response *SetApisAuthoritiesResponse) {
+	response = &SetApisAuthoritiesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cloudapi/set_apps_authorities.go

@@ -0,0 +1,107 @@
+package cloudapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// SetAppsAuthorities invokes the cloudapi.SetAppsAuthorities API synchronously
+// api document: https://help.aliyun.com/api/cloudapi/setappsauthorities.html
+func (client *Client) SetAppsAuthorities(request *SetAppsAuthoritiesRequest) (response *SetAppsAuthoritiesResponse, err error) {
+	response = CreateSetAppsAuthoritiesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetAppsAuthoritiesWithChan invokes the cloudapi.SetAppsAuthorities API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/setappsauthorities.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetAppsAuthoritiesWithChan(request *SetAppsAuthoritiesRequest) (<-chan *SetAppsAuthoritiesResponse, <-chan error) {
+	responseChan := make(chan *SetAppsAuthoritiesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetAppsAuthorities(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetAppsAuthoritiesWithCallback invokes the cloudapi.SetAppsAuthorities API asynchronously
+// api document: https://help.aliyun.com/api/cloudapi/setappsauthorities.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetAppsAuthoritiesWithCallback(request *SetAppsAuthoritiesRequest, callback func(response *SetAppsAuthoritiesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetAppsAuthoritiesResponse
+		var err error
+		defer close(result)
+		response, err = client.SetAppsAuthorities(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetAppsAuthoritiesRequest is the request struct for api SetAppsAuthorities
+type SetAppsAuthoritiesRequest struct {
+	*requests.RpcRequest
+	GroupId     string `position:"Query" name:"GroupId"`
+	ApiId       string `position:"Query" name:"ApiId"`
+	StageName   string `position:"Query" name:"StageName"`
+	AppIds      string `position:"Query" name:"AppIds"`
+	Description string `position:"Query" name:"Description"`
+}
+
+// SetAppsAuthoritiesResponse is the response struct for api SetAppsAuthorities
+type SetAppsAuthoritiesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetAppsAuthoritiesRequest creates a request to invoke SetAppsAuthorities API
+func CreateSetAppsAuthoritiesRequest() (request *SetAppsAuthoritiesRequest) {
+	request = &SetAppsAuthoritiesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("CloudAPI", "2016-07-14", "SetAppsAuthorities", "apigateway", "openAPI")
+	return
+}
+
+// CreateSetAppsAuthoritiesResponse creates a response to parse from SetAppsAuthorities response
+func CreateSetAppsAuthoritiesResponse() (response *SetAppsAuthoritiesResponse) {
+	response = &SetAppsAuthoritiesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

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