UNPKG

tencentcloud-sdk-nodejs-intl-en

Version:
1,953 lines (1,640 loc) • 130 kB
/* * Copyright (c) 2018 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. */ const AbstractModel = require("../../common/abstract_model"); /** * Output destination address. * @class */ class OutputAddress extends AbstractModel { constructor(){ super(); /** * Output destination IP. * @type {string || null} */ this.Ip = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Ip = 'Ip' in params ? params.Ip : null; } } /** * RTMP pull URL of the output * @class */ class DescribeOutputRTMPPullServerUrl extends AbstractModel { constructor(){ super(); /** * `tcUrl` of the RTMP pull URL * @type {string || null} */ this.TcUrl = null; /** * Stream key of the RTMP pull URL * @type {string || null} */ this.StreamKey = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.TcUrl = 'TcUrl' in params ? params.TcUrl : null; this.StreamKey = 'StreamKey' in params ? params.StreamKey : null; } } /** * RTP configuration information of the queried input. * @class */ class DescribeInputRTPSettings extends AbstractModel { constructor(){ super(); /** * Whether it is FEC. * @type {string || null} */ this.FEC = null; /** * Idle timeout period. * @type {number || null} */ this.IdleTimeout = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.FEC = 'FEC' in params ? params.FEC : null; this.IdleTimeout = 'IdleTimeout' in params ? params.IdleTimeout : null; } } /** * The real-time RTP streaming information of a flow. * @class */ class FlowRealtimeStatusRTP extends AbstractModel { constructor(){ super(); /** * The number of packets transmitted. * @type {number || null} */ this.Packets = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Packets = 'Packets' in params ? params.Packets : null; } } /** * DescribeStreamLinkRegions request structure. * @class */ class DescribeStreamLinkRegionsRequest extends AbstractModel { constructor(){ super(); } /** * @private */ deserialize(params) { if (!params) { return; } } } /** * DeleteStreamLinkFlow request structure. * @class */ class DeleteStreamLinkFlowRequest extends AbstractModel { constructor(){ super(); /** * Flow ID * @type {string || null} */ this.FlowId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.FlowId = 'FlowId' in params ? params.FlowId : null; } } /** * ModifyStreamLinkInput response structure. * @class */ class ModifyStreamLinkInputResponse extends AbstractModel { constructor(){ super(); /** * The input information after modification. * @type {DescribeInput || null} */ this.Info = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.Info) { let obj = new DescribeInput(); obj.deserialize(params.Info) this.Info = obj; } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * The SRT destination address of the output to create. * @class */ class CreateOutputSrtSettingsDestinations extends AbstractModel { constructor(){ super(); /** * The output IP. * @type {string || null} */ this.Ip = null; /** * The output port. * @type {number || null} */ this.Port = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Ip = 'Ip' in params ? params.Ip : null; this.Port = 'Port' in params ? params.Port : null; } } /** * DescribeStreamLinkFlowStatistics request structure. * @class */ class DescribeStreamLinkFlowStatisticsRequest extends AbstractModel { constructor(){ super(); /** * The flow ID. * @type {string || null} */ this.FlowId = null; /** * Whether to query the inputs or outputs. Valid values: input, output. * @type {string || null} */ this.Type = null; /** * The input or output ID. * @type {string || null} */ this.InputOutputId = null; /** * Whether to query the primary or backup pipeline. Valid values: 0, 1. * @type {string || null} */ this.Pipeline = null; /** * The query interval. Valid values: 5s, 1min, 5min, 15min. * @type {string || null} */ this.Period = null; /** * The start time for query, which is 1 hour ago by default. You can query statistics in the last 7 days. It must be in UTC format, such as `2020-01-01T12:00:00Z`. * @type {string || null} */ this.StartTime = null; /** * The end time for query, which is 1 hour after the start time by default. The longest time range allowed for query is 24 hours. It must be in UTC format, such as `2020-01-01T12:00:00Z`. * @type {string || null} */ this.EndTime = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.FlowId = 'FlowId' in params ? params.FlowId : null; this.Type = 'Type' in params ? params.Type : null; this.InputOutputId = 'InputOutputId' in params ? params.InputOutputId : null; this.Pipeline = 'Pipeline' in params ? params.Pipeline : null; this.Period = 'Period' in params ? params.Period : null; this.StartTime = 'StartTime' in params ? params.StartTime : null; this.EndTime = 'EndTime' in params ? params.EndTime : null; } } /** * StopStreamLinkFlow response structure. * @class */ class StopStreamLinkFlowResponse extends AbstractModel { constructor(){ super(); /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * ModifyStreamLinkOutputInfo response structure. * @class */ class ModifyStreamLinkOutputInfoResponse extends AbstractModel { constructor(){ super(); /** * The output configuration after modification. * @type {DescribeOutput || null} */ this.Info = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.Info) { let obj = new DescribeOutput(); obj.deserialize(params.Info) this.Info = obj; } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * The SRT streaming performance data. * @class */ class FlowSRTInfo extends AbstractModel { constructor(){ super(); /** * The timestamp (seconds). * @type {number || null} */ this.Timestamp = null; /** * The packet loss rate for sending. * @type {number || null} */ this.SendPacketLossRate = null; /** * The retry rate for sending. * @type {number || null} */ this.SendRetransmissionRate = null; /** * The packet loss rate for receiving. * @type {number || null} */ this.RecvPacketLossRate = null; /** * The retry rate for receiving. * @type {number || null} */ this.RecvRetransmissionRate = null; /** * The peer RTT. * @type {number || null} */ this.RTT = null; /** * The ID of a push session. * @type {string || null} */ this.SessionId = null; /** * The number of dropped packets for sending. * @type {number || null} */ this.SendPacketDropNumber = null; /** * The number of dropped packets for receiving. * @type {number || null} */ this.RecvPacketDropNumber = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Timestamp = 'Timestamp' in params ? params.Timestamp : null; this.SendPacketLossRate = 'SendPacketLossRate' in params ? params.SendPacketLossRate : null; this.SendRetransmissionRate = 'SendRetransmissionRate' in params ? params.SendRetransmissionRate : null; this.RecvPacketLossRate = 'RecvPacketLossRate' in params ? params.RecvPacketLossRate : null; this.RecvRetransmissionRate = 'RecvRetransmissionRate' in params ? params.RecvRetransmissionRate : null; this.RTT = 'RTT' in params ? params.RTT : null; this.SessionId = 'SessionId' in params ? params.SessionId : null; this.SendPacketDropNumber = 'SendPacketDropNumber' in params ? params.SendPacketDropNumber : null; this.RecvPacketDropNumber = 'RecvPacketDropNumber' in params ? params.RecvPacketDropNumber : null; } } /** * The SRT input address. * @class */ class SRTSourceAddressResp extends AbstractModel { constructor(){ super(); /** * The peer IP. * @type {string || null} */ this.Ip = null; /** * The peer port. * @type {number || null} */ this.Port = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Ip = 'Ip' in params ? params.Ip : null; this.Port = 'Port' in params ? params.Port : null; } } /** * Configuration information of the queried input. * @class */ class DescribeInput extends AbstractModel { constructor(){ super(); /** * Input ID. * @type {string || null} */ this.InputId = null; /** * Input name. * @type {string || null} */ this.InputName = null; /** * Input description. Note: this field may return null, indicating that no valid values can be obtained. * @type {string || null} */ this.Description = null; /** * Input protocol. * @type {string || null} */ this.Protocol = null; /** * Input address list. * @type {Array.<InputAddress> || null} */ this.InputAddressList = null; /** * Input IP allowlist. * @type {Array.<string> || null} */ this.AllowIpList = null; /** * SRT configuration information of input. Note: this field may return null, indicating that no valid values can be obtained. * @type {DescribeInputSRTSettings || null} */ this.SRTSettings = null; /** * RTP configuration information of input. Note: this field may return null, indicating that no valid values can be obtained. * @type {DescribeInputRTPSettings || null} */ this.RTPSettings = null; /** * Input region. * @type {string || null} */ this.InputRegion = null; /** * RTMP configuration information of an input * @type {DescribeInputRTMPSettings || null} */ this.RTMPSettings = null; /** * Input failover Note: this field may return `null`, indicating that no valid value was found. * @type {string || null} */ this.FailOver = null; /** * * @type {DescribeInputRTMPPullSettings || null} */ this.RTMPPullSettings = null; /** * * @type {DescribeInputRTSPPullSettings || null} */ this.RTSPPullSettings = null; /** * * @type {DescribeInputHLSPullSettings || null} */ this.HLSPullSettings = null; /** * * @type {ResilientStreamConf || null} */ this.ResilientStream = null; /** * The bound security group ID. * @type {Array.<string> || null} */ this.SecurityGroupIds = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.InputId = 'InputId' in params ? params.InputId : null; this.InputName = 'InputName' in params ? params.InputName : null; this.Description = 'Description' in params ? params.Description : null; this.Protocol = 'Protocol' in params ? params.Protocol : null; if (params.InputAddressList) { this.InputAddressList = new Array(); for (let z in params.InputAddressList) { let obj = new InputAddress(); obj.deserialize(params.InputAddressList[z]); this.InputAddressList.push(obj); } } this.AllowIpList = 'AllowIpList' in params ? params.AllowIpList : null; if (params.SRTSettings) { let obj = new DescribeInputSRTSettings(); obj.deserialize(params.SRTSettings) this.SRTSettings = obj; } if (params.RTPSettings) { let obj = new DescribeInputRTPSettings(); obj.deserialize(params.RTPSettings) this.RTPSettings = obj; } this.InputRegion = 'InputRegion' in params ? params.InputRegion : null; if (params.RTMPSettings) { let obj = new DescribeInputRTMPSettings(); obj.deserialize(params.RTMPSettings) this.RTMPSettings = obj; } this.FailOver = 'FailOver' in params ? params.FailOver : null; if (params.RTMPPullSettings) { let obj = new DescribeInputRTMPPullSettings(); obj.deserialize(params.RTMPPullSettings) this.RTMPPullSettings = obj; } if (params.RTSPPullSettings) { let obj = new DescribeInputRTSPPullSettings(); obj.deserialize(params.RTSPPullSettings) this.RTSPPullSettings = obj; } if (params.HLSPullSettings) { let obj = new DescribeInputHLSPullSettings(); obj.deserialize(params.HLSPullSettings) this.HLSPullSettings = obj; } if (params.ResilientStream) { let obj = new ResilientStreamConf(); obj.deserialize(params.ResilientStream) this.ResilientStream = obj; } this.SecurityGroupIds = 'SecurityGroupIds' in params ? params.SecurityGroupIds : null; } } /** * The media data of a flow. * @class */ class FlowMediaInfo extends AbstractModel { constructor(){ super(); /** * The timestamp (seconds). * @type {number || null} */ this.Timestamp = null; /** * The total bandwidth. * @type {number || null} */ this.Network = null; /** * The video data of the flow. * @type {Array.<FlowMediaVideo> || null} */ this.Video = null; /** * The audio data of the flow. * @type {Array.<FlowMediaAudio> || null} */ this.Audio = null; /** * The ID of a push session. * @type {string || null} */ this.SessionId = null; /** * The client IP. * @type {string || null} */ this.ClientIp = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Timestamp = 'Timestamp' in params ? params.Timestamp : null; this.Network = 'Network' in params ? params.Network : null; if (params.Video) { this.Video = new Array(); for (let z in params.Video) { let obj = new FlowMediaVideo(); obj.deserialize(params.Video[z]); this.Video.push(obj); } } if (params.Audio) { this.Audio = new Array(); for (let z in params.Audio) { let obj = new FlowMediaAudio(); obj.deserialize(params.Audio[z]); this.Audio.push(obj); } } this.SessionId = 'SessionId' in params ? params.SessionId : null; this.ClientIp = 'ClientIp' in params ? params.ClientIp : null; } } /** * SRT configuration information of the queried output. * @class */ class DescribeOutputSRTSettings extends AbstractModel { constructor(){ super(); /** * A list of the destination addresses for relay. This parameter is valid if `Mode` is `CALLER`. Note: This field may return `null`, indicating that no valid value can be obtained. * @type {Array.<SRTAddressDestination> || null} */ this.Destinations = null; /** * Stream ID. Note: this field may return null, indicating that no valid values can be obtained. * @type {string || null} */ this.StreamId = null; /** * Latency. Note: this field may return null, indicating that no valid values can be obtained. * @type {number || null} */ this.Latency = null; /** * Receive latency. Note: this field may return null, indicating that no valid values can be obtained. * @type {number || null} */ this.RecvLatency = null; /** * Peer latency. Note: this field may return null, indicating that no valid values can be obtained. * @type {number || null} */ this.PeerLatency = null; /** * Peer idle timeout period. Note: this field may return null, indicating that no valid values can be obtained. * @type {number || null} */ this.PeerIdleTimeout = null; /** * Encryption key. Note: this field may return null, indicating that no valid values can be obtained. * @type {string || null} */ this.Passphrase = null; /** * Encryption key length. Note: this field may return null, indicating that no valid values can be obtained. * @type {number || null} */ this.PbKeyLen = null; /** * The SRT mode. Note: This field may return `null`, indicating that no valid value can be obtained. * @type {string || null} */ this.Mode = null; /** * The server’s listen address, which is valid if `Mode` is `LISTENER`. Note: This field may return `null`, indicating that no valid value can be obtained. * @type {Array.<OutputSRTSourceAddressResp> || null} */ this.SourceAddresses = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.Destinations) { this.Destinations = new Array(); for (let z in params.Destinations) { let obj = new SRTAddressDestination(); obj.deserialize(params.Destinations[z]); this.Destinations.push(obj); } } this.StreamId = 'StreamId' in params ? params.StreamId : null; this.Latency = 'Latency' in params ? params.Latency : null; this.RecvLatency = 'RecvLatency' in params ? params.RecvLatency : null; this.PeerLatency = 'PeerLatency' in params ? params.PeerLatency : null; this.PeerIdleTimeout = 'PeerIdleTimeout' in params ? params.PeerIdleTimeout : null; this.Passphrase = 'Passphrase' in params ? params.Passphrase : null; this.PbKeyLen = 'PbKeyLen' in params ? params.PbKeyLen : null; this.Mode = 'Mode' in params ? params.Mode : null; if (params.SourceAddresses) { this.SourceAddresses = new Array(); for (let z in params.SourceAddresses) { let obj = new OutputSRTSourceAddressResp(); obj.deserialize(params.SourceAddresses[z]); this.SourceAddresses.push(obj); } } } } /** * * @class */ class DescribeRTMPPullSourceAddress extends AbstractModel { constructor(){ super(); /** * * @type {string || null} */ this.TcUrl = null; /** * * @type {string || null} */ this.StreamKey = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.TcUrl = 'TcUrl' in params ? params.TcUrl : null; this.StreamKey = 'StreamKey' in params ? params.StreamKey : null; } } /** * RTMP pull configuration of the output * @class */ class DescribeOutputRTMPPullSettings extends AbstractModel { constructor(){ super(); /** * List of pull URLs Note: This field may return `null`, indicating that no valid value was found. * @type {Array.<DescribeOutputRTMPPullServerUrl> || null} */ this.ServerUrls = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.ServerUrls) { this.ServerUrls = new Array(); for (let z in params.ServerUrls) { let obj = new DescribeOutputRTMPPullServerUrl(); obj.deserialize(params.ServerUrls[z]); this.ServerUrls.push(obj); } } } } /** * DescribeStreamLinkFlowSRTStatistics response structure. * @class */ class DescribeStreamLinkFlowSRTStatisticsResponse extends AbstractModel { constructor(){ super(); /** * A list of the SRT streaming performance data. * @type {Array.<FlowSRTInfo> || null} */ this.Infos = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.Infos) { this.Infos = new Array(); for (let z in params.Infos) { let obj = new FlowSRTInfo(); obj.deserialize(params.Infos[z]); this.Infos.push(obj); } } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * The new output configuration. * @class */ class ModifyOutputInfo extends AbstractModel { constructor(){ super(); /** * The ID of the output to modify. * @type {string || null} */ this.OutputId = null; /** * The output name. * @type {string || null} */ this.OutputName = null; /** * The description of the output. * @type {string || null} */ this.Description = null; /** * The output protocol. Valid values: SRT, RTP, RTMP. * @type {string || null} */ this.Protocol = null; /** * The SRT relay configuration. * @type {CreateOutputSrtSettings || null} */ this.SRTSettings = null; /** * The RTP relay configuration. * @type {CreateOutputInfoRTPSettings || null} */ this.RTPSettings = null; /** * The RTMP relay configuration. * @type {CreateOutputRTMPSettings || null} */ this.RTMPSettings = null; /** * IP whitelist, in CIDR format, such as 0.0.0.0/0. This is valid when Protocol is RTMP_PULL, and empty means no restriction on client IP. * @type {Array.<string> || null} */ this.AllowIpList = null; /** * The maximum number of concurrent stream pulls is 4, and the default value is 4. * @type {number || null} */ this.MaxConcurrent = null; /** * The bound security group IDs. * @type {Array.<string> || null} */ this.SecurityGroupIds = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.OutputId = 'OutputId' in params ? params.OutputId : null; this.OutputName = 'OutputName' in params ? params.OutputName : null; this.Description = 'Description' in params ? params.Description : null; this.Protocol = 'Protocol' in params ? params.Protocol : null; if (params.SRTSettings) { let obj = new CreateOutputSrtSettings(); obj.deserialize(params.SRTSettings) this.SRTSettings = obj; } if (params.RTPSettings) { let obj = new CreateOutputInfoRTPSettings(); obj.deserialize(params.RTPSettings) this.RTPSettings = obj; } if (params.RTMPSettings) { let obj = new CreateOutputRTMPSettings(); obj.deserialize(params.RTMPSettings) this.RTMPSettings = obj; } this.AllowIpList = 'AllowIpList' in params ? params.AllowIpList : null; this.MaxConcurrent = 'MaxConcurrent' in params ? params.MaxConcurrent : null; this.SecurityGroupIds = 'SecurityGroupIds' in params ? params.SecurityGroupIds : null; } } /** * RTP configuration information of the created input. * @class */ class CreateInputRTPSettings extends AbstractModel { constructor(){ super(); /** * Default value: none. Valid values: ['none']. * @type {string || null} */ this.FEC = null; /** * Idle timeout period in ms. Default value: 5000. Value range: [1000, 10000]. * @type {number || null} */ this.IdleTimeout = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.FEC = 'FEC' in params ? params.FEC : null; this.IdleTimeout = 'IdleTimeout' in params ? params.IdleTimeout : null; } } /** * CreateStreamLinkOutputInfo response structure. * @class */ class CreateStreamLinkOutputInfoResponse extends AbstractModel { constructor(){ super(); /** * The information of the created output. * @type {DescribeOutput || null} */ this.Info = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.Info) { let obj = new DescribeOutput(); obj.deserialize(params.Info) this.Info = obj; } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * Destination address information of RTP push. * @class */ class RTPAddressDestination extends AbstractModel { constructor(){ super(); /** * Push destination address IP. * @type {string || null} */ this.Ip = null; /** * Push destination address port. * @type {number || null} */ this.Port = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Ip = 'Ip' in params ? params.Ip : null; this.Port = 'Port' in params ? params.Port : null; } } /** * DescribeStreamLinkFlowLogs response structure. * @class */ class DescribeStreamLinkFlowLogsResponse extends AbstractModel { constructor(){ super(); /** * A list of the logs. * @type {Array.<FlowLogInfo> || null} */ this.Infos = null; /** * The current page number. * @type {number || null} */ this.PageNum = null; /** * The number of records per page. * @type {number || null} */ this.PageSize = null; /** * The total number of records. * @type {number || null} */ this.TotalNum = null; /** * The total number of pages. * @type {number || null} */ this.TotalPage = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.Infos) { this.Infos = new Array(); for (let z in params.Infos) { let obj = new FlowLogInfo(); obj.deserialize(params.Infos[z]); this.Infos.push(obj); } } this.PageNum = 'PageNum' in params ? params.PageNum : null; this.PageSize = 'PageSize' in params ? params.PageSize : null; this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; this.TotalPage = 'TotalPage' in params ? params.TotalPage : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * Configuration information of the queried output. * @class */ class DescribeOutput extends AbstractModel { constructor(){ super(); /** * Output ID. * @type {string || null} */ this.OutputId = null; /** * Output name. * @type {string || null} */ this.OutputName = null; /** * Output type. * @type {string || null} */ this.OutputType = null; /** * Output description. Note: this field may return null, indicating that no valid values can be obtained. * @type {string || null} */ this.Description = null; /** * Output protocol. * @type {string || null} */ this.Protocol = null; /** * Output destination address information list. * @type {Array.<OutputAddress> || null} */ this.OutputAddressList = null; /** * Output region. Note: this field may return null, indicating that no valid values can be obtained. * @type {string || null} */ this.OutputRegion = null; /** * SRT configuration information of output. Note: this field may return null, indicating that no valid values can be obtained. * @type {DescribeOutputSRTSettings || null} */ this.SRTSettings = null; /** * RTP configuration information of output. Note: this field may return null, indicating that no valid values can be obtained. * @type {DescribeOutputRTPSettings || null} */ this.RTPSettings = null; /** * RTMP configuration information of output. Note: this field may return null, indicating that no valid values can be obtained. * @type {DescribeOutputRTMPSettings || null} */ this.RTMPSettings = null; /** * RTMP pull configuration of the output Note: This field may return `null`, indicating that no valid value was found. * @type {DescribeOutputRTMPPullSettings || null} */ this.RTMPPullSettings = null; /** * CIDR allowlist This parameter is valid if `Protocol` is set to `RTMP_PULL`. If this parameter is left empty, there is no restriction on clients’ IP addresses. Note: This field may return `null`, indicating that no valid value was found. * @type {Array.<string> || null} */ this.AllowIpList = null; /** * * @type {DescribeOutputRTSPPullSettings || null} */ this.RTSPPullSettings = null; /** * * @type {DescribeOutputHLSPullSettings || null} */ this.HLSPullSettings = null; /** * * @type {number || null} */ this.MaxConcurrent = null; /** * The bound security group IDs. * @type {Array.<string> || null} */ this.SecurityGroupIds = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.OutputId = 'OutputId' in params ? params.OutputId : null; this.OutputName = 'OutputName' in params ? params.OutputName : null; this.OutputType = 'OutputType' in params ? params.OutputType : null; this.Description = 'Description' in params ? params.Description : null; this.Protocol = 'Protocol' in params ? params.Protocol : null; if (params.OutputAddressList) { this.OutputAddressList = new Array(); for (let z in params.OutputAddressList) { let obj = new OutputAddress(); obj.deserialize(params.OutputAddressList[z]); this.OutputAddressList.push(obj); } } this.OutputRegion = 'OutputRegion' in params ? params.OutputRegion : null; if (params.SRTSettings) { let obj = new DescribeOutputSRTSettings(); obj.deserialize(params.SRTSettings) this.SRTSettings = obj; } if (params.RTPSettings) { let obj = new DescribeOutputRTPSettings(); obj.deserialize(params.RTPSettings) this.RTPSettings = obj; } if (params.RTMPSettings) { let obj = new DescribeOutputRTMPSettings(); obj.deserialize(params.RTMPSettings) this.RTMPSettings = obj; } if (params.RTMPPullSettings) { let obj = new DescribeOutputRTMPPullSettings(); obj.deserialize(params.RTMPPullSettings) this.RTMPPullSettings = obj; } this.AllowIpList = 'AllowIpList' in params ? params.AllowIpList : null; if (params.RTSPPullSettings) { let obj = new DescribeOutputRTSPPullSettings(); obj.deserialize(params.RTSPPullSettings) this.RTSPPullSettings = obj; } if (params.HLSPullSettings) { let obj = new DescribeOutputHLSPullSettings(); obj.deserialize(params.HLSPullSettings) this.HLSPullSettings = obj; } this.MaxConcurrent = 'MaxConcurrent' in params ? params.MaxConcurrent : null; this.SecurityGroupIds = 'SecurityGroupIds' in params ? params.SecurityGroupIds : null; } } /** * * @class */ class CreateInputHLSPullSettings extends AbstractModel { constructor(){ super(); /** * * @type {Array.<HLSPullSourceAddress> || null} */ this.SourceAddresses = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.SourceAddresses) { this.SourceAddresses = new Array(); for (let z in params.SourceAddresses) { let obj = new HLSPullSourceAddress(); obj.deserialize(params.SourceAddresses[z]); this.SourceAddresses.push(obj); } } } } /** * The SRT configuration of the output to create. * @class */ class CreateOutputSrtSettings extends AbstractModel { constructor(){ super(); /** * The relay destination address, which is required if `Mode` is `CALLER`. Only one address is allowed. * @type {Array.<CreateOutputSrtSettingsDestinations> || null} */ this.Destinations = null; /** * The stream ID for relay, which can contain 0 to 512 letters, digits, and special characters (.#!:&,=_-). * @type {string || null} */ this.StreamId = null; /** * The total latency (ms) of SRT relay. Value range: [0, 3000]. Default: 0. * @type {number || null} */ this.Latency = null; /** * The receive latency (ms) of SRT relay. Value range: [0, 3000]. Default: 120. * @type {number || null} */ this.RecvLatency = null; /** * The peer-to-peer latency (ms) of SRT relay. Value range: [0, 3000]. Default: 0. * @type {number || null} */ this.PeerLatency = null; /** * The timeout period (ms) for the SRT relay peer. Value range: [1000, 10000]. Default: 5000. * @type {number || null} */ this.PeerIdleTimeout = null; /** * The encryption key for SRT relay, which is empty by default, indicating not to encrypt. Only ASCII codes are allowed. Length: [10, 79]. * @type {string || null} */ this.Passphrase = null; /** * The key length for SRT relay. Valid values: 0 (default), 16, 24, 32. * @type {number || null} */ this.PbKeyLen = null; /** * The SRT mode. Valid values: LISTENER, CALLER (default). * @type {string || null} */ this.Mode = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.Destinations) { this.Destinations = new Array(); for (let z in params.Destinations) { let obj = new CreateOutputSrtSettingsDestinations(); obj.deserialize(params.Destinations[z]); this.Destinations.push(obj); } } this.StreamId = 'StreamId' in params ? params.StreamId : null; this.Latency = 'Latency' in params ? params.Latency : null; this.RecvLatency = 'RecvLatency' in params ? params.RecvLatency : null; this.PeerLatency = 'PeerLatency' in params ? params.PeerLatency : null; this.PeerIdleTimeout = 'PeerIdleTimeout' in params ? params.PeerIdleTimeout : null; this.Passphrase = 'Passphrase' in params ? params.Passphrase : null; this.PbKeyLen = 'PbKeyLen' in params ? params.PbKeyLen : null; this.Mode = 'Mode' in params ? params.Mode : null; } } /** * ModifyStreamLinkFlow response structure. * @class */ class ModifyStreamLinkFlowResponse extends AbstractModel { constructor(){ super(); /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * StartStreamLinkFlow request structure. * @class */ class StartStreamLinkFlowRequest extends AbstractModel { constructor(){ super(); /** * Flow ID * @type {string || null} */ this.FlowId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.FlowId = 'FlowId' in params ? params.FlowId : null; } } /** * StartStreamLinkFlow response structure. * @class */ class StartStreamLinkFlowResponse extends AbstractModel { constructor(){ super(); /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * The RTP destination address of the output to create. * @class */ class CreateOutputRTPSettingsDestinations extends AbstractModel { constructor(){ super(); /** * The relay destination IP. * @type {string || null} */ this.Ip = null; /** * The relay destination port. * @type {number || null} */ this.Port = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Ip = 'Ip' in params ? params.Ip : null; this.Port = 'Port' in params ? params.Port : null; } } /** * The information of the output to create. * @class */ class CreateOutputInfo extends AbstractModel { constructor(){ super(); /** * The output name. * @type {string || null} */ this.OutputName = null; /** * Description of the output. * @type {string || null} */ this.Description = null; /** * The output protocol. Valid values: SRT, RTP, RTMP, RTMP_PULL. * @type {string || null} */ this.Protocol = null; /** * The output region. * @type {string || null} */ this.OutputRegion = null; /** * The SRT configuration. * @type {CreateOutputSrtSettings || null} */ this.SRTSettings = null; /** * The RTMP configuration. * @type {CreateOutputRTMPSettings || null} */ this.RTMPSettings = null; /** * The RTP configuration. * @type {CreateOutputInfoRTPSettings || null} */ this.RTPSettings = null; /** * IP whitelist, in CIDR format, such as 0.0.0.0/0. This is valid when Protocol is RTMP_PULL, and empty means no restriction on client IP. * @type {Array.<string> || null} */ this.AllowIpList = null; /** * The maximum number of concurrent stream pulls is 4, and the default value is 4. * @type {number || null} */ this.MaxConcurrent = null; /** * The bound security group IDs. * @type {Array.<string> || null} */ this.SecurityGroupIds = null; /** * Availability zone: output supports at most one availability zone as input. * @type {Array.<string> || null} */ this.Zones = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.OutputName = 'OutputName' in params ? params.OutputName : null; this.Description = 'Description' in params ? params.Description : null; this.Protocol = 'Protocol' in params ? params.Protocol : null; this.OutputRegion = 'OutputRegion' in params ? params.OutputRegion : null; if (params.SRTSettings) { let obj = new CreateOutputSrtSettings(); obj.deserialize(params.SRTSettings) this.SRTSettings = obj; } if (params.RTMPSettings) { let obj = new CreateOutputRTMPSettings(); obj.deserialize(params.RTMPSettings) this.RTMPSettings = obj; } if (params.RTPSettings) { let obj = new CreateOutputInfoRTPSettings(); obj.deserialize(params.RTPSettings) this.RTPSettings = obj; } this.AllowIpList = 'AllowIpList' in params ? params.AllowIpList : null; this.MaxConcurrent = 'MaxConcurrent' in params ? params.MaxConcurrent : null; this.SecurityGroupIds = 'SecurityGroupIds' in params ? params.SecurityGroupIds : null; this.Zones = 'Zones' in params ? params.Zones : null; } } /** * DescribeStreamLinkFlowRealtimeStatus response structure. * @class */ class DescribeStreamLinkFlowRealtimeStatusResponse extends AbstractModel { constructor(){ super(); /** * The timestamp (seconds) of the query. * @type {number || null} */ this.Timestamp = null; /** * A list of the real-time data. * @type {Array.<FlowRealtimeStatusItem> || null} */ this.Datas = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Timestamp = 'Timestamp' in params ? params.Timestamp : null; if (params.Datas) { this.Datas = new Array(); for (let z in params.Datas) { let obj = new FlowRealtimeStatusItem(); obj.deserialize(params.Datas[z]); this.Datas.push(obj); } } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * DescribeStreamLinkFlows response structure. * @class */ class DescribeStreamLinkFlowsResponse extends AbstractModel { constructor(){ super(); /** * List of the configuration information of the flows * @type {Array.<DescribeFlow> || null} */ this.Infos = null; /** * Number of the current page * @type {number || null} */ this.PageNum = null; /** * Number of entries per page * @type {number || null} */ this.PageSize = null; /** * Total number of entries * @type {number || null} */ this.TotalNum = null; /** * Total number of pages * @type {number || null} */ this.TotalPage = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.Infos) { this.Infos = new Array(); for (let z in params.Infos) { let obj = new DescribeFlow();