فهرست منبع

VOD SDK Auto Released By guzhaoyuan,Version:1.40.3

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 سال پیش
والد
کامیت
da4e8a6c59

+ 5 - 0
ChangeLog.txt

@@ -1,3 +1,8 @@
+2018-11-21 Version: 1.40.3
+1, Add new apis called AddWatermark, UpdateWatermark, DeleteWatermark, ListWatermarks, GetWatermark and SetDefaultWatermark which support watermark feature.
+2, Add a new api called RegisterMedia which supports registration of audio and video media files that already exist in the OSS bucket.
+3, Add the field named OverrideParams to SubmitTranscodeJobs api request.
+
 2018-11-20 Version: 1.40.2
 1, Fix Compatibility Problems
 

+ 110 - 0
services/vod/add_watermark.go

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

+ 106 - 0
services/vod/delete_watermark.go

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

+ 1 - 0
services/vod/get_video_list.go

@@ -86,6 +86,7 @@ type GetVideoListRequest struct {
 	StartTime            string           `position:"Query" name:"StartTime"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Status               string           `position:"Query" name:"Status"`
+	StorageLocation      string           `position:"Query" name:"StorageLocation"`
 }
 
 // GetVideoListResponse is the response struct for api GetVideoList

+ 107 - 0
services/vod/get_watermark.go

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

+ 106 - 0
services/vod/list_watermark.go

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

+ 111 - 0
services/vod/register_media.go

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

+ 106 - 0
services/vod/set_default_watermark.go

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

+ 21 - 0
services/vod/struct_detail.go

@@ -0,0 +1,21 @@
+package vod
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 vod response
+type Detail struct {
+	DetailItem []DetailItem `json:"DetailItem" xml:"DetailItem"`
+}

+ 22 - 0
services/vod/struct_detail_item.go

@@ -0,0 +1,22 @@
+package vod
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 vod response
+type DetailItem struct {
+	Input       Input       `json:"Input" xml:"Input"`
+	Duplication Duplication `json:"Duplication" xml:"Duplication"`
+}

+ 21 - 0
services/vod/struct_dna_result.go

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

+ 1 - 1
services/vod/struct_duplication.go

@@ -17,6 +17,6 @@ package vod
 
 // Duplication is a nested struct in vod response
 type Duplication struct {
-	Start    string `json:"Start" xml:"Start"`
 	Duration string `json:"Duration" xml:"Duration"`
+	Start    string `json:"Start" xml:"Start"`
 }

+ 21 - 0
services/vod/struct_failed_file_ur_ls.go

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

+ 34 - 0
services/vod/struct_image.go

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

+ 1 - 1
services/vod/struct_input.go

@@ -17,6 +17,6 @@ package vod
 
 // Input is a nested struct in vod response
 type Input struct {
-	Start    string `json:"Start" xml:"Start"`
 	Duration string `json:"Duration" xml:"Duration"`
+	Start    string `json:"Start" xml:"Start"`
 }

+ 1 - 0
services/vod/struct_media.go

@@ -22,4 +22,5 @@ type Media struct {
 	MediaId      string `json:"MediaId" xml:"MediaId"`
 	Video        Video  `json:"Video" xml:"Video"`
 	Audio        Audio  `json:"Audio" xml:"Audio"`
+	Image        Image  `json:"Image" xml:"Image"`
 }

+ 23 - 0
services/vod/struct_registered_media.go

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

+ 21 - 0
services/vod/struct_registered_media_list.go

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

+ 21 - 0
services/vod/struct_video_dna.go

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

+ 23 - 0
services/vod/struct_video_dna_item.go

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

+ 1 - 0
services/vod/struct_video_in_get_video_list.go

@@ -31,5 +31,6 @@ type VideoInGetVideoList struct {
 	CoverURL         string                  `json:"CoverURL" xml:"CoverURL"`
 	CateId           int                     `json:"CateId" xml:"CateId"`
 	CateName         string                  `json:"CateName" xml:"CateName"`
+	StorageLocation  string                  `json:"StorageLocation" xml:"StorageLocation"`
 	Snapshots        SnapshotsInGetVideoList `json:"Snapshots" xml:"Snapshots"`
 }

+ 27 - 0
services/vod/struct_watermark_info.go

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

+ 21 - 0
services/vod/struct_watermark_infos.go

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

+ 1 - 0
services/vod/submit_transcode_jobs.go

@@ -80,6 +80,7 @@ type SubmitTranscodeJobsRequest struct {
 	TemplateGroupId      string           `position:"Query" name:"TemplateGroupId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	VideoId              string           `position:"Query" name:"VideoId"`
+	OverrideParams       string           `position:"Query" name:"OverrideParams"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	EncryptConfig        string           `position:"Query" name:"EncryptConfig"`
 	PipelineId           string           `position:"Query" name:"PipelineId"`

+ 109 - 0
services/vod/update_watermark.go

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

+ 2 - 2
services/vod/upload_media_by_url.go

@@ -90,8 +90,8 @@ type UploadMediaByURLRequest struct {
 // UploadMediaByURLResponse is the response struct for api UploadMediaByURL
 type UploadMediaByURLResponse struct {
 	*responses.BaseResponse
-	RequestId  string     `json:"RequestId" xml:"RequestId"`
-	UploadJobs UploadJobs `json:"UploadJobs" xml:"UploadJobs"`
+	RequestId  string      `json:"RequestId" xml:"RequestId"`
+	UploadJobs []UploadJob `json:"UploadJobs" xml:"UploadJobs"`
 }
 
 // CreateUploadMediaByURLRequest creates a request to invoke UploadMediaByURL API