Bläddra i källkod

AIREC SDK Auto Released By fangxiao.cfx,Version:1.50.0

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 år sedan
förälder
incheckning
5452bdb42a
64 ändrade filer med 4187 tillägg och 0 borttagningar
  1. 3 0
      ChangeLog.txt
  2. 108 0
      services/airec/attach_dataset.go
  3. 81 0
      services/airec/client.go
  4. 107 0
      services/airec/create_diversify.go
  5. 106 0
      services/airec/create_instance.go
  6. 107 0
      services/airec/create_mix.go
  7. 108 0
      services/airec/delete_data_set.go
  8. 108 0
      services/airec/delete_diversify.go
  9. 108 0
      services/airec/delete_mix.go
  10. 109 0
      services/airec/describe_dashboard.go
  11. 108 0
      services/airec/describe_data_set_message.go
  12. 108 0
      services/airec/describe_data_set_report.go
  13. 108 0
      services/airec/describe_diversify.go
  14. 107 0
      services/airec/describe_instance.go
  15. 108 0
      services/airec/describe_mix.go
  16. 107 0
      services/airec/describe_quota.go
  17. 107 0
      services/airec/describe_schema.go
  18. 107 0
      services/airec/list_data_set.go
  19. 107 0
      services/airec/list_data_source.go
  20. 107 0
      services/airec/list_diversify.go
  21. 106 0
      services/airec/list_instance.go
  22. 107 0
      services/airec/list_mix.go
  23. 108 0
      services/airec/modify_data_source.go
  24. 108 0
      services/airec/modify_diversify.go
  25. 107 0
      services/airec/modify_instance.go
  26. 108 0
      services/airec/modify_mix.go
  27. 108 0
      services/airec/push_document.go
  28. 107 0
      services/airec/push_intervention.go
  29. 112 0
      services/airec/recommend.go
  30. 107 0
      services/airec/run_instance.go
  31. 108 0
      services/airec/stop_data_set.go
  32. 21 0
      services/airec/struct_detail.go
  33. 30 0
      services/airec/struct_detail_item.go
  34. 21 0
      services/airec/struct_fields.go
  35. 25 0
      services/airec/struct_fields_item.go
  36. 28 0
      services/airec/struct_meta.go
  37. 21 0
      services/airec/struct_meta_in_describe_schema.go
  38. 22 0
      services/airec/struct_meta_item.go
  39. 32 0
      services/airec/struct_overall.go
  40. 23 0
      services/airec/struct_parameter.go
  41. 46 0
      services/airec/struct_result.go
  42. 25 0
      services/airec/struct_result_in_attach_dataset.go
  43. 25 0
      services/airec/struct_result_in_delete_data_set.go
  44. 21 0
      services/airec/struct_result_in_describe_dashboard.go
  45. 21 0
      services/airec/struct_result_in_describe_data_set_message.go
  46. 21 0
      services/airec/struct_result_in_list_data_set.go
  47. 21 0
      services/airec/struct_result_in_list_data_source.go
  48. 21 0
      services/airec/struct_result_in_list_diversify.go
  49. 21 0
      services/airec/struct_result_in_list_instance.go
  50. 21 0
      services/airec/struct_result_in_list_mix.go
  51. 24 0
      services/airec/struct_result_in_modify_data_source.go
  52. 21 0
      services/airec/struct_result_in_recommend.go
  53. 25 0
      services/airec/struct_result_in_stop_data_set.go
  54. 58 0
      services/airec/struct_result_item.go
  55. 25 0
      services/airec/struct_result_item_in_list_data_set.go
  56. 21 0
      services/airec/struct_settings_in_create_mix.go
  57. 21 0
      services/airec/struct_settings_in_delete_mix.go
  58. 21 0
      services/airec/struct_settings_in_describe_mix.go
  59. 21 0
      services/airec/struct_settings_in_list_mix.go
  60. 21 0
      services/airec/struct_settings_in_modify_mix.go
  61. 22 0
      services/airec/struct_settings_item.go
  62. 22 0
      services/airec/struct_settings_item_in_delete_mix.go
  63. 107 0
      services/airec/upgrade_instance.go
  64. 107 0
      services/airec/validate_instance.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-01-07 Version: 1.50.0
+1, Airec SDK Release Version 1.0.0.
+
 2019-01-04 Version: 1.49.4
 2019-01-04 Version: 1.49.4
 1, modify DescribeSlowLogs, support query param SQLHASH, remove SQLID query param.
 1, modify DescribeSlowLogs, support query param SQLHASH, remove SQLID query param.
 2, modify DescribeSlowLogRecords, response values add SQLHASH, remove SQLID.
 2, modify DescribeSlowLogRecords, response values add SQLHASH, remove SQLID.

+ 108 - 0
services/airec/attach_dataset.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// AttachDataset invokes the airec.AttachDataset API synchronously
+// api document: https://help.aliyun.com/api/airec/attachdataset.html
+func (client *Client) AttachDataset(request *AttachDatasetRequest) (response *AttachDatasetResponse, err error) {
+	response = CreateAttachDatasetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AttachDatasetWithChan invokes the airec.AttachDataset API asynchronously
+// api document: https://help.aliyun.com/api/airec/attachdataset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AttachDatasetWithChan(request *AttachDatasetRequest) (<-chan *AttachDatasetResponse, <-chan error) {
+	responseChan := make(chan *AttachDatasetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AttachDataset(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AttachDatasetWithCallback invokes the airec.AttachDataset API asynchronously
+// api document: https://help.aliyun.com/api/airec/attachdataset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AttachDatasetWithCallback(request *AttachDatasetRequest, callback func(response *AttachDatasetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AttachDatasetResponse
+		var err error
+		defer close(result)
+		response, err = client.AttachDataset(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AttachDatasetRequest is the request struct for api AttachDataset
+type AttachDatasetRequest struct {
+	*requests.RoaRequest
+	VersionId  string `position:"Path" name:"VersionId"`
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// AttachDatasetResponse is the response struct for api AttachDataset
+type AttachDatasetResponse struct {
+	*responses.BaseResponse
+	RequestId string                `json:"RequestId" xml:"RequestId"`
+	Code      string                `json:"Code" xml:"Code"`
+	Message   string                `json:"Message" xml:"Message"`
+	Result    ResultInAttachDataset `json:"Result" xml:"Result"`
+}
+
+// CreateAttachDatasetRequest creates a request to invoke AttachDataset API
+func CreateAttachDatasetRequest() (request *AttachDatasetRequest) {
+	request = &AttachDatasetRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "AttachDataset", "/openapi/instances/[InstanceId]/dataSets/[VersionId]/actions/current", "airec", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateAttachDatasetResponse creates a response to parse from AttachDataset response
+func CreateAttachDatasetResponse() (response *AttachDatasetResponse) {
+	response = &AttachDatasetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 81 - 0
services/airec/client.go

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

+ 107 - 0
services/airec/create_diversify.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateDiversify invokes the airec.CreateDiversify API synchronously
+// api document: https://help.aliyun.com/api/airec/creatediversify.html
+func (client *Client) CreateDiversify(request *CreateDiversifyRequest) (response *CreateDiversifyResponse, err error) {
+	response = CreateCreateDiversifyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateDiversifyWithChan invokes the airec.CreateDiversify API asynchronously
+// api document: https://help.aliyun.com/api/airec/creatediversify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDiversifyWithChan(request *CreateDiversifyRequest) (<-chan *CreateDiversifyResponse, <-chan error) {
+	responseChan := make(chan *CreateDiversifyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateDiversify(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateDiversifyWithCallback invokes the airec.CreateDiversify API asynchronously
+// api document: https://help.aliyun.com/api/airec/creatediversify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDiversifyWithCallback(request *CreateDiversifyRequest, callback func(response *CreateDiversifyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateDiversifyResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateDiversify(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateDiversifyRequest is the request struct for api CreateDiversify
+type CreateDiversifyRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// CreateDiversifyResponse is the response struct for api CreateDiversify
+type CreateDiversifyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateCreateDiversifyRequest creates a request to invoke CreateDiversify API
+func CreateCreateDiversifyRequest() (request *CreateDiversifyRequest) {
+	request = &CreateDiversifyRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "CreateDiversify", "/openapi/instances/[InstanceId]/diversifies", "airec", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateCreateDiversifyResponse creates a response to parse from CreateDiversify response
+func CreateCreateDiversifyResponse() (response *CreateDiversifyResponse) {
+	response = &CreateDiversifyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/airec/create_instance.go

@@ -0,0 +1,106 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateInstance invokes the airec.CreateInstance API synchronously
+// api document: https://help.aliyun.com/api/airec/createinstance.html
+func (client *Client) CreateInstance(request *CreateInstanceRequest) (response *CreateInstanceResponse, err error) {
+	response = CreateCreateInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateInstanceWithChan invokes the airec.CreateInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/createinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceWithChan(request *CreateInstanceRequest) (<-chan *CreateInstanceResponse, <-chan error) {
+	responseChan := make(chan *CreateInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateInstanceWithCallback invokes the airec.CreateInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/createinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+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
+}
+
+// CreateInstanceRequest is the request struct for api CreateInstance
+type CreateInstanceRequest struct {
+	*requests.RoaRequest
+}
+
+// CreateInstanceResponse is the response struct for api CreateInstance
+type CreateInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateCreateInstanceRequest creates a request to invoke CreateInstance API
+func CreateCreateInstanceRequest() (request *CreateInstanceRequest) {
+	request = &CreateInstanceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "CreateInstance", "/openapi/instances", "airec", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateCreateInstanceResponse creates a response to parse from CreateInstance response
+func CreateCreateInstanceResponse() (response *CreateInstanceResponse) {
+	response = &CreateInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/create_mix.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateMix invokes the airec.CreateMix API synchronously
+// api document: https://help.aliyun.com/api/airec/createmix.html
+func (client *Client) CreateMix(request *CreateMixRequest) (response *CreateMixResponse, err error) {
+	response = CreateCreateMixResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateMixWithChan invokes the airec.CreateMix API asynchronously
+// api document: https://help.aliyun.com/api/airec/createmix.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateMixWithChan(request *CreateMixRequest) (<-chan *CreateMixResponse, <-chan error) {
+	responseChan := make(chan *CreateMixResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateMix(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateMixWithCallback invokes the airec.CreateMix API asynchronously
+// api document: https://help.aliyun.com/api/airec/createmix.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateMixWithCallback(request *CreateMixRequest, callback func(response *CreateMixResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateMixResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateMix(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateMixRequest is the request struct for api CreateMix
+type CreateMixRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// CreateMixResponse is the response struct for api CreateMix
+type CreateMixResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateCreateMixRequest creates a request to invoke CreateMix API
+func CreateCreateMixRequest() (request *CreateMixRequest) {
+	request = &CreateMixRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "CreateMix", "/openapi/instances/[InstanceId]/mixes", "airec", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateCreateMixResponse creates a response to parse from CreateMix response
+func CreateCreateMixResponse() (response *CreateMixResponse) {
+	response = &CreateMixResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/delete_data_set.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteDataSet invokes the airec.DeleteDataSet API synchronously
+// api document: https://help.aliyun.com/api/airec/deletedataset.html
+func (client *Client) DeleteDataSet(request *DeleteDataSetRequest) (response *DeleteDataSetResponse, err error) {
+	response = CreateDeleteDataSetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteDataSetWithChan invokes the airec.DeleteDataSet API asynchronously
+// api document: https://help.aliyun.com/api/airec/deletedataset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDataSetWithChan(request *DeleteDataSetRequest) (<-chan *DeleteDataSetResponse, <-chan error) {
+	responseChan := make(chan *DeleteDataSetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDataSet(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteDataSetWithCallback invokes the airec.DeleteDataSet API asynchronously
+// api document: https://help.aliyun.com/api/airec/deletedataset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDataSetWithCallback(request *DeleteDataSetRequest, callback func(response *DeleteDataSetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDataSetResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDataSet(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteDataSetRequest is the request struct for api DeleteDataSet
+type DeleteDataSetRequest struct {
+	*requests.RoaRequest
+	VersionId  string `position:"Path" name:"VersionId"`
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// DeleteDataSetResponse is the response struct for api DeleteDataSet
+type DeleteDataSetResponse struct {
+	*responses.BaseResponse
+	RequestId string                `json:"RequestId" xml:"RequestId"`
+	Code      string                `json:"Code" xml:"Code"`
+	Message   string                `json:"Message" xml:"Message"`
+	Result    ResultInDeleteDataSet `json:"Result" xml:"Result"`
+}
+
+// CreateDeleteDataSetRequest creates a request to invoke DeleteDataSet API
+func CreateDeleteDataSetRequest() (request *DeleteDataSetRequest) {
+	request = &DeleteDataSetRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DeleteDataSet", "/openapi/instances/[InstanceId]/dataSets/[VersionId]", "airec", "openAPI")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteDataSetResponse creates a response to parse from DeleteDataSet response
+func CreateDeleteDataSetResponse() (response *DeleteDataSetResponse) {
+	response = &DeleteDataSetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/delete_diversify.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteDiversify invokes the airec.DeleteDiversify API synchronously
+// api document: https://help.aliyun.com/api/airec/deletediversify.html
+func (client *Client) DeleteDiversify(request *DeleteDiversifyRequest) (response *DeleteDiversifyResponse, err error) {
+	response = CreateDeleteDiversifyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteDiversifyWithChan invokes the airec.DeleteDiversify API asynchronously
+// api document: https://help.aliyun.com/api/airec/deletediversify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDiversifyWithChan(request *DeleteDiversifyRequest) (<-chan *DeleteDiversifyResponse, <-chan error) {
+	responseChan := make(chan *DeleteDiversifyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDiversify(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteDiversifyWithCallback invokes the airec.DeleteDiversify API asynchronously
+// api document: https://help.aliyun.com/api/airec/deletediversify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDiversifyWithCallback(request *DeleteDiversifyRequest, callback func(response *DeleteDiversifyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDiversifyResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDiversify(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteDiversifyRequest is the request struct for api DeleteDiversify
+type DeleteDiversifyRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+	Name       string `position:"Path" name:"Name"`
+}
+
+// DeleteDiversifyResponse is the response struct for api DeleteDiversify
+type DeleteDiversifyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateDeleteDiversifyRequest creates a request to invoke DeleteDiversify API
+func CreateDeleteDiversifyRequest() (request *DeleteDiversifyRequest) {
+	request = &DeleteDiversifyRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DeleteDiversify", "/openapi/instances/[InstanceId]/diversifies/[Name]", "airec", "openAPI")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteDiversifyResponse creates a response to parse from DeleteDiversify response
+func CreateDeleteDiversifyResponse() (response *DeleteDiversifyResponse) {
+	response = &DeleteDiversifyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/delete_mix.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteMix invokes the airec.DeleteMix API synchronously
+// api document: https://help.aliyun.com/api/airec/deletemix.html
+func (client *Client) DeleteMix(request *DeleteMixRequest) (response *DeleteMixResponse, err error) {
+	response = CreateDeleteMixResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteMixWithChan invokes the airec.DeleteMix API asynchronously
+// api document: https://help.aliyun.com/api/airec/deletemix.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteMixWithChan(request *DeleteMixRequest) (<-chan *DeleteMixResponse, <-chan error) {
+	responseChan := make(chan *DeleteMixResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteMix(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteMixWithCallback invokes the airec.DeleteMix API asynchronously
+// api document: https://help.aliyun.com/api/airec/deletemix.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteMixWithCallback(request *DeleteMixRequest, callback func(response *DeleteMixResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteMixResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteMix(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteMixRequest is the request struct for api DeleteMix
+type DeleteMixRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+	Name       string `position:"Path" name:"Name"`
+}
+
+// DeleteMixResponse is the response struct for api DeleteMix
+type DeleteMixResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateDeleteMixRequest creates a request to invoke DeleteMix API
+func CreateDeleteMixRequest() (request *DeleteMixRequest) {
+	request = &DeleteMixRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DeleteMix", "/openapi/instances/[InstanceId]/mixes/[Name]", "airec", "openAPI")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteMixResponse creates a response to parse from DeleteMix response
+func CreateDeleteMixResponse() (response *DeleteMixResponse) {
+	response = &DeleteMixResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/airec/describe_dashboard.go

@@ -0,0 +1,109 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeDashboard invokes the airec.DescribeDashboard API synchronously
+// api document: https://help.aliyun.com/api/airec/describedashboard.html
+func (client *Client) DescribeDashboard(request *DescribeDashboardRequest) (response *DescribeDashboardResponse, err error) {
+	response = CreateDescribeDashboardResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDashboardWithChan invokes the airec.DescribeDashboard API asynchronously
+// api document: https://help.aliyun.com/api/airec/describedashboard.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDashboardWithChan(request *DescribeDashboardRequest) (<-chan *DescribeDashboardResponse, <-chan error) {
+	responseChan := make(chan *DescribeDashboardResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDashboard(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDashboardWithCallback invokes the airec.DescribeDashboard API asynchronously
+// api document: https://help.aliyun.com/api/airec/describedashboard.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDashboardWithCallback(request *DescribeDashboardRequest, callback func(response *DescribeDashboardResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDashboardResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDashboard(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDashboardRequest is the request struct for api DescribeDashboard
+type DescribeDashboardRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+	EndDate    string `position:"Query" name:"EndDate"`
+	StartDate  string `position:"Query" name:"StartDate"`
+}
+
+// DescribeDashboardResponse is the response struct for api DescribeDashboard
+type DescribeDashboardResponse struct {
+	*responses.BaseResponse
+	RequestId string       `json:"RequestId" xml:"RequestId"`
+	Code      string       `json:"Code" xml:"Code"`
+	Message   string       `json:"Message" xml:"Message"`
+	Result    []ResultItem `json:"Result" xml:"Result"`
+}
+
+// CreateDescribeDashboardRequest creates a request to invoke DescribeDashboard API
+func CreateDescribeDashboardRequest() (request *DescribeDashboardRequest) {
+	request = &DescribeDashboardRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DescribeDashboard", "/openapi/instances/[InstanceId]/dashboard", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeDashboardResponse creates a response to parse from DescribeDashboard response
+func CreateDescribeDashboardResponse() (response *DescribeDashboardResponse) {
+	response = &DescribeDashboardResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/describe_data_set_message.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeDataSetMessage invokes the airec.DescribeDataSetMessage API synchronously
+// api document: https://help.aliyun.com/api/airec/describedatasetmessage.html
+func (client *Client) DescribeDataSetMessage(request *DescribeDataSetMessageRequest) (response *DescribeDataSetMessageResponse, err error) {
+	response = CreateDescribeDataSetMessageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDataSetMessageWithChan invokes the airec.DescribeDataSetMessage API asynchronously
+// api document: https://help.aliyun.com/api/airec/describedatasetmessage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDataSetMessageWithChan(request *DescribeDataSetMessageRequest) (<-chan *DescribeDataSetMessageResponse, <-chan error) {
+	responseChan := make(chan *DescribeDataSetMessageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDataSetMessage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDataSetMessageWithCallback invokes the airec.DescribeDataSetMessage API asynchronously
+// api document: https://help.aliyun.com/api/airec/describedatasetmessage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDataSetMessageWithCallback(request *DescribeDataSetMessageRequest, callback func(response *DescribeDataSetMessageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDataSetMessageResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDataSetMessage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDataSetMessageRequest is the request struct for api DescribeDataSetMessage
+type DescribeDataSetMessageRequest struct {
+	*requests.RoaRequest
+	VersionId  string `position:"Path" name:"VersionId"`
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// DescribeDataSetMessageResponse is the response struct for api DescribeDataSetMessage
+type DescribeDataSetMessageResponse struct {
+	*responses.BaseResponse
+	RequestId string       `json:"RequestId" xml:"RequestId"`
+	Code      string       `json:"Code" xml:"Code"`
+	Message   string       `json:"Message" xml:"Message"`
+	Result    []ResultItem `json:"Result" xml:"Result"`
+}
+
+// CreateDescribeDataSetMessageRequest creates a request to invoke DescribeDataSetMessage API
+func CreateDescribeDataSetMessageRequest() (request *DescribeDataSetMessageRequest) {
+	request = &DescribeDataSetMessageRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DescribeDataSetMessage", "/openapi/instances/[InstanceId]/dataSets/[VersionId]/messages", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeDataSetMessageResponse creates a response to parse from DescribeDataSetMessage response
+func CreateDescribeDataSetMessageResponse() (response *DescribeDataSetMessageResponse) {
+	response = &DescribeDataSetMessageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/describe_data_set_report.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeDataSetReport invokes the airec.DescribeDataSetReport API synchronously
+// api document: https://help.aliyun.com/api/airec/describedatasetreport.html
+func (client *Client) DescribeDataSetReport(request *DescribeDataSetReportRequest) (response *DescribeDataSetReportResponse, err error) {
+	response = CreateDescribeDataSetReportResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDataSetReportWithChan invokes the airec.DescribeDataSetReport API asynchronously
+// api document: https://help.aliyun.com/api/airec/describedatasetreport.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDataSetReportWithChan(request *DescribeDataSetReportRequest) (<-chan *DescribeDataSetReportResponse, <-chan error) {
+	responseChan := make(chan *DescribeDataSetReportResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDataSetReport(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDataSetReportWithCallback invokes the airec.DescribeDataSetReport API asynchronously
+// api document: https://help.aliyun.com/api/airec/describedatasetreport.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDataSetReportWithCallback(request *DescribeDataSetReportRequest, callback func(response *DescribeDataSetReportResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDataSetReportResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDataSetReport(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDataSetReportRequest is the request struct for api DescribeDataSetReport
+type DescribeDataSetReportRequest struct {
+	*requests.RoaRequest
+	VersionId  string `position:"Path" name:"VersionId"`
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// DescribeDataSetReportResponse is the response struct for api DescribeDataSetReport
+type DescribeDataSetReportResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateDescribeDataSetReportRequest creates a request to invoke DescribeDataSetReport API
+func CreateDescribeDataSetReportRequest() (request *DescribeDataSetReportRequest) {
+	request = &DescribeDataSetReportRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DescribeDataSetReport", "/openapi/instances/[InstanceId]/dataSets/[VersionId]/report", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeDataSetReportResponse creates a response to parse from DescribeDataSetReport response
+func CreateDescribeDataSetReportResponse() (response *DescribeDataSetReportResponse) {
+	response = &DescribeDataSetReportResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/describe_diversify.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeDiversify invokes the airec.DescribeDiversify API synchronously
+// api document: https://help.aliyun.com/api/airec/describediversify.html
+func (client *Client) DescribeDiversify(request *DescribeDiversifyRequest) (response *DescribeDiversifyResponse, err error) {
+	response = CreateDescribeDiversifyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDiversifyWithChan invokes the airec.DescribeDiversify API asynchronously
+// api document: https://help.aliyun.com/api/airec/describediversify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDiversifyWithChan(request *DescribeDiversifyRequest) (<-chan *DescribeDiversifyResponse, <-chan error) {
+	responseChan := make(chan *DescribeDiversifyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDiversify(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDiversifyWithCallback invokes the airec.DescribeDiversify API asynchronously
+// api document: https://help.aliyun.com/api/airec/describediversify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDiversifyWithCallback(request *DescribeDiversifyRequest, callback func(response *DescribeDiversifyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDiversifyResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDiversify(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDiversifyRequest is the request struct for api DescribeDiversify
+type DescribeDiversifyRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+	Name       string `position:"Path" name:"Name"`
+}
+
+// DescribeDiversifyResponse is the response struct for api DescribeDiversify
+type DescribeDiversifyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateDescribeDiversifyRequest creates a request to invoke DescribeDiversify API
+func CreateDescribeDiversifyRequest() (request *DescribeDiversifyRequest) {
+	request = &DescribeDiversifyRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DescribeDiversify", "/openapi/instances/[InstanceId]/diversifies/[Name]", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeDiversifyResponse creates a response to parse from DescribeDiversify response
+func CreateDescribeDiversifyResponse() (response *DescribeDiversifyResponse) {
+	response = &DescribeDiversifyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/describe_instance.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeInstance invokes the airec.DescribeInstance API synchronously
+// api document: https://help.aliyun.com/api/airec/describeinstance.html
+func (client *Client) DescribeInstance(request *DescribeInstanceRequest) (response *DescribeInstanceResponse, err error) {
+	response = CreateDescribeInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceWithChan invokes the airec.DescribeInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/describeinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceWithChan(request *DescribeInstanceRequest) (<-chan *DescribeInstanceResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceWithCallback invokes the airec.DescribeInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/describeinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceWithCallback(request *DescribeInstanceRequest, callback func(response *DescribeInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceRequest is the request struct for api DescribeInstance
+type DescribeInstanceRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// DescribeInstanceResponse is the response struct for api DescribeInstance
+type DescribeInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateDescribeInstanceRequest creates a request to invoke DescribeInstance API
+func CreateDescribeInstanceRequest() (request *DescribeInstanceRequest) {
+	request = &DescribeInstanceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DescribeInstance", "/openapi/instances/[InstanceId]", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeInstanceResponse creates a response to parse from DescribeInstance response
+func CreateDescribeInstanceResponse() (response *DescribeInstanceResponse) {
+	response = &DescribeInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/describe_mix.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeMix invokes the airec.DescribeMix API synchronously
+// api document: https://help.aliyun.com/api/airec/describemix.html
+func (client *Client) DescribeMix(request *DescribeMixRequest) (response *DescribeMixResponse, err error) {
+	response = CreateDescribeMixResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeMixWithChan invokes the airec.DescribeMix API asynchronously
+// api document: https://help.aliyun.com/api/airec/describemix.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeMixWithChan(request *DescribeMixRequest) (<-chan *DescribeMixResponse, <-chan error) {
+	responseChan := make(chan *DescribeMixResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeMix(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeMixWithCallback invokes the airec.DescribeMix API asynchronously
+// api document: https://help.aliyun.com/api/airec/describemix.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeMixWithCallback(request *DescribeMixRequest, callback func(response *DescribeMixResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeMixResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeMix(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeMixRequest is the request struct for api DescribeMix
+type DescribeMixRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+	Name       string `position:"Path" name:"Name"`
+}
+
+// DescribeMixResponse is the response struct for api DescribeMix
+type DescribeMixResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateDescribeMixRequest creates a request to invoke DescribeMix API
+func CreateDescribeMixRequest() (request *DescribeMixRequest) {
+	request = &DescribeMixRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DescribeMix", "/openapi/instances/[InstanceId]/mixes/[Name]", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeMixResponse creates a response to parse from DescribeMix response
+func CreateDescribeMixResponse() (response *DescribeMixResponse) {
+	response = &DescribeMixResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/describe_quota.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeQuota invokes the airec.DescribeQuota API synchronously
+// api document: https://help.aliyun.com/api/airec/describequota.html
+func (client *Client) DescribeQuota(request *DescribeQuotaRequest) (response *DescribeQuotaResponse, err error) {
+	response = CreateDescribeQuotaResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeQuotaWithChan invokes the airec.DescribeQuota API asynchronously
+// api document: https://help.aliyun.com/api/airec/describequota.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeQuotaWithChan(request *DescribeQuotaRequest) (<-chan *DescribeQuotaResponse, <-chan error) {
+	responseChan := make(chan *DescribeQuotaResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeQuota(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeQuotaWithCallback invokes the airec.DescribeQuota API asynchronously
+// api document: https://help.aliyun.com/api/airec/describequota.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeQuotaWithCallback(request *DescribeQuotaRequest, callback func(response *DescribeQuotaResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeQuotaResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeQuota(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeQuotaRequest is the request struct for api DescribeQuota
+type DescribeQuotaRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// DescribeQuotaResponse is the response struct for api DescribeQuota
+type DescribeQuotaResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateDescribeQuotaRequest creates a request to invoke DescribeQuota API
+func CreateDescribeQuotaRequest() (request *DescribeQuotaRequest) {
+	request = &DescribeQuotaRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DescribeQuota", "/openapi/instances/[InstanceId]/quota", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeQuotaResponse creates a response to parse from DescribeQuota response
+func CreateDescribeQuotaResponse() (response *DescribeQuotaResponse) {
+	response = &DescribeQuotaResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/describe_schema.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeSchema invokes the airec.DescribeSchema API synchronously
+// api document: https://help.aliyun.com/api/airec/describeschema.html
+func (client *Client) DescribeSchema(request *DescribeSchemaRequest) (response *DescribeSchemaResponse, err error) {
+	response = CreateDescribeSchemaResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSchemaWithChan invokes the airec.DescribeSchema API asynchronously
+// api document: https://help.aliyun.com/api/airec/describeschema.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSchemaWithChan(request *DescribeSchemaRequest) (<-chan *DescribeSchemaResponse, <-chan error) {
+	responseChan := make(chan *DescribeSchemaResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSchema(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeSchemaWithCallback invokes the airec.DescribeSchema API asynchronously
+// api document: https://help.aliyun.com/api/airec/describeschema.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSchemaWithCallback(request *DescribeSchemaRequest, callback func(response *DescribeSchemaResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSchemaResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSchema(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeSchemaRequest is the request struct for api DescribeSchema
+type DescribeSchemaRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// DescribeSchemaResponse is the response struct for api DescribeSchema
+type DescribeSchemaResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateDescribeSchemaRequest creates a request to invoke DescribeSchema API
+func CreateDescribeSchemaRequest() (request *DescribeSchemaRequest) {
+	request = &DescribeSchemaRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DescribeSchema", "/openapi/instances/[InstanceId]/schema", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeSchemaResponse creates a response to parse from DescribeSchema response
+func CreateDescribeSchemaResponse() (response *DescribeSchemaResponse) {
+	response = &DescribeSchemaResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/list_data_set.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListDataSet invokes the airec.ListDataSet API synchronously
+// api document: https://help.aliyun.com/api/airec/listdataset.html
+func (client *Client) ListDataSet(request *ListDataSetRequest) (response *ListDataSetResponse, err error) {
+	response = CreateListDataSetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListDataSetWithChan invokes the airec.ListDataSet API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdataset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDataSetWithChan(request *ListDataSetRequest) (<-chan *ListDataSetResponse, <-chan error) {
+	responseChan := make(chan *ListDataSetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListDataSet(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListDataSetWithCallback invokes the airec.ListDataSet API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdataset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDataSetWithCallback(request *ListDataSetRequest, callback func(response *ListDataSetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListDataSetResponse
+		var err error
+		defer close(result)
+		response, err = client.ListDataSet(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListDataSetRequest is the request struct for api ListDataSet
+type ListDataSetRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// ListDataSetResponse is the response struct for api ListDataSet
+type ListDataSetResponse struct {
+	*responses.BaseResponse
+	RequestId string                    `json:"RequestId" xml:"RequestId"`
+	Code      string                    `json:"Code" xml:"Code"`
+	Message   string                    `json:"Message" xml:"Message"`
+	Result    []ResultItemInListDataSet `json:"Result" xml:"Result"`
+}
+
+// CreateListDataSetRequest creates a request to invoke ListDataSet API
+func CreateListDataSetRequest() (request *ListDataSetRequest) {
+	request = &ListDataSetRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ListDataSet", "/openapi/instances/[InstanceId]/dataSets", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListDataSetResponse creates a response to parse from ListDataSet response
+func CreateListDataSetResponse() (response *ListDataSetResponse) {
+	response = &ListDataSetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/list_data_source.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListDataSource invokes the airec.ListDataSource API synchronously
+// api document: https://help.aliyun.com/api/airec/listdatasource.html
+func (client *Client) ListDataSource(request *ListDataSourceRequest) (response *ListDataSourceResponse, err error) {
+	response = CreateListDataSourceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListDataSourceWithChan invokes the airec.ListDataSource API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdatasource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDataSourceWithChan(request *ListDataSourceRequest) (<-chan *ListDataSourceResponse, <-chan error) {
+	responseChan := make(chan *ListDataSourceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListDataSource(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListDataSourceWithCallback invokes the airec.ListDataSource API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdatasource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDataSourceWithCallback(request *ListDataSourceRequest, callback func(response *ListDataSourceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListDataSourceResponse
+		var err error
+		defer close(result)
+		response, err = client.ListDataSource(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListDataSourceRequest is the request struct for api ListDataSource
+type ListDataSourceRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// ListDataSourceResponse is the response struct for api ListDataSource
+type ListDataSourceResponse struct {
+	*responses.BaseResponse
+	RequestId string       `json:"RequestId" xml:"RequestId"`
+	Code      string       `json:"Code" xml:"Code"`
+	Message   string       `json:"Message" xml:"Message"`
+	Result    []ResultItem `json:"Result" xml:"Result"`
+}
+
+// CreateListDataSourceRequest creates a request to invoke ListDataSource API
+func CreateListDataSourceRequest() (request *ListDataSourceRequest) {
+	request = &ListDataSourceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ListDataSource", "/openapi/instances/[InstanceId]/dataSources", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListDataSourceResponse creates a response to parse from ListDataSource response
+func CreateListDataSourceResponse() (response *ListDataSourceResponse) {
+	response = &ListDataSourceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/list_diversify.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListDiversify invokes the airec.ListDiversify API synchronously
+// api document: https://help.aliyun.com/api/airec/listdiversify.html
+func (client *Client) ListDiversify(request *ListDiversifyRequest) (response *ListDiversifyResponse, err error) {
+	response = CreateListDiversifyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListDiversifyWithChan invokes the airec.ListDiversify API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdiversify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDiversifyWithChan(request *ListDiversifyRequest) (<-chan *ListDiversifyResponse, <-chan error) {
+	responseChan := make(chan *ListDiversifyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListDiversify(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListDiversifyWithCallback invokes the airec.ListDiversify API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdiversify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDiversifyWithCallback(request *ListDiversifyRequest, callback func(response *ListDiversifyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListDiversifyResponse
+		var err error
+		defer close(result)
+		response, err = client.ListDiversify(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListDiversifyRequest is the request struct for api ListDiversify
+type ListDiversifyRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// ListDiversifyResponse is the response struct for api ListDiversify
+type ListDiversifyResponse struct {
+	*responses.BaseResponse
+	RequestId string       `json:"RequestId" xml:"RequestId"`
+	Code      string       `json:"Code" xml:"Code"`
+	Message   string       `json:"Message" xml:"Message"`
+	Result    []ResultItem `json:"Result" xml:"Result"`
+}
+
+// CreateListDiversifyRequest creates a request to invoke ListDiversify API
+func CreateListDiversifyRequest() (request *ListDiversifyRequest) {
+	request = &ListDiversifyRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ListDiversify", "/openapi/instances/[InstanceId]/diversifies", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListDiversifyResponse creates a response to parse from ListDiversify response
+func CreateListDiversifyResponse() (response *ListDiversifyResponse) {
+	response = &ListDiversifyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/airec/list_instance.go

@@ -0,0 +1,106 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListInstance invokes the airec.ListInstance API synchronously
+// api document: https://help.aliyun.com/api/airec/listinstance.html
+func (client *Client) ListInstance(request *ListInstanceRequest) (response *ListInstanceResponse, err error) {
+	response = CreateListInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListInstanceWithChan invokes the airec.ListInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/listinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstanceWithChan(request *ListInstanceRequest) (<-chan *ListInstanceResponse, <-chan error) {
+	responseChan := make(chan *ListInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListInstanceWithCallback invokes the airec.ListInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/listinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstanceWithCallback(request *ListInstanceRequest, callback func(response *ListInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.ListInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListInstanceRequest is the request struct for api ListInstance
+type ListInstanceRequest struct {
+	*requests.RoaRequest
+}
+
+// ListInstanceResponse is the response struct for api ListInstance
+type ListInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string       `json:"RequestId" xml:"RequestId"`
+	Code      string       `json:"Code" xml:"Code"`
+	Message   string       `json:"Message" xml:"Message"`
+	Result    []ResultItem `json:"Result" xml:"Result"`
+}
+
+// CreateListInstanceRequest creates a request to invoke ListInstance API
+func CreateListInstanceRequest() (request *ListInstanceRequest) {
+	request = &ListInstanceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ListInstance", "/openapi/instances", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListInstanceResponse creates a response to parse from ListInstance response
+func CreateListInstanceResponse() (response *ListInstanceResponse) {
+	response = &ListInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/list_mix.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListMix invokes the airec.ListMix API synchronously
+// api document: https://help.aliyun.com/api/airec/listmix.html
+func (client *Client) ListMix(request *ListMixRequest) (response *ListMixResponse, err error) {
+	response = CreateListMixResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListMixWithChan invokes the airec.ListMix API asynchronously
+// api document: https://help.aliyun.com/api/airec/listmix.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListMixWithChan(request *ListMixRequest) (<-chan *ListMixResponse, <-chan error) {
+	responseChan := make(chan *ListMixResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListMix(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListMixWithCallback invokes the airec.ListMix API asynchronously
+// api document: https://help.aliyun.com/api/airec/listmix.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListMixWithCallback(request *ListMixRequest, callback func(response *ListMixResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListMixResponse
+		var err error
+		defer close(result)
+		response, err = client.ListMix(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListMixRequest is the request struct for api ListMix
+type ListMixRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// ListMixResponse is the response struct for api ListMix
+type ListMixResponse struct {
+	*responses.BaseResponse
+	RequestId string       `json:"RequestId" xml:"RequestId"`
+	Code      string       `json:"Code" xml:"Code"`
+	Message   string       `json:"Message" xml:"Message"`
+	Result    []ResultItem `json:"Result" xml:"Result"`
+}
+
+// CreateListMixRequest creates a request to invoke ListMix API
+func CreateListMixRequest() (request *ListMixRequest) {
+	request = &ListMixRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ListMix", "/openapi/instances/[InstanceId]/mixes", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListMixResponse creates a response to parse from ListMix response
+func CreateListMixResponse() (response *ListMixResponse) {
+	response = &ListMixResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/modify_data_source.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyDataSource invokes the airec.ModifyDataSource API synchronously
+// api document: https://help.aliyun.com/api/airec/modifydatasource.html
+func (client *Client) ModifyDataSource(request *ModifyDataSourceRequest) (response *ModifyDataSourceResponse, err error) {
+	response = CreateModifyDataSourceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyDataSourceWithChan invokes the airec.ModifyDataSource API asynchronously
+// api document: https://help.aliyun.com/api/airec/modifydatasource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDataSourceWithChan(request *ModifyDataSourceRequest) (<-chan *ModifyDataSourceResponse, <-chan error) {
+	responseChan := make(chan *ModifyDataSourceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyDataSource(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyDataSourceWithCallback invokes the airec.ModifyDataSource API asynchronously
+// api document: https://help.aliyun.com/api/airec/modifydatasource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDataSourceWithCallback(request *ModifyDataSourceRequest, callback func(response *ModifyDataSourceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyDataSourceResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyDataSource(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyDataSourceRequest is the request struct for api ModifyDataSource
+type ModifyDataSourceRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+	TableName  string `position:"Path" name:"TableName"`
+}
+
+// ModifyDataSourceResponse is the response struct for api ModifyDataSource
+type ModifyDataSourceResponse struct {
+	*responses.BaseResponse
+	RequestId string                   `json:"RequestId" xml:"RequestId"`
+	Code      string                   `json:"Code" xml:"Code"`
+	Message   string                   `json:"Message" xml:"Message"`
+	Result    ResultInModifyDataSource `json:"Result" xml:"Result"`
+}
+
+// CreateModifyDataSourceRequest creates a request to invoke ModifyDataSource API
+func CreateModifyDataSourceRequest() (request *ModifyDataSourceRequest) {
+	request = &ModifyDataSourceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ModifyDataSource", "/openapi/instances/[InstanceId]/dataSources/[TableName]", "airec", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateModifyDataSourceResponse creates a response to parse from ModifyDataSource response
+func CreateModifyDataSourceResponse() (response *ModifyDataSourceResponse) {
+	response = &ModifyDataSourceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/modify_diversify.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyDiversify invokes the airec.ModifyDiversify API synchronously
+// api document: https://help.aliyun.com/api/airec/modifydiversify.html
+func (client *Client) ModifyDiversify(request *ModifyDiversifyRequest) (response *ModifyDiversifyResponse, err error) {
+	response = CreateModifyDiversifyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyDiversifyWithChan invokes the airec.ModifyDiversify API asynchronously
+// api document: https://help.aliyun.com/api/airec/modifydiversify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDiversifyWithChan(request *ModifyDiversifyRequest) (<-chan *ModifyDiversifyResponse, <-chan error) {
+	responseChan := make(chan *ModifyDiversifyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyDiversify(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyDiversifyWithCallback invokes the airec.ModifyDiversify API asynchronously
+// api document: https://help.aliyun.com/api/airec/modifydiversify.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDiversifyWithCallback(request *ModifyDiversifyRequest, callback func(response *ModifyDiversifyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyDiversifyResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyDiversify(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyDiversifyRequest is the request struct for api ModifyDiversify
+type ModifyDiversifyRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+	Name       string `position:"Path" name:"Name"`
+}
+
+// ModifyDiversifyResponse is the response struct for api ModifyDiversify
+type ModifyDiversifyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateModifyDiversifyRequest creates a request to invoke ModifyDiversify API
+func CreateModifyDiversifyRequest() (request *ModifyDiversifyRequest) {
+	request = &ModifyDiversifyRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ModifyDiversify", "/openapi/instances/[InstanceId]/diversifies/[Name]", "airec", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateModifyDiversifyResponse creates a response to parse from ModifyDiversify response
+func CreateModifyDiversifyResponse() (response *ModifyDiversifyResponse) {
+	response = &ModifyDiversifyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/modify_instance.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyInstance invokes the airec.ModifyInstance API synchronously
+// api document: https://help.aliyun.com/api/airec/modifyinstance.html
+func (client *Client) ModifyInstance(request *ModifyInstanceRequest) (response *ModifyInstanceResponse, err error) {
+	response = CreateModifyInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceWithChan invokes the airec.ModifyInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/modifyinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceWithChan(request *ModifyInstanceRequest) (<-chan *ModifyInstanceResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceWithCallback invokes the airec.ModifyInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/modifyinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceWithCallback(request *ModifyInstanceRequest, callback func(response *ModifyInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceRequest is the request struct for api ModifyInstance
+type ModifyInstanceRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// ModifyInstanceResponse is the response struct for api ModifyInstance
+type ModifyInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateModifyInstanceRequest creates a request to invoke ModifyInstance API
+func CreateModifyInstanceRequest() (request *ModifyInstanceRequest) {
+	request = &ModifyInstanceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ModifyInstance", "/openapi/instances/[InstanceId]", "airec", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateModifyInstanceResponse creates a response to parse from ModifyInstance response
+func CreateModifyInstanceResponse() (response *ModifyInstanceResponse) {
+	response = &ModifyInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/modify_mix.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyMix invokes the airec.ModifyMix API synchronously
+// api document: https://help.aliyun.com/api/airec/modifymix.html
+func (client *Client) ModifyMix(request *ModifyMixRequest) (response *ModifyMixResponse, err error) {
+	response = CreateModifyMixResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyMixWithChan invokes the airec.ModifyMix API asynchronously
+// api document: https://help.aliyun.com/api/airec/modifymix.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyMixWithChan(request *ModifyMixRequest) (<-chan *ModifyMixResponse, <-chan error) {
+	responseChan := make(chan *ModifyMixResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyMix(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyMixWithCallback invokes the airec.ModifyMix API asynchronously
+// api document: https://help.aliyun.com/api/airec/modifymix.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyMixWithCallback(request *ModifyMixRequest, callback func(response *ModifyMixResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyMixResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyMix(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyMixRequest is the request struct for api ModifyMix
+type ModifyMixRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+	Name       string `position:"Path" name:"Name"`
+}
+
+// ModifyMixResponse is the response struct for api ModifyMix
+type ModifyMixResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateModifyMixRequest creates a request to invoke ModifyMix API
+func CreateModifyMixRequest() (request *ModifyMixRequest) {
+	request = &ModifyMixRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ModifyMix", "/openapi/instances/[InstanceId]/mixes/[Name]", "airec", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateModifyMixResponse creates a response to parse from ModifyMix response
+func CreateModifyMixResponse() (response *ModifyMixResponse) {
+	response = &ModifyMixResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/push_document.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// PushDocument invokes the airec.PushDocument API synchronously
+// api document: https://help.aliyun.com/api/airec/pushdocument.html
+func (client *Client) PushDocument(request *PushDocumentRequest) (response *PushDocumentResponse, err error) {
+	response = CreatePushDocumentResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PushDocumentWithChan invokes the airec.PushDocument API asynchronously
+// api document: https://help.aliyun.com/api/airec/pushdocument.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PushDocumentWithChan(request *PushDocumentRequest) (<-chan *PushDocumentResponse, <-chan error) {
+	responseChan := make(chan *PushDocumentResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PushDocument(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PushDocumentWithCallback invokes the airec.PushDocument API asynchronously
+// api document: https://help.aliyun.com/api/airec/pushdocument.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PushDocumentWithCallback(request *PushDocumentRequest, callback func(response *PushDocumentResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PushDocumentResponse
+		var err error
+		defer close(result)
+		response, err = client.PushDocument(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PushDocumentRequest is the request struct for api PushDocument
+type PushDocumentRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+	TableName  string `position:"Path" name:"TableName"`
+}
+
+// PushDocumentResponse is the response struct for api PushDocument
+type PushDocumentResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    bool   `json:"Result" xml:"Result"`
+}
+
+// CreatePushDocumentRequest creates a request to invoke PushDocument API
+func CreatePushDocumentRequest() (request *PushDocumentRequest) {
+	request = &PushDocumentRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "PushDocument", "/openapi/instances/[InstanceId]/tables/[TableName]/actions/bulk", "airec", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreatePushDocumentResponse creates a response to parse from PushDocument response
+func CreatePushDocumentResponse() (response *PushDocumentResponse) {
+	response = &PushDocumentResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/push_intervention.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// PushIntervention invokes the airec.PushIntervention API synchronously
+// api document: https://help.aliyun.com/api/airec/pushintervention.html
+func (client *Client) PushIntervention(request *PushInterventionRequest) (response *PushInterventionResponse, err error) {
+	response = CreatePushInterventionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PushInterventionWithChan invokes the airec.PushIntervention API asynchronously
+// api document: https://help.aliyun.com/api/airec/pushintervention.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PushInterventionWithChan(request *PushInterventionRequest) (<-chan *PushInterventionResponse, <-chan error) {
+	responseChan := make(chan *PushInterventionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PushIntervention(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PushInterventionWithCallback invokes the airec.PushIntervention API asynchronously
+// api document: https://help.aliyun.com/api/airec/pushintervention.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PushInterventionWithCallback(request *PushInterventionRequest, callback func(response *PushInterventionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PushInterventionResponse
+		var err error
+		defer close(result)
+		response, err = client.PushIntervention(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PushInterventionRequest is the request struct for api PushIntervention
+type PushInterventionRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// PushInterventionResponse is the response struct for api PushIntervention
+type PushInterventionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    bool   `json:"Result" xml:"Result"`
+}
+
+// CreatePushInterventionRequest creates a request to invoke PushIntervention API
+func CreatePushInterventionRequest() (request *PushInterventionRequest) {
+	request = &PushInterventionRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "PushIntervention", "/openapi/instances/[InstanceId]/actions/intervene", "airec", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreatePushInterventionResponse creates a response to parse from PushIntervention response
+func CreatePushInterventionResponse() (response *PushInterventionResponse) {
+	response = &PushInterventionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/airec/recommend.go

@@ -0,0 +1,112 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// Recommend invokes the airec.Recommend API synchronously
+// api document: https://help.aliyun.com/api/airec/recommend.html
+func (client *Client) Recommend(request *RecommendRequest) (response *RecommendResponse, err error) {
+	response = CreateRecommendResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RecommendWithChan invokes the airec.Recommend API asynchronously
+// api document: https://help.aliyun.com/api/airec/recommend.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RecommendWithChan(request *RecommendRequest) (<-chan *RecommendResponse, <-chan error) {
+	responseChan := make(chan *RecommendResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.Recommend(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RecommendWithCallback invokes the airec.Recommend API asynchronously
+// api document: https://help.aliyun.com/api/airec/recommend.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RecommendWithCallback(request *RecommendRequest, callback func(response *RecommendResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RecommendResponse
+		var err error
+		defer close(result)
+		response, err = client.Recommend(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RecommendRequest is the request struct for api Recommend
+type RecommendRequest struct {
+	*requests.RoaRequest
+	ReturnCount requests.Integer `position:"Query" name:"ReturnCount"`
+	InstanceId  string           `position:"Path" name:"InstanceId"`
+	Ip          string           `position:"Query" name:"Ip"`
+	SceneId     string           `position:"Query" name:"SceneId"`
+	Imei        string           `position:"Query" name:"Imei"`
+	UserId      string           `position:"Query" name:"UserId"`
+}
+
+// RecommendResponse is the response struct for api Recommend
+type RecommendResponse struct {
+	*responses.BaseResponse
+	RequestId string       `json:"RequestId" xml:"RequestId"`
+	Code      string       `json:"Code" xml:"Code"`
+	Message   string       `json:"Message" xml:"Message"`
+	Result    []ResultItem `json:"Result" xml:"Result"`
+}
+
+// CreateRecommendRequest creates a request to invoke Recommend API
+func CreateRecommendRequest() (request *RecommendRequest) {
+	request = &RecommendRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "Recommend", "/openapi/instances/[InstanceId]/actions/recommend", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateRecommendResponse creates a response to parse from Recommend response
+func CreateRecommendResponse() (response *RecommendResponse) {
+	response = &RecommendResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/run_instance.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RunInstance invokes the airec.RunInstance API synchronously
+// api document: https://help.aliyun.com/api/airec/runinstance.html
+func (client *Client) RunInstance(request *RunInstanceRequest) (response *RunInstanceResponse, err error) {
+	response = CreateRunInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RunInstanceWithChan invokes the airec.RunInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/runinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RunInstanceWithChan(request *RunInstanceRequest) (<-chan *RunInstanceResponse, <-chan error) {
+	responseChan := make(chan *RunInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RunInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RunInstanceWithCallback invokes the airec.RunInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/runinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RunInstanceWithCallback(request *RunInstanceRequest, callback func(response *RunInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RunInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RunInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RunInstanceRequest is the request struct for api RunInstance
+type RunInstanceRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// RunInstanceResponse is the response struct for api RunInstance
+type RunInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    bool   `json:"Result" xml:"Result"`
+}
+
+// CreateRunInstanceRequest creates a request to invoke RunInstance API
+func CreateRunInstanceRequest() (request *RunInstanceRequest) {
+	request = &RunInstanceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "RunInstance", "/openapi/instances/[InstanceId]/actions/import", "airec", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateRunInstanceResponse creates a response to parse from RunInstance response
+func CreateRunInstanceResponse() (response *RunInstanceResponse) {
+	response = &RunInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/airec/stop_data_set.go

@@ -0,0 +1,108 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// StopDataSet invokes the airec.StopDataSet API synchronously
+// api document: https://help.aliyun.com/api/airec/stopdataset.html
+func (client *Client) StopDataSet(request *StopDataSetRequest) (response *StopDataSetResponse, err error) {
+	response = CreateStopDataSetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StopDataSetWithChan invokes the airec.StopDataSet API asynchronously
+// api document: https://help.aliyun.com/api/airec/stopdataset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopDataSetWithChan(request *StopDataSetRequest) (<-chan *StopDataSetResponse, <-chan error) {
+	responseChan := make(chan *StopDataSetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StopDataSet(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StopDataSetWithCallback invokes the airec.StopDataSet API asynchronously
+// api document: https://help.aliyun.com/api/airec/stopdataset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopDataSetWithCallback(request *StopDataSetRequest, callback func(response *StopDataSetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StopDataSetResponse
+		var err error
+		defer close(result)
+		response, err = client.StopDataSet(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StopDataSetRequest is the request struct for api StopDataSet
+type StopDataSetRequest struct {
+	*requests.RoaRequest
+	VersionId  string `position:"Path" name:"VersionId"`
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// StopDataSetResponse is the response struct for api StopDataSet
+type StopDataSetResponse struct {
+	*responses.BaseResponse
+	RequestId string              `json:"RequestId" xml:"RequestId"`
+	Code      string              `json:"Code" xml:"Code"`
+	Message   string              `json:"Message" xml:"Message"`
+	Result    ResultInStopDataSet `json:"Result" xml:"Result"`
+}
+
+// CreateStopDataSetRequest creates a request to invoke StopDataSet API
+func CreateStopDataSetRequest() (request *StopDataSetRequest) {
+	request = &StopDataSetRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "StopDataSet", "/openapi/instances/[InstanceId]/dataSets/[VersionId]/actions/stop", "airec", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateStopDataSetResponse creates a response to parse from StopDataSet response
+func CreateStopDataSetResponse() (response *StopDataSetResponse) {
+	response = &StopDataSetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 21 - 0
services/airec/struct_detail.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Detail is a nested struct in airec response
+type Detail struct {
+	DetailItem []DetailItem `json:"DetailItem" xml:"DetailItem"`
+}

+ 30 - 0
services/airec/struct_detail_item.go

@@ -0,0 +1,30 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// DetailItem is a nested struct in airec response
+type DetailItem struct {
+	BizDate    int     `json:"BizDate" xml:"BizDate"`
+	Pv         int     `json:"Pv" xml:"Pv"`
+	Uv         int     `json:"Uv" xml:"Uv"`
+	Click      int     `json:"Click" xml:"Click"`
+	Ctr        float64 `json:"Ctr" xml:"Ctr"`
+	UvCtr      float64 `json:"UvCtr" xml:"UvCtr"`
+	PerUvBhv   float64 `json:"PerUvBhv" xml:"PerUvBhv"`
+	PerUvClick float64 `json:"PerUvClick" xml:"PerUvClick"`
+	ClickUser  int     `json:"ClickUser" xml:"ClickUser"`
+	ActiveItem int     `json:"ActiveItem" xml:"ActiveItem"`
+}

+ 21 - 0
services/airec/struct_fields.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Fields is a nested struct in airec response
+type Fields struct {
+	FieldsItem []FieldsItem `json:"FieldsItem" xml:"FieldsItem"`
+}

+ 25 - 0
services/airec/struct_fields_item.go

@@ -0,0 +1,25 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// FieldsItem is a nested struct in airec response
+type FieldsItem struct {
+	Name        string `json:"Name" xml:"Name"`
+	Type        string `json:"Type" xml:"Type"`
+	Description string `json:"Description" xml:"Description"`
+	Required    bool   `json:"Required" xml:"Required"`
+	Example     string `json:"Example" xml:"Example"`
+}

+ 28 - 0
services/airec/struct_meta.go

@@ -0,0 +1,28 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Meta is a nested struct in airec response
+type Meta struct {
+	Path        string `json:"Path" xml:"Path"`
+	Partition   string `json:"Partition" xml:"Partition"`
+	Timestamp   int    `json:"Timestamp" xml:"Timestamp"`
+	ProjectName string `json:"ProjectName" xml:"ProjectName"`
+	BucketName  string `json:"BucketName" xml:"BucketName"`
+	TableName   string `json:"TableName" xml:"TableName"`
+	AccessKeyId string `json:"AccessKeyId" xml:"AccessKeyId"`
+	Type        string `json:"Type" xml:"Type"`
+}

+ 21 - 0
services/airec/struct_meta_in_describe_schema.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// MetaInDescribeSchema is a nested struct in airec response
+type MetaInDescribeSchema struct {
+	MetaItem []MetaItem `json:"MetaItem" xml:"MetaItem"`
+}

+ 22 - 0
services/airec/struct_meta_item.go

@@ -0,0 +1,22 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// MetaItem is a nested struct in airec response
+type MetaItem struct {
+	TableName string       `json:"TableName" xml:"TableName"`
+	Fields    []FieldsItem `json:"Fields" xml:"Fields"`
+}

+ 32 - 0
services/airec/struct_overall.go

@@ -0,0 +1,32 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Overall is a nested struct in airec response
+type Overall struct {
+	BhvCount           int     `json:"BhvCount" xml:"BhvCount"`
+	ItemItemCount      int     `json:"ItemItemCount" xml:"ItemItemCount"`
+	UserUserCount      int     `json:"UserUserCount" xml:"UserUserCount"`
+	ItemRepetitiveRate float64 `json:"ItemRepetitiveRate" xml:"ItemRepetitiveRate"`
+	UserRepetitiveRate float64 `json:"UserRepetitiveRate" xml:"UserRepetitiveRate"`
+	UserLegalRate      float64 `json:"UserLegalRate" xml:"UserLegalRate"`
+	ItemLegalRate      float64 `json:"ItemLegalRate" xml:"ItemLegalRate"`
+	BhvLegalRate       float64 `json:"BhvLegalRate" xml:"BhvLegalRate"`
+	UserCompleteRate   float64 `json:"UserCompleteRate" xml:"UserCompleteRate"`
+	ItemCompleteRate   float64 `json:"ItemCompleteRate" xml:"ItemCompleteRate"`
+	UserLoginRate      float64 `json:"UserLoginRate" xml:"UserLoginRate"`
+	ItemLoginRate      float64 `json:"ItemLoginRate" xml:"ItemLoginRate"`
+}

+ 23 - 0
services/airec/struct_parameter.go

@@ -0,0 +1,23 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Parameter is a nested struct in airec response
+type Parameter struct {
+	CategoryIndex int                       `json:"CategoryIndex" xml:"CategoryIndex"`
+	Window        int                       `json:"Window" xml:"Window"`
+	Settings      []SettingsItemInDeleteMix `json:"Settings" xml:"Settings"`
+}

+ 46 - 0
services/airec/struct_result.go

@@ -0,0 +1,46 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Result is a nested struct in airec response
+type Result struct {
+	Name           string       `json:"Name" xml:"Name"`
+	UserCountUsed  int          `json:"UserCountUsed" xml:"UserCountUsed"`
+	ChargeType     string       `json:"ChargeType" xml:"ChargeType"`
+	ItemCountUsed  int          `json:"ItemCountUsed" xml:"ItemCountUsed"`
+	CurrentQps     int          `json:"CurrentQps" xml:"CurrentQps"`
+	ItemCount      int          `json:"ItemCount" xml:"ItemCount"`
+	GmtCreate      string       `json:"GmtCreate" xml:"GmtCreate"`
+	DataSetVersion string       `json:"DataSetVersion" xml:"DataSetVersion"`
+	RegionId       string       `json:"RegionId" xml:"RegionId"`
+	InstanceId     string       `json:"InstanceId" xml:"InstanceId"`
+	Id             string       `json:"Id" xml:"Id"`
+	CommodityCode  string       `json:"CommodityCode" xml:"CommodityCode"`
+	Description    string       `json:"Description" xml:"Description"`
+	Type           string       `json:"Type" xml:"Type"`
+	ExpiredTime    string       `json:"ExpiredTime" xml:"ExpiredTime"`
+	GmtModified    string       `json:"GmtModified" xml:"GmtModified"`
+	Industry       string       `json:"Industry" xml:"Industry"`
+	UserCount      int          `json:"UserCount" xml:"UserCount"`
+	Scene          string       `json:"Scene" xml:"Scene"`
+	Qps            int          `json:"Qps" xml:"Qps"`
+	Status         string       `json:"Status" xml:"Status"`
+	LockMode       string       `json:"LockMode" xml:"LockMode"`
+	Overall        Overall      `json:"Overall" xml:"Overall"`
+	Parameter      Parameter    `json:"Parameter" xml:"Parameter"`
+	Detail         []DetailItem `json:"Detail" xml:"Detail"`
+	Meta           []MetaItem   `json:"Meta" xml:"Meta"`
+}

+ 25 - 0
services/airec/struct_result_in_attach_dataset.go

@@ -0,0 +1,25 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInAttachDataset is a nested struct in airec response
+type ResultInAttachDataset struct {
+	InstanceId  string `json:"InstanceId" xml:"InstanceId"`
+	VersionId   string `json:"VersionId" xml:"VersionId"`
+	State       string `json:"State" xml:"State"`
+	GmtCreate   int    `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified int    `json:"GmtModified" xml:"GmtModified"`
+}

+ 25 - 0
services/airec/struct_result_in_delete_data_set.go

@@ -0,0 +1,25 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInDeleteDataSet is a nested struct in airec response
+type ResultInDeleteDataSet struct {
+	InstanceId  string `json:"InstanceId" xml:"InstanceId"`
+	VersionId   string `json:"VersionId" xml:"VersionId"`
+	State       string `json:"State" xml:"State"`
+	GmtCreate   int    `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified int    `json:"GmtModified" xml:"GmtModified"`
+}

+ 21 - 0
services/airec/struct_result_in_describe_dashboard.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInDescribeDashboard is a nested struct in airec response
+type ResultInDescribeDashboard struct {
+	ResultItem []ResultItem `json:"ResultItem" xml:"ResultItem"`
+}

+ 21 - 0
services/airec/struct_result_in_describe_data_set_message.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInDescribeDataSetMessage is a nested struct in airec response
+type ResultInDescribeDataSetMessage struct {
+	ResultItem []ResultItem `json:"ResultItem" xml:"ResultItem"`
+}

+ 21 - 0
services/airec/struct_result_in_list_data_set.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInListDataSet is a nested struct in airec response
+type ResultInListDataSet struct {
+	ResultItem []ResultItemInListDataSet `json:"ResultItem" xml:"ResultItem"`
+}

+ 21 - 0
services/airec/struct_result_in_list_data_source.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInListDataSource is a nested struct in airec response
+type ResultInListDataSource struct {
+	ResultItem []ResultItem `json:"ResultItem" xml:"ResultItem"`
+}

+ 21 - 0
services/airec/struct_result_in_list_diversify.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInListDiversify is a nested struct in airec response
+type ResultInListDiversify struct {
+	ResultItem []ResultItem `json:"ResultItem" xml:"ResultItem"`
+}

+ 21 - 0
services/airec/struct_result_in_list_instance.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInListInstance is a nested struct in airec response
+type ResultInListInstance struct {
+	ResultItem []ResultItem `json:"ResultItem" xml:"ResultItem"`
+}

+ 21 - 0
services/airec/struct_result_in_list_mix.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInListMix is a nested struct in airec response
+type ResultInListMix struct {
+	ResultItem []ResultItem `json:"ResultItem" xml:"ResultItem"`
+}

+ 24 - 0
services/airec/struct_result_in_modify_data_source.go

@@ -0,0 +1,24 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInModifyDataSource is a nested struct in airec response
+type ResultInModifyDataSource struct {
+	TableName   string `json:"TableName" xml:"TableName"`
+	GmtCreate   string `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified string `json:"GmtModified" xml:"GmtModified"`
+	Meta        Meta   `json:"Meta" xml:"Meta"`
+}

+ 21 - 0
services/airec/struct_result_in_recommend.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInRecommend is a nested struct in airec response
+type ResultInRecommend struct {
+	ResultItem []ResultItem `json:"ResultItem" xml:"ResultItem"`
+}

+ 25 - 0
services/airec/struct_result_in_stop_data_set.go

@@ -0,0 +1,25 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultInStopDataSet is a nested struct in airec response
+type ResultInStopDataSet struct {
+	InstanceId  string `json:"InstanceId" xml:"InstanceId"`
+	VersionId   string `json:"VersionId" xml:"VersionId"`
+	State       string `json:"State" xml:"State"`
+	GmtCreate   int    `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified int    `json:"GmtModified" xml:"GmtModified"`
+}

+ 58 - 0
services/airec/struct_result_item.go

@@ -0,0 +1,58 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultItem is a nested struct in airec response
+type ResultItem struct {
+	Name           string    `json:"Name" xml:"Name"`
+	PerUvBhv       float64   `json:"PerUvBhv" xml:"PerUvBhv"`
+	ChargeType     string    `json:"ChargeType" xml:"ChargeType"`
+	ErrorLevel     string    `json:"ErrorLevel" xml:"ErrorLevel"`
+	ItemType       string    `json:"ItemType" xml:"ItemType"`
+	Uv             int       `json:"Uv" xml:"Uv"`
+	ClickUser      int       `json:"ClickUser" xml:"ClickUser"`
+	BizDate        int       `json:"BizDate" xml:"BizDate"`
+	GmtCreate      string    `json:"GmtCreate" xml:"GmtCreate"`
+	DataSetVersion string    `json:"DataSetVersion" xml:"DataSetVersion"`
+	RegionId       string    `json:"RegionId" xml:"RegionId"`
+	ActiveItem     int       `json:"ActiveItem" xml:"ActiveItem"`
+	UvCtr          float64   `json:"UvCtr" xml:"UvCtr"`
+	InstanceId     string    `json:"InstanceId" xml:"InstanceId"`
+	TraceId        string    `json:"TraceId" xml:"TraceId"`
+	CommodityCode  string    `json:"CommodityCode" xml:"CommodityCode"`
+	MatchInfo      string    `json:"MatchInfo" xml:"MatchInfo"`
+	Type           string    `json:"Type" xml:"Type"`
+	Click          int       `json:"Click" xml:"Click"`
+	Message        string    `json:"Message" xml:"Message"`
+	ExpiredTime    string    `json:"ExpiredTime" xml:"ExpiredTime"`
+	Timestamp      string    `json:"Timestamp" xml:"Timestamp"`
+	Pv             int       `json:"Pv" xml:"Pv"`
+	ErrorType      string    `json:"ErrorType" xml:"ErrorType"`
+	GmtModified    string    `json:"GmtModified" xml:"GmtModified"`
+	Industry       string    `json:"Industry" xml:"Industry"`
+	TableName      string    `json:"TableName" xml:"TableName"`
+	Scene          string    `json:"Scene" xml:"Scene"`
+	TraceInfo      string    `json:"TraceInfo" xml:"TraceInfo"`
+	Ctr            float64   `json:"Ctr" xml:"Ctr"`
+	PerUvClick     float64   `json:"PerUvClick" xml:"PerUvClick"`
+	Position       int       `json:"Position" xml:"Position"`
+	Status         string    `json:"Status" xml:"Status"`
+	ItemId         int       `json:"ItemId" xml:"ItemId"`
+	LockMode       string    `json:"LockMode" xml:"LockMode"`
+	Weight         float64   `json:"Weight" xml:"Weight"`
+	Meta           Meta      `json:"Meta" xml:"Meta"`
+	Parameter      Parameter `json:"Parameter" xml:"Parameter"`
+}

+ 25 - 0
services/airec/struct_result_item_in_list_data_set.go

@@ -0,0 +1,25 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResultItemInListDataSet is a nested struct in airec response
+type ResultItemInListDataSet struct {
+	InstanceId  string `json:"InstanceId" xml:"InstanceId"`
+	VersionId   string `json:"VersionId" xml:"VersionId"`
+	State       string `json:"State" xml:"State"`
+	GmtCreate   int    `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified int    `json:"GmtModified" xml:"GmtModified"`
+}

+ 21 - 0
services/airec/struct_settings_in_create_mix.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// SettingsInCreateMix is a nested struct in airec response
+type SettingsInCreateMix struct {
+	SettingsItem []SettingsItem `json:"SettingsItem" xml:"SettingsItem"`
+}

+ 21 - 0
services/airec/struct_settings_in_delete_mix.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// SettingsInDeleteMix is a nested struct in airec response
+type SettingsInDeleteMix struct {
+	SettingsItem []SettingsItemInDeleteMix `json:"SettingsItem" xml:"SettingsItem"`
+}

+ 21 - 0
services/airec/struct_settings_in_describe_mix.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// SettingsInDescribeMix is a nested struct in airec response
+type SettingsInDescribeMix struct {
+	SettingsItem []SettingsItem `json:"SettingsItem" xml:"SettingsItem"`
+}

+ 21 - 0
services/airec/struct_settings_in_list_mix.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// SettingsInListMix is a nested struct in airec response
+type SettingsInListMix struct {
+	SettingsItem []SettingsItem `json:"SettingsItem" xml:"SettingsItem"`
+}

+ 21 - 0
services/airec/struct_settings_in_modify_mix.go

@@ -0,0 +1,21 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// SettingsInModifyMix is a nested struct in airec response
+type SettingsInModifyMix struct {
+	SettingsItem []SettingsItem `json:"SettingsItem" xml:"SettingsItem"`
+}

+ 22 - 0
services/airec/struct_settings_item.go

@@ -0,0 +1,22 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// SettingsItem is a nested struct in airec response
+type SettingsItem struct {
+	Name  string `json:"Name" xml:"Name"`
+	Value int    `json:"Value" xml:"Value"`
+}

+ 22 - 0
services/airec/struct_settings_item_in_delete_mix.go

@@ -0,0 +1,22 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// SettingsItemInDeleteMix is a nested struct in airec response
+type SettingsItemInDeleteMix struct {
+	Name  string `json:"Name" xml:"Name"`
+	Value string `json:"Value" xml:"Value"`
+}

+ 107 - 0
services/airec/upgrade_instance.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UpgradeInstance invokes the airec.UpgradeInstance API synchronously
+// api document: https://help.aliyun.com/api/airec/upgradeinstance.html
+func (client *Client) UpgradeInstance(request *UpgradeInstanceRequest) (response *UpgradeInstanceResponse, err error) {
+	response = CreateUpgradeInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpgradeInstanceWithChan invokes the airec.UpgradeInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/upgradeinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpgradeInstanceWithChan(request *UpgradeInstanceRequest) (<-chan *UpgradeInstanceResponse, <-chan error) {
+	responseChan := make(chan *UpgradeInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpgradeInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpgradeInstanceWithCallback invokes the airec.UpgradeInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/upgradeinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+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
+}
+
+// UpgradeInstanceRequest is the request struct for api UpgradeInstance
+type UpgradeInstanceRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// UpgradeInstanceResponse is the response struct for api UpgradeInstance
+type UpgradeInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateUpgradeInstanceRequest creates a request to invoke UpgradeInstance API
+func CreateUpgradeInstanceRequest() (request *UpgradeInstanceRequest) {
+	request = &UpgradeInstanceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "UpgradeInstance", "/openapi/instances/[InstanceId]/actions/upgrade", "airec", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateUpgradeInstanceResponse creates a response to parse from UpgradeInstance response
+func CreateUpgradeInstanceResponse() (response *UpgradeInstanceResponse) {
+	response = &UpgradeInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/validate_instance.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ValidateInstance invokes the airec.ValidateInstance API synchronously
+// api document: https://help.aliyun.com/api/airec/validateinstance.html
+func (client *Client) ValidateInstance(request *ValidateInstanceRequest) (response *ValidateInstanceResponse, err error) {
+	response = CreateValidateInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ValidateInstanceWithChan invokes the airec.ValidateInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/validateinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ValidateInstanceWithChan(request *ValidateInstanceRequest) (<-chan *ValidateInstanceResponse, <-chan error) {
+	responseChan := make(chan *ValidateInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ValidateInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ValidateInstanceWithCallback invokes the airec.ValidateInstance API asynchronously
+// api document: https://help.aliyun.com/api/airec/validateinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ValidateInstanceWithCallback(request *ValidateInstanceRequest, callback func(response *ValidateInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ValidateInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.ValidateInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ValidateInstanceRequest is the request struct for api ValidateInstance
+type ValidateInstanceRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// ValidateInstanceResponse is the response struct for api ValidateInstance
+type ValidateInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    bool   `json:"Result" xml:"Result"`
+}
+
+// CreateValidateInstanceRequest creates a request to invoke ValidateInstance API
+func CreateValidateInstanceRequest() (request *ValidateInstanceRequest) {
+	request = &ValidateInstanceRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ValidateInstance", "/openapi/instances/[InstanceId]/actions/validate", "airec", "openAPI")
+	request.Method = requests.POST
+	return
+}
+
+// CreateValidateInstanceResponse creates a response to parse from ValidateInstance response
+func CreateValidateInstanceResponse() (response *ValidateInstanceResponse) {
+	response = &ValidateInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}