tencentcloud-sdk-nodejs-intl-en
Version:
1,953 lines (1,640 loc) • 130 kB
JavaScript
/*
* 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();