Browse Source

IMM SDK Auto Released By zhengrui.lj,Version:1.43.1

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 years ago
parent
commit
37b464cb5b

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2018-12-05 Version: 1.43.1
+1, Add image async job.
+2, Fix group bug.
+
 2018-12-04 Version: 1.43.0
 1, The first release of Alibaba Cloud BaaS SDK
 

+ 1 - 0
services/imm/convert_office_format.go

@@ -83,6 +83,7 @@ type ConvertOfficeFormatRequest struct {
 	MaxSheetCount  requests.Integer `position:"Query" name:"MaxSheetCount"`
 	EndPage        requests.Integer `position:"Query" name:"EndPage"`
 	TgtFileSuffix  string           `position:"Query" name:"TgtFileSuffix"`
+	PdfVector      requests.Boolean `position:"Query" name:"PdfVector"`
 	SheetOnePage   requests.Boolean `position:"Query" name:"SheetOnePage"`
 	Password       string           `position:"Query" name:"Password"`
 	StartPage      requests.Integer `position:"Query" name:"StartPage"`

+ 109 - 0
services/imm/create_delete_face_set_job.go

@@ -0,0 +1,109 @@
+package imm
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateDeleteFaceSetJob invokes the imm.CreateDeleteFaceSetJob API synchronously
+// api document: https://help.aliyun.com/api/imm/createdeletefacesetjob.html
+func (client *Client) CreateDeleteFaceSetJob(request *CreateDeleteFaceSetJobRequest) (response *CreateDeleteFaceSetJobResponse, err error) {
+	response = CreateCreateDeleteFaceSetJobResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateDeleteFaceSetJobWithChan invokes the imm.CreateDeleteFaceSetJob API asynchronously
+// api document: https://help.aliyun.com/api/imm/createdeletefacesetjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDeleteFaceSetJobWithChan(request *CreateDeleteFaceSetJobRequest) (<-chan *CreateDeleteFaceSetJobResponse, <-chan error) {
+	responseChan := make(chan *CreateDeleteFaceSetJobResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateDeleteFaceSetJob(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateDeleteFaceSetJobWithCallback invokes the imm.CreateDeleteFaceSetJob API asynchronously
+// api document: https://help.aliyun.com/api/imm/createdeletefacesetjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDeleteFaceSetJobWithCallback(request *CreateDeleteFaceSetJobRequest, callback func(response *CreateDeleteFaceSetJobResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateDeleteFaceSetJobResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateDeleteFaceSetJob(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateDeleteFaceSetJobRequest is the request struct for api CreateDeleteFaceSetJob
+type CreateDeleteFaceSetJobRequest struct {
+	*requests.RpcRequest
+	NotifyTopicName string `position:"Query" name:"NotifyTopicName"`
+	NotifyEndpoint  string `position:"Query" name:"NotifyEndpoint"`
+	Project         string `position:"Query" name:"Project"`
+	SetId           string `position:"Query" name:"SetId"`
+	CheckEmpty      string `position:"Query" name:"CheckEmpty"`
+}
+
+// CreateDeleteFaceSetJobResponse is the response struct for api CreateDeleteFaceSetJob
+type CreateDeleteFaceSetJobResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	JobId     string `json:"JobId" xml:"JobId"`
+	JobType   string `json:"JobType" xml:"JobType"`
+}
+
+// CreateCreateDeleteFaceSetJobRequest creates a request to invoke CreateDeleteFaceSetJob API
+func CreateCreateDeleteFaceSetJobRequest() (request *CreateDeleteFaceSetJobRequest) {
+	request = &CreateDeleteFaceSetJobRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("imm", "2017-09-06", "CreateDeleteFaceSetJob", "imm", "openAPI")
+	return
+}
+
+// CreateCreateDeleteFaceSetJobResponse creates a response to parse from CreateDeleteFaceSetJob response
+func CreateCreateDeleteFaceSetJobResponse() (response *CreateDeleteFaceSetJobResponse) {
+	response = &CreateDeleteFaceSetJobResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/imm/create_group_faces_job.go

@@ -0,0 +1,109 @@
+package imm
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateGroupFacesJob invokes the imm.CreateGroupFacesJob API synchronously
+// api document: https://help.aliyun.com/api/imm/creategroupfacesjob.html
+func (client *Client) CreateGroupFacesJob(request *CreateGroupFacesJobRequest) (response *CreateGroupFacesJobResponse, err error) {
+	response = CreateCreateGroupFacesJobResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateGroupFacesJobWithChan invokes the imm.CreateGroupFacesJob API asynchronously
+// api document: https://help.aliyun.com/api/imm/creategroupfacesjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateGroupFacesJobWithChan(request *CreateGroupFacesJobRequest) (<-chan *CreateGroupFacesJobResponse, <-chan error) {
+	responseChan := make(chan *CreateGroupFacesJobResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateGroupFacesJob(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateGroupFacesJobWithCallback invokes the imm.CreateGroupFacesJob API asynchronously
+// api document: https://help.aliyun.com/api/imm/creategroupfacesjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateGroupFacesJobWithCallback(request *CreateGroupFacesJobRequest, callback func(response *CreateGroupFacesJobResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateGroupFacesJobResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateGroupFacesJob(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateGroupFacesJobRequest is the request struct for api CreateGroupFacesJob
+type CreateGroupFacesJobRequest struct {
+	*requests.RpcRequest
+	NotifyTopicName string `position:"Query" name:"NotifyTopicName"`
+	NotifyEndpoint  string `position:"Query" name:"NotifyEndpoint"`
+	Project         string `position:"Query" name:"Project"`
+	SetId           string `position:"Query" name:"SetId"`
+	Operation       string `position:"Query" name:"Operation"`
+}
+
+// CreateGroupFacesJobResponse is the response struct for api CreateGroupFacesJob
+type CreateGroupFacesJobResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	JobId     string `json:"JobId" xml:"JobId"`
+	JobType   string `json:"JobType" xml:"JobType"`
+}
+
+// CreateCreateGroupFacesJobRequest creates a request to invoke CreateGroupFacesJob API
+func CreateCreateGroupFacesJobRequest() (request *CreateGroupFacesJobRequest) {
+	request = &CreateGroupFacesJobRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("imm", "2017-09-06", "CreateGroupFacesJob", "imm", "openAPI")
+	return
+}
+
+// CreateCreateGroupFacesJobResponse creates a response to parse from CreateGroupFacesJob response
+func CreateCreateGroupFacesJobResponse() (response *CreateGroupFacesJobResponse) {
+	response = &CreateGroupFacesJobResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/imm/create_index_face_job.go

@@ -0,0 +1,111 @@
+package imm
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateIndexFaceJob invokes the imm.CreateIndexFaceJob API synchronously
+// api document: https://help.aliyun.com/api/imm/createindexfacejob.html
+func (client *Client) CreateIndexFaceJob(request *CreateIndexFaceJobRequest) (response *CreateIndexFaceJobResponse, err error) {
+	response = CreateCreateIndexFaceJobResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateIndexFaceJobWithChan invokes the imm.CreateIndexFaceJob API asynchronously
+// api document: https://help.aliyun.com/api/imm/createindexfacejob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateIndexFaceJobWithChan(request *CreateIndexFaceJobRequest) (<-chan *CreateIndexFaceJobResponse, <-chan error) {
+	responseChan := make(chan *CreateIndexFaceJobResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateIndexFaceJob(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateIndexFaceJobWithCallback invokes the imm.CreateIndexFaceJob API asynchronously
+// api document: https://help.aliyun.com/api/imm/createindexfacejob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateIndexFaceJobWithCallback(request *CreateIndexFaceJobRequest, callback func(response *CreateIndexFaceJobResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateIndexFaceJobResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateIndexFaceJob(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateIndexFaceJobRequest is the request struct for api CreateIndexFaceJob
+type CreateIndexFaceJobRequest struct {
+	*requests.RpcRequest
+	Chain           string `position:"Query" name:"Chain"`
+	SrcUris         string `position:"Query" name:"SrcUris"`
+	NotifyTopicName string `position:"Query" name:"NotifyTopicName"`
+	NotifyEndpoint  string `position:"Query" name:"NotifyEndpoint"`
+	Project         string `position:"Query" name:"Project"`
+	SetId           string `position:"Query" name:"SetId"`
+	Force           string `position:"Query" name:"Force"`
+}
+
+// CreateIndexFaceJobResponse is the response struct for api CreateIndexFaceJob
+type CreateIndexFaceJobResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	JobId     string `json:"JobId" xml:"JobId"`
+	JobType   string `json:"JobType" xml:"JobType"`
+}
+
+// CreateCreateIndexFaceJobRequest creates a request to invoke CreateIndexFaceJob API
+func CreateCreateIndexFaceJobRequest() (request *CreateIndexFaceJobRequest) {
+	request = &CreateIndexFaceJobRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("imm", "2017-09-06", "CreateIndexFaceJob", "imm", "openAPI")
+	return
+}
+
+// CreateCreateIndexFaceJobResponse creates a response to parse from CreateIndexFaceJob response
+func CreateCreateIndexFaceJobResponse() (response *CreateIndexFaceJobResponse) {
+	response = &CreateIndexFaceJobResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 8 - 7
services/imm/create_office_conversion_task.go

@@ -77,22 +77,23 @@ func (client *Client) CreateOfficeConversionTaskWithCallback(request *CreateOffi
 type CreateOfficeConversionTaskRequest struct {
 	*requests.RpcRequest
 	SrcType         string           `position:"Query" name:"SrcType"`
+	Project         string           `position:"Query" name:"Project"`
+	IdempotentToken string           `position:"Query" name:"IdempotentToken"`
+	PdfVector       requests.Boolean `position:"Query" name:"PdfVector"`
+	Password        string           `position:"Query" name:"Password"`
+	StartPage       requests.Integer `position:"Query" name:"StartPage"`
+	NotifyEndpoint  string           `position:"Query" name:"NotifyEndpoint"`
+	FitToPagesWide  requests.Boolean `position:"Query" name:"FitToPagesWide"`
+	TgtFilePrefix   string           `position:"Query" name:"TgtFilePrefix"`
 	NotifyTopicName string           `position:"Query" name:"NotifyTopicName"`
 	ModelId         string           `position:"Query" name:"ModelId"`
-	Project         string           `position:"Query" name:"Project"`
 	MaxSheetRow     requests.Integer `position:"Query" name:"MaxSheetRow"`
 	MaxSheetCount   requests.Integer `position:"Query" name:"MaxSheetCount"`
 	EndPage         requests.Integer `position:"Query" name:"EndPage"`
-	IdempotentToken string           `position:"Query" name:"IdempotentToken"`
 	TgtFileSuffix   string           `position:"Query" name:"TgtFileSuffix"`
 	SheetOnePage    requests.Boolean `position:"Query" name:"SheetOnePage"`
-	Password        string           `position:"Query" name:"Password"`
-	StartPage       requests.Integer `position:"Query" name:"StartPage"`
 	MaxSheetCol     requests.Integer `position:"Query" name:"MaxSheetCol"`
 	TgtType         string           `position:"Query" name:"TgtType"`
-	NotifyEndpoint  string           `position:"Query" name:"NotifyEndpoint"`
-	FitToPagesWide  requests.Boolean `position:"Query" name:"FitToPagesWide"`
-	TgtFilePrefix   string           `position:"Query" name:"TgtFilePrefix"`
 	FitToPagesTall  requests.Boolean `position:"Query" name:"FitToPagesTall"`
 	SrcUri          string           `position:"Query" name:"SrcUri"`
 	TgtFilePages    string           `position:"Query" name:"TgtFilePages"`

+ 105 - 0
services/imm/delete_image_job.go

@@ -0,0 +1,105 @@
+package imm
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteImageJob invokes the imm.DeleteImageJob API synchronously
+// api document: https://help.aliyun.com/api/imm/deleteimagejob.html
+func (client *Client) DeleteImageJob(request *DeleteImageJobRequest) (response *DeleteImageJobResponse, err error) {
+	response = CreateDeleteImageJobResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteImageJobWithChan invokes the imm.DeleteImageJob API asynchronously
+// api document: https://help.aliyun.com/api/imm/deleteimagejob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteImageJobWithChan(request *DeleteImageJobRequest) (<-chan *DeleteImageJobResponse, <-chan error) {
+	responseChan := make(chan *DeleteImageJobResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteImageJob(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteImageJobWithCallback invokes the imm.DeleteImageJob API asynchronously
+// api document: https://help.aliyun.com/api/imm/deleteimagejob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteImageJobWithCallback(request *DeleteImageJobRequest, callback func(response *DeleteImageJobResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteImageJobResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteImageJob(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteImageJobRequest is the request struct for api DeleteImageJob
+type DeleteImageJobRequest struct {
+	*requests.RpcRequest
+	JobId   string `position:"Query" name:"JobId"`
+	Project string `position:"Query" name:"Project"`
+	JobType string `position:"Query" name:"JobType"`
+}
+
+// DeleteImageJobResponse is the response struct for api DeleteImageJob
+type DeleteImageJobResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteImageJobRequest creates a request to invoke DeleteImageJob API
+func CreateDeleteImageJobRequest() (request *DeleteImageJobRequest) {
+	request = &DeleteImageJobRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("imm", "2017-09-06", "DeleteImageJob", "imm", "openAPI")
+	return
+}
+
+// CreateDeleteImageJobResponse creates a response to parse from DeleteImageJob response
+func CreateDeleteImageJobResponse() (response *DeleteImageJobResponse) {
+	response = &DeleteImageJobResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/imm/describe_regions.go

@@ -81,8 +81,8 @@ type DescribeRegionsRequest struct {
 // DescribeRegionsResponse is the response struct for api DescribeRegions
 type DescribeRegionsResponse struct {
 	*responses.BaseResponse
-	RequestId string        `json:"RequestId" xml:"RequestId"`
-	Regions   []RegionsItem `json:"Regions" xml:"Regions"`
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	Regions   Regions `json:"Regions" xml:"Regions"`
 }
 
 // CreateDescribeRegionsRequest creates a request to invoke DescribeRegions API

+ 116 - 0
services/imm/get_image_job.go

@@ -0,0 +1,116 @@
+package imm
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetImageJob invokes the imm.GetImageJob API synchronously
+// api document: https://help.aliyun.com/api/imm/getimagejob.html
+func (client *Client) GetImageJob(request *GetImageJobRequest) (response *GetImageJobResponse, err error) {
+	response = CreateGetImageJobResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetImageJobWithChan invokes the imm.GetImageJob API asynchronously
+// api document: https://help.aliyun.com/api/imm/getimagejob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetImageJobWithChan(request *GetImageJobRequest) (<-chan *GetImageJobResponse, <-chan error) {
+	responseChan := make(chan *GetImageJobResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetImageJob(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetImageJobWithCallback invokes the imm.GetImageJob API asynchronously
+// api document: https://help.aliyun.com/api/imm/getimagejob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetImageJobWithCallback(request *GetImageJobRequest, callback func(response *GetImageJobResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetImageJobResponse
+		var err error
+		defer close(result)
+		response, err = client.GetImageJob(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetImageJobRequest is the request struct for api GetImageJob
+type GetImageJobRequest struct {
+	*requests.RpcRequest
+	JobId   string `position:"Query" name:"JobId"`
+	Project string `position:"Query" name:"Project"`
+	JobType string `position:"Query" name:"JobType"`
+}
+
+// GetImageJobResponse is the response struct for api GetImageJob
+type GetImageJobResponse struct {
+	*responses.BaseResponse
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	JobId           string `json:"JobId" xml:"JobId"`
+	JobType         string `json:"JobType" xml:"JobType"`
+	Parameters      string `json:"Parameters" xml:"Parameters"`
+	Result          string `json:"Result" xml:"Result"`
+	Status          string `json:"Status" xml:"Status"`
+	StartTime       string `json:"StartTime" xml:"StartTime"`
+	EndTime         string `json:"EndTime" xml:"EndTime"`
+	ErrorMessage    string `json:"ErrorMessage" xml:"ErrorMessage"`
+	NotifyEndpoint  string `json:"NotifyEndpoint" xml:"NotifyEndpoint"`
+	NotifyTopicName string `json:"NotifyTopicName" xml:"NotifyTopicName"`
+	Progress        int    `json:"Progress" xml:"Progress"`
+}
+
+// CreateGetImageJobRequest creates a request to invoke GetImageJob API
+func CreateGetImageJobRequest() (request *GetImageJobRequest) {
+	request = &GetImageJobRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("imm", "2017-09-06", "GetImageJob", "imm", "openAPI")
+	return
+}
+
+// CreateGetImageJobResponse creates a response to parse from GetImageJob response
+func CreateGetImageJobResponse() (response *GetImageJobResponse) {
+	response = &GetImageJobResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/imm/list_image_faces.go

@@ -0,0 +1,109 @@
+package imm
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListImageFaces invokes the imm.ListImageFaces API synchronously
+// api document: https://help.aliyun.com/api/imm/listimagefaces.html
+func (client *Client) ListImageFaces(request *ListImageFacesRequest) (response *ListImageFacesResponse, err error) {
+	response = CreateListImageFacesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListImageFacesWithChan invokes the imm.ListImageFaces API asynchronously
+// api document: https://help.aliyun.com/api/imm/listimagefaces.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListImageFacesWithChan(request *ListImageFacesRequest) (<-chan *ListImageFacesResponse, <-chan error) {
+	responseChan := make(chan *ListImageFacesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListImageFaces(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListImageFacesWithCallback invokes the imm.ListImageFaces API asynchronously
+// api document: https://help.aliyun.com/api/imm/listimagefaces.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListImageFacesWithCallback(request *ListImageFacesRequest, callback func(response *ListImageFacesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListImageFacesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListImageFaces(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListImageFacesRequest is the request struct for api ListImageFaces
+type ListImageFacesRequest struct {
+	*requests.RpcRequest
+	MaxKeys requests.Integer `position:"Query" name:"MaxKeys"`
+	Marker  string           `position:"Query" name:"Marker"`
+	Project string           `position:"Query" name:"Project"`
+	SetId   string           `position:"Query" name:"SetId"`
+	SrcUri  string           `position:"Query" name:"SrcUri"`
+}
+
+// ListImageFacesResponse is the response struct for api ListImageFaces
+type ListImageFacesResponse struct {
+	*responses.BaseResponse
+	RequestId  string      `json:"RequestId" xml:"RequestId"`
+	NextMarker string      `json:"NextMarker" xml:"NextMarker"`
+	Faces      []FacesItem `json:"Faces" xml:"Faces"`
+}
+
+// CreateListImageFacesRequest creates a request to invoke ListImageFaces API
+func CreateListImageFacesRequest() (request *ListImageFacesRequest) {
+	request = &ListImageFacesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("imm", "2017-09-06", "ListImageFaces", "imm", "openAPI")
+	return
+}
+
+// CreateListImageFacesResponse creates a response to parse from ListImageFaces response
+func CreateListImageFacesResponse() (response *ListImageFacesResponse) {
+	response = &ListImageFacesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/imm/list_image_jobs.go

@@ -0,0 +1,108 @@
+package imm
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListImageJobs invokes the imm.ListImageJobs API synchronously
+// api document: https://help.aliyun.com/api/imm/listimagejobs.html
+func (client *Client) ListImageJobs(request *ListImageJobsRequest) (response *ListImageJobsResponse, err error) {
+	response = CreateListImageJobsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListImageJobsWithChan invokes the imm.ListImageJobs API asynchronously
+// api document: https://help.aliyun.com/api/imm/listimagejobs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListImageJobsWithChan(request *ListImageJobsRequest) (<-chan *ListImageJobsResponse, <-chan error) {
+	responseChan := make(chan *ListImageJobsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListImageJobs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListImageJobsWithCallback invokes the imm.ListImageJobs API asynchronously
+// api document: https://help.aliyun.com/api/imm/listimagejobs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListImageJobsWithCallback(request *ListImageJobsRequest, callback func(response *ListImageJobsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListImageJobsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListImageJobs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListImageJobsRequest is the request struct for api ListImageJobs
+type ListImageJobsRequest struct {
+	*requests.RpcRequest
+	MaxKeys requests.Integer `position:"Query" name:"MaxKeys"`
+	Marker  string           `position:"Query" name:"Marker"`
+	Project string           `position:"Query" name:"Project"`
+	JobType string           `position:"Query" name:"JobType"`
+}
+
+// ListImageJobsResponse is the response struct for api ListImageJobs
+type ListImageJobsResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	NextMarker string     `json:"NextMarker" xml:"NextMarker"`
+	Jobs       []JobsItem `json:"Jobs" xml:"Jobs"`
+}
+
+// CreateListImageJobsRequest creates a request to invoke ListImageJobs API
+func CreateListImageJobsRequest() (request *ListImageJobsRequest) {
+	request = &ListImageJobsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("imm", "2017-09-06", "ListImageJobs", "imm", "openAPI")
+	return
+}
+
+// CreateListImageJobsResponse creates a response to parse from ListImageJobs response
+func CreateListImageJobsResponse() (response *ListImageJobsResponse) {
+	response = &ListImageJobsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/imm/list_porn_batch_detect_jobs.go

@@ -84,9 +84,9 @@ type ListPornBatchDetectJobsRequest struct {
 // ListPornBatchDetectJobsResponse is the response struct for api ListPornBatchDetectJobs
 type ListPornBatchDetectJobsResponse struct {
 	*responses.BaseResponse
-	RequestId  string     `json:"RequestId" xml:"RequestId"`
-	NextMarker string     `json:"NextMarker" xml:"NextMarker"`
-	Jobs       []JobsItem `json:"Jobs" xml:"Jobs"`
+	RequestId  string                              `json:"RequestId" xml:"RequestId"`
+	NextMarker string                              `json:"NextMarker" xml:"NextMarker"`
+	Jobs       []JobsItemInListPornBatchDetectJobs `json:"Jobs" xml:"Jobs"`
 }
 
 // CreateListPornBatchDetectJobsRequest creates a request to invoke ListPornBatchDetectJobs API

+ 3 - 5
services/imm/struct_regions_item.go → services/imm/struct_faces_in_list_image_faces.go

@@ -15,9 +15,7 @@ package imm
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// RegionsItem is a nested struct in imm response
-type RegionsItem struct {
-	Region   string `json:"Region" xml:"Region"`
-	Status   string `json:"Status" xml:"Status"`
-	ShowName string `json:"ShowName" xml:"ShowName"`
+// FacesInListImageFaces is a nested struct in imm response
+type FacesInListImageFaces struct {
+	FacesItem []FacesItem `json:"FacesItem" xml:"FacesItem"`
 }

+ 1 - 0
services/imm/struct_faces_item.go

@@ -17,6 +17,7 @@ package imm
 
 // FacesItem is a nested struct in imm response
 type FacesItem struct {
+	UnGroupReason string                   `json:"UnGroupReason" xml:"UnGroupReason"`
 	FaceId        string                   `json:"FaceId" xml:"FaceId"`
 	GroupId       string                   `json:"GroupId" xml:"GroupId"`
 	FaceAttribute FaceAttribute            `json:"FaceAttribute" xml:"FaceAttribute"`

+ 21 - 0
services/imm/struct_jobs_in_list_image_jobs.go

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

+ 1 - 1
services/imm/struct_jobs_in_list_porn_batch_detect_jobs.go

@@ -17,5 +17,5 @@ package imm
 
 // JobsInListPornBatchDetectJobs is a nested struct in imm response
 type JobsInListPornBatchDetectJobs struct {
-	JobsItem []JobsItem `json:"JobsItem" xml:"JobsItem"`
+	JobsItem []JobsItemInListPornBatchDetectJobs `json:"JobsItem" xml:"JobsItem"`
 }

+ 11 - 6
services/imm/struct_jobs_item.go

@@ -19,13 +19,18 @@ package imm
 type JobsItem struct {
 	JobId           string `json:"JobId" xml:"JobId"`
 	SetId           string `json:"SetId" xml:"SetId"`
-	Percent         int    `json:"Percent" xml:"Percent"`
-	TgtUri          string `json:"TgtUri" xml:"TgtUri"`
+	Result          string `json:"Result" xml:"Result"`
+	ErrorMessage    string `json:"ErrorMessage" xml:"ErrorMessage"`
 	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
-	NotifyEndpoint  string `json:"NotifyEndpoint" xml:"NotifyEndpoint"`
-	ExternalID      string `json:"ExternalID" xml:"ExternalID"`
-	Status          string `json:"Status" xml:"Status"`
-	NotifyTopicName int    `json:"NotifyTopicName" xml:"NotifyTopicName"`
 	FinishTime      string `json:"FinishTime" xml:"FinishTime"`
 	SrcUri          string `json:"SrcUri" xml:"SrcUri"`
+	Parameters      string `json:"Parameters" xml:"Parameters"`
+	Percent         int    `json:"Percent" xml:"Percent"`
+	StartTime       string `json:"StartTime" xml:"StartTime"`
+	EndTime         string `json:"EndTime" xml:"EndTime"`
+	Progress        int    `json:"Progress" xml:"Progress"`
+	NotifyEndpoint  string `json:"NotifyEndpoint" xml:"NotifyEndpoint"`
+	Status          string `json:"Status" xml:"Status"`
+	NotifyTopicName string `json:"NotifyTopicName" xml:"NotifyTopicName"`
+	JobType         string `json:"JobType" xml:"JobType"`
 }

+ 30 - 0
services/imm/struct_jobs_item_in_list_porn_batch_detect_jobs.go

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

+ 21 - 0
services/imm/struct_project_types.go

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

+ 21 - 0
services/imm/struct_region.go

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

+ 22 - 0
services/imm/struct_region_item.go

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

+ 1 - 1
services/imm/struct_regions.go

@@ -17,5 +17,5 @@ package imm
 
 // Regions is a nested struct in imm response
 type Regions struct {
-	RegionsItem []RegionsItem `json:"RegionsItem" xml:"RegionsItem"`
+	Region []RegionItem `json:"Region" xml:"Region"`
 }