/*
* Copyright Amazon.com, Inc. or its affiliates. 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.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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.
*/
/*
* Do not modify this file. This file is generated from the ivs-2020-07-14.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.IVS.Model
{
///
/// Specifies a live video stream that has been ingested and distributed.
///
public partial class Stream
{
private string _channelArn;
private StreamHealth _health;
private string _playbackUrl;
private DateTime? _startTime;
private StreamState _state;
private string _streamId;
private long? _viewerCount;
///
/// Gets and sets the property ChannelArn.
///
/// Channel ARN for the stream.
///
///
[AWSProperty(Min=1, Max=128)]
public string ChannelArn
{
get { return this._channelArn; }
set { this._channelArn = value; }
}
// Check to see if ChannelArn property is set
internal bool IsSetChannelArn()
{
return this._channelArn != null;
}
///
/// Gets and sets the property Health.
///
/// The stream’s health.
///
///
public StreamHealth Health
{
get { return this._health; }
set { this._health = value; }
}
// Check to see if Health property is set
internal bool IsSetHealth()
{
return this._health != null;
}
///
/// Gets and sets the property PlaybackUrl.
///
/// URL of the master playlist, required by the video player to play the HLS stream.
///
///
public string PlaybackUrl
{
get { return this._playbackUrl; }
set { this._playbackUrl = value; }
}
// Check to see if PlaybackUrl property is set
internal bool IsSetPlaybackUrl()
{
return this._playbackUrl != null;
}
///
/// Gets and sets the property StartTime.
///
/// Time of the stream’s start. This is an ISO 8601 timestamp; note that this is returned
/// as a string.
///
///
public DateTime StartTime
{
get { return this._startTime.GetValueOrDefault(); }
set { this._startTime = value; }
}
// Check to see if StartTime property is set
internal bool IsSetStartTime()
{
return this._startTime.HasValue;
}
///
/// Gets and sets the property State.
///
/// The stream’s state. Do not rely on the OFFLINE
state, as the API may
/// not return it; instead, a "NotBroadcasting" error will indicate that the stream is
/// not live.
///
///
public StreamState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property StreamId.
///
/// Unique identifier for a live or previously live stream in the specified channel.
///
///
[AWSProperty(Min=26, Max=26)]
public string StreamId
{
get { return this._streamId; }
set { this._streamId = value; }
}
// Check to see if StreamId property is set
internal bool IsSetStreamId()
{
return this._streamId != null;
}
///
/// Gets and sets the property ViewerCount.
///
/// A count of concurrent views of the stream. Typically, a new view appears in viewerCount
/// within 15 seconds of when video playback starts and a view is removed from viewerCount
/// within 1 minute of when video playback ends. A value of -1 indicates that the request
/// timed out; in this case, retry.
///
///
public long ViewerCount
{
get { return this._viewerCount.GetValueOrDefault(); }
set { this._viewerCount = value; }
}
// Check to see if ViewerCount property is set
internal bool IsSetViewerCount()
{
return this._viewerCount.HasValue;
}
}
}