Ver código fonte

services init push

Signed-off-by: 高汝彤 <rutong.grt@alibaba-inc.com>
高汝彤 8 anos atrás
pai
commit
0f818eec86
100 arquivos alterados com 9411 adições e 0 exclusões
  1. 43 0
      services/aas/client.go
  2. 97 0
      services/aas/create_access_key_for_account.go
  3. 90 0
      services/aas/create_aliyun_account.go
  4. 89 0
      services/aas/create_aliyun_account_with_bind_hid.go
  5. 89 0
      services/aas/create_intl_aliyun_account.go
  6. 99 0
      services/aas/create_short_term_access_key_for_account.go
  7. 91 0
      services/aas/delete_access_key_for_account.go
  8. 89 0
      services/aas/get_aliyun_account_with_bind_hid.go
  9. 90 0
      services/aas/get_aliyun_account_with_bind_taobao_hid.go
  10. 91 0
      services/aas/get_basic_info_for_account.go
  11. 89 0
      services/aas/get_session_info_by_mini_ticket.go
  12. 89 0
      services/aas/get_session_info_by_ticket.go
  13. 99 0
      services/aas/get_short_term_access_key_for_account.go
  14. 98 0
      services/aas/list_access_keys_for_account.go
  15. 99 0
      services/aas/list_aliyun_account.go
  16. 92 0
      services/aas/update_access_key_status_for_account.go
  17. 91 0
      services/aas/update_password_for_account.go
  18. 91 0
      services/aas/update_status_for_account.go
  19. 43 0
      services/aegis/client.go
  20. 97 0
      services/aegis/create_instance.go
  21. 96 0
      services/aegis/get_account_statistics.go
  22. 95 0
      services/aegis/get_crack_statistics.go
  23. 117 0
      services/aegis/get_entity_list.go
  24. 98 0
      services/aegis/get_statistics.go
  25. 99 0
      services/aegis/get_statistics_by_uuid.go
  26. 122 0
      services/aegis/query_crack_event.go
  27. 120 0
      services/aegis/query_login_event.go
  28. 89 0
      services/aegis/release_instance.go
  29. 93 0
      services/aegis/renew_instance.go
  30. 93 0
      services/aegis/upgrade_instance.go
  31. 91 0
      services/alidns/add_batch_domain_records.go
  32. 97 0
      services/alidns/add_domain.go
  33. 92 0
      services/alidns/add_domain_group.go
  34. 97 0
      services/alidns/add_domain_record.go
  35. 91 0
      services/alidns/apply_for_retrieval_domain_name.go
  36. 93 0
      services/alidns/change_domain_group.go
  37. 93 0
      services/alidns/change_domain_of_dns_product.go
  38. 94 0
      services/alidns/check_domain_record.go
  39. 43 0
      services/alidns/client.go
  40. 91 0
      services/alidns/delete_batch_domain_records.go
  41. 91 0
      services/alidns/delete_batch_domains.go
  42. 91 0
      services/alidns/delete_domain.go
  43. 91 0
      services/alidns/delete_domain_group.go
  44. 91 0
      services/alidns/delete_domain_record.go
  45. 94 0
      services/alidns/delete_sub_domain_records.go
  46. 98 0
      services/alidns/describe_batch_result.go
  47. 101 0
      services/alidns/describe_d_n_s_s_l_b_sub_domains.go
  48. 119 0
      services/alidns/describe_dns_product_instance.go
  49. 125 0
      services/alidns/describe_dns_product_instances.go
  50. 100 0
      services/alidns/describe_domain_groups.go
  51. 113 0
      services/alidns/describe_domain_info.go
  52. 106 0
      services/alidns/describe_domain_logs.go
  53. 94 0
      services/alidns/describe_domain_ns.go
  54. 104 0
      services/alidns/describe_domain_record_info.go
  55. 113 0
      services/alidns/describe_domain_records.go
  56. 98 0
      services/alidns/describe_domain_whois_info.go
  57. 113 0
      services/alidns/describe_domains.go
  58. 105 0
      services/alidns/describe_record_logs.go
  59. 109 0
      services/alidns/describe_sub_domain_records.go
  60. 95 0
      services/alidns/describe_support_lines.go
  61. 93 0
      services/alidns/get_main_domain_name.go
  62. 92 0
      services/alidns/modify_hichina_domain_d_n_s.go
  63. 92 0
      services/alidns/retrieval_domain_name.go
  64. 93 0
      services/alidns/set_d_n_s_s_l_b_status.go
  65. 93 0
      services/alidns/set_domain_record_status.go
  66. 91 0
      services/alidns/update_batch_domain_records.go
  67. 93 0
      services/alidns/update_d_n_s_s_l_b_weight.go
  68. 93 0
      services/alidns/update_domain_group.go
  69. 97 0
      services/alidns/update_domain_record.go
  70. 43 0
      services/bss/client.go
  71. 92 0
      services/bss/create_order.go
  72. 96 0
      services/bss/describe_cash_detail.go
  73. 104 0
      services/bss/describe_coupon_detail.go
  74. 110 0
      services/bss/describe_coupon_list.go
  75. 92 0
      services/bss/open_callback.go
  76. 92 0
      services/bss/query_for_css_order.go
  77. 94 0
      services/bss/set_resource_business_status.go
  78. 93 0
      services/bss/subscription_create_order_api.go
  79. 92 0
      services/bss/vno_batch_refund_order.go
  80. 92 0
      services/bss/vno_pay_call_back_notify.go
  81. 102 0
      services/cdn/add_cdn_domain.go
  82. 94 0
      services/cdn/add_live_app_record_config.go
  83. 96 0
      services/cdn/add_live_app_snapshot_config.go
  84. 91 0
      services/cdn/add_live_domain_mapping.go
  85. 95 0
      services/cdn/add_live_pull_stream_info.go
  86. 95 0
      services/cdn/add_live_stream_transcode.go
  87. 103 0
      services/cdn/batch_describe_domain_bps_data.go
  88. 90 0
      services/cdn/clear_user_black_list.go
  89. 91 0
      services/cdn/clear_user_domain_black_list.go
  90. 43 0
      services/cdn/client.go
  91. 105 0
      services/cdn/create_live_stream_record_index_files.go
  92. 91 0
      services/cdn/delete_cdn_domain.go
  93. 91 0
      services/cdn/delete_http_header_config.go
  94. 91 0
      services/cdn/delete_live_app_record_config.go
  95. 91 0
      services/cdn/delete_live_app_snapshot_config.go
  96. 91 0
      services/cdn/delete_live_domain_mapping.go
  97. 92 0
      services/cdn/delete_live_pull_stream_info.go
  98. 93 0
      services/cdn/delete_live_stream_transcode.go
  99. 102 0
      services/cdn/describe_cdn_domain_base_detail.go
  100. 116 0
      services/cdn/describe_cdn_domain_detail.go

+ 43 - 0
services/aas/client.go

@@ -0,0 +1,43 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+type Client struct {
+	sdk.Client
+}
+
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}

+ 97 - 0
services/aas/create_access_key_for_account.go

@@ -0,0 +1,97 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) CreateAccessKeyForAccount(request *CreateAccessKeyForAccountRequest) (response *CreateAccessKeyForAccountResponse, err error) {
+	response = CreateCreateAccessKeyForAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateAccessKeyForAccountWithChan(request *CreateAccessKeyForAccountRequest) (<-chan *CreateAccessKeyForAccountResponse, <-chan error) {
+	responseChan := make(chan *CreateAccessKeyForAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateAccessKeyForAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateAccessKeyForAccountWithCallback(request *CreateAccessKeyForAccountRequest, callback func(response *CreateAccessKeyForAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateAccessKeyForAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateAccessKeyForAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateAccessKeyForAccountRequest struct {
+	*requests.RpcRequest
+	AKSecret string `position:"Query" name:"AKSecret"`
+	PK       string `position:"Query" name:"PK"`
+}
+
+type CreateAccessKeyForAccountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+	AccessKey struct {
+		CreateTime      string `json:"CreateTime" xml:"CreateTime"`
+		AccessKeyId     string `json:"AccessKeyId" xml:"AccessKeyId"`
+		AccessKeySecret string `json:"AccessKeySecret" xml:"AccessKeySecret"`
+		AccessKeyStatus string `json:"AccessKeyStatus" xml:"AccessKeyStatus"`
+		AccessKeyType   string `json:"AccessKeyType" xml:"AccessKeyType"`
+	} `json:"AccessKey" xml:"AccessKey"`
+}
+
+func CreateCreateAccessKeyForAccountRequest() (request *CreateAccessKeyForAccountRequest) {
+	request = &CreateAccessKeyForAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "CreateAccessKeyForAccount", "", "")
+	return
+}
+
+func CreateCreateAccessKeyForAccountResponse() (response *CreateAccessKeyForAccountResponse) {
+	response = &CreateAccessKeyForAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 90 - 0
services/aas/create_aliyun_account.go

@@ -0,0 +1,90 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) CreateAliyunAccount(request *CreateAliyunAccountRequest) (response *CreateAliyunAccountResponse, err error) {
+	response = CreateCreateAliyunAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateAliyunAccountWithChan(request *CreateAliyunAccountRequest) (<-chan *CreateAliyunAccountResponse, <-chan error) {
+	responseChan := make(chan *CreateAliyunAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateAliyunAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateAliyunAccountWithCallback(request *CreateAliyunAccountRequest, callback func(response *CreateAliyunAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateAliyunAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateAliyunAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateAliyunAccountRequest struct {
+	*requests.RpcRequest
+	AliyunId string `position:"Query" name:"AliyunId"`
+}
+
+type CreateAliyunAccountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+	AliyunId  string `json:"AliyunId" xml:"AliyunId"`
+}
+
+func CreateCreateAliyunAccountRequest() (request *CreateAliyunAccountRequest) {
+	request = &CreateAliyunAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "CreateAliyunAccount", "", "")
+	return
+}
+
+func CreateCreateAliyunAccountResponse() (response *CreateAliyunAccountResponse) {
+	response = &CreateAliyunAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 89 - 0
services/aas/create_aliyun_account_with_bind_hid.go

@@ -0,0 +1,89 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) CreateAliyunAccountWithBindHid(request *CreateAliyunAccountWithBindHidRequest) (response *CreateAliyunAccountWithBindHidResponse, err error) {
+	response = CreateCreateAliyunAccountWithBindHidResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateAliyunAccountWithBindHidWithChan(request *CreateAliyunAccountWithBindHidRequest) (<-chan *CreateAliyunAccountWithBindHidResponse, <-chan error) {
+	responseChan := make(chan *CreateAliyunAccountWithBindHidResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateAliyunAccountWithBindHid(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateAliyunAccountWithBindHidWithCallback(request *CreateAliyunAccountWithBindHidRequest, callback func(response *CreateAliyunAccountWithBindHidResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateAliyunAccountWithBindHidResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateAliyunAccountWithBindHid(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateAliyunAccountWithBindHidRequest struct {
+	*requests.RpcRequest
+	InnerAccountHid string `position:"Query" name:"InnerAccountHid"`
+}
+
+type CreateAliyunAccountWithBindHidResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+}
+
+func CreateCreateAliyunAccountWithBindHidRequest() (request *CreateAliyunAccountWithBindHidRequest) {
+	request = &CreateAliyunAccountWithBindHidRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "CreateAliyunAccountWithBindHid", "", "")
+	return
+}
+
+func CreateCreateAliyunAccountWithBindHidResponse() (response *CreateAliyunAccountWithBindHidResponse) {
+	response = &CreateAliyunAccountWithBindHidResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 89 - 0
services/aas/create_intl_aliyun_account.go

@@ -0,0 +1,89 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) CreateIntlAliyunAccount(request *CreateIntlAliyunAccountRequest) (response *CreateIntlAliyunAccountResponse, err error) {
+	response = CreateCreateIntlAliyunAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateIntlAliyunAccountWithChan(request *CreateIntlAliyunAccountRequest) (<-chan *CreateIntlAliyunAccountResponse, <-chan error) {
+	responseChan := make(chan *CreateIntlAliyunAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateIntlAliyunAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateIntlAliyunAccountWithCallback(request *CreateIntlAliyunAccountRequest, callback func(response *CreateIntlAliyunAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateIntlAliyunAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateIntlAliyunAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateIntlAliyunAccountRequest struct {
+	*requests.RpcRequest
+	NationalityCode string `position:"Query" name:"NationalityCode"`
+}
+
+type CreateIntlAliyunAccountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+}
+
+func CreateCreateIntlAliyunAccountRequest() (request *CreateIntlAliyunAccountRequest) {
+	request = &CreateIntlAliyunAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "CreateIntlAliyunAccount", "", "")
+	return
+}
+
+func CreateCreateIntlAliyunAccountResponse() (response *CreateIntlAliyunAccountResponse) {
+	response = &CreateIntlAliyunAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 99 - 0
services/aas/create_short_term_access_key_for_account.go

@@ -0,0 +1,99 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) CreateShortTermAccessKeyForAccount(request *CreateShortTermAccessKeyForAccountRequest) (response *CreateShortTermAccessKeyForAccountResponse, err error) {
+	response = CreateCreateShortTermAccessKeyForAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateShortTermAccessKeyForAccountWithChan(request *CreateShortTermAccessKeyForAccountRequest) (<-chan *CreateShortTermAccessKeyForAccountResponse, <-chan error) {
+	responseChan := make(chan *CreateShortTermAccessKeyForAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateShortTermAccessKeyForAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateShortTermAccessKeyForAccountWithCallback(request *CreateShortTermAccessKeyForAccountRequest, callback func(response *CreateShortTermAccessKeyForAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateShortTermAccessKeyForAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateShortTermAccessKeyForAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateShortTermAccessKeyForAccountRequest struct {
+	*requests.RpcRequest
+	ExpireTime   string `position:"Query" name:"ExpireTime"`
+	IsMfaPresent string `position:"Query" name:"IsMfaPresent"`
+	PK           string `position:"Query" name:"PK"`
+}
+
+type CreateShortTermAccessKeyForAccountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+	AccessKey struct {
+		CreateTime      string `json:"CreateTime" xml:"CreateTime"`
+		AccessKeyId     string `json:"AccessKeyId" xml:"AccessKeyId"`
+		AccessKeySecret string `json:"AccessKeySecret" xml:"AccessKeySecret"`
+		AccessKeyStatus string `json:"AccessKeyStatus" xml:"AccessKeyStatus"`
+		AccessKeyType   string `json:"AccessKeyType" xml:"AccessKeyType"`
+		ExpireTime      string `json:"ExpireTime" xml:"ExpireTime"`
+	} `json:"AccessKey" xml:"AccessKey"`
+}
+
+func CreateCreateShortTermAccessKeyForAccountRequest() (request *CreateShortTermAccessKeyForAccountRequest) {
+	request = &CreateShortTermAccessKeyForAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "CreateShortTermAccessKeyForAccount", "", "")
+	return
+}
+
+func CreateCreateShortTermAccessKeyForAccountResponse() (response *CreateShortTermAccessKeyForAccountResponse) {
+	response = &CreateShortTermAccessKeyForAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/aas/delete_access_key_for_account.go

@@ -0,0 +1,91 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteAccessKeyForAccount(request *DeleteAccessKeyForAccountRequest) (response *DeleteAccessKeyForAccountResponse, err error) {
+	response = CreateDeleteAccessKeyForAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteAccessKeyForAccountWithChan(request *DeleteAccessKeyForAccountRequest) (<-chan *DeleteAccessKeyForAccountResponse, <-chan error) {
+	responseChan := make(chan *DeleteAccessKeyForAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteAccessKeyForAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteAccessKeyForAccountWithCallback(request *DeleteAccessKeyForAccountRequest, callback func(response *DeleteAccessKeyForAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteAccessKeyForAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteAccessKeyForAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteAccessKeyForAccountRequest struct {
+	*requests.RpcRequest
+	AKId string `position:"Query" name:"AKId"`
+	PK   string `position:"Query" name:"PK"`
+}
+
+type DeleteAccessKeyForAccountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+	Result    string `json:"Result" xml:"Result"`
+}
+
+func CreateDeleteAccessKeyForAccountRequest() (request *DeleteAccessKeyForAccountRequest) {
+	request = &DeleteAccessKeyForAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "DeleteAccessKeyForAccount", "", "")
+	return
+}
+
+func CreateDeleteAccessKeyForAccountResponse() (response *DeleteAccessKeyForAccountResponse) {
+	response = &DeleteAccessKeyForAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 89 - 0
services/aas/get_aliyun_account_with_bind_hid.go

@@ -0,0 +1,89 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetAliyunAccountWithBindHid(request *GetAliyunAccountWithBindHidRequest) (response *GetAliyunAccountWithBindHidResponse, err error) {
+	response = CreateGetAliyunAccountWithBindHidResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetAliyunAccountWithBindHidWithChan(request *GetAliyunAccountWithBindHidRequest) (<-chan *GetAliyunAccountWithBindHidResponse, <-chan error) {
+	responseChan := make(chan *GetAliyunAccountWithBindHidResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAliyunAccountWithBindHid(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetAliyunAccountWithBindHidWithCallback(request *GetAliyunAccountWithBindHidRequest, callback func(response *GetAliyunAccountWithBindHidResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAliyunAccountWithBindHidResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAliyunAccountWithBindHid(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetAliyunAccountWithBindHidRequest struct {
+	*requests.RpcRequest
+	InnerAccountHid string `position:"Query" name:"InnerAccountHid"`
+}
+
+type GetAliyunAccountWithBindHidResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+}
+
+func CreateGetAliyunAccountWithBindHidRequest() (request *GetAliyunAccountWithBindHidRequest) {
+	request = &GetAliyunAccountWithBindHidRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "GetAliyunAccountWithBindHid", "", "")
+	return
+}
+
+func CreateGetAliyunAccountWithBindHidResponse() (response *GetAliyunAccountWithBindHidResponse) {
+	response = &GetAliyunAccountWithBindHidResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 90 - 0
services/aas/get_aliyun_account_with_bind_taobao_hid.go

@@ -0,0 +1,90 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetAliyunAccountWithBindTaobaoHid(request *GetAliyunAccountWithBindTaobaoHidRequest) (response *GetAliyunAccountWithBindTaobaoHidResponse, err error) {
+	response = CreateGetAliyunAccountWithBindTaobaoHidResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetAliyunAccountWithBindTaobaoHidWithChan(request *GetAliyunAccountWithBindTaobaoHidRequest) (<-chan *GetAliyunAccountWithBindTaobaoHidResponse, <-chan error) {
+	responseChan := make(chan *GetAliyunAccountWithBindTaobaoHidResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAliyunAccountWithBindTaobaoHid(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetAliyunAccountWithBindTaobaoHidWithCallback(request *GetAliyunAccountWithBindTaobaoHidRequest, callback func(response *GetAliyunAccountWithBindTaobaoHidResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAliyunAccountWithBindTaobaoHidResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAliyunAccountWithBindTaobaoHid(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetAliyunAccountWithBindTaobaoHidRequest struct {
+	*requests.RpcRequest
+	HavanaId string `position:"Query" name:"HavanaId"`
+}
+
+type GetAliyunAccountWithBindTaobaoHidResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+	PartnerPk string `json:"PartnerPk" xml:"PartnerPk"`
+}
+
+func CreateGetAliyunAccountWithBindTaobaoHidRequest() (request *GetAliyunAccountWithBindTaobaoHidRequest) {
+	request = &GetAliyunAccountWithBindTaobaoHidRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "GetAliyunAccountWithBindTaobaoHid", "", "")
+	return
+}
+
+func CreateGetAliyunAccountWithBindTaobaoHidResponse() (response *GetAliyunAccountWithBindTaobaoHidResponse) {
+	response = &GetAliyunAccountWithBindTaobaoHidResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/aas/get_basic_info_for_account.go

@@ -0,0 +1,91 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetBasicInfoForAccount(request *GetBasicInfoForAccountRequest) (response *GetBasicInfoForAccountResponse, err error) {
+	response = CreateGetBasicInfoForAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetBasicInfoForAccountWithChan(request *GetBasicInfoForAccountRequest) (<-chan *GetBasicInfoForAccountResponse, <-chan error) {
+	responseChan := make(chan *GetBasicInfoForAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetBasicInfoForAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetBasicInfoForAccountWithCallback(request *GetBasicInfoForAccountRequest, callback func(response *GetBasicInfoForAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetBasicInfoForAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.GetBasicInfoForAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetBasicInfoForAccountRequest struct {
+	*requests.RpcRequest
+	AliyunId string `position:"Query" name:"AliyunId"`
+}
+
+type GetBasicInfoForAccountResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	PK            string `json:"PK" xml:"PK"`
+	LastLoginDate string `json:"LastLoginDate" xml:"LastLoginDate"`
+	AccountStatus string `json:"AccountStatus" xml:"AccountStatus"`
+}
+
+func CreateGetBasicInfoForAccountRequest() (request *GetBasicInfoForAccountRequest) {
+	request = &GetBasicInfoForAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "GetBasicInfoForAccount", "", "")
+	return
+}
+
+func CreateGetBasicInfoForAccountResponse() (response *GetBasicInfoForAccountResponse) {
+	response = &GetBasicInfoForAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 89 - 0
services/aas/get_session_info_by_mini_ticket.go

@@ -0,0 +1,89 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetSessionInfoByMiniTicket(request *GetSessionInfoByMiniTicketRequest) (response *GetSessionInfoByMiniTicketResponse, err error) {
+	response = CreateGetSessionInfoByMiniTicketResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetSessionInfoByMiniTicketWithChan(request *GetSessionInfoByMiniTicketRequest) (<-chan *GetSessionInfoByMiniTicketResponse, <-chan error) {
+	responseChan := make(chan *GetSessionInfoByMiniTicketResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetSessionInfoByMiniTicket(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetSessionInfoByMiniTicketWithCallback(request *GetSessionInfoByMiniTicketRequest, callback func(response *GetSessionInfoByMiniTicketResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetSessionInfoByMiniTicketResponse
+		var err error
+		defer close(result)
+		response, err = client.GetSessionInfoByMiniTicket(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetSessionInfoByMiniTicketRequest struct {
+	*requests.RpcRequest
+	Ticket string `position:"Query" name:"Ticket"`
+}
+
+type GetSessionInfoByMiniTicketResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	SessionInfo string `json:"SessionInfo" xml:"SessionInfo"`
+}
+
+func CreateGetSessionInfoByMiniTicketRequest() (request *GetSessionInfoByMiniTicketRequest) {
+	request = &GetSessionInfoByMiniTicketRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "GetSessionInfoByMiniTicket", "", "")
+	return
+}
+
+func CreateGetSessionInfoByMiniTicketResponse() (response *GetSessionInfoByMiniTicketResponse) {
+	response = &GetSessionInfoByMiniTicketResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 89 - 0
services/aas/get_session_info_by_ticket.go

@@ -0,0 +1,89 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetSessionInfoByTicket(request *GetSessionInfoByTicketRequest) (response *GetSessionInfoByTicketResponse, err error) {
+	response = CreateGetSessionInfoByTicketResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetSessionInfoByTicketWithChan(request *GetSessionInfoByTicketRequest) (<-chan *GetSessionInfoByTicketResponse, <-chan error) {
+	responseChan := make(chan *GetSessionInfoByTicketResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetSessionInfoByTicket(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetSessionInfoByTicketWithCallback(request *GetSessionInfoByTicketRequest, callback func(response *GetSessionInfoByTicketResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetSessionInfoByTicketResponse
+		var err error
+		defer close(result)
+		response, err = client.GetSessionInfoByTicket(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetSessionInfoByTicketRequest struct {
+	*requests.RpcRequest
+	Ticket string `position:"Query" name:"Ticket"`
+}
+
+type GetSessionInfoByTicketResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	SessionInfo string `json:"SessionInfo" xml:"SessionInfo"`
+}
+
+func CreateGetSessionInfoByTicketRequest() (request *GetSessionInfoByTicketRequest) {
+	request = &GetSessionInfoByTicketRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "GetSessionInfoByTicket", "", "")
+	return
+}
+
+func CreateGetSessionInfoByTicketResponse() (response *GetSessionInfoByTicketResponse) {
+	response = &GetSessionInfoByTicketResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 99 - 0
services/aas/get_short_term_access_key_for_account.go

@@ -0,0 +1,99 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetShortTermAccessKeyForAccount(request *GetShortTermAccessKeyForAccountRequest) (response *GetShortTermAccessKeyForAccountResponse, err error) {
+	response = CreateGetShortTermAccessKeyForAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetShortTermAccessKeyForAccountWithChan(request *GetShortTermAccessKeyForAccountRequest) (<-chan *GetShortTermAccessKeyForAccountResponse, <-chan error) {
+	responseChan := make(chan *GetShortTermAccessKeyForAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetShortTermAccessKeyForAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetShortTermAccessKeyForAccountWithCallback(request *GetShortTermAccessKeyForAccountRequest, callback func(response *GetShortTermAccessKeyForAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetShortTermAccessKeyForAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.GetShortTermAccessKeyForAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetShortTermAccessKeyForAccountRequest struct {
+	*requests.RpcRequest
+	ExpireTime   string `position:"Query" name:"ExpireTime"`
+	IsMfaPresent string `position:"Query" name:"IsMfaPresent"`
+	PK           string `position:"Query" name:"PK"`
+}
+
+type GetShortTermAccessKeyForAccountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+	AccessKey struct {
+		CreateTime      string `json:"CreateTime" xml:"CreateTime"`
+		AccessKeyId     string `json:"AccessKeyId" xml:"AccessKeyId"`
+		AccessKeySecret string `json:"AccessKeySecret" xml:"AccessKeySecret"`
+		AccessKeyStatus string `json:"AccessKeyStatus" xml:"AccessKeyStatus"`
+		AccessKeyType   string `json:"AccessKeyType" xml:"AccessKeyType"`
+		ExpireTime      string `json:"ExpireTime" xml:"ExpireTime"`
+	} `json:"AccessKey" xml:"AccessKey"`
+}
+
+func CreateGetShortTermAccessKeyForAccountRequest() (request *GetShortTermAccessKeyForAccountRequest) {
+	request = &GetShortTermAccessKeyForAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "GetShortTermAccessKeyForAccount", "", "")
+	return
+}
+
+func CreateGetShortTermAccessKeyForAccountResponse() (response *GetShortTermAccessKeyForAccountResponse) {
+	response = &GetShortTermAccessKeyForAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 98 - 0
services/aas/list_access_keys_for_account.go

@@ -0,0 +1,98 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) ListAccessKeysForAccount(request *ListAccessKeysForAccountRequest) (response *ListAccessKeysForAccountResponse, err error) {
+	response = CreateListAccessKeysForAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ListAccessKeysForAccountWithChan(request *ListAccessKeysForAccountRequest) (<-chan *ListAccessKeysForAccountResponse, <-chan error) {
+	responseChan := make(chan *ListAccessKeysForAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListAccessKeysForAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ListAccessKeysForAccountWithCallback(request *ListAccessKeysForAccountRequest, callback func(response *ListAccessKeysForAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListAccessKeysForAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.ListAccessKeysForAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ListAccessKeysForAccountRequest struct {
+	*requests.RpcRequest
+	AKType   string `position:"Query" name:"AKType"`
+	AKStatus string `position:"Query" name:"AKStatus"`
+	PK       string `position:"Query" name:"PK"`
+}
+
+type ListAccessKeysForAccountResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	PK         string `json:"PK" xml:"PK"`
+	AccessKeys []struct {
+		CreateTime      string `json:"CreateTime" xml:"CreateTime"`
+		AccessKeyId     string `json:"AccessKeyId" xml:"AccessKeyId"`
+		AccessKeySecret string `json:"AccessKeySecret" xml:"AccessKeySecret"`
+		AccessKeyStatus string `json:"AccessKeyStatus" xml:"AccessKeyStatus"`
+		AccessKeyType   string `json:"AccessKeyType" xml:"AccessKeyType"`
+	} `json:"AccessKeys" xml:"AccessKeys"`
+}
+
+func CreateListAccessKeysForAccountRequest() (request *ListAccessKeysForAccountRequest) {
+	request = &ListAccessKeysForAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "ListAccessKeysForAccount", "", "")
+	return
+}
+
+func CreateListAccessKeysForAccountResponse() (response *ListAccessKeysForAccountResponse) {
+	response = &ListAccessKeysForAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 99 - 0
services/aas/list_aliyun_account.go

@@ -0,0 +1,99 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) ListAliyunAccount(request *ListAliyunAccountRequest) (response *ListAliyunAccountResponse, err error) {
+	response = CreateListAliyunAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ListAliyunAccountWithChan(request *ListAliyunAccountRequest) (<-chan *ListAliyunAccountResponse, <-chan error) {
+	responseChan := make(chan *ListAliyunAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListAliyunAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ListAliyunAccountWithCallback(request *ListAliyunAccountRequest, callback func(response *ListAliyunAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListAliyunAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.ListAliyunAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ListAliyunAccountRequest struct {
+	*requests.RpcRequest
+	Marker   string `position:"Query" name:"Marker"`
+	MaxItems string `position:"Query" name:"MaxItems"`
+}
+
+type ListAliyunAccountResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	IsTruncated  bool   `json:"IsTruncated" xml:"IsTruncated"`
+	Marker       string `json:"Marker" xml:"Marker"`
+	TotalAccount int    `json:"TotalAccount" xml:"TotalAccount"`
+	HasNext      bool   `json:"HasNext" xml:"HasNext"`
+	Accounts     []struct {
+		PK            string `json:"PK" xml:"PK"`
+		LastLoginDate string `json:"LastLoginDate" xml:"LastLoginDate"`
+		AccountStatus string `json:"AccountStatus" xml:"AccountStatus"`
+		AliyunId      string `json:"AliyunId" xml:"AliyunId"`
+	} `json:"Accounts" xml:"Accounts"`
+}
+
+func CreateListAliyunAccountRequest() (request *ListAliyunAccountRequest) {
+	request = &ListAliyunAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "ListAliyunAccount", "", "")
+	return
+}
+
+func CreateListAliyunAccountResponse() (response *ListAliyunAccountResponse) {
+	response = &ListAliyunAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/aas/update_access_key_status_for_account.go

@@ -0,0 +1,92 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) UpdateAccessKeyStatusForAccount(request *UpdateAccessKeyStatusForAccountRequest) (response *UpdateAccessKeyStatusForAccountResponse, err error) {
+	response = CreateUpdateAccessKeyStatusForAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) UpdateAccessKeyStatusForAccountWithChan(request *UpdateAccessKeyStatusForAccountRequest) (<-chan *UpdateAccessKeyStatusForAccountResponse, <-chan error) {
+	responseChan := make(chan *UpdateAccessKeyStatusForAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateAccessKeyStatusForAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) UpdateAccessKeyStatusForAccountWithCallback(request *UpdateAccessKeyStatusForAccountRequest, callback func(response *UpdateAccessKeyStatusForAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateAccessKeyStatusForAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateAccessKeyStatusForAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type UpdateAccessKeyStatusForAccountRequest struct {
+	*requests.RpcRequest
+	AKId     string `position:"Query" name:"AKId"`
+	AKStatus string `position:"Query" name:"AKStatus"`
+	PK       string `position:"Query" name:"PK"`
+}
+
+type UpdateAccessKeyStatusForAccountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+	Result    string `json:"Result" xml:"Result"`
+}
+
+func CreateUpdateAccessKeyStatusForAccountRequest() (request *UpdateAccessKeyStatusForAccountRequest) {
+	request = &UpdateAccessKeyStatusForAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "UpdateAccessKeyStatusForAccount", "", "")
+	return
+}
+
+func CreateUpdateAccessKeyStatusForAccountResponse() (response *UpdateAccessKeyStatusForAccountResponse) {
+	response = &UpdateAccessKeyStatusForAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/aas/update_password_for_account.go

@@ -0,0 +1,91 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) UpdatePasswordForAccount(request *UpdatePasswordForAccountRequest) (response *UpdatePasswordForAccountResponse, err error) {
+	response = CreateUpdatePasswordForAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) UpdatePasswordForAccountWithChan(request *UpdatePasswordForAccountRequest) (<-chan *UpdatePasswordForAccountResponse, <-chan error) {
+	responseChan := make(chan *UpdatePasswordForAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdatePasswordForAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) UpdatePasswordForAccountWithCallback(request *UpdatePasswordForAccountRequest, callback func(response *UpdatePasswordForAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdatePasswordForAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdatePasswordForAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type UpdatePasswordForAccountRequest struct {
+	*requests.RpcRequest
+	NewPassword string `position:"Query" name:"NewPassword"`
+	PK          string `position:"Query" name:"PK"`
+}
+
+type UpdatePasswordForAccountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+	Result    string `json:"Result" xml:"Result"`
+}
+
+func CreateUpdatePasswordForAccountRequest() (request *UpdatePasswordForAccountRequest) {
+	request = &UpdatePasswordForAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "UpdatePasswordForAccount", "", "")
+	return
+}
+
+func CreateUpdatePasswordForAccountResponse() (response *UpdatePasswordForAccountResponse) {
+	response = &UpdatePasswordForAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/aas/update_status_for_account.go

@@ -0,0 +1,91 @@
+package aas
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) UpdateStatusForAccount(request *UpdateStatusForAccountRequest) (response *UpdateStatusForAccountResponse, err error) {
+	response = CreateUpdateStatusForAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) UpdateStatusForAccountWithChan(request *UpdateStatusForAccountRequest) (<-chan *UpdateStatusForAccountResponse, <-chan error) {
+	responseChan := make(chan *UpdateStatusForAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateStatusForAccount(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) UpdateStatusForAccountWithCallback(request *UpdateStatusForAccountRequest, callback func(response *UpdateStatusForAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateStatusForAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateStatusForAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type UpdateStatusForAccountRequest struct {
+	*requests.RpcRequest
+	AccountStatus string `position:"Query" name:"AccountStatus"`
+	PK            string `position:"Query" name:"PK"`
+}
+
+type UpdateStatusForAccountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	PK        string `json:"PK" xml:"PK"`
+	Result    string `json:"Result" xml:"Result"`
+}
+
+func CreateUpdateStatusForAccountRequest() (request *UpdateStatusForAccountRequest) {
+	request = &UpdateStatusForAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Aas", "2015-07-01", "UpdateStatusForAccount", "", "")
+	return
+}
+
+func CreateUpdateStatusForAccountResponse() (response *UpdateStatusForAccountResponse) {
+	response = &UpdateStatusForAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 43 - 0
services/aegis/client.go

@@ -0,0 +1,43 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+type Client struct {
+	sdk.Client
+}
+
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}

+ 97 - 0
services/aegis/create_instance.go

@@ -0,0 +1,97 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) CreateInstance(request *CreateInstanceRequest) (response *CreateInstanceResponse, err error) {
+	response = CreateCreateInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateInstanceWithChan(request *CreateInstanceRequest) (<-chan *CreateInstanceResponse, <-chan error) {
+	responseChan := make(chan *CreateInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateInstance(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateInstanceWithCallback(request *CreateInstanceRequest, callback func(response *CreateInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateInstanceRequest struct {
+	*requests.RpcRequest
+	AutoRenewDuration string `position:"Query" name:"AutoRenewDuration"`
+	Duration          string `position:"Query" name:"Duration"`
+	ClientToken       string `position:"Query" name:"ClientToken"`
+	IsAutoRenew       string `position:"Query" name:"IsAutoRenew"`
+	VersionCode       string `position:"Query" name:"VersionCode"`
+	PricingCycle      string `position:"Query" name:"PricingCycle"`
+	VmNumber          string `position:"Query" name:"VmNumber"`
+	OwnerId           string `position:"Query" name:"OwnerId"`
+}
+
+type CreateInstanceResponse struct {
+	*responses.BaseResponse
+	OrderId    string `json:"OrderId" xml:"OrderId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateCreateInstanceRequest() (request *CreateInstanceRequest) {
+	request = &CreateInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "CreateInstance", "", "")
+	return
+}
+
+func CreateCreateInstanceResponse() (response *CreateInstanceResponse) {
+	response = &CreateInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/aegis/get_account_statistics.go

@@ -0,0 +1,96 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetAccountStatistics(request *GetAccountStatisticsRequest) (response *GetAccountStatisticsResponse, err error) {
+	response = CreateGetAccountStatisticsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetAccountStatisticsWithChan(request *GetAccountStatisticsRequest) (<-chan *GetAccountStatisticsResponse, <-chan error) {
+	responseChan := make(chan *GetAccountStatisticsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAccountStatistics(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetAccountStatisticsWithCallback(request *GetAccountStatisticsRequest, callback func(response *GetAccountStatisticsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAccountStatisticsResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAccountStatistics(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetAccountStatisticsRequest struct {
+	*requests.RpcRequest
+	EndTime   string `position:"Query" name:"EndTime"`
+	StartTime string `position:"Query" name:"StartTime"`
+}
+
+type GetAccountStatisticsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		RemoteLogin  int `json:"RemoteLogin" xml:"RemoteLogin"`
+		CrackSuccess int `json:"CrackSuccess" xml:"CrackSuccess"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateGetAccountStatisticsRequest() (request *GetAccountStatisticsRequest) {
+	request = &GetAccountStatisticsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetAccountStatistics", "", "")
+	return
+}
+
+func CreateGetAccountStatisticsResponse() (response *GetAccountStatisticsResponse) {
+	response = &GetAccountStatisticsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 95 - 0
services/aegis/get_crack_statistics.go

@@ -0,0 +1,95 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetCrackStatistics(request *GetCrackStatisticsRequest) (response *GetCrackStatisticsResponse, err error) {
+	response = CreateGetCrackStatisticsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetCrackStatisticsWithChan(request *GetCrackStatisticsRequest) (<-chan *GetCrackStatisticsResponse, <-chan error) {
+	responseChan := make(chan *GetCrackStatisticsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCrackStatistics(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetCrackStatisticsWithCallback(request *GetCrackStatisticsRequest, callback func(response *GetCrackStatisticsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCrackStatisticsResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCrackStatistics(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetCrackStatisticsRequest struct {
+	*requests.RpcRequest
+	EndTime   string `position:"Query" name:"EndTime"`
+	StartTime string `position:"Query" name:"StartTime"`
+}
+
+type GetCrackStatisticsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		Intercepted int `json:"Intercepted" xml:"Intercepted"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateGetCrackStatisticsRequest() (request *GetCrackStatisticsRequest) {
+	request = &GetCrackStatisticsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetCrackStatistics", "", "")
+	return
+}
+
+func CreateGetCrackStatisticsResponse() (response *GetCrackStatisticsResponse) {
+	response = &GetCrackStatisticsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/aegis/get_entity_list.go

@@ -0,0 +1,117 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetEntityList(request *GetEntityListRequest) (response *GetEntityListResponse, err error) {
+	response = CreateGetEntityListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetEntityListWithChan(request *GetEntityListRequest) (<-chan *GetEntityListResponse, <-chan error) {
+	responseChan := make(chan *GetEntityListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetEntityList(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetEntityListWithCallback(request *GetEntityListRequest, callback func(response *GetEntityListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetEntityListResponse
+		var err error
+		defer close(result)
+		response, err = client.GetEntityList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetEntityListRequest struct {
+	*requests.RpcRequest
+	PageSize    string `position:"Query" name:"PageSize"`
+	RegionNo    string `position:"Query" name:"RegionNo"`
+	Remark      string `position:"Query" name:"Remark"`
+	CurrentPage string `position:"Query" name:"CurrentPage"`
+	GroupId     string `position:"Query" name:"GroupId"`
+	EventType   string `position:"Query" name:"EventType"`
+}
+
+type GetEntityListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		PageInfo struct {
+			CurrentPage int `json:"CurrentPage" xml:"CurrentPage"`
+			PageSize    int `json:"PageSize" xml:"PageSize"`
+			TotalCount  int `json:"TotalCount" xml:"TotalCount"`
+			Count       int `json:"Count" xml:"Count"`
+		} `json:"PageInfo" xml:"PageInfo"`
+		List []struct {
+			Uuid         string `json:"Uuid" xml:"Uuid"`
+			GroupId      int64  `json:"GroupId" xml:"GroupId"`
+			Ip           string `json:"Ip" xml:"Ip"`
+			InstanceName string `json:"InstanceName" xml:"InstanceName"`
+			InstanceId   string `json:"InstanceId" xml:"InstanceId"`
+			Region       string `json:"Region" xml:"Region"`
+			Os           string `json:"Os" xml:"Os"`
+			Flag         string `json:"Flag" xml:"Flag"`
+			BuyVersion   string `json:"BuyVersion" xml:"BuyVersion"`
+			AegisOnline  bool   `json:"AegisOnline" xml:"AegisOnline"`
+			AegisVersion string `json:"aegisVersion" xml:"aegisVersion"`
+		} `json:"List" xml:"List"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateGetEntityListRequest() (request *GetEntityListRequest) {
+	request = &GetEntityListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetEntityList", "", "")
+	return
+}
+
+func CreateGetEntityListResponse() (response *GetEntityListResponse) {
+	response = &GetEntityListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 98 - 0
services/aegis/get_statistics.go

@@ -0,0 +1,98 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetStatistics(request *GetStatisticsRequest) (response *GetStatisticsResponse, err error) {
+	response = CreateGetStatisticsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetStatisticsWithChan(request *GetStatisticsRequest) (<-chan *GetStatisticsResponse, <-chan error) {
+	responseChan := make(chan *GetStatisticsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetStatistics(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetStatisticsWithCallback(request *GetStatisticsRequest, callback func(response *GetStatisticsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetStatisticsResponse
+		var err error
+		defer close(result)
+		response, err = client.GetStatistics(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetStatisticsRequest struct {
+	*requests.RpcRequest
+	EndTime   string `position:"Query" name:"EndTime"`
+	StartTime string `position:"Query" name:"StartTime"`
+}
+
+type GetStatisticsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		Account int `json:"Account" xml:"Account"`
+		Health  int `json:"Health" xml:"Health"`
+		Patch   int `json:"Patch" xml:"Patch"`
+		Trojan  int `json:"Trojan" xml:"Trojan"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateGetStatisticsRequest() (request *GetStatisticsRequest) {
+	request = &GetStatisticsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetStatistics", "", "")
+	return
+}
+
+func CreateGetStatisticsResponse() (response *GetStatisticsResponse) {
+	response = &GetStatisticsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 99 - 0
services/aegis/get_statistics_by_uuid.go

@@ -0,0 +1,99 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetStatisticsByUuid(request *GetStatisticsByUuidRequest) (response *GetStatisticsByUuidResponse, err error) {
+	response = CreateGetStatisticsByUuidResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetStatisticsByUuidWithChan(request *GetStatisticsByUuidRequest) (<-chan *GetStatisticsByUuidResponse, <-chan error) {
+	responseChan := make(chan *GetStatisticsByUuidResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetStatisticsByUuid(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetStatisticsByUuidWithCallback(request *GetStatisticsByUuidRequest, callback func(response *GetStatisticsByUuidResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetStatisticsByUuidResponse
+		var err error
+		defer close(result)
+		response, err = client.GetStatisticsByUuid(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetStatisticsByUuidRequest struct {
+	*requests.RpcRequest
+	Uuid string `position:"Query" name:"Uuid"`
+}
+
+type GetStatisticsByUuidResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      []struct {
+		Uuid    string `json:"Uuid" xml:"Uuid"`
+		Account int    `json:"Account" xml:"Account"`
+		Health  int    `json:"Health" xml:"Health"`
+		Patch   int    `json:"Patch" xml:"Patch"`
+		Trojan  int    `json:"Trojan" xml:"Trojan"`
+		Online  bool   `json:"Online" xml:"Online"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateGetStatisticsByUuidRequest() (request *GetStatisticsByUuidRequest) {
+	request = &GetStatisticsByUuidRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetStatisticsByUuid", "", "")
+	return
+}
+
+func CreateGetStatisticsByUuidResponse() (response *GetStatisticsByUuidResponse) {
+	response = &GetStatisticsByUuidResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 122 - 0
services/aegis/query_crack_event.go

@@ -0,0 +1,122 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) QueryCrackEvent(request *QueryCrackEventRequest) (response *QueryCrackEventResponse, err error) {
+	response = CreateQueryCrackEventResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) QueryCrackEventWithChan(request *QueryCrackEventRequest) (<-chan *QueryCrackEventResponse, <-chan error) {
+	responseChan := make(chan *QueryCrackEventResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryCrackEvent(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) QueryCrackEventWithCallback(request *QueryCrackEventRequest, callback func(response *QueryCrackEventResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryCrackEventResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryCrackEvent(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type QueryCrackEventRequest struct {
+	*requests.RpcRequest
+	EndTime     string `position:"Query" name:"EndTime"`
+	StartTime   string `position:"Query" name:"StartTime"`
+	Status      string `position:"Query" name:"Status"`
+	CurrentPage string `position:"Query" name:"CurrentPage"`
+	Uuid        string `position:"Query" name:"Uuid"`
+}
+
+type QueryCrackEventResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		PageInfo struct {
+			CurrentPage int `json:"CurrentPage" xml:"CurrentPage"`
+			PageSize    int `json:"PageSize" xml:"PageSize"`
+			TotalCount  int `json:"TotalCount" xml:"TotalCount"`
+			Count       int `json:"Count" xml:"Count"`
+		} `json:"PageInfo" xml:"PageInfo"`
+		List []struct {
+			Uuid           string `json:"Uuid" xml:"Uuid"`
+			AttackTime     string `json:"AttackTime" xml:"AttackTime"`
+			AttackType     int    `json:"AttackType" xml:"AttackType"`
+			AttackTypeName string `json:"AttackTypeName" xml:"AttackTypeName"`
+			BuyVersion     string `json:"BuyVersion" xml:"BuyVersion"`
+			CrackSourceIp  string `json:"CrackSourceIp" xml:"CrackSourceIp"`
+			CrackTimes     int    `json:"CrackTimes" xml:"CrackTimes"`
+			GroupId        int    `json:"GroupId" xml:"GroupId"`
+			InstanceName   string `json:"InstanceName" xml:"InstanceName"`
+			InstanceId     string `json:"InstanceId" xml:"InstanceId"`
+			Ip             string `json:"Ip" xml:"Ip"`
+			Region         string `json:"Region" xml:"Region"`
+			Status         int    `json:"Status" xml:"Status"`
+			StatusName     string `json:"StatusName" xml:"StatusName"`
+			Location       string `json:"Location" xml:"Location"`
+			InWhite        int    `json:"InWhite" xml:"InWhite"`
+			UserName       string `json:"UserName" xml:"UserName"`
+		} `json:"List" xml:"List"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateQueryCrackEventRequest() (request *QueryCrackEventRequest) {
+	request = &QueryCrackEventRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "QueryCrackEvent", "", "")
+	return
+}
+
+func CreateQueryCrackEventResponse() (response *QueryCrackEventResponse) {
+	response = &QueryCrackEventResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 120 - 0
services/aegis/query_login_event.go

@@ -0,0 +1,120 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) QueryLoginEvent(request *QueryLoginEventRequest) (response *QueryLoginEventResponse, err error) {
+	response = CreateQueryLoginEventResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) QueryLoginEventWithChan(request *QueryLoginEventRequest) (<-chan *QueryLoginEventResponse, <-chan error) {
+	responseChan := make(chan *QueryLoginEventResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryLoginEvent(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) QueryLoginEventWithCallback(request *QueryLoginEventRequest, callback func(response *QueryLoginEventResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryLoginEventResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryLoginEvent(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type QueryLoginEventRequest struct {
+	*requests.RpcRequest
+	EndTime     string `position:"Query" name:"EndTime"`
+	StartTime   string `position:"Query" name:"StartTime"`
+	Status      string `position:"Query" name:"Status"`
+	CurrentPage string `position:"Query" name:"CurrentPage"`
+	Uuid        string `position:"Query" name:"Uuid"`
+}
+
+type QueryLoginEventResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		PageInfo struct {
+			CurrentPage int `json:"CurrentPage" xml:"CurrentPage"`
+			PageSize    int `json:"PageSize" xml:"PageSize"`
+			TotalCount  int `json:"TotalCount" xml:"TotalCount"`
+			Count       int `json:"Count" xml:"Count"`
+		} `json:"PageInfo" xml:"PageInfo"`
+		List []struct {
+			Uuid          string `json:"Uuid" xml:"Uuid"`
+			LoginTime     string `json:"LoginTime" xml:"LoginTime"`
+			LoginType     int    `json:"LoginType" xml:"LoginType"`
+			LoginTypeName string `json:"LoginTypeName" xml:"LoginTypeName"`
+			BuyVersion    string `json:"BuyVersion" xml:"BuyVersion"`
+			LoginSourceIp string `json:"LoginSourceIp" xml:"LoginSourceIp"`
+			GroupId       int    `json:"GroupId" xml:"GroupId"`
+			InstanceName  string `json:"InstanceName" xml:"InstanceName"`
+			InstanceId    string `json:"InstanceId" xml:"InstanceId"`
+			Ip            string `json:"Ip" xml:"Ip"`
+			Region        string `json:"Region" xml:"Region"`
+			Status        int    `json:"Status" xml:"Status"`
+			StatusName    string `json:"StatusName" xml:"StatusName"`
+			Location      string `json:"Location" xml:"Location"`
+			UserName      string `json:"UserName" xml:"UserName"`
+		} `json:"List" xml:"List"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateQueryLoginEventRequest() (request *QueryLoginEventRequest) {
+	request = &QueryLoginEventRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "QueryLoginEvent", "", "")
+	return
+}
+
+func CreateQueryLoginEventResponse() (response *QueryLoginEventResponse) {
+	response = &QueryLoginEventResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 89 - 0
services/aegis/release_instance.go

@@ -0,0 +1,89 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) ReleaseInstance(request *ReleaseInstanceRequest) (response *ReleaseInstanceResponse, err error) {
+	response = CreateReleaseInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ReleaseInstanceWithChan(request *ReleaseInstanceRequest) (<-chan *ReleaseInstanceResponse, <-chan error) {
+	responseChan := make(chan *ReleaseInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ReleaseInstance(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ReleaseInstanceWithCallback(request *ReleaseInstanceRequest, callback func(response *ReleaseInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ReleaseInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.ReleaseInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ReleaseInstanceRequest struct {
+	*requests.RpcRequest
+	OwnerId    string `position:"Query" name:"OwnerId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+type ReleaseInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateReleaseInstanceRequest() (request *ReleaseInstanceRequest) {
+	request = &ReleaseInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "ReleaseInstance", "", "")
+	return
+}
+
+func CreateReleaseInstanceResponse() (response *ReleaseInstanceResponse) {
+	response = &ReleaseInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/aegis/renew_instance.go

@@ -0,0 +1,93 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) RenewInstance(request *RenewInstanceRequest) (response *RenewInstanceResponse, err error) {
+	response = CreateRenewInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) RenewInstanceWithChan(request *RenewInstanceRequest) (<-chan *RenewInstanceResponse, <-chan error) {
+	responseChan := make(chan *RenewInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RenewInstance(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) RenewInstanceWithCallback(request *RenewInstanceRequest, callback func(response *RenewInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RenewInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RenewInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type RenewInstanceRequest struct {
+	*requests.RpcRequest
+	Duration     string `position:"Query" name:"Duration"`
+	ClientToken  string `position:"Query" name:"ClientToken"`
+	PricingCycle string `position:"Query" name:"PricingCycle"`
+	OwnerId      string `position:"Query" name:"OwnerId"`
+	InstanceId   string `position:"Query" name:"InstanceId"`
+}
+
+type RenewInstanceResponse struct {
+	*responses.BaseResponse
+	OrderId   string `json:"OrderId" xml:"OrderId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateRenewInstanceRequest() (request *RenewInstanceRequest) {
+	request = &RenewInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "RenewInstance", "", "")
+	return
+}
+
+func CreateRenewInstanceResponse() (response *RenewInstanceResponse) {
+	response = &RenewInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/aegis/upgrade_instance.go

@@ -0,0 +1,93 @@
+package aegis
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) UpgradeInstance(request *UpgradeInstanceRequest) (response *UpgradeInstanceResponse, err error) {
+	response = CreateUpgradeInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) UpgradeInstanceWithChan(request *UpgradeInstanceRequest) (<-chan *UpgradeInstanceResponse, <-chan error) {
+	responseChan := make(chan *UpgradeInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpgradeInstance(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) UpgradeInstanceWithCallback(request *UpgradeInstanceRequest, callback func(response *UpgradeInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpgradeInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.UpgradeInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type UpgradeInstanceRequest struct {
+	*requests.RpcRequest
+	ClientToken string `position:"Query" name:"ClientToken"`
+	VersionCode string `position:"Query" name:"VersionCode"`
+	VmNumber    string `position:"Query" name:"VmNumber"`
+	OwnerId     string `position:"Query" name:"OwnerId"`
+	InstanceId  string `position:"Query" name:"InstanceId"`
+}
+
+type UpgradeInstanceResponse struct {
+	*responses.BaseResponse
+	OrderId   string `json:"OrderId" xml:"OrderId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateUpgradeInstanceRequest() (request *UpgradeInstanceRequest) {
+	request = &UpgradeInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "UpgradeInstance", "", "")
+	return
+}
+
+func CreateUpgradeInstanceResponse() (response *UpgradeInstanceResponse) {
+	response = &UpgradeInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/alidns/add_batch_domain_records.go

@@ -0,0 +1,91 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) AddBatchDomainRecords(request *AddBatchDomainRecordsRequest) (response *AddBatchDomainRecordsResponse, err error) {
+	response = CreateAddBatchDomainRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddBatchDomainRecordsWithChan(request *AddBatchDomainRecordsRequest) (<-chan *AddBatchDomainRecordsResponse, <-chan error) {
+	responseChan := make(chan *AddBatchDomainRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddBatchDomainRecords(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddBatchDomainRecordsWithCallback(request *AddBatchDomainRecordsRequest, callback func(response *AddBatchDomainRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddBatchDomainRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.AddBatchDomainRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddBatchDomainRecordsRequest struct {
+	*requests.RpcRequest
+	Records      string `position:"Query" name:"Records"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type AddBatchDomainRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+}
+
+func CreateAddBatchDomainRecordsRequest() (request *AddBatchDomainRecordsRequest) {
+	request = &AddBatchDomainRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddBatchDomainRecords", "", "")
+	return
+}
+
+func CreateAddBatchDomainRecordsResponse() (response *AddBatchDomainRecordsResponse) {
+	response = &AddBatchDomainRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/alidns/add_domain.go

@@ -0,0 +1,97 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) AddDomain(request *AddDomainRequest) (response *AddDomainResponse, err error) {
+	response = CreateAddDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddDomainWithChan(request *AddDomainRequest) (<-chan *AddDomainResponse, <-chan error) {
+	responseChan := make(chan *AddDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddDomain(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddDomainWithCallback(request *AddDomainRequest, callback func(response *AddDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.AddDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddDomainRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	GroupId      string `position:"Query" name:"GroupId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type AddDomainResponse struct {
+	*responses.BaseResponse
+	RequestId  string   `json:"RequestId" xml:"RequestId"`
+	DomainId   string   `json:"DomainId" xml:"DomainId"`
+	DomainName string   `json:"DomainName" xml:"DomainName"`
+	PunyCode   string   `json:"PunyCode" xml:"PunyCode"`
+	GroupId    string   `json:"GroupId" xml:"GroupId"`
+	GroupName  string   `json:"GroupName" xml:"GroupName"`
+	DnsServers []string `json:"DnsServers" xml:"DnsServers"`
+}
+
+func CreateAddDomainRequest() (request *AddDomainRequest) {
+	request = &AddDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomain", "", "")
+	return
+}
+
+func CreateAddDomainResponse() (response *AddDomainResponse) {
+	response = &AddDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/alidns/add_domain_group.go

@@ -0,0 +1,92 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) AddDomainGroup(request *AddDomainGroupRequest) (response *AddDomainGroupResponse, err error) {
+	response = CreateAddDomainGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddDomainGroupWithChan(request *AddDomainGroupRequest) (<-chan *AddDomainGroupResponse, <-chan error) {
+	responseChan := make(chan *AddDomainGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddDomainGroup(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddDomainGroupWithCallback(request *AddDomainGroupRequest, callback func(response *AddDomainGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddDomainGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.AddDomainGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddDomainGroupRequest struct {
+	*requests.RpcRequest
+	GroupName    string `position:"Query" name:"GroupName"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type AddDomainGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	GroupId   string `json:"GroupId" xml:"GroupId"`
+	GroupName string `json:"GroupName" xml:"GroupName"`
+}
+
+func CreateAddDomainGroupRequest() (request *AddDomainGroupRequest) {
+	request = &AddDomainGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomainGroup", "", "")
+	return
+}
+
+func CreateAddDomainGroupResponse() (response *AddDomainGroupResponse) {
+	response = &AddDomainGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/alidns/add_domain_record.go

@@ -0,0 +1,97 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) AddDomainRecord(request *AddDomainRecordRequest) (response *AddDomainRecordResponse, err error) {
+	response = CreateAddDomainRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddDomainRecordWithChan(request *AddDomainRecordRequest) (<-chan *AddDomainRecordResponse, <-chan error) {
+	responseChan := make(chan *AddDomainRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddDomainRecord(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddDomainRecordWithCallback(request *AddDomainRecordRequest, callback func(response *AddDomainRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddDomainRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.AddDomainRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddDomainRecordRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	Priority     string `position:"Query" name:"Priority"`
+	Value        string `position:"Query" name:"Value"`
+	RR           string `position:"Query" name:"RR"`
+	Line         string `position:"Query" name:"Line"`
+	TTL          string `position:"Query" name:"TTL"`
+	Type         string `position:"Query" name:"Type"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type AddDomainRecordResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	RecordId  string `json:"RecordId" xml:"RecordId"`
+}
+
+func CreateAddDomainRecordRequest() (request *AddDomainRecordRequest) {
+	request = &AddDomainRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomainRecord", "", "")
+	return
+}
+
+func CreateAddDomainRecordResponse() (response *AddDomainRecordResponse) {
+	response = &AddDomainRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/alidns/apply_for_retrieval_domain_name.go

@@ -0,0 +1,91 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) ApplyForRetrievalDomainName(request *ApplyForRetrievalDomainNameRequest) (response *ApplyForRetrievalDomainNameResponse, err error) {
+	response = CreateApplyForRetrievalDomainNameResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ApplyForRetrievalDomainNameWithChan(request *ApplyForRetrievalDomainNameRequest) (<-chan *ApplyForRetrievalDomainNameResponse, <-chan error) {
+	responseChan := make(chan *ApplyForRetrievalDomainNameResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ApplyForRetrievalDomainName(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ApplyForRetrievalDomainNameWithCallback(request *ApplyForRetrievalDomainNameRequest, callback func(response *ApplyForRetrievalDomainNameResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ApplyForRetrievalDomainNameResponse
+		var err error
+		defer close(result)
+		response, err = client.ApplyForRetrievalDomainName(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ApplyForRetrievalDomainNameRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type ApplyForRetrievalDomainNameResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	DomainName string `json:"DomainName" xml:"DomainName"`
+}
+
+func CreateApplyForRetrievalDomainNameRequest() (request *ApplyForRetrievalDomainNameRequest) {
+	request = &ApplyForRetrievalDomainNameRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ApplyForRetrievalDomainName", "", "")
+	return
+}
+
+func CreateApplyForRetrievalDomainNameResponse() (response *ApplyForRetrievalDomainNameResponse) {
+	response = &ApplyForRetrievalDomainNameResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/alidns/change_domain_group.go

@@ -0,0 +1,93 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) ChangeDomainGroup(request *ChangeDomainGroupRequest) (response *ChangeDomainGroupResponse, err error) {
+	response = CreateChangeDomainGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ChangeDomainGroupWithChan(request *ChangeDomainGroupRequest) (<-chan *ChangeDomainGroupResponse, <-chan error) {
+	responseChan := make(chan *ChangeDomainGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ChangeDomainGroup(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ChangeDomainGroupWithCallback(request *ChangeDomainGroupRequest, callback func(response *ChangeDomainGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ChangeDomainGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.ChangeDomainGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ChangeDomainGroupRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	GroupId      string `position:"Query" name:"GroupId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type ChangeDomainGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	GroupId   string `json:"GroupId" xml:"GroupId"`
+	GroupName string `json:"GroupName" xml:"GroupName"`
+}
+
+func CreateChangeDomainGroupRequest() (request *ChangeDomainGroupRequest) {
+	request = &ChangeDomainGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainGroup", "", "")
+	return
+}
+
+func CreateChangeDomainGroupResponse() (response *ChangeDomainGroupResponse) {
+	response = &ChangeDomainGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/alidns/change_domain_of_dns_product.go

@@ -0,0 +1,93 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) ChangeDomainOfDnsProduct(request *ChangeDomainOfDnsProductRequest) (response *ChangeDomainOfDnsProductResponse, err error) {
+	response = CreateChangeDomainOfDnsProductResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ChangeDomainOfDnsProductWithChan(request *ChangeDomainOfDnsProductRequest) (<-chan *ChangeDomainOfDnsProductResponse, <-chan error) {
+	responseChan := make(chan *ChangeDomainOfDnsProductResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ChangeDomainOfDnsProduct(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ChangeDomainOfDnsProductWithCallback(request *ChangeDomainOfDnsProductRequest, callback func(response *ChangeDomainOfDnsProductResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ChangeDomainOfDnsProductResponse
+		var err error
+		defer close(result)
+		response, err = client.ChangeDomainOfDnsProduct(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ChangeDomainOfDnsProductRequest struct {
+	*requests.RpcRequest
+	NewDomain    string `position:"Query" name:"NewDomain"`
+	Force        string `position:"Query" name:"Force"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	InstanceId   string `position:"Query" name:"InstanceId"`
+}
+
+type ChangeDomainOfDnsProductResponse struct {
+	*responses.BaseResponse
+	RequestId      string `json:"RequestId" xml:"RequestId"`
+	OriginalDomain string `json:"OriginalDomain" xml:"OriginalDomain"`
+}
+
+func CreateChangeDomainOfDnsProductRequest() (request *ChangeDomainOfDnsProductRequest) {
+	request = &ChangeDomainOfDnsProductRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainOfDnsProduct", "", "")
+	return
+}
+
+func CreateChangeDomainOfDnsProductResponse() (response *ChangeDomainOfDnsProductResponse) {
+	response = &ChangeDomainOfDnsProductResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/alidns/check_domain_record.go

@@ -0,0 +1,94 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) CheckDomainRecord(request *CheckDomainRecordRequest) (response *CheckDomainRecordResponse, err error) {
+	response = CreateCheckDomainRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CheckDomainRecordWithChan(request *CheckDomainRecordRequest) (<-chan *CheckDomainRecordResponse, <-chan error) {
+	responseChan := make(chan *CheckDomainRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CheckDomainRecord(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CheckDomainRecordWithCallback(request *CheckDomainRecordRequest, callback func(response *CheckDomainRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CheckDomainRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.CheckDomainRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CheckDomainRecordRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	Value        string `position:"Query" name:"Value"`
+	RR           string `position:"Query" name:"RR"`
+	Type         string `position:"Query" name:"Type"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type CheckDomainRecordResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	IsExist   bool   `json:"IsExist" xml:"IsExist"`
+}
+
+func CreateCheckDomainRecordRequest() (request *CheckDomainRecordRequest) {
+	request = &CheckDomainRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "CheckDomainRecord", "", "")
+	return
+}
+
+func CreateCheckDomainRecordResponse() (response *CheckDomainRecordResponse) {
+	response = &CheckDomainRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 43 - 0
services/alidns/client.go

@@ -0,0 +1,43 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+type Client struct {
+	sdk.Client
+}
+
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}

+ 91 - 0
services/alidns/delete_batch_domain_records.go

@@ -0,0 +1,91 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteBatchDomainRecords(request *DeleteBatchDomainRecordsRequest) (response *DeleteBatchDomainRecordsResponse, err error) {
+	response = CreateDeleteBatchDomainRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteBatchDomainRecordsWithChan(request *DeleteBatchDomainRecordsRequest) (<-chan *DeleteBatchDomainRecordsResponse, <-chan error) {
+	responseChan := make(chan *DeleteBatchDomainRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteBatchDomainRecords(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteBatchDomainRecordsWithCallback(request *DeleteBatchDomainRecordsRequest, callback func(response *DeleteBatchDomainRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteBatchDomainRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteBatchDomainRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteBatchDomainRecordsRequest struct {
+	*requests.RpcRequest
+	Records      string `position:"Query" name:"Records"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DeleteBatchDomainRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+}
+
+func CreateDeleteBatchDomainRecordsRequest() (request *DeleteBatchDomainRecordsRequest) {
+	request = &DeleteBatchDomainRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteBatchDomainRecords", "", "")
+	return
+}
+
+func CreateDeleteBatchDomainRecordsResponse() (response *DeleteBatchDomainRecordsResponse) {
+	response = &DeleteBatchDomainRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/alidns/delete_batch_domains.go

@@ -0,0 +1,91 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteBatchDomains(request *DeleteBatchDomainsRequest) (response *DeleteBatchDomainsResponse, err error) {
+	response = CreateDeleteBatchDomainsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteBatchDomainsWithChan(request *DeleteBatchDomainsRequest) (<-chan *DeleteBatchDomainsResponse, <-chan error) {
+	responseChan := make(chan *DeleteBatchDomainsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteBatchDomains(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteBatchDomainsWithCallback(request *DeleteBatchDomainsRequest, callback func(response *DeleteBatchDomainsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteBatchDomainsResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteBatchDomains(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteBatchDomainsRequest struct {
+	*requests.RpcRequest
+	Domains      string `position:"Query" name:"Domains"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DeleteBatchDomainsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+}
+
+func CreateDeleteBatchDomainsRequest() (request *DeleteBatchDomainsRequest) {
+	request = &DeleteBatchDomainsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteBatchDomains", "", "")
+	return
+}
+
+func CreateDeleteBatchDomainsResponse() (response *DeleteBatchDomainsResponse) {
+	response = &DeleteBatchDomainsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/alidns/delete_domain.go

@@ -0,0 +1,91 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteDomain(request *DeleteDomainRequest) (response *DeleteDomainResponse, err error) {
+	response = CreateDeleteDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type DeleteDomainRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DeleteDomainResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	DomainName string `json:"DomainName" xml:"DomainName"`
+}
+
+func CreateDeleteDomainRequest() (request *DeleteDomainRequest) {
+	request = &DeleteDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomain", "", "")
+	return
+}
+
+func CreateDeleteDomainResponse() (response *DeleteDomainResponse) {
+	response = &DeleteDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/alidns/delete_domain_group.go

@@ -0,0 +1,91 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteDomainGroup(request *DeleteDomainGroupRequest) (response *DeleteDomainGroupResponse, err error) {
+	response = CreateDeleteDomainGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteDomainGroupWithChan(request *DeleteDomainGroupRequest) (<-chan *DeleteDomainGroupResponse, <-chan error) {
+	responseChan := make(chan *DeleteDomainGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDomainGroup(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteDomainGroupWithCallback(request *DeleteDomainGroupRequest, callback func(response *DeleteDomainGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDomainGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDomainGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteDomainGroupRequest struct {
+	*requests.RpcRequest
+	GroupId      string `position:"Query" name:"GroupId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DeleteDomainGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	GroupName string `json:"GroupName" xml:"GroupName"`
+}
+
+func CreateDeleteDomainGroupRequest() (request *DeleteDomainGroupRequest) {
+	request = &DeleteDomainGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainGroup", "", "")
+	return
+}
+
+func CreateDeleteDomainGroupResponse() (response *DeleteDomainGroupResponse) {
+	response = &DeleteDomainGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/alidns/delete_domain_record.go

@@ -0,0 +1,91 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteDomainRecord(request *DeleteDomainRecordRequest) (response *DeleteDomainRecordResponse, err error) {
+	response = CreateDeleteDomainRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteDomainRecordWithChan(request *DeleteDomainRecordRequest) (<-chan *DeleteDomainRecordResponse, <-chan error) {
+	responseChan := make(chan *DeleteDomainRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDomainRecord(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteDomainRecordWithCallback(request *DeleteDomainRecordRequest, callback func(response *DeleteDomainRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDomainRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDomainRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteDomainRecordRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	RecordId     string `position:"Query" name:"RecordId"`
+}
+
+type DeleteDomainRecordResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	RecordId  string `json:"RecordId" xml:"RecordId"`
+}
+
+func CreateDeleteDomainRecordRequest() (request *DeleteDomainRecordRequest) {
+	request = &DeleteDomainRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainRecord", "", "")
+	return
+}
+
+func CreateDeleteDomainRecordResponse() (response *DeleteDomainRecordResponse) {
+	response = &DeleteDomainRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/alidns/delete_sub_domain_records.go

@@ -0,0 +1,94 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteSubDomainRecords(request *DeleteSubDomainRecordsRequest) (response *DeleteSubDomainRecordsResponse, err error) {
+	response = CreateDeleteSubDomainRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteSubDomainRecordsWithChan(request *DeleteSubDomainRecordsRequest) (<-chan *DeleteSubDomainRecordsResponse, <-chan error) {
+	responseChan := make(chan *DeleteSubDomainRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteSubDomainRecords(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteSubDomainRecordsWithCallback(request *DeleteSubDomainRecordsRequest, callback func(response *DeleteSubDomainRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteSubDomainRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteSubDomainRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteSubDomainRecordsRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	RR           string `position:"Query" name:"RR"`
+	Type         string `position:"Query" name:"Type"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DeleteSubDomainRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	RR         string `json:"RR" xml:"RR"`
+	TotalCount string `json:"TotalCount" xml:"TotalCount"`
+}
+
+func CreateDeleteSubDomainRecordsRequest() (request *DeleteSubDomainRecordsRequest) {
+	request = &DeleteSubDomainRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteSubDomainRecords", "", "")
+	return
+}
+
+func CreateDeleteSubDomainRecordsResponse() (response *DeleteSubDomainRecordsResponse) {
+	response = &DeleteSubDomainRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 98 - 0
services/alidns/describe_batch_result.go

@@ -0,0 +1,98 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeBatchResult(request *DescribeBatchResultRequest) (response *DescribeBatchResultResponse, err error) {
+	response = CreateDescribeBatchResultResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeBatchResultWithChan(request *DescribeBatchResultRequest) (<-chan *DescribeBatchResultResponse, <-chan error) {
+	responseChan := make(chan *DescribeBatchResultResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeBatchResult(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeBatchResultWithCallback(request *DescribeBatchResultRequest, callback func(response *DescribeBatchResultResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeBatchResultResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeBatchResult(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeBatchResultRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	TraceId      string `position:"Query" name:"TraceId"`
+}
+
+type DescribeBatchResultResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TraceId       string `json:"TraceId" xml:"TraceId"`
+	Status        int64  `json:"Status" xml:"Status"`
+	BatchCount    int64  `json:"BatchCount" xml:"BatchCount"`
+	SuccessNumber int64  `json:"SuccessNumber" xml:"SuccessNumber"`
+	FailResults   []struct {
+		BatchIndex string `json:"BatchIndex" xml:"BatchIndex"`
+		ErrorCode  string `json:"ErrorCode" xml:"ErrorCode"`
+	} `json:"FailResults" xml:"FailResults"`
+}
+
+func CreateDescribeBatchResultRequest() (request *DescribeBatchResultRequest) {
+	request = &DescribeBatchResultRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResult", "", "")
+	return
+}
+
+func CreateDescribeBatchResultResponse() (response *DescribeBatchResultResponse) {
+	response = &DescribeBatchResultResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 101 - 0
services/alidns/describe_d_n_s_s_l_b_sub_domains.go

@@ -0,0 +1,101 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeDNSSLBSubDomains(request *DescribeDNSSLBSubDomainsRequest) (response *DescribeDNSSLBSubDomainsResponse, err error) {
+	response = CreateDescribeDNSSLBSubDomainsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDNSSLBSubDomainsWithChan(request *DescribeDNSSLBSubDomainsRequest) (<-chan *DescribeDNSSLBSubDomainsResponse, <-chan error) {
+	responseChan := make(chan *DescribeDNSSLBSubDomainsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDNSSLBSubDomains(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDNSSLBSubDomainsWithCallback(request *DescribeDNSSLBSubDomainsRequest, callback func(response *DescribeDNSSLBSubDomainsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDNSSLBSubDomainsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDNSSLBSubDomains(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDNSSLBSubDomainsRequest struct {
+	*requests.RpcRequest
+	PageSize     string `position:"Query" name:"PageSize"`
+	DomainName   string `position:"Query" name:"DomainName"`
+	PageNumber   string `position:"Query" name:"PageNumber"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DescribeDNSSLBSubDomainsResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TotalCount    int64  `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int64  `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int64  `json:"PageSize" xml:"PageSize"`
+	SlbSubDomains []struct {
+		SubDomain   string `json:"SubDomain" xml:"SubDomain"`
+		RecordCount int64  `json:"RecordCount" xml:"RecordCount"`
+		Open        bool   `json:"Open" xml:"Open"`
+		Type        string `json:"Type" xml:"Type"`
+	} `json:"SlbSubDomains" xml:"SlbSubDomains"`
+}
+
+func CreateDescribeDNSSLBSubDomainsRequest() (request *DescribeDNSSLBSubDomainsRequest) {
+	request = &DescribeDNSSLBSubDomainsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDNSSLBSubDomains", "", "")
+	return
+}
+
+func CreateDescribeDNSSLBSubDomainsResponse() (response *DescribeDNSSLBSubDomainsResponse) {
+	response = &DescribeDNSSLBSubDomainsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/alidns/describe_dns_product_instance.go

@@ -0,0 +1,119 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeDnsProductInstance(request *DescribeDnsProductInstanceRequest) (response *DescribeDnsProductInstanceResponse, err error) {
+	response = CreateDescribeDnsProductInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDnsProductInstanceWithChan(request *DescribeDnsProductInstanceRequest) (<-chan *DescribeDnsProductInstanceResponse, <-chan error) {
+	responseChan := make(chan *DescribeDnsProductInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDnsProductInstance(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDnsProductInstanceWithCallback(request *DescribeDnsProductInstanceRequest, callback func(response *DescribeDnsProductInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDnsProductInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDnsProductInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDnsProductInstanceRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	InstanceId   string `position:"Query" name:"InstanceId"`
+}
+
+type DescribeDnsProductInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId             string   `json:"RequestId" xml:"RequestId"`
+	InstanceId            string   `json:"InstanceId" xml:"InstanceId"`
+	VersionCode           string   `json:"VersionCode" xml:"VersionCode"`
+	VersionName           string   `json:"VersionName" xml:"VersionName"`
+	StartTime             string   `json:"StartTime" xml:"StartTime"`
+	StartTimestamp        int64    `json:"StartTimestamp" xml:"StartTimestamp"`
+	EndTime               string   `json:"EndTime" xml:"EndTime"`
+	EndTimestamp          int64    `json:"EndTimestamp" xml:"EndTimestamp"`
+	Domain                string   `json:"Domain" xml:"Domain"`
+	BindCount             int64    `json:"BindCount" xml:"BindCount"`
+	BindUsedCount         int64    `json:"BindUsedCount" xml:"BindUsedCount"`
+	TTLMinValue           int64    `json:"TTLMinValue" xml:"TTLMinValue"`
+	SubDomainLevel        int64    `json:"SubDomainLevel" xml:"SubDomainLevel"`
+	DnsSLBCount           int64    `json:"DnsSLBCount" xml:"DnsSLBCount"`
+	URLForwardCount       int64    `json:"URLForwardCount" xml:"URLForwardCount"`
+	DDosDefendFlow        int64    `json:"DDosDefendFlow" xml:"DDosDefendFlow"`
+	DDosDefendQuery       int64    `json:"DDosDefendQuery" xml:"DDosDefendQuery"`
+	OverseaDDosDefendFlow int64    `json:"OverseaDDosDefendFlow" xml:"OverseaDDosDefendFlow"`
+	SearchEngineLines     string   `json:"SearchEngineLines" xml:"SearchEngineLines"`
+	ISPLines              string   `json:"ISPLines" xml:"ISPLines"`
+	ISPRegionLines        string   `json:"ISPRegionLines" xml:"ISPRegionLines"`
+	OverseaLine           string   `json:"OverseaLine" xml:"OverseaLine"`
+	MonitorNodeCount      int64    `json:"MonitorNodeCount" xml:"MonitorNodeCount"`
+	MonitorFrequency      int64    `json:"MonitorFrequency" xml:"MonitorFrequency"`
+	MonitorTaskCount      int64    `json:"MonitorTaskCount" xml:"MonitorTaskCount"`
+	RegionLines           bool     `json:"RegionLines" xml:"RegionLines"`
+	Gslb                  bool     `json:"Gslb" xml:"Gslb"`
+	InClean               bool     `json:"InClean" xml:"InClean"`
+	InBlackHole           bool     `json:"InBlackHole" xml:"InBlackHole"`
+	DnsServers            []string `json:"DnsServers" xml:"DnsServers"`
+}
+
+func CreateDescribeDnsProductInstanceRequest() (request *DescribeDnsProductInstanceRequest) {
+	request = &DescribeDnsProductInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstance", "", "")
+	return
+}
+
+func CreateDescribeDnsProductInstanceResponse() (response *DescribeDnsProductInstanceResponse) {
+	response = &DescribeDnsProductInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 125 - 0
services/alidns/describe_dns_product_instances.go

@@ -0,0 +1,125 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeDnsProductInstances(request *DescribeDnsProductInstancesRequest) (response *DescribeDnsProductInstancesResponse, err error) {
+	response = CreateDescribeDnsProductInstancesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDnsProductInstancesWithChan(request *DescribeDnsProductInstancesRequest) (<-chan *DescribeDnsProductInstancesResponse, <-chan error) {
+	responseChan := make(chan *DescribeDnsProductInstancesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDnsProductInstances(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDnsProductInstancesWithCallback(request *DescribeDnsProductInstancesRequest, callback func(response *DescribeDnsProductInstancesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDnsProductInstancesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDnsProductInstances(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDnsProductInstancesRequest struct {
+	*requests.RpcRequest
+	PageSize     string `position:"Query" name:"PageSize"`
+	PageNumber   string `position:"Query" name:"PageNumber"`
+	VersionCode  string `position:"Query" name:"VersionCode"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DescribeDnsProductInstancesResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	TotalCount  int64  `json:"TotalCount" xml:"TotalCount"`
+	PageNumber  int64  `json:"PageNumber" xml:"PageNumber"`
+	PageSize    int64  `json:"PageSize" xml:"PageSize"`
+	DnsProducts []struct {
+		InstanceId            string `json:"InstanceId" xml:"InstanceId"`
+		VersionCode           string `json:"VersionCode" xml:"VersionCode"`
+		VersionName           string `json:"VersionName" xml:"VersionName"`
+		StartTime             string `json:"StartTime" xml:"StartTime"`
+		EndTime               string `json:"EndTime" xml:"EndTime"`
+		StartTimestamp        int64  `json:"StartTimestamp" xml:"StartTimestamp"`
+		EndTimestamp          int64  `json:"EndTimestamp" xml:"EndTimestamp"`
+		Domain                string `json:"Domain" xml:"Domain"`
+		BindCount             int64  `json:"BindCount" xml:"BindCount"`
+		BindUsedCount         int64  `json:"BindUsedCount" xml:"BindUsedCount"`
+		TTLMinValue           int64  `json:"TTLMinValue" xml:"TTLMinValue"`
+		SubDomainLevel        int64  `json:"SubDomainLevel" xml:"SubDomainLevel"`
+		DnsSLBCount           int64  `json:"DnsSLBCount" xml:"DnsSLBCount"`
+		URLForwardCount       int64  `json:"URLForwardCount" xml:"URLForwardCount"`
+		DDosDefendFlow        int64  `json:"DDosDefendFlow" xml:"DDosDefendFlow"`
+		DDosDefendQuery       int64  `json:"DDosDefendQuery" xml:"DDosDefendQuery"`
+		OverseaDDosDefendFlow int64  `json:"OverseaDDosDefendFlow" xml:"OverseaDDosDefendFlow"`
+		SearchEngineLines     string `json:"SearchEngineLines" xml:"SearchEngineLines"`
+		ISPLines              string `json:"ISPLines" xml:"ISPLines"`
+		ISPRegionLines        string `json:"ISPRegionLines" xml:"ISPRegionLines"`
+		OverseaLine           string `json:"OverseaLine" xml:"OverseaLine"`
+		MonitorNodeCount      int64  `json:"MonitorNodeCount" xml:"MonitorNodeCount"`
+		MonitorFrequency      int64  `json:"MonitorFrequency" xml:"MonitorFrequency"`
+		MonitorTaskCount      int64  `json:"MonitorTaskCount" xml:"MonitorTaskCount"`
+		RegionLines           bool   `json:"RegionLines" xml:"RegionLines"`
+		Gslb                  bool   `json:"Gslb" xml:"Gslb"`
+		InClean               bool   `json:"InClean" xml:"InClean"`
+		InBlackHole           bool   `json:"InBlackHole" xml:"InBlackHole"`
+	} `json:"DnsProducts" xml:"DnsProducts"`
+}
+
+func CreateDescribeDnsProductInstancesRequest() (request *DescribeDnsProductInstancesRequest) {
+	request = &DescribeDnsProductInstancesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstances", "", "")
+	return
+}
+
+func CreateDescribeDnsProductInstancesResponse() (response *DescribeDnsProductInstancesResponse) {
+	response = &DescribeDnsProductInstancesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 100 - 0
services/alidns/describe_domain_groups.go

@@ -0,0 +1,100 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeDomainGroups(request *DescribeDomainGroupsRequest) (response *DescribeDomainGroupsResponse, err error) {
+	response = CreateDescribeDomainGroupsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDomainGroupsWithChan(request *DescribeDomainGroupsRequest) (<-chan *DescribeDomainGroupsResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainGroupsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainGroups(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDomainGroupsWithCallback(request *DescribeDomainGroupsRequest, callback func(response *DescribeDomainGroupsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainGroupsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainGroups(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDomainGroupsRequest struct {
+	*requests.RpcRequest
+	PageSize     string `position:"Query" name:"PageSize"`
+	PageNumber   string `position:"Query" name:"PageNumber"`
+	KeyWord      string `position:"Query" name:"KeyWord"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DescribeDomainGroupsResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	TotalCount   int64  `json:"TotalCount" xml:"TotalCount"`
+	PageNumber   int64  `json:"PageNumber" xml:"PageNumber"`
+	PageSize     int64  `json:"PageSize" xml:"PageSize"`
+	DomainGroups []struct {
+		GroupId     string `json:"GroupId" xml:"GroupId"`
+		GroupName   string `json:"GroupName" xml:"GroupName"`
+		DomainCount int64  `json:"DomainCount" xml:"DomainCount"`
+	} `json:"DomainGroups" xml:"DomainGroups"`
+}
+
+func CreateDescribeDomainGroupsRequest() (request *DescribeDomainGroupsRequest) {
+	request = &DescribeDomainGroupsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainGroups", "", "")
+	return
+}
+
+func CreateDescribeDomainGroupsResponse() (response *DescribeDomainGroupsResponse) {
+	response = &DescribeDomainGroupsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/alidns/describe_domain_info.go

@@ -0,0 +1,113 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeDomainInfo(request *DescribeDomainInfoRequest) (response *DescribeDomainInfoResponse, err error) {
+	response = CreateDescribeDomainInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDomainInfoWithChan(request *DescribeDomainInfoRequest) (<-chan *DescribeDomainInfoResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainInfo(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDomainInfoWithCallback(request *DescribeDomainInfoRequest, callback func(response *DescribeDomainInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDomainInfoRequest struct {
+	*requests.RpcRequest
+	NeedDetailAttributes string `position:"Query" name:"NeedDetailAttributes"`
+	DomainName           string `position:"Query" name:"DomainName"`
+	UserClientIp         string `position:"Query" name:"UserClientIp"`
+	Lang                 string `position:"Query" name:"Lang"`
+}
+
+type DescribeDomainInfoResponse struct {
+	*responses.BaseResponse
+	RequestId          string   `json:"RequestId" xml:"RequestId"`
+	DomainId           string   `json:"DomainId" xml:"DomainId"`
+	DomainName         string   `json:"DomainName" xml:"DomainName"`
+	PunyCode           string   `json:"PunyCode" xml:"PunyCode"`
+	AliDomain          bool     `json:"AliDomain" xml:"AliDomain"`
+	Remark             string   `json:"Remark" xml:"Remark"`
+	GroupId            string   `json:"GroupId" xml:"GroupId"`
+	GroupName          string   `json:"GroupName" xml:"GroupName"`
+	InstanceId         string   `json:"InstanceId" xml:"InstanceId"`
+	VersionCode        string   `json:"VersionCode" xml:"VersionCode"`
+	VersionName        string   `json:"VersionName" xml:"VersionName"`
+	MinTtl             int64    `json:"MinTtl" xml:"MinTtl"`
+	RecordLineTreeJson string   `json:"RecordLineTreeJson" xml:"RecordLineTreeJson"`
+	LineType           string   `json:"LineType" xml:"LineType"`
+	RegionLines        bool     `json:"RegionLines" xml:"RegionLines"`
+	DnsServers         []string `json:"DnsServers" xml:"DnsServers"`
+	AvailableTtls      []string `json:"AvailableTtls" xml:"AvailableTtls"`
+	RecordLines        []struct {
+		LineCode        string `json:"LineCode" xml:"LineCode"`
+		FatherCode      string `json:"FatherCode" xml:"FatherCode"`
+		LineName        string `json:"LineName" xml:"LineName"`
+		LineDisplayName string `json:"LineDisplayName" xml:"LineDisplayName"`
+	} `json:"RecordLines" xml:"RecordLines"`
+}
+
+func CreateDescribeDomainInfoRequest() (request *DescribeDomainInfoRequest) {
+	request = &DescribeDomainInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainInfo", "", "")
+	return
+}
+
+func CreateDescribeDomainInfoResponse() (response *DescribeDomainInfoResponse) {
+	response = &DescribeDomainInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/alidns/describe_domain_logs.go

@@ -0,0 +1,106 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeDomainLogs(request *DescribeDomainLogsRequest) (response *DescribeDomainLogsResponse, err error) {
+	response = CreateDescribeDomainLogsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDomainLogsWithChan(request *DescribeDomainLogsRequest) (<-chan *DescribeDomainLogsResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainLogsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainLogs(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDomainLogsWithCallback(request *DescribeDomainLogsRequest, callback func(response *DescribeDomainLogsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainLogsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainLogs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDomainLogsRequest struct {
+	*requests.RpcRequest
+	PageSize     string `position:"Query" name:"PageSize"`
+	StartDate    string `position:"Query" name:"StartDate"`
+	PageNumber   string `position:"Query" name:"PageNumber"`
+	KeyWord      string `position:"Query" name:"KeyWord"`
+	GroupId      string `position:"Query" name:"GroupId"`
+	EndDate      string `position:"Query" name:"endDate"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DescribeDomainLogsResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TotalCount int64  `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int64  `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int64  `json:"PageSize" xml:"PageSize"`
+	DomainLogs []struct {
+		ActionTime      string `json:"ActionTime" xml:"ActionTime"`
+		ActionTimestamp int64  `json:"ActionTimestamp" xml:"ActionTimestamp"`
+		DomainName      string `json:"DomainName" xml:"DomainName"`
+		Action          string `json:"Action" xml:"Action"`
+		Message         string `json:"Message" xml:"Message"`
+		ClientIp        string `json:"ClientIp" xml:"ClientIp"`
+	} `json:"DomainLogs" xml:"DomainLogs"`
+}
+
+func CreateDescribeDomainLogsRequest() (request *DescribeDomainLogsRequest) {
+	request = &DescribeDomainLogsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainLogs", "", "")
+	return
+}
+
+func CreateDescribeDomainLogsResponse() (response *DescribeDomainLogsResponse) {
+	response = &DescribeDomainLogsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/alidns/describe_domain_ns.go

@@ -0,0 +1,94 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeDomainNs(request *DescribeDomainNsRequest) (response *DescribeDomainNsResponse, err error) {
+	response = CreateDescribeDomainNsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDomainNsWithChan(request *DescribeDomainNsRequest) (<-chan *DescribeDomainNsResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainNsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainNs(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDomainNsWithCallback(request *DescribeDomainNsRequest, callback func(response *DescribeDomainNsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainNsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainNs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDomainNsRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DescribeDomainNsResponse struct {
+	*responses.BaseResponse
+	RequestId        string   `json:"RequestId" xml:"RequestId"`
+	AllAliDns        bool     `json:"AllAliDns" xml:"AllAliDns"`
+	IncludeAliDns    bool     `json:"IncludeAliDns" xml:"IncludeAliDns"`
+	DnsServers       []string `json:"DnsServers" xml:"DnsServers"`
+	ExpectDnsServers []string `json:"ExpectDnsServers" xml:"ExpectDnsServers"`
+}
+
+func CreateDescribeDomainNsRequest() (request *DescribeDomainNsRequest) {
+	request = &DescribeDomainNsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainNs", "", "")
+	return
+}
+
+func CreateDescribeDomainNsResponse() (response *DescribeDomainNsResponse) {
+	response = &DescribeDomainNsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/alidns/describe_domain_record_info.go

@@ -0,0 +1,104 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeDomainRecordInfo(request *DescribeDomainRecordInfoRequest) (response *DescribeDomainRecordInfoResponse, err error) {
+	response = CreateDescribeDomainRecordInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDomainRecordInfoWithChan(request *DescribeDomainRecordInfoRequest) (<-chan *DescribeDomainRecordInfoResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainRecordInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainRecordInfo(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDomainRecordInfoWithCallback(request *DescribeDomainRecordInfoRequest, callback func(response *DescribeDomainRecordInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainRecordInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainRecordInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDomainRecordInfoRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	RecordId     string `position:"Query" name:"RecordId"`
+}
+
+type DescribeDomainRecordInfoResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	DomainId   string `json:"DomainId" xml:"DomainId"`
+	DomainName string `json:"DomainName" xml:"DomainName"`
+	PunyCode   string `json:"PunyCode" xml:"PunyCode"`
+	GroupId    string `json:"GroupId" xml:"GroupId"`
+	GroupName  string `json:"GroupName" xml:"GroupName"`
+	RecordId   string `json:"RecordId" xml:"RecordId"`
+	RR         string `json:"RR" xml:"RR"`
+	Type       string `json:"Type" xml:"Type"`
+	Value      string `json:"Value" xml:"Value"`
+	TTL        int64  `json:"TTL" xml:"TTL"`
+	Priority   int64  `json:"Priority" xml:"Priority"`
+	Line       string `json:"Line" xml:"Line"`
+	Status     string `json:"Status" xml:"Status"`
+	Locked     bool   `json:"Locked" xml:"Locked"`
+}
+
+func CreateDescribeDomainRecordInfoRequest() (request *DescribeDomainRecordInfoRequest) {
+	request = &DescribeDomainRecordInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecordInfo", "", "")
+	return
+}
+
+func CreateDescribeDomainRecordInfoResponse() (response *DescribeDomainRecordInfoResponse) {
+	response = &DescribeDomainRecordInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/alidns/describe_domain_records.go

@@ -0,0 +1,113 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeDomainRecords(request *DescribeDomainRecordsRequest) (response *DescribeDomainRecordsResponse, err error) {
+	response = CreateDescribeDomainRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDomainRecordsWithChan(request *DescribeDomainRecordsRequest) (<-chan *DescribeDomainRecordsResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainRecords(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDomainRecordsWithCallback(request *DescribeDomainRecordsRequest, callback func(response *DescribeDomainRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDomainRecordsRequest struct {
+	*requests.RpcRequest
+	PageSize     string `position:"Query" name:"PageSize"`
+	DomainName   string `position:"Query" name:"DomainName"`
+	ValueKeyWord string `position:"Query" name:"ValueKeyWord"`
+	PageNumber   string `position:"Query" name:"PageNumber"`
+	KeyWord      string `position:"Query" name:"KeyWord"`
+	TypeKeyWord  string `position:"Query" name:"TypeKeyWord"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	RRKeyWord    string `position:"Query" name:"RRKeyWord"`
+}
+
+type DescribeDomainRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TotalCount    int64  `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int64  `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int64  `json:"PageSize" xml:"PageSize"`
+	DomainRecords []struct {
+		DomainName string `json:"DomainName" xml:"DomainName"`
+		RecordId   string `json:"RecordId" xml:"RecordId"`
+		RR         string `json:"RR" xml:"RR"`
+		Type       string `json:"Type" xml:"Type"`
+		Value      string `json:"Value" xml:"Value"`
+		TTL        int64  `json:"TTL" xml:"TTL"`
+		Priority   int64  `json:"Priority" xml:"Priority"`
+		Line       string `json:"Line" xml:"Line"`
+		Status     string `json:"Status" xml:"Status"`
+		Locked     bool   `json:"Locked" xml:"Locked"`
+		Weight     int    `json:"Weight" xml:"Weight"`
+		Remark     string `json:"Remark" xml:"Remark"`
+	} `json:"DomainRecords" xml:"DomainRecords"`
+}
+
+func CreateDescribeDomainRecordsRequest() (request *DescribeDomainRecordsRequest) {
+	request = &DescribeDomainRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecords", "", "")
+	return
+}
+
+func CreateDescribeDomainRecordsResponse() (response *DescribeDomainRecordsResponse) {
+	response = &DescribeDomainRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 98 - 0
services/alidns/describe_domain_whois_info.go

@@ -0,0 +1,98 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeDomainWhoisInfo(request *DescribeDomainWhoisInfoRequest) (response *DescribeDomainWhoisInfoResponse, err error) {
+	response = CreateDescribeDomainWhoisInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDomainWhoisInfoWithChan(request *DescribeDomainWhoisInfoRequest) (<-chan *DescribeDomainWhoisInfoResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainWhoisInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainWhoisInfo(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDomainWhoisInfoWithCallback(request *DescribeDomainWhoisInfoRequest, callback func(response *DescribeDomainWhoisInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainWhoisInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainWhoisInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDomainWhoisInfoRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	GroupId      string `position:"Query" name:"GroupId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DescribeDomainWhoisInfoResponse struct {
+	*responses.BaseResponse
+	RequestId        string   `json:"RequestId" xml:"RequestId"`
+	RegistrantName   string   `json:"RegistrantName" xml:"RegistrantName"`
+	RegistrantEmail  string   `json:"RegistrantEmail" xml:"RegistrantEmail"`
+	Registrar        string   `json:"Registrar" xml:"Registrar"`
+	RegistrationDate string   `json:"RegistrationDate" xml:"RegistrationDate"`
+	ExpirationDate   string   `json:"ExpirationDate" xml:"ExpirationDate"`
+	StatusList       []string `json:"StatusList" xml:"StatusList"`
+	DnsServers       []string `json:"DnsServers" xml:"DnsServers"`
+}
+
+func CreateDescribeDomainWhoisInfoRequest() (request *DescribeDomainWhoisInfoRequest) {
+	request = &DescribeDomainWhoisInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainWhoisInfo", "", "")
+	return
+}
+
+func CreateDescribeDomainWhoisInfoResponse() (response *DescribeDomainWhoisInfoResponse) {
+	response = &DescribeDomainWhoisInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/alidns/describe_domains.go

@@ -0,0 +1,113 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeDomains(request *DescribeDomainsRequest) (response *DescribeDomainsResponse, err error) {
+	response = CreateDescribeDomainsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeDomainsWithChan(request *DescribeDomainsRequest) (<-chan *DescribeDomainsResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomains(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeDomainsWithCallback(request *DescribeDomainsRequest, callback func(response *DescribeDomainsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomains(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeDomainsRequest struct {
+	*requests.RpcRequest
+	PageSize     string `position:"Query" name:"PageSize"`
+	PageNumber   string `position:"Query" name:"PageNumber"`
+	KeyWord      string `position:"Query" name:"KeyWord"`
+	GroupId      string `position:"Query" name:"GroupId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DescribeDomainsResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TotalCount int64  `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int64  `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int64  `json:"PageSize" xml:"PageSize"`
+	Domains    []struct {
+		DomainId        string   `json:"DomainId" xml:"DomainId"`
+		DomainName      string   `json:"DomainName" xml:"DomainName"`
+		PunyCode        string   `json:"PunyCode" xml:"PunyCode"`
+		AliDomain       bool     `json:"AliDomain" xml:"AliDomain"`
+		RecordCount     int64    `json:"RecordCount" xml:"RecordCount"`
+		RegistrantEmail string   `json:"RegistrantEmail" xml:"RegistrantEmail"`
+		Remark          string   `json:"Remark" xml:"Remark"`
+		GroupId         string   `json:"GroupId" xml:"GroupId"`
+		GroupName       string   `json:"GroupName" xml:"GroupName"`
+		InstanceId      string   `json:"InstanceId" xml:"InstanceId"`
+		VersionCode     string   `json:"VersionCode" xml:"VersionCode"`
+		VersionName     string   `json:"VersionName" xml:"VersionName"`
+		InstanceEndTime string   `json:"InstanceEndTime" xml:"InstanceEndTime"`
+		InstanceExpired bool     `json:"InstanceExpired" xml:"InstanceExpired"`
+		DnsServers      []string `json:"DnsServers" xml:"DnsServers"`
+	} `json:"Domains" xml:"Domains"`
+}
+
+func CreateDescribeDomainsRequest() (request *DescribeDomainsRequest) {
+	request = &DescribeDomainsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomains", "", "")
+	return
+}
+
+func CreateDescribeDomainsResponse() (response *DescribeDomainsResponse) {
+	response = &DescribeDomainsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/alidns/describe_record_logs.go

@@ -0,0 +1,105 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeRecordLogs(request *DescribeRecordLogsRequest) (response *DescribeRecordLogsResponse, err error) {
+	response = CreateDescribeRecordLogsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeRecordLogsWithChan(request *DescribeRecordLogsRequest) (<-chan *DescribeRecordLogsResponse, <-chan error) {
+	responseChan := make(chan *DescribeRecordLogsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRecordLogs(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeRecordLogsWithCallback(request *DescribeRecordLogsRequest, callback func(response *DescribeRecordLogsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRecordLogsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRecordLogs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeRecordLogsRequest struct {
+	*requests.RpcRequest
+	PageSize     string `position:"Query" name:"PageSize"`
+	StartDate    string `position:"Query" name:"StartDate"`
+	DomainName   string `position:"Query" name:"DomainName"`
+	PageNumber   string `position:"Query" name:"PageNumber"`
+	KeyWord      string `position:"Query" name:"KeyWord"`
+	EndDate      string `position:"Query" name:"endDate"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DescribeRecordLogsResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TotalCount int64  `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int64  `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int64  `json:"PageSize" xml:"PageSize"`
+	RecordLogs []struct {
+		ActionTime      string `json:"ActionTime" xml:"ActionTime"`
+		ActionTimestamp int64  `json:"ActionTimestamp" xml:"ActionTimestamp"`
+		Action          string `json:"Action" xml:"Action"`
+		Message         string `json:"Message" xml:"Message"`
+		ClientIp        string `json:"ClientIp" xml:"ClientIp"`
+	} `json:"RecordLogs" xml:"RecordLogs"`
+}
+
+func CreateDescribeRecordLogsRequest() (request *DescribeRecordLogsRequest) {
+	request = &DescribeRecordLogsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeRecordLogs", "", "")
+	return
+}
+
+func CreateDescribeRecordLogsResponse() (response *DescribeRecordLogsResponse) {
+	response = &DescribeRecordLogsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/alidns/describe_sub_domain_records.go

@@ -0,0 +1,109 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeSubDomainRecords(request *DescribeSubDomainRecordsRequest) (response *DescribeSubDomainRecordsResponse, err error) {
+	response = CreateDescribeSubDomainRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeSubDomainRecordsWithChan(request *DescribeSubDomainRecordsRequest) (<-chan *DescribeSubDomainRecordsResponse, <-chan error) {
+	responseChan := make(chan *DescribeSubDomainRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSubDomainRecords(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeSubDomainRecordsWithCallback(request *DescribeSubDomainRecordsRequest, callback func(response *DescribeSubDomainRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSubDomainRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSubDomainRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeSubDomainRecordsRequest struct {
+	*requests.RpcRequest
+	PageSize     string `position:"Query" name:"PageSize"`
+	PageNumber   string `position:"Query" name:"PageNumber"`
+	SubDomain    string `position:"Query" name:"SubDomain"`
+	Type         string `position:"Query" name:"Type"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DescribeSubDomainRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TotalCount    int64  `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int64  `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int64  `json:"PageSize" xml:"PageSize"`
+	DomainRecords []struct {
+		DomainName string `json:"DomainName" xml:"DomainName"`
+		RecordId   string `json:"RecordId" xml:"RecordId"`
+		RR         string `json:"RR" xml:"RR"`
+		Type       string `json:"Type" xml:"Type"`
+		Value      string `json:"Value" xml:"Value"`
+		TTL        int64  `json:"TTL" xml:"TTL"`
+		Priority   int64  `json:"Priority" xml:"Priority"`
+		Line       string `json:"Line" xml:"Line"`
+		Status     string `json:"Status" xml:"Status"`
+		Locked     bool   `json:"Locked" xml:"Locked"`
+		Weight     int    `json:"Weight" xml:"Weight"`
+	} `json:"DomainRecords" xml:"DomainRecords"`
+}
+
+func CreateDescribeSubDomainRecordsRequest() (request *DescribeSubDomainRecordsRequest) {
+	request = &DescribeSubDomainRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSubDomainRecords", "", "")
+	return
+}
+
+func CreateDescribeSubDomainRecordsResponse() (response *DescribeSubDomainRecordsResponse) {
+	response = &DescribeSubDomainRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 95 - 0
services/alidns/describe_support_lines.go

@@ -0,0 +1,95 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeSupportLines(request *DescribeSupportLinesRequest) (response *DescribeSupportLinesResponse, err error) {
+	response = CreateDescribeSupportLinesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeSupportLinesWithChan(request *DescribeSupportLinesRequest) (<-chan *DescribeSupportLinesResponse, <-chan error) {
+	responseChan := make(chan *DescribeSupportLinesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSupportLines(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeSupportLinesWithCallback(request *DescribeSupportLinesRequest, callback func(response *DescribeSupportLinesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSupportLinesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSupportLines(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeSupportLinesRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type DescribeSupportLinesResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	RecordLines []struct {
+		LineCode        string `json:"LineCode" xml:"LineCode"`
+		FatherCode      string `json:"FatherCode" xml:"FatherCode"`
+		LineName        string `json:"LineName" xml:"LineName"`
+		LineDisplayName string `json:"LineDisplayName" xml:"LineDisplayName"`
+	} `json:"RecordLines" xml:"RecordLines"`
+}
+
+func CreateDescribeSupportLinesRequest() (request *DescribeSupportLinesRequest) {
+	request = &DescribeSupportLinesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSupportLines", "", "")
+	return
+}
+
+func CreateDescribeSupportLinesResponse() (response *DescribeSupportLinesResponse) {
+	response = &DescribeSupportLinesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/alidns/get_main_domain_name.go

@@ -0,0 +1,93 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) GetMainDomainName(request *GetMainDomainNameRequest) (response *GetMainDomainNameResponse, err error) {
+	response = CreateGetMainDomainNameResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetMainDomainNameWithChan(request *GetMainDomainNameRequest) (<-chan *GetMainDomainNameResponse, <-chan error) {
+	responseChan := make(chan *GetMainDomainNameResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetMainDomainName(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetMainDomainNameWithCallback(request *GetMainDomainNameRequest, callback func(response *GetMainDomainNameResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetMainDomainNameResponse
+		var err error
+		defer close(result)
+		response, err = client.GetMainDomainName(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetMainDomainNameRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	InputString  string `position:"Query" name:"InputString"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type GetMainDomainNameResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	DomainName  string `json:"DomainName" xml:"DomainName"`
+	RR          string `json:"RR" xml:"RR"`
+	DomainLevel int64  `json:"DomainLevel" xml:"DomainLevel"`
+}
+
+func CreateGetMainDomainNameRequest() (request *GetMainDomainNameRequest) {
+	request = &GetMainDomainNameRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "GetMainDomainName", "", "")
+	return
+}
+
+func CreateGetMainDomainNameResponse() (response *GetMainDomainNameResponse) {
+	response = &GetMainDomainNameResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/alidns/modify_hichina_domain_d_n_s.go

@@ -0,0 +1,92 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) ModifyHichinaDomainDNS(request *ModifyHichinaDomainDNSRequest) (response *ModifyHichinaDomainDNSResponse, err error) {
+	response = CreateModifyHichinaDomainDNSResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ModifyHichinaDomainDNSWithChan(request *ModifyHichinaDomainDNSRequest) (<-chan *ModifyHichinaDomainDNSResponse, <-chan error) {
+	responseChan := make(chan *ModifyHichinaDomainDNSResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyHichinaDomainDNS(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ModifyHichinaDomainDNSWithCallback(request *ModifyHichinaDomainDNSRequest, callback func(response *ModifyHichinaDomainDNSResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyHichinaDomainDNSResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyHichinaDomainDNS(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ModifyHichinaDomainDNSRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type ModifyHichinaDomainDNSResponse struct {
+	*responses.BaseResponse
+	RequestId          string   `json:"RequestId" xml:"RequestId"`
+	OriginalDnsServers []string `json:"OriginalDnsServers" xml:"OriginalDnsServers"`
+	NewDnsServers      []string `json:"NewDnsServers" xml:"NewDnsServers"`
+}
+
+func CreateModifyHichinaDomainDNSRequest() (request *ModifyHichinaDomainDNSRequest) {
+	request = &ModifyHichinaDomainDNSRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ModifyHichinaDomainDNS", "", "")
+	return
+}
+
+func CreateModifyHichinaDomainDNSResponse() (response *ModifyHichinaDomainDNSResponse) {
+	response = &ModifyHichinaDomainDNSResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/alidns/retrieval_domain_name.go

@@ -0,0 +1,92 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) RetrievalDomainName(request *RetrievalDomainNameRequest) (response *RetrievalDomainNameResponse, err error) {
+	response = CreateRetrievalDomainNameResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) RetrievalDomainNameWithChan(request *RetrievalDomainNameRequest) (<-chan *RetrievalDomainNameResponse, <-chan error) {
+	responseChan := make(chan *RetrievalDomainNameResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RetrievalDomainName(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) RetrievalDomainNameWithCallback(request *RetrievalDomainNameRequest, callback func(response *RetrievalDomainNameResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RetrievalDomainNameResponse
+		var err error
+		defer close(result)
+		response, err = client.RetrievalDomainName(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type RetrievalDomainNameRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type RetrievalDomainNameResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	DomainName string `json:"DomainName" xml:"DomainName"`
+	WhoisEmail string `json:"WhoisEmail" xml:"WhoisEmail"`
+}
+
+func CreateRetrievalDomainNameRequest() (request *RetrievalDomainNameRequest) {
+	request = &RetrievalDomainNameRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "RetrievalDomainName", "", "")
+	return
+}
+
+func CreateRetrievalDomainNameResponse() (response *RetrievalDomainNameResponse) {
+	response = &RetrievalDomainNameResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/alidns/set_d_n_s_s_l_b_status.go

@@ -0,0 +1,93 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) SetDNSSLBStatus(request *SetDNSSLBStatusRequest) (response *SetDNSSLBStatusResponse, err error) {
+	response = CreateSetDNSSLBStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) SetDNSSLBStatusWithChan(request *SetDNSSLBStatusRequest) (<-chan *SetDNSSLBStatusResponse, <-chan error) {
+	responseChan := make(chan *SetDNSSLBStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetDNSSLBStatus(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) SetDNSSLBStatusWithCallback(request *SetDNSSLBStatusRequest, callback func(response *SetDNSSLBStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetDNSSLBStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.SetDNSSLBStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type SetDNSSLBStatusRequest struct {
+	*requests.RpcRequest
+	Open         string `position:"Query" name:"Open"`
+	SubDomain    string `position:"Query" name:"SubDomain"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type SetDNSSLBStatusResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	RecordCount int64  `json:"RecordCount" xml:"RecordCount"`
+	Open        bool   `json:"Open" xml:"Open"`
+}
+
+func CreateSetDNSSLBStatusRequest() (request *SetDNSSLBStatusRequest) {
+	request = &SetDNSSLBStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDNSSLBStatus", "", "")
+	return
+}
+
+func CreateSetDNSSLBStatusResponse() (response *SetDNSSLBStatusResponse) {
+	response = &SetDNSSLBStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/alidns/set_domain_record_status.go

@@ -0,0 +1,93 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) SetDomainRecordStatus(request *SetDomainRecordStatusRequest) (response *SetDomainRecordStatusResponse, err error) {
+	response = CreateSetDomainRecordStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) SetDomainRecordStatusWithChan(request *SetDomainRecordStatusRequest) (<-chan *SetDomainRecordStatusResponse, <-chan error) {
+	responseChan := make(chan *SetDomainRecordStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetDomainRecordStatus(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) SetDomainRecordStatusWithCallback(request *SetDomainRecordStatusRequest, callback func(response *SetDomainRecordStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetDomainRecordStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.SetDomainRecordStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type SetDomainRecordStatusRequest struct {
+	*requests.RpcRequest
+	Status       string `position:"Query" name:"Status"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	RecordId     string `position:"Query" name:"RecordId"`
+}
+
+type SetDomainRecordStatusResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	RecordId  string `json:"RecordId" xml:"RecordId"`
+	Status    string `json:"Status" xml:"Status"`
+}
+
+func CreateSetDomainRecordStatusRequest() (request *SetDomainRecordStatusRequest) {
+	request = &SetDomainRecordStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDomainRecordStatus", "", "")
+	return
+}
+
+func CreateSetDomainRecordStatusResponse() (response *SetDomainRecordStatusResponse) {
+	response = &SetDomainRecordStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/alidns/update_batch_domain_records.go

@@ -0,0 +1,91 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) UpdateBatchDomainRecords(request *UpdateBatchDomainRecordsRequest) (response *UpdateBatchDomainRecordsResponse, err error) {
+	response = CreateUpdateBatchDomainRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) UpdateBatchDomainRecordsWithChan(request *UpdateBatchDomainRecordsRequest) (<-chan *UpdateBatchDomainRecordsResponse, <-chan error) {
+	responseChan := make(chan *UpdateBatchDomainRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateBatchDomainRecords(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) UpdateBatchDomainRecordsWithCallback(request *UpdateBatchDomainRecordsRequest, callback func(response *UpdateBatchDomainRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateBatchDomainRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateBatchDomainRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type UpdateBatchDomainRecordsRequest struct {
+	*requests.RpcRequest
+	Records      string `position:"Query" name:"Records"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type UpdateBatchDomainRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TraceId   string `json:"TraceId" xml:"TraceId"`
+}
+
+func CreateUpdateBatchDomainRecordsRequest() (request *UpdateBatchDomainRecordsRequest) {
+	request = &UpdateBatchDomainRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateBatchDomainRecords", "", "")
+	return
+}
+
+func CreateUpdateBatchDomainRecordsResponse() (response *UpdateBatchDomainRecordsResponse) {
+	response = &UpdateBatchDomainRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/alidns/update_d_n_s_s_l_b_weight.go

@@ -0,0 +1,93 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) UpdateDNSSLBWeight(request *UpdateDNSSLBWeightRequest) (response *UpdateDNSSLBWeightResponse, err error) {
+	response = CreateUpdateDNSSLBWeightResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) UpdateDNSSLBWeightWithChan(request *UpdateDNSSLBWeightRequest) (<-chan *UpdateDNSSLBWeightResponse, <-chan error) {
+	responseChan := make(chan *UpdateDNSSLBWeightResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateDNSSLBWeight(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) UpdateDNSSLBWeightWithCallback(request *UpdateDNSSLBWeightRequest, callback func(response *UpdateDNSSLBWeightResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateDNSSLBWeightResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateDNSSLBWeight(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type UpdateDNSSLBWeightRequest struct {
+	*requests.RpcRequest
+	Weight       string `position:"Query" name:"Weight"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	RecordId     string `position:"Query" name:"RecordId"`
+}
+
+type UpdateDNSSLBWeightResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	RecordId  string `json:"RecordId" xml:"RecordId"`
+	Weight    int    `json:"Weight" xml:"Weight"`
+}
+
+func CreateUpdateDNSSLBWeightRequest() (request *UpdateDNSSLBWeightRequest) {
+	request = &UpdateDNSSLBWeightRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDNSSLBWeight", "", "")
+	return
+}
+
+func CreateUpdateDNSSLBWeightResponse() (response *UpdateDNSSLBWeightResponse) {
+	response = &UpdateDNSSLBWeightResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/alidns/update_domain_group.go

@@ -0,0 +1,93 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) UpdateDomainGroup(request *UpdateDomainGroupRequest) (response *UpdateDomainGroupResponse, err error) {
+	response = CreateUpdateDomainGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) UpdateDomainGroupWithChan(request *UpdateDomainGroupRequest) (<-chan *UpdateDomainGroupResponse, <-chan error) {
+	responseChan := make(chan *UpdateDomainGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateDomainGroup(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) UpdateDomainGroupWithCallback(request *UpdateDomainGroupRequest, callback func(response *UpdateDomainGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateDomainGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateDomainGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type UpdateDomainGroupRequest struct {
+	*requests.RpcRequest
+	GroupName    string `position:"Query" name:"GroupName"`
+	GroupId      string `position:"Query" name:"GroupId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+type UpdateDomainGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	GroupId   string `json:"GroupId" xml:"GroupId"`
+	GroupName string `json:"GroupName" xml:"GroupName"`
+}
+
+func CreateUpdateDomainGroupRequest() (request *UpdateDomainGroupRequest) {
+	request = &UpdateDomainGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDomainGroup", "", "")
+	return
+}
+
+func CreateUpdateDomainGroupResponse() (response *UpdateDomainGroupResponse) {
+	response = &UpdateDomainGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/alidns/update_domain_record.go

@@ -0,0 +1,97 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) UpdateDomainRecord(request *UpdateDomainRecordRequest) (response *UpdateDomainRecordResponse, err error) {
+	response = CreateUpdateDomainRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) UpdateDomainRecordWithChan(request *UpdateDomainRecordRequest) (<-chan *UpdateDomainRecordResponse, <-chan error) {
+	responseChan := make(chan *UpdateDomainRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateDomainRecord(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) UpdateDomainRecordWithCallback(request *UpdateDomainRecordRequest, callback func(response *UpdateDomainRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateDomainRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateDomainRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type UpdateDomainRecordRequest struct {
+	*requests.RpcRequest
+	Priority     string `position:"Query" name:"Priority"`
+	Value        string `position:"Query" name:"Value"`
+	RR           string `position:"Query" name:"RR"`
+	Line         string `position:"Query" name:"Line"`
+	TTL          string `position:"Query" name:"TTL"`
+	Type         string `position:"Query" name:"Type"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	RecordId     string `position:"Query" name:"RecordId"`
+}
+
+type UpdateDomainRecordResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	RecordId  string `json:"RecordId" xml:"RecordId"`
+}
+
+func CreateUpdateDomainRecordRequest() (request *UpdateDomainRecordRequest) {
+	request = &UpdateDomainRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDomainRecord", "", "")
+	return
+}
+
+func CreateUpdateDomainRecordResponse() (response *UpdateDomainRecordResponse) {
+	response = &UpdateDomainRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 43 - 0
services/bss/client.go

@@ -0,0 +1,43 @@
+package bss
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+type Client struct {
+	sdk.Client
+}
+
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}

+ 92 - 0
services/bss/create_order.go

@@ -0,0 +1,92 @@
+package bss
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) CreateOrder(request *CreateOrderRequest) (response *CreateOrderResponse, err error) {
+	response = CreateCreateOrderResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateOrderWithChan(request *CreateOrderRequest) (<-chan *CreateOrderResponse, <-chan error) {
+	responseChan := make(chan *CreateOrderResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateOrder(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateOrderWithCallback(request *CreateOrderRequest, callback func(response *CreateOrderResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateOrderResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateOrder(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateOrderRequest struct {
+	*requests.RpcRequest
+	ParamStr string `position:"Query" name:"paramStr"`
+}
+
+type CreateOrderResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+func CreateCreateOrderRequest() (request *CreateOrderRequest) {
+	request = &CreateOrderRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Bss", "2014-07-14", "CreateOrder", "", "")
+	return
+}
+
+func CreateCreateOrderResponse() (response *CreateOrderResponse) {
+	response = &CreateOrderResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/bss/describe_cash_detail.go

@@ -0,0 +1,96 @@
+package bss
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeCashDetail(request *DescribeCashDetailRequest) (response *DescribeCashDetailResponse, err error) {
+	response = CreateDescribeCashDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeCashDetailWithChan(request *DescribeCashDetailRequest) (<-chan *DescribeCashDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeCashDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCashDetail(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeCashDetailWithCallback(request *DescribeCashDetailRequest, callback func(response *DescribeCashDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCashDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCashDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeCashDetailRequest struct {
+	*requests.RpcRequest
+}
+
+type DescribeCashDetailResponse struct {
+	*responses.BaseResponse
+	RequestId            string `json:"RequestId" xml:"RequestId"`
+	BalanceAmount        string `json:"BalanceAmount" xml:"BalanceAmount"`
+	AmountOwed           string `json:"AmountOwed" xml:"AmountOwed"`
+	EnableThresholdAlert string `json:"EnableThresholdAlert" xml:"EnableThresholdAlert"`
+	MiniAlertThreshold   int64  `json:"MiniAlertThreshold" xml:"MiniAlertThreshold"`
+	FrozenAmount         string `json:"FrozenAmount" xml:"FrozenAmount"`
+	CreditCardAmount     string `json:"CreditCardAmount" xml:"CreditCardAmount"`
+	RemmitanceAmount     string `json:"RemmitanceAmount" xml:"RemmitanceAmount"`
+	CreditLimit          string `json:"CreditLimit" xml:"CreditLimit"`
+	AvailableCredit      string `json:"AvailableCredit" xml:"AvailableCredit"`
+}
+
+func CreateDescribeCashDetailRequest() (request *DescribeCashDetailRequest) {
+	request = &DescribeCashDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Bss", "2014-07-14", "DescribeCashDetail", "", "")
+	return
+}
+
+func CreateDescribeCashDetailResponse() (response *DescribeCashDetailResponse) {
+	response = &DescribeCashDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/bss/describe_coupon_detail.go

@@ -0,0 +1,104 @@
+package bss
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeCouponDetail(request *DescribeCouponDetailRequest) (response *DescribeCouponDetailResponse, err error) {
+	response = CreateDescribeCouponDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeCouponDetailWithChan(request *DescribeCouponDetailRequest) (<-chan *DescribeCouponDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeCouponDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCouponDetail(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeCouponDetailWithCallback(request *DescribeCouponDetailRequest, callback func(response *DescribeCouponDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCouponDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCouponDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeCouponDetailRequest struct {
+	*requests.RpcRequest
+	CouponNumber string `position:"Query" name:"CouponNumber"`
+}
+
+type DescribeCouponDetailResponse struct {
+	*responses.BaseResponse
+	RequestId        string   `json:"RequestId" xml:"RequestId"`
+	CouponTemplateId int64    `json:"CouponTemplateId" xml:"CouponTemplateId"`
+	TotalAmount      string   `json:"TotalAmount" xml:"TotalAmount"`
+	BalanceAmount    string   `json:"BalanceAmount" xml:"BalanceAmount"`
+	FrozenAmount     string   `json:"FrozenAmount" xml:"FrozenAmount"`
+	ExpiredAmount    string   `json:"ExpiredAmount" xml:"ExpiredAmount"`
+	DeliveryTime     string   `json:"DeliveryTime" xml:"DeliveryTime"`
+	ExpiredTime      string   `json:"ExpiredTime" xml:"ExpiredTime"`
+	CouponNumber     string   `json:"CouponNumber" xml:"CouponNumber"`
+	Status           string   `json:"Status" xml:"Status"`
+	Description      string   `json:"Description" xml:"Description"`
+	CreationTime     string   `json:"CreationTime" xml:"CreationTime"`
+	ModificationTime string   `json:"ModificationTime" xml:"ModificationTime"`
+	PriceLimit       string   `json:"PriceLimit" xml:"PriceLimit"`
+	Application      string   `json:"Application" xml:"Application"`
+	ProductCodes     []string `json:"ProductCodes" xml:"ProductCodes"`
+	TradeTypes       []string `json:"TradeTypes" xml:"TradeTypes"`
+}
+
+func CreateDescribeCouponDetailRequest() (request *DescribeCouponDetailRequest) {
+	request = &DescribeCouponDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Bss", "2014-07-14", "DescribeCouponDetail", "", "")
+	return
+}
+
+func CreateDescribeCouponDetailResponse() (response *DescribeCouponDetailResponse) {
+	response = &DescribeCouponDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/bss/describe_coupon_list.go

@@ -0,0 +1,110 @@
+package bss
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeCouponList(request *DescribeCouponListRequest) (response *DescribeCouponListResponse, err error) {
+	response = CreateDescribeCouponListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeCouponListWithChan(request *DescribeCouponListRequest) (<-chan *DescribeCouponListResponse, <-chan error) {
+	responseChan := make(chan *DescribeCouponListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCouponList(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeCouponListWithCallback(request *DescribeCouponListRequest, callback func(response *DescribeCouponListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCouponListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCouponList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeCouponListRequest struct {
+	*requests.RpcRequest
+	PageSize          string `position:"Query" name:"PageSize"`
+	Status            string `position:"Query" name:"Status"`
+	PageNum           string `position:"Query" name:"PageNum"`
+	StartDeliveryTime string `position:"Query" name:"StartDeliveryTime"`
+	EndDeliveryTime   string `position:"Query" name:"EndDeliveryTime"`
+}
+
+type DescribeCouponListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Coupons   []struct {
+		CouponTemplateId int64    `json:"CouponTemplateId" xml:"CouponTemplateId"`
+		TotalAmount      string   `json:"TotalAmount" xml:"TotalAmount"`
+		BalanceAmount    string   `json:"BalanceAmount" xml:"BalanceAmount"`
+		FrozenAmount     string   `json:"FrozenAmount" xml:"FrozenAmount"`
+		ExpiredAmount    string   `json:"ExpiredAmount" xml:"ExpiredAmount"`
+		DeliveryTime     string   `json:"DeliveryTime" xml:"DeliveryTime"`
+		ExpiredTime      string   `json:"ExpiredTime" xml:"ExpiredTime"`
+		CouponNumber     string   `json:"CouponNumber" xml:"CouponNumber"`
+		Status           string   `json:"Status" xml:"Status"`
+		Description      string   `json:"Description" xml:"Description"`
+		CreationTime     string   `json:"CreationTime" xml:"CreationTime"`
+		ModificationTime string   `json:"ModificationTime" xml:"ModificationTime"`
+		PriceLimit       string   `json:"PriceLimit" xml:"PriceLimit"`
+		Application      string   `json:"Application" xml:"Application"`
+		ProductCodes     []string `json:"ProductCodes" xml:"ProductCodes"`
+		TradeTypes       []string `json:"TradeTypes" xml:"TradeTypes"`
+	} `json:"Coupons" xml:"Coupons"`
+}
+
+func CreateDescribeCouponListRequest() (request *DescribeCouponListRequest) {
+	request = &DescribeCouponListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Bss", "2014-07-14", "DescribeCouponList", "", "")
+	return
+}
+
+func CreateDescribeCouponListResponse() (response *DescribeCouponListResponse) {
+	response = &DescribeCouponListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/bss/open_callback.go

@@ -0,0 +1,92 @@
+package bss
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) OpenCallback(request *OpenCallbackRequest) (response *OpenCallbackResponse, err error) {
+	response = CreateOpenCallbackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) OpenCallbackWithChan(request *OpenCallbackRequest) (<-chan *OpenCallbackResponse, <-chan error) {
+	responseChan := make(chan *OpenCallbackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.OpenCallback(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) OpenCallbackWithCallback(request *OpenCallbackRequest, callback func(response *OpenCallbackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *OpenCallbackResponse
+		var err error
+		defer close(result)
+		response, err = client.OpenCallback(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type OpenCallbackRequest struct {
+	*requests.RpcRequest
+	ParamStr string `position:"Query" name:"paramStr"`
+}
+
+type OpenCallbackResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+func CreateOpenCallbackRequest() (request *OpenCallbackRequest) {
+	request = &OpenCallbackRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Bss", "2014-07-14", "OpenCallback", "", "")
+	return
+}
+
+func CreateOpenCallbackResponse() (response *OpenCallbackResponse) {
+	response = &OpenCallbackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/bss/query_for_css_order.go

@@ -0,0 +1,92 @@
+package bss
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) QueryForCssOrder(request *QueryForCssOrderRequest) (response *QueryForCssOrderResponse, err error) {
+	response = CreateQueryForCssOrderResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) QueryForCssOrderWithChan(request *QueryForCssOrderRequest) (<-chan *QueryForCssOrderResponse, <-chan error) {
+	responseChan := make(chan *QueryForCssOrderResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryForCssOrder(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) QueryForCssOrderWithCallback(request *QueryForCssOrderRequest, callback func(response *QueryForCssOrderResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryForCssOrderResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryForCssOrder(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type QueryForCssOrderRequest struct {
+	*requests.RpcRequest
+	ParamStr string `position:"Query" name:"paramStr"`
+}
+
+type QueryForCssOrderResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+func CreateQueryForCssOrderRequest() (request *QueryForCssOrderRequest) {
+	request = &QueryForCssOrderRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Bss", "2014-07-14", "QueryForCssOrder", "", "")
+	return
+}
+
+func CreateQueryForCssOrderResponse() (response *QueryForCssOrderResponse) {
+	response = &QueryForCssOrderResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/bss/set_resource_business_status.go

@@ -0,0 +1,94 @@
+package bss
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) SetResourceBusinessStatus(request *SetResourceBusinessStatusRequest) (response *SetResourceBusinessStatusResponse, err error) {
+	response = CreateSetResourceBusinessStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) SetResourceBusinessStatusWithChan(request *SetResourceBusinessStatusRequest) (<-chan *SetResourceBusinessStatusResponse, <-chan error) {
+	responseChan := make(chan *SetResourceBusinessStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetResourceBusinessStatus(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) SetResourceBusinessStatusWithCallback(request *SetResourceBusinessStatusRequest, callback func(response *SetResourceBusinessStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetResourceBusinessStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.SetResourceBusinessStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type SetResourceBusinessStatusRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"`
+	BusinessStatus       string `position:"Query" name:"BusinessStatus"`
+	ResourceType         string `position:"Query" name:"ResourceType"`
+	ResourceOwnerId      string `position:"Query" name:"ResourceOwnerId"`
+	OwnerAccount         string `position:"Query" name:"OwnerAccount"`
+	ResourceId           string `position:"Query" name:"ResourceId"`
+	OwnerId              string `position:"Query" name:"OwnerId"`
+}
+
+type SetResourceBusinessStatusResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateSetResourceBusinessStatusRequest() (request *SetResourceBusinessStatusRequest) {
+	request = &SetResourceBusinessStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Bss", "2014-07-14", "SetResourceBusinessStatus", "", "")
+	return
+}
+
+func CreateSetResourceBusinessStatusResponse() (response *SetResourceBusinessStatusResponse) {
+	response = &SetResourceBusinessStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/bss/subscription_create_order_api.go

@@ -0,0 +1,93 @@
+package bss
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) SubscriptionCreateOrderApi(request *SubscriptionCreateOrderApiRequest) (response *SubscriptionCreateOrderApiResponse, err error) {
+	response = CreateSubscriptionCreateOrderApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) SubscriptionCreateOrderApiWithChan(request *SubscriptionCreateOrderApiRequest) (<-chan *SubscriptionCreateOrderApiResponse, <-chan error) {
+	responseChan := make(chan *SubscriptionCreateOrderApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SubscriptionCreateOrderApi(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) SubscriptionCreateOrderApiWithCallback(request *SubscriptionCreateOrderApiRequest, callback func(response *SubscriptionCreateOrderApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SubscriptionCreateOrderApiResponse
+		var err error
+		defer close(result)
+		response, err = client.SubscriptionCreateOrderApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type SubscriptionCreateOrderApiRequest struct {
+	*requests.RpcRequest
+	ProductCode string `position:"Query" name:"productCode"`
+	OwnerId     string `position:"Query" name:"ownerId"`
+}
+
+type SubscriptionCreateOrderApiResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+func CreateSubscriptionCreateOrderApiRequest() (request *SubscriptionCreateOrderApiRequest) {
+	request = &SubscriptionCreateOrderApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Bss", "2014-07-14", "SubscriptionCreateOrderApi", "", "")
+	return
+}
+
+func CreateSubscriptionCreateOrderApiResponse() (response *SubscriptionCreateOrderApiResponse) {
+	response = &SubscriptionCreateOrderApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/bss/vno_batch_refund_order.go

@@ -0,0 +1,92 @@
+package bss
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) VnoBatchRefundOrder(request *VnoBatchRefundOrderRequest) (response *VnoBatchRefundOrderResponse, err error) {
+	response = CreateVnoBatchRefundOrderResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) VnoBatchRefundOrderWithChan(request *VnoBatchRefundOrderRequest) (<-chan *VnoBatchRefundOrderResponse, <-chan error) {
+	responseChan := make(chan *VnoBatchRefundOrderResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.VnoBatchRefundOrder(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) VnoBatchRefundOrderWithCallback(request *VnoBatchRefundOrderRequest, callback func(response *VnoBatchRefundOrderResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *VnoBatchRefundOrderResponse
+		var err error
+		defer close(result)
+		response, err = client.VnoBatchRefundOrder(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type VnoBatchRefundOrderRequest struct {
+	*requests.RpcRequest
+	ParamStr string `position:"Query" name:"paramStr"`
+}
+
+type VnoBatchRefundOrderResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+func CreateVnoBatchRefundOrderRequest() (request *VnoBatchRefundOrderRequest) {
+	request = &VnoBatchRefundOrderRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Bss", "2014-07-14", "VnoBatchRefundOrder", "", "")
+	return
+}
+
+func CreateVnoBatchRefundOrderResponse() (response *VnoBatchRefundOrderResponse) {
+	response = &VnoBatchRefundOrderResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/bss/vno_pay_call_back_notify.go

@@ -0,0 +1,92 @@
+package bss
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) VnoPayCallBackNotify(request *VnoPayCallBackNotifyRequest) (response *VnoPayCallBackNotifyResponse, err error) {
+	response = CreateVnoPayCallBackNotifyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) VnoPayCallBackNotifyWithChan(request *VnoPayCallBackNotifyRequest) (<-chan *VnoPayCallBackNotifyResponse, <-chan error) {
+	responseChan := make(chan *VnoPayCallBackNotifyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.VnoPayCallBackNotify(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) VnoPayCallBackNotifyWithCallback(request *VnoPayCallBackNotifyRequest, callback func(response *VnoPayCallBackNotifyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *VnoPayCallBackNotifyResponse
+		var err error
+		defer close(result)
+		response, err = client.VnoPayCallBackNotify(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type VnoPayCallBackNotifyRequest struct {
+	*requests.RpcRequest
+	ParamStr string `position:"Query" name:"paramStr"`
+}
+
+type VnoPayCallBackNotifyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+func CreateVnoPayCallBackNotifyRequest() (request *VnoPayCallBackNotifyRequest) {
+	request = &VnoPayCallBackNotifyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Bss", "2014-07-14", "VnoPayCallBackNotify", "", "")
+	return
+}
+
+func CreateVnoPayCallBackNotifyResponse() (response *VnoPayCallBackNotifyResponse) {
+	response = &VnoPayCallBackNotifyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 102 - 0
services/cdn/add_cdn_domain.go

@@ -0,0 +1,102 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) AddCdnDomain(request *AddCdnDomainRequest) (response *AddCdnDomainResponse, err error) {
+	response = CreateAddCdnDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddCdnDomainWithChan(request *AddCdnDomainRequest) (<-chan *AddCdnDomainResponse, <-chan error) {
+	responseChan := make(chan *AddCdnDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddCdnDomain(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddCdnDomainWithCallback(request *AddCdnDomainRequest, callback func(response *AddCdnDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddCdnDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.AddCdnDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddCdnDomainRequest struct {
+	*requests.RpcRequest
+	Region          string `position:"Query" name:"Region"`
+	CheckUrl        string `position:"Query" name:"CheckUrl"`
+	TopLevelDomain  string `position:"Query" name:"TopLevelDomain"`
+	Scope           string `position:"Query" name:"Scope"`
+	ResourceGroupId string `position:"Query" name:"ResourceGroupId"`
+	OwnerId         string `position:"Query" name:"OwnerId"`
+	Sources         string `position:"Query" name:"Sources"`
+	SourcePort      string `position:"Query" name:"SourcePort"`
+	Priorities      string `position:"Query" name:"Priorities"`
+	DomainName      string `position:"Query" name:"DomainName"`
+	LiveType        string `position:"Query" name:"LiveType"`
+	CdnType         string `position:"Query" name:"CdnType"`
+	OwnerAccount    string `position:"Query" name:"OwnerAccount"`
+	SourceType      string `position:"Query" name:"SourceType"`
+	SecurityToken   string `position:"Query" name:"SecurityToken"`
+}
+
+type AddCdnDomainResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateAddCdnDomainRequest() (request *AddCdnDomainRequest) {
+	request = &AddCdnDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "AddCdnDomain", "", "")
+	return
+}
+
+func CreateAddCdnDomainResponse() (response *AddCdnDomainResponse) {
+	response = &AddCdnDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/cdn/add_live_app_record_config.go

@@ -0,0 +1,94 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) AddLiveAppRecordConfig(request *AddLiveAppRecordConfigRequest) (response *AddLiveAppRecordConfigResponse, err error) {
+	response = CreateAddLiveAppRecordConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddLiveAppRecordConfigWithChan(request *AddLiveAppRecordConfigRequest) (<-chan *AddLiveAppRecordConfigResponse, <-chan error) {
+	responseChan := make(chan *AddLiveAppRecordConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddLiveAppRecordConfig(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddLiveAppRecordConfigWithCallback(request *AddLiveAppRecordConfigRequest, callback func(response *AddLiveAppRecordConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddLiveAppRecordConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.AddLiveAppRecordConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddLiveAppRecordConfigRequest struct {
+	*requests.RpcRequest
+	OssBucket       string `position:"Query" name:"OssBucket"`
+	DomainName      string `position:"Query" name:"DomainName"`
+	OssEndpoint     string `position:"Query" name:"OssEndpoint"`
+	AppName         string `position:"Query" name:"AppName"`
+	OwnerId         string `position:"Query" name:"OwnerId"`
+	OssObjectPrefix string `position:"Query" name:"OssObjectPrefix"`
+	SecurityToken   string `position:"Query" name:"SecurityToken"`
+}
+
+type AddLiveAppRecordConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateAddLiveAppRecordConfigRequest() (request *AddLiveAppRecordConfigRequest) {
+	request = &AddLiveAppRecordConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "AddLiveAppRecordConfig", "", "")
+	return
+}
+
+func CreateAddLiveAppRecordConfigResponse() (response *AddLiveAppRecordConfigResponse) {
+	response = &AddLiveAppRecordConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/cdn/add_live_app_snapshot_config.go

@@ -0,0 +1,96 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) AddLiveAppSnapshotConfig(request *AddLiveAppSnapshotConfigRequest) (response *AddLiveAppSnapshotConfigResponse, err error) {
+	response = CreateAddLiveAppSnapshotConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddLiveAppSnapshotConfigWithChan(request *AddLiveAppSnapshotConfigRequest) (<-chan *AddLiveAppSnapshotConfigResponse, <-chan error) {
+	responseChan := make(chan *AddLiveAppSnapshotConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddLiveAppSnapshotConfig(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddLiveAppSnapshotConfigWithCallback(request *AddLiveAppSnapshotConfigRequest, callback func(response *AddLiveAppSnapshotConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddLiveAppSnapshotConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.AddLiveAppSnapshotConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddLiveAppSnapshotConfigRequest struct {
+	*requests.RpcRequest
+	TimeInterval       string `position:"Query" name:"TimeInterval"`
+	OssBucket          string `position:"Query" name:"OssBucket"`
+	DomainName         string `position:"Query" name:"DomainName"`
+	OssEndpoint        string `position:"Query" name:"OssEndpoint"`
+	AppName            string `position:"Query" name:"AppName"`
+	SequenceOssObject  string `position:"Query" name:"SequenceOssObject"`
+	OwnerId            string `position:"Query" name:"OwnerId"`
+	SecurityToken      string `position:"Query" name:"SecurityToken"`
+	OverwriteOssObject string `position:"Query" name:"OverwriteOssObject"`
+}
+
+type AddLiveAppSnapshotConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateAddLiveAppSnapshotConfigRequest() (request *AddLiveAppSnapshotConfigRequest) {
+	request = &AddLiveAppSnapshotConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "AddLiveAppSnapshotConfig", "", "")
+	return
+}
+
+func CreateAddLiveAppSnapshotConfigResponse() (response *AddLiveAppSnapshotConfigResponse) {
+	response = &AddLiveAppSnapshotConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/cdn/add_live_domain_mapping.go

@@ -0,0 +1,91 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) AddLiveDomainMapping(request *AddLiveDomainMappingRequest) (response *AddLiveDomainMappingResponse, err error) {
+	response = CreateAddLiveDomainMappingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddLiveDomainMappingWithChan(request *AddLiveDomainMappingRequest) (<-chan *AddLiveDomainMappingResponse, <-chan error) {
+	responseChan := make(chan *AddLiveDomainMappingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddLiveDomainMapping(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddLiveDomainMappingWithCallback(request *AddLiveDomainMappingRequest, callback func(response *AddLiveDomainMappingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddLiveDomainMappingResponse
+		var err error
+		defer close(result)
+		response, err = client.AddLiveDomainMapping(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddLiveDomainMappingRequest struct {
+	*requests.RpcRequest
+	PullDomain    string `position:"Query" name:"PullDomain"`
+	PushDomain    string `position:"Query" name:"PushDomain"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type AddLiveDomainMappingResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateAddLiveDomainMappingRequest() (request *AddLiveDomainMappingRequest) {
+	request = &AddLiveDomainMappingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "AddLiveDomainMapping", "", "")
+	return
+}
+
+func CreateAddLiveDomainMappingResponse() (response *AddLiveDomainMappingResponse) {
+	response = &AddLiveDomainMappingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 95 - 0
services/cdn/add_live_pull_stream_info.go

@@ -0,0 +1,95 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) AddLivePullStreamInfo(request *AddLivePullStreamInfoRequest) (response *AddLivePullStreamInfoResponse, err error) {
+	response = CreateAddLivePullStreamInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddLivePullStreamInfoWithChan(request *AddLivePullStreamInfoRequest) (<-chan *AddLivePullStreamInfoResponse, <-chan error) {
+	responseChan := make(chan *AddLivePullStreamInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddLivePullStreamInfo(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddLivePullStreamInfoWithCallback(request *AddLivePullStreamInfoRequest, callback func(response *AddLivePullStreamInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddLivePullStreamInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.AddLivePullStreamInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddLivePullStreamInfoRequest struct {
+	*requests.RpcRequest
+	EndTime       string `position:"Query" name:"EndTime"`
+	StreamName    string `position:"Query" name:"StreamName"`
+	StartTime     string `position:"Query" name:"StartTime"`
+	DomainName    string `position:"Query" name:"DomainName"`
+	SourceUrl     string `position:"Query" name:"SourceUrl"`
+	AppName       string `position:"Query" name:"AppName"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type AddLivePullStreamInfoResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateAddLivePullStreamInfoRequest() (request *AddLivePullStreamInfoRequest) {
+	request = &AddLivePullStreamInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "AddLivePullStreamInfo", "", "")
+	return
+}
+
+func CreateAddLivePullStreamInfoResponse() (response *AddLivePullStreamInfoResponse) {
+	response = &AddLivePullStreamInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 95 - 0
services/cdn/add_live_stream_transcode.go

@@ -0,0 +1,95 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) AddLiveStreamTranscode(request *AddLiveStreamTranscodeRequest) (response *AddLiveStreamTranscodeResponse, err error) {
+	response = CreateAddLiveStreamTranscodeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) AddLiveStreamTranscodeWithChan(request *AddLiveStreamTranscodeRequest) (<-chan *AddLiveStreamTranscodeResponse, <-chan error) {
+	responseChan := make(chan *AddLiveStreamTranscodeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddLiveStreamTranscode(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) AddLiveStreamTranscodeWithCallback(request *AddLiveStreamTranscodeRequest, callback func(response *AddLiveStreamTranscodeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddLiveStreamTranscodeResponse
+		var err error
+		defer close(result)
+		response, err = client.AddLiveStreamTranscode(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type AddLiveStreamTranscodeRequest struct {
+	*requests.RpcRequest
+	Template      string `position:"Query" name:"Template"`
+	App           string `position:"Query" name:"App"`
+	Record        string `position:"Query" name:"Record"`
+	Snapshot      string `position:"Query" name:"Snapshot"`
+	Domain        string `position:"Query" name:"Domain"`
+	OwnerAccount  string `position:"Query" name:"OwnerAccount"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type AddLiveStreamTranscodeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateAddLiveStreamTranscodeRequest() (request *AddLiveStreamTranscodeRequest) {
+	request = &AddLiveStreamTranscodeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "AddLiveStreamTranscode", "", "")
+	return
+}
+
+func CreateAddLiveStreamTranscodeResponse() (response *AddLiveStreamTranscodeResponse) {
+	response = &AddLiveStreamTranscodeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/cdn/batch_describe_domain_bps_data.go

@@ -0,0 +1,103 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) BatchDescribeDomainBpsData(request *BatchDescribeDomainBpsDataRequest) (response *BatchDescribeDomainBpsDataResponse, err error) {
+	response = CreateBatchDescribeDomainBpsDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) BatchDescribeDomainBpsDataWithChan(request *BatchDescribeDomainBpsDataRequest) (<-chan *BatchDescribeDomainBpsDataResponse, <-chan error) {
+	responseChan := make(chan *BatchDescribeDomainBpsDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BatchDescribeDomainBpsData(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) BatchDescribeDomainBpsDataWithCallback(request *BatchDescribeDomainBpsDataRequest, callback func(response *BatchDescribeDomainBpsDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BatchDescribeDomainBpsDataResponse
+		var err error
+		defer close(result)
+		response, err = client.BatchDescribeDomainBpsData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type BatchDescribeDomainBpsDataRequest struct {
+	*requests.RpcRequest
+	EndTime       string `position:"Query" name:"EndTime"`
+	PageSize      string `position:"Query" name:"PageSize"`
+	Version       string `position:"Query" name:"Version"`
+	DomainName    string `position:"Query" name:"DomainName"`
+	StartTime     string `position:"Query" name:"StartTime"`
+	PageNumber    string `position:"Query" name:"PageNumber"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type BatchDescribeDomainBpsDataResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	PageNumber int    `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int    `json:"PageSize" xml:"PageSize"`
+	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
+	BpsDatas   []struct {
+		Timestamp  string  `json:"Timestamp" xml:"Timestamp"`
+		L1Bps      float64 `json:"L1Bps" xml:"L1Bps"`
+		DomainName string  `json:"DomainName" xml:"DomainName"`
+	} `json:"BpsDatas" xml:"BpsDatas"`
+}
+
+func CreateBatchDescribeDomainBpsDataRequest() (request *BatchDescribeDomainBpsDataRequest) {
+	request = &BatchDescribeDomainBpsDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "BatchDescribeDomainBpsData", "", "")
+	return
+}
+
+func CreateBatchDescribeDomainBpsDataResponse() (response *BatchDescribeDomainBpsDataResponse) {
+	response = &BatchDescribeDomainBpsDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 90 - 0
services/cdn/clear_user_black_list.go

@@ -0,0 +1,90 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) ClearUserBlackList(request *ClearUserBlackListRequest) (response *ClearUserBlackListResponse, err error) {
+	response = CreateClearUserBlackListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ClearUserBlackListWithChan(request *ClearUserBlackListRequest) (<-chan *ClearUserBlackListResponse, <-chan error) {
+	responseChan := make(chan *ClearUserBlackListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ClearUserBlackList(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ClearUserBlackListWithCallback(request *ClearUserBlackListRequest, callback func(response *ClearUserBlackListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ClearUserBlackListResponse
+		var err error
+		defer close(result)
+		response, err = client.ClearUserBlackList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ClearUserBlackListRequest struct {
+	*requests.RpcRequest
+	OwnerAccount  string `position:"Query" name:"OwnerAccount"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type ClearUserBlackListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateClearUserBlackListRequest() (request *ClearUserBlackListRequest) {
+	request = &ClearUserBlackListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "ClearUserBlackList", "", "")
+	return
+}
+
+func CreateClearUserBlackListResponse() (response *ClearUserBlackListResponse) {
+	response = &ClearUserBlackListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/cdn/clear_user_domain_black_list.go

@@ -0,0 +1,91 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) ClearUserDomainBlackList(request *ClearUserDomainBlackListRequest) (response *ClearUserDomainBlackListResponse, err error) {
+	response = CreateClearUserDomainBlackListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ClearUserDomainBlackListWithChan(request *ClearUserDomainBlackListRequest) (<-chan *ClearUserDomainBlackListResponse, <-chan error) {
+	responseChan := make(chan *ClearUserDomainBlackListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ClearUserDomainBlackList(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ClearUserDomainBlackListWithCallback(request *ClearUserDomainBlackListRequest, callback func(response *ClearUserDomainBlackListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ClearUserDomainBlackListResponse
+		var err error
+		defer close(result)
+		response, err = client.ClearUserDomainBlackList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ClearUserDomainBlackListRequest struct {
+	*requests.RpcRequest
+	DomainName    string `position:"Query" name:"DomainName"`
+	OwnerAccount  string `position:"Query" name:"OwnerAccount"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type ClearUserDomainBlackListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateClearUserDomainBlackListRequest() (request *ClearUserDomainBlackListRequest) {
+	request = &ClearUserDomainBlackListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "ClearUserDomainBlackList", "", "")
+	return
+}
+
+func CreateClearUserDomainBlackListResponse() (response *ClearUserDomainBlackListResponse) {
+	response = &ClearUserDomainBlackListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 43 - 0
services/cdn/client.go

@@ -0,0 +1,43 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+type Client struct {
+	sdk.Client
+}
+
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}

+ 105 - 0
services/cdn/create_live_stream_record_index_files.go

@@ -0,0 +1,105 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) CreateLiveStreamRecordIndexFiles(request *CreateLiveStreamRecordIndexFilesRequest) (response *CreateLiveStreamRecordIndexFilesResponse, err error) {
+	response = CreateCreateLiveStreamRecordIndexFilesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateLiveStreamRecordIndexFilesWithChan(request *CreateLiveStreamRecordIndexFilesRequest) (<-chan *CreateLiveStreamRecordIndexFilesResponse, <-chan error) {
+	responseChan := make(chan *CreateLiveStreamRecordIndexFilesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateLiveStreamRecordIndexFiles(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateLiveStreamRecordIndexFilesWithCallback(request *CreateLiveStreamRecordIndexFilesRequest, callback func(response *CreateLiveStreamRecordIndexFilesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateLiveStreamRecordIndexFilesResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateLiveStreamRecordIndexFiles(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateLiveStreamRecordIndexFilesRequest struct {
+	*requests.RpcRequest
+	EndTime       string `position:"Query" name:"EndTime"`
+	StreamName    string `position:"Query" name:"StreamName"`
+	StartTime     string `position:"Query" name:"StartTime"`
+	OssBucket     string `position:"Query" name:"OssBucket"`
+	DomainName    string `position:"Query" name:"DomainName"`
+	OssEndpoint   string `position:"Query" name:"OssEndpoint"`
+	AppName       string `position:"Query" name:"AppName"`
+	OssObject     string `position:"Query" name:"OssObject"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type CreateLiveStreamRecordIndexFilesResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	RecordInfo struct {
+		RecordId   string  `json:"RecordId" xml:"RecordId"`
+		RecordUrl  string  `json:"RecordUrl" xml:"RecordUrl"`
+		Duration   float64 `json:"Duration" xml:"Duration"`
+		Height     int     `json:"Height" xml:"Height"`
+		Width      int     `json:"Width" xml:"Width"`
+		CreateTime string  `json:"CreateTime" xml:"CreateTime"`
+	} `json:"RecordInfo" xml:"RecordInfo"`
+}
+
+func CreateCreateLiveStreamRecordIndexFilesRequest() (request *CreateLiveStreamRecordIndexFilesRequest) {
+	request = &CreateLiveStreamRecordIndexFilesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "CreateLiveStreamRecordIndexFiles", "", "")
+	return
+}
+
+func CreateCreateLiveStreamRecordIndexFilesResponse() (response *CreateLiveStreamRecordIndexFilesResponse) {
+	response = &CreateLiveStreamRecordIndexFilesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/cdn/delete_cdn_domain.go

@@ -0,0 +1,91 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteCdnDomain(request *DeleteCdnDomainRequest) (response *DeleteCdnDomainResponse, err error) {
+	response = CreateDeleteCdnDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteCdnDomainWithChan(request *DeleteCdnDomainRequest) (<-chan *DeleteCdnDomainResponse, <-chan error) {
+	responseChan := make(chan *DeleteCdnDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteCdnDomain(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteCdnDomainWithCallback(request *DeleteCdnDomainRequest, callback func(response *DeleteCdnDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteCdnDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteCdnDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteCdnDomainRequest struct {
+	*requests.RpcRequest
+	DomainName      string `position:"Query" name:"DomainName"`
+	ResourceGroupId string `position:"Query" name:"ResourceGroupId"`
+	OwnerId         string `position:"Query" name:"OwnerId"`
+	SecurityToken   string `position:"Query" name:"SecurityToken"`
+}
+
+type DeleteCdnDomainResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteCdnDomainRequest() (request *DeleteCdnDomainRequest) {
+	request = &DeleteCdnDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteCdnDomain", "", "")
+	return
+}
+
+func CreateDeleteCdnDomainResponse() (response *DeleteCdnDomainResponse) {
+	response = &DeleteCdnDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/cdn/delete_http_header_config.go

@@ -0,0 +1,91 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteHttpHeaderConfig(request *DeleteHttpHeaderConfigRequest) (response *DeleteHttpHeaderConfigResponse, err error) {
+	response = CreateDeleteHttpHeaderConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteHttpHeaderConfigWithChan(request *DeleteHttpHeaderConfigRequest) (<-chan *DeleteHttpHeaderConfigResponse, <-chan error) {
+	responseChan := make(chan *DeleteHttpHeaderConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteHttpHeaderConfig(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteHttpHeaderConfigWithCallback(request *DeleteHttpHeaderConfigRequest, callback func(response *DeleteHttpHeaderConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteHttpHeaderConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteHttpHeaderConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteHttpHeaderConfigRequest struct {
+	*requests.RpcRequest
+	DomainName    string `position:"Query" name:"DomainName"`
+	ConfigID      string `position:"Query" name:"ConfigID"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type DeleteHttpHeaderConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteHttpHeaderConfigRequest() (request *DeleteHttpHeaderConfigRequest) {
+	request = &DeleteHttpHeaderConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteHttpHeaderConfig", "", "")
+	return
+}
+
+func CreateDeleteHttpHeaderConfigResponse() (response *DeleteHttpHeaderConfigResponse) {
+	response = &DeleteHttpHeaderConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/cdn/delete_live_app_record_config.go

@@ -0,0 +1,91 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteLiveAppRecordConfig(request *DeleteLiveAppRecordConfigRequest) (response *DeleteLiveAppRecordConfigResponse, err error) {
+	response = CreateDeleteLiveAppRecordConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteLiveAppRecordConfigWithChan(request *DeleteLiveAppRecordConfigRequest) (<-chan *DeleteLiveAppRecordConfigResponse, <-chan error) {
+	responseChan := make(chan *DeleteLiveAppRecordConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteLiveAppRecordConfig(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteLiveAppRecordConfigWithCallback(request *DeleteLiveAppRecordConfigRequest, callback func(response *DeleteLiveAppRecordConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteLiveAppRecordConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteLiveAppRecordConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteLiveAppRecordConfigRequest struct {
+	*requests.RpcRequest
+	DomainName    string `position:"Query" name:"DomainName"`
+	AppName       string `position:"Query" name:"AppName"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type DeleteLiveAppRecordConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteLiveAppRecordConfigRequest() (request *DeleteLiveAppRecordConfigRequest) {
+	request = &DeleteLiveAppRecordConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteLiveAppRecordConfig", "", "")
+	return
+}
+
+func CreateDeleteLiveAppRecordConfigResponse() (response *DeleteLiveAppRecordConfigResponse) {
+	response = &DeleteLiveAppRecordConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/cdn/delete_live_app_snapshot_config.go

@@ -0,0 +1,91 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteLiveAppSnapshotConfig(request *DeleteLiveAppSnapshotConfigRequest) (response *DeleteLiveAppSnapshotConfigResponse, err error) {
+	response = CreateDeleteLiveAppSnapshotConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteLiveAppSnapshotConfigWithChan(request *DeleteLiveAppSnapshotConfigRequest) (<-chan *DeleteLiveAppSnapshotConfigResponse, <-chan error) {
+	responseChan := make(chan *DeleteLiveAppSnapshotConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteLiveAppSnapshotConfig(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteLiveAppSnapshotConfigWithCallback(request *DeleteLiveAppSnapshotConfigRequest, callback func(response *DeleteLiveAppSnapshotConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteLiveAppSnapshotConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteLiveAppSnapshotConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteLiveAppSnapshotConfigRequest struct {
+	*requests.RpcRequest
+	DomainName    string `position:"Query" name:"DomainName"`
+	AppName       string `position:"Query" name:"AppName"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type DeleteLiveAppSnapshotConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteLiveAppSnapshotConfigRequest() (request *DeleteLiveAppSnapshotConfigRequest) {
+	request = &DeleteLiveAppSnapshotConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteLiveAppSnapshotConfig", "", "")
+	return
+}
+
+func CreateDeleteLiveAppSnapshotConfigResponse() (response *DeleteLiveAppSnapshotConfigResponse) {
+	response = &DeleteLiveAppSnapshotConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 91 - 0
services/cdn/delete_live_domain_mapping.go

@@ -0,0 +1,91 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteLiveDomainMapping(request *DeleteLiveDomainMappingRequest) (response *DeleteLiveDomainMappingResponse, err error) {
+	response = CreateDeleteLiveDomainMappingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteLiveDomainMappingWithChan(request *DeleteLiveDomainMappingRequest) (<-chan *DeleteLiveDomainMappingResponse, <-chan error) {
+	responseChan := make(chan *DeleteLiveDomainMappingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteLiveDomainMapping(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteLiveDomainMappingWithCallback(request *DeleteLiveDomainMappingRequest, callback func(response *DeleteLiveDomainMappingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteLiveDomainMappingResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteLiveDomainMapping(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteLiveDomainMappingRequest struct {
+	*requests.RpcRequest
+	PullDomain    string `position:"Query" name:"PullDomain"`
+	PushDomain    string `position:"Query" name:"PushDomain"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type DeleteLiveDomainMappingResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteLiveDomainMappingRequest() (request *DeleteLiveDomainMappingRequest) {
+	request = &DeleteLiveDomainMappingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteLiveDomainMapping", "", "")
+	return
+}
+
+func CreateDeleteLiveDomainMappingResponse() (response *DeleteLiveDomainMappingResponse) {
+	response = &DeleteLiveDomainMappingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/cdn/delete_live_pull_stream_info.go

@@ -0,0 +1,92 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteLivePullStreamInfo(request *DeleteLivePullStreamInfoRequest) (response *DeleteLivePullStreamInfoResponse, err error) {
+	response = CreateDeleteLivePullStreamInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteLivePullStreamInfoWithChan(request *DeleteLivePullStreamInfoRequest) (<-chan *DeleteLivePullStreamInfoResponse, <-chan error) {
+	responseChan := make(chan *DeleteLivePullStreamInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteLivePullStreamInfo(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteLivePullStreamInfoWithCallback(request *DeleteLivePullStreamInfoRequest, callback func(response *DeleteLivePullStreamInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteLivePullStreamInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteLivePullStreamInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteLivePullStreamInfoRequest struct {
+	*requests.RpcRequest
+	StreamName    string `position:"Query" name:"StreamName"`
+	DomainName    string `position:"Query" name:"DomainName"`
+	AppName       string `position:"Query" name:"AppName"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type DeleteLivePullStreamInfoResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteLivePullStreamInfoRequest() (request *DeleteLivePullStreamInfoRequest) {
+	request = &DeleteLivePullStreamInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteLivePullStreamInfo", "", "")
+	return
+}
+
+func CreateDeleteLivePullStreamInfoResponse() (response *DeleteLivePullStreamInfoResponse) {
+	response = &DeleteLivePullStreamInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/cdn/delete_live_stream_transcode.go

@@ -0,0 +1,93 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DeleteLiveStreamTranscode(request *DeleteLiveStreamTranscodeRequest) (response *DeleteLiveStreamTranscodeResponse, err error) {
+	response = CreateDeleteLiveStreamTranscodeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteLiveStreamTranscodeWithChan(request *DeleteLiveStreamTranscodeRequest) (<-chan *DeleteLiveStreamTranscodeResponse, <-chan error) {
+	responseChan := make(chan *DeleteLiveStreamTranscodeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteLiveStreamTranscode(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteLiveStreamTranscodeWithCallback(request *DeleteLiveStreamTranscodeRequest, callback func(response *DeleteLiveStreamTranscodeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteLiveStreamTranscodeResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteLiveStreamTranscode(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteLiveStreamTranscodeRequest struct {
+	*requests.RpcRequest
+	Template      string `position:"Query" name:"Template"`
+	App           string `position:"Query" name:"App"`
+	Domain        string `position:"Query" name:"Domain"`
+	OwnerAccount  string `position:"Query" name:"OwnerAccount"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type DeleteLiveStreamTranscodeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteLiveStreamTranscodeRequest() (request *DeleteLiveStreamTranscodeRequest) {
+	request = &DeleteLiveStreamTranscodeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteLiveStreamTranscode", "", "")
+	return
+}
+
+func CreateDeleteLiveStreamTranscodeResponse() (response *DeleteLiveStreamTranscodeResponse) {
+	response = &DeleteLiveStreamTranscodeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 102 - 0
services/cdn/describe_cdn_domain_base_detail.go

@@ -0,0 +1,102 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeCdnDomainBaseDetail(request *DescribeCdnDomainBaseDetailRequest) (response *DescribeCdnDomainBaseDetailResponse, err error) {
+	response = CreateDescribeCdnDomainBaseDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeCdnDomainBaseDetailWithChan(request *DescribeCdnDomainBaseDetailRequest) (<-chan *DescribeCdnDomainBaseDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeCdnDomainBaseDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCdnDomainBaseDetail(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeCdnDomainBaseDetailWithCallback(request *DescribeCdnDomainBaseDetailRequest, callback func(response *DescribeCdnDomainBaseDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCdnDomainBaseDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCdnDomainBaseDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeCdnDomainBaseDetailRequest struct {
+	*requests.RpcRequest
+	DomainName    string `position:"Query" name:"DomainName"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type DescribeCdnDomainBaseDetailResponse struct {
+	*responses.BaseResponse
+	RequestId             string `json:"RequestId" xml:"RequestId"`
+	DomainBaseDetailModel struct {
+		Cname        string   `json:"Cname" xml:"Cname"`
+		CdnType      string   `json:"CdnType" xml:"CdnType"`
+		DomainStatus string   `json:"DomainStatus" xml:"DomainStatus"`
+		SourceType   string   `json:"SourceType" xml:"SourceType"`
+		Region       string   `json:"Region" xml:"Region"`
+		DomainName   string   `json:"DomainName" xml:"DomainName"`
+		Remark       string   `json:"Remark" xml:"Remark"`
+		GmtModified  string   `json:"GmtModified" xml:"GmtModified"`
+		GmtCreated   string   `json:"GmtCreated" xml:"GmtCreated"`
+		Sources      []string `json:"Sources" xml:"Sources"`
+	} `json:"DomainBaseDetailModel" xml:"DomainBaseDetailModel"`
+}
+
+func CreateDescribeCdnDomainBaseDetailRequest() (request *DescribeCdnDomainBaseDetailRequest) {
+	request = &DescribeCdnDomainBaseDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeCdnDomainBaseDetail", "", "")
+	return
+}
+
+func CreateDescribeCdnDomainBaseDetailResponse() (response *DescribeCdnDomainBaseDetailResponse) {
+	response = &DescribeCdnDomainBaseDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/cdn/describe_cdn_domain_detail.go

@@ -0,0 +1,116 @@
+package cdn
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+func (client *Client) DescribeCdnDomainDetail(request *DescribeCdnDomainDetailRequest) (response *DescribeCdnDomainDetailResponse, err error) {
+	response = CreateDescribeCdnDomainDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeCdnDomainDetailWithChan(request *DescribeCdnDomainDetailRequest) (<-chan *DescribeCdnDomainDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeCdnDomainDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCdnDomainDetail(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeCdnDomainDetailWithCallback(request *DescribeCdnDomainDetailRequest, callback func(response *DescribeCdnDomainDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCdnDomainDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCdnDomainDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeCdnDomainDetailRequest struct {
+	*requests.RpcRequest
+	DomainName    string `position:"Query" name:"DomainName"`
+	OwnerId       string `position:"Query" name:"OwnerId"`
+	SecurityToken string `position:"Query" name:"SecurityToken"`
+}
+
+type DescribeCdnDomainDetailResponse struct {
+	*responses.BaseResponse
+	RequestId            string `json:"RequestId" xml:"RequestId"`
+	GetDomainDetailModel struct {
+		GmtCreated              string   `json:"GmtCreated" xml:"GmtCreated"`
+		GmtModified             string   `json:"GmtModified" xml:"GmtModified"`
+		SourceType              string   `json:"SourceType" xml:"SourceType"`
+		DomainStatus            string   `json:"DomainStatus" xml:"DomainStatus"`
+		SourcePort              int      `json:"SourcePort" xml:"SourcePort"`
+		CdnType                 string   `json:"CdnType" xml:"CdnType"`
+		Cname                   string   `json:"Cname" xml:"Cname"`
+		HttpsCname              string   `json:"HttpsCname" xml:"HttpsCname"`
+		DomainName              string   `json:"DomainName" xml:"DomainName"`
+		Description             string   `json:"Description" xml:"Description"`
+		ServerCertificateStatus string   `json:"ServerCertificateStatus" xml:"ServerCertificateStatus"`
+		ServerCertificate       string   `json:"ServerCertificate" xml:"ServerCertificate"`
+		Region                  string   `json:"Region" xml:"Region"`
+		Scope                   string   `json:"Scope" xml:"Scope"`
+		CertificateName         string   `json:"CertificateName" xml:"CertificateName"`
+		ResourceGroupId         string   `json:"ResourceGroupId" xml:"ResourceGroupId"`
+		Sources                 []string `json:"Sources" xml:"Sources"`
+		SourceModels            []struct {
+			Content  string `json:"Content" xml:"Content"`
+			Type     string `json:"Type" xml:"Type"`
+			Port     int    `json:"Port" xml:"Port"`
+			Enabled  string `json:"Enabled" xml:"Enabled"`
+			Priority string `json:"Priority" xml:"Priority"`
+		} `json:"SourceModels" xml:"SourceModels"`
+	} `json:"GetDomainDetailModel" xml:"GetDomainDetailModel"`
+}
+
+func CreateDescribeCdnDomainDetailRequest() (request *DescribeCdnDomainDetailRequest) {
+	request = &DescribeCdnDomainDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeCdnDomainDetail", "", "")
+	return
+}
+
+func CreateDescribeCdnDomainDetailResponse() (response *DescribeCdnDomainDetailResponse) {
+	response = &DescribeCdnDomainDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff