Browse Source

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

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 years ago
parent
commit
5452bdb42a
64 changed files with 4187 additions and 0 deletions
  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
 1, modify DescribeSlowLogs, support query param SQLHASH, remove SQLID query param.
 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
+}