# -*- coding: utf8 -*-
# Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved.
#
# 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.
import warnings
from tencentcloud.common.abstract_model import AbstractModel
class ApplyConcurrentRequest(AbstractModel):
"""ApplyConcurrent请求参数结构体
"""
def __init__(self):
r"""
:param _UserId: 唯一用户身份标识,由业务方自定义,平台不予理解。(可根据业务需要决定使用用户的唯一身份标识或是使用时间戳随机生成;在用户重连时应保持UserId不变)
:type UserId: str
:param _UserIp: 用户IP,用户客户端的公网IP,用于就近调度
:type UserIp: str
:param _ProjectId: 项目ID
:type ProjectId: str
:param _ApplicationVersionId: 应用版本ID。如果请求应用的当前版本,可以不用填写该字段。如果请求应用的其它版本时,才需要通过该字段来指定应用的版本。
:type ApplicationVersionId: str
:param _ApplicationId: 应用ID。如果是独享项目,将忽略该参数,使用项目绑定的应用。如果是共享项目,使用该参数来指定应用。
:type ApplicationId: str
"""
self._UserId = None
self._UserIp = None
self._ProjectId = None
self._ApplicationVersionId = None
self._ApplicationId = None
@property
def UserId(self):
"""唯一用户身份标识,由业务方自定义,平台不予理解。(可根据业务需要决定使用用户的唯一身份标识或是使用时间戳随机生成;在用户重连时应保持UserId不变)
:rtype: str
"""
return self._UserId
@UserId.setter
def UserId(self, UserId):
self._UserId = UserId
@property
def UserIp(self):
"""用户IP,用户客户端的公网IP,用于就近调度
:rtype: str
"""
return self._UserIp
@UserIp.setter
def UserIp(self, UserIp):
self._UserIp = UserIp
@property
def ProjectId(self):
"""项目ID
:rtype: str
"""
return self._ProjectId
@ProjectId.setter
def ProjectId(self, ProjectId):
self._ProjectId = ProjectId
@property
def ApplicationVersionId(self):
"""应用版本ID。如果请求应用的当前版本,可以不用填写该字段。如果请求应用的其它版本时,才需要通过该字段来指定应用的版本。
:rtype: str
"""
return self._ApplicationVersionId
@ApplicationVersionId.setter
def ApplicationVersionId(self, ApplicationVersionId):
self._ApplicationVersionId = ApplicationVersionId
@property
def ApplicationId(self):
"""应用ID。如果是独享项目,将忽略该参数,使用项目绑定的应用。如果是共享项目,使用该参数来指定应用。
:rtype: str
"""
return self._ApplicationId
@ApplicationId.setter
def ApplicationId(self, ApplicationId):
self._ApplicationId = ApplicationId
def _deserialize(self, params):
self._UserId = params.get("UserId")
self._UserIp = params.get("UserIp")
self._ProjectId = params.get("ProjectId")
self._ApplicationVersionId = params.get("ApplicationVersionId")
self._ApplicationId = params.get("ApplicationId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ApplyConcurrentResponse(AbstractModel):
"""ApplyConcurrent返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class CreateSessionRequest(AbstractModel):
"""CreateSession请求参数结构体
"""
def __init__(self):
r"""
:param _UserId: 唯一用户身份标识,由业务方自定义,平台不予理解。(可根据业务需要决定使用用户的唯一身份标识或是使用时间戳随机生成;在用户重连时应保持UserId不变)
:type UserId: str
:param _UserIp: 用户IP,用户客户端的公网IP,用于就近调度
:type UserIp: str
:param _ClientSession: 客户端session信息,从SDK请求中获得。特殊的,当 RunMode 参数为 RunWithoutClient 时,该字段可以为空
:type ClientSession: str
:param _RunMode: 云端运行模式。
RunWithoutClient:允许无客户端连接的情况下仍保持云端 App 运行
默认值(空):要求必须有客户端连接才会保持云端 App 运行。
:type RunMode: str
:param _ApplicationParameters: 应用启动参数。
如果请求的是多应用共享项目,此参数生效;
如果请求的是关闭预启动的单应用独享项目,此参数生效;
如果请求的是开启预启动的单应用独享项目,此参数失效。
注意:在此参数生效的情况下,将会被追加到控制台应用或项目配置的启动参数的后面。
例如,对于某关闭预启动的单应用独享项目,若在控制台中项目配置的启动参数为bar=0,而ApplicationParameters参数为foo=1,则实际应用启动参数为bar=0 foo=1。
:type ApplicationParameters: str
:param _HostUserId: 【多人互动】房主用户ID,在多人互动模式下为必填字段。
如果该用户是房主,HostUserId需要和UserId保持一致;
如果该用户非房主,HostUserId需要填写房主的HostUserId。
:type HostUserId: str
:param _Role: 【多人互动】角色。
Player:玩家(可通过键鼠等操作应用)
Viewer:观察者(只能观看,无法操作)
:type Role: str
"""
self._UserId = None
self._UserIp = None
self._ClientSession = None
self._RunMode = None
self._ApplicationParameters = None
self._HostUserId = None
self._Role = None
@property
def UserId(self):
"""唯一用户身份标识,由业务方自定义,平台不予理解。(可根据业务需要决定使用用户的唯一身份标识或是使用时间戳随机生成;在用户重连时应保持UserId不变)
:rtype: str
"""
return self._UserId
@UserId.setter
def UserId(self, UserId):
self._UserId = UserId
@property
def UserIp(self):
"""用户IP,用户客户端的公网IP,用于就近调度
:rtype: str
"""
return self._UserIp
@UserIp.setter
def UserIp(self, UserIp):
self._UserIp = UserIp
@property
def ClientSession(self):
"""客户端session信息,从SDK请求中获得。特殊的,当 RunMode 参数为 RunWithoutClient 时,该字段可以为空
:rtype: str
"""
return self._ClientSession
@ClientSession.setter
def ClientSession(self, ClientSession):
self._ClientSession = ClientSession
@property
def RunMode(self):
"""云端运行模式。
RunWithoutClient:允许无客户端连接的情况下仍保持云端 App 运行
默认值(空):要求必须有客户端连接才会保持云端 App 运行。
:rtype: str
"""
return self._RunMode
@RunMode.setter
def RunMode(self, RunMode):
self._RunMode = RunMode
@property
def ApplicationParameters(self):
"""应用启动参数。
如果请求的是多应用共享项目,此参数生效;
如果请求的是关闭预启动的单应用独享项目,此参数生效;
如果请求的是开启预启动的单应用独享项目,此参数失效。
注意:在此参数生效的情况下,将会被追加到控制台应用或项目配置的启动参数的后面。
例如,对于某关闭预启动的单应用独享项目,若在控制台中项目配置的启动参数为bar=0,而ApplicationParameters参数为foo=1,则实际应用启动参数为bar=0 foo=1。
:rtype: str
"""
return self._ApplicationParameters
@ApplicationParameters.setter
def ApplicationParameters(self, ApplicationParameters):
self._ApplicationParameters = ApplicationParameters
@property
def HostUserId(self):
"""【多人互动】房主用户ID,在多人互动模式下为必填字段。
如果该用户是房主,HostUserId需要和UserId保持一致;
如果该用户非房主,HostUserId需要填写房主的HostUserId。
:rtype: str
"""
return self._HostUserId
@HostUserId.setter
def HostUserId(self, HostUserId):
self._HostUserId = HostUserId
@property
def Role(self):
"""【多人互动】角色。
Player:玩家(可通过键鼠等操作应用)
Viewer:观察者(只能观看,无法操作)
:rtype: str
"""
return self._Role
@Role.setter
def Role(self, Role):
self._Role = Role
def _deserialize(self, params):
self._UserId = params.get("UserId")
self._UserIp = params.get("UserIp")
self._ClientSession = params.get("ClientSession")
self._RunMode = params.get("RunMode")
self._ApplicationParameters = params.get("ApplicationParameters")
self._HostUserId = params.get("HostUserId")
self._Role = params.get("Role")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateSessionResponse(AbstractModel):
"""CreateSession返回参数结构体
"""
def __init__(self):
r"""
:param _ServerSession: 服务端session信息,返回给SDK
:type ServerSession: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._ServerSession = None
self._RequestId = None
@property
def ServerSession(self):
"""服务端session信息,返回给SDK
:rtype: str
"""
return self._ServerSession
@ServerSession.setter
def ServerSession(self, ServerSession):
self._ServerSession = ServerSession
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._ServerSession = params.get("ServerSession")
self._RequestId = params.get("RequestId")
class DestroySessionRequest(AbstractModel):
"""DestroySession请求参数结构体
"""
def __init__(self):
r"""
:param _UserId: 唯一用户身份标识,由业务方自定义,平台不予理解。(可根据业务需要决定使用用户的唯一身份标识或是使用时间戳随机生成;在用户重连时应保持UserId不变)
:type UserId: str
"""
self._UserId = None
@property
def UserId(self):
"""唯一用户身份标识,由业务方自定义,平台不予理解。(可根据业务需要决定使用用户的唯一身份标识或是使用时间戳随机生成;在用户重连时应保持UserId不变)
:rtype: str
"""
return self._UserId
@UserId.setter
def UserId(self, UserId):
self._UserId = UserId
def _deserialize(self, params):
self._UserId = params.get("UserId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DestroySessionResponse(AbstractModel):
"""DestroySession返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class StartPublishStreamRequest(AbstractModel):
"""StartPublishStream请求参数结构体
"""
def __init__(self):
r"""
:param _UserId: 唯一用户身份标识,由业务方自定义,平台不予理解。(UserId将作为StreamId进行推流,比如绑定推流域名为abc.livepush.myqcloud.com,那么推流地址为rtmp://abc.livepush.myqcloud.com/live/UserId?txSecret=xxx&txTime=xxx)
:type UserId: str
:param _PublishStreamArgs: 推流参数,推流时携带自定义参数。
:type PublishStreamArgs: str
"""
self._UserId = None
self._PublishStreamArgs = None
@property
def UserId(self):
"""唯一用户身份标识,由业务方自定义,平台不予理解。(UserId将作为StreamId进行推流,比如绑定推流域名为abc.livepush.myqcloud.com,那么推流地址为rtmp://abc.livepush.myqcloud.com/live/UserId?txSecret=xxx&txTime=xxx)
:rtype: str
"""
return self._UserId
@UserId.setter
def UserId(self, UserId):
self._UserId = UserId
@property
def PublishStreamArgs(self):
"""推流参数,推流时携带自定义参数。
:rtype: str
"""
return self._PublishStreamArgs
@PublishStreamArgs.setter
def PublishStreamArgs(self, PublishStreamArgs):
self._PublishStreamArgs = PublishStreamArgs
def _deserialize(self, params):
self._UserId = params.get("UserId")
self._PublishStreamArgs = params.get("PublishStreamArgs")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StartPublishStreamResponse(AbstractModel):
"""StartPublishStream返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class StartPublishStreamWithURLRequest(AbstractModel):
"""StartPublishStreamWithURL请求参数结构体
"""
def __init__(self):
r"""
:param _UserId: 唯一用户身份标识,由业务方自定义,平台不予理解。
:type UserId: str
:param _PublishStreamURL: 推流地址,仅支持rtmp协议。
:type PublishStreamURL: str
"""
self._UserId = None
self._PublishStreamURL = None
@property
def UserId(self):
"""唯一用户身份标识,由业务方自定义,平台不予理解。
:rtype: str
"""
return self._UserId
@UserId.setter
def UserId(self, UserId):
self._UserId = UserId
@property
def PublishStreamURL(self):
"""推流地址,仅支持rtmp协议。
:rtype: str
"""
return self._PublishStreamURL
@PublishStreamURL.setter
def PublishStreamURL(self, PublishStreamURL):
self._PublishStreamURL = PublishStreamURL
def _deserialize(self, params):
self._UserId = params.get("UserId")
self._PublishStreamURL = params.get("PublishStreamURL")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StartPublishStreamWithURLResponse(AbstractModel):
"""StartPublishStreamWithURL返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class StopPublishStreamRequest(AbstractModel):
"""StopPublishStream请求参数结构体
"""
def __init__(self):
r"""
:param _UserId: 唯一用户身份标识,由业务方自定义,平台不予理解。(可根据业务需要决定使用用户的唯一身份标识或是使用时间戳随机生成;在用户重连时应保持UserId不变)
:type UserId: str
"""
self._UserId = None
@property
def UserId(self):
"""唯一用户身份标识,由业务方自定义,平台不予理解。(可根据业务需要决定使用用户的唯一身份标识或是使用时间戳随机生成;在用户重连时应保持UserId不变)
:rtype: str
"""
return self._UserId
@UserId.setter
def UserId(self, UserId):
self._UserId = UserId
def _deserialize(self, params):
self._UserId = params.get("UserId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StopPublishStreamResponse(AbstractModel):
"""StopPublishStream返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")