/* * 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 { /// /// Object that captures the Amazon IVS configuration that the customer provisioned, the /// ingest configurations that the broadcaster used, and the most recent Amazon IVS stream /// events it encountered. /// public partial class StreamSession { private Channel _channel; private DateTime? _endTime; private IngestConfiguration _ingestConfiguration; private RecordingConfiguration _recordingConfiguration; private DateTime? _startTime; private string _streamId; private List _truncatedEvents = new List(); /// /// Gets and sets the property Channel. /// /// The properties of the channel at the time of going live. /// /// public Channel Channel { get { return this._channel; } set { this._channel = value; } } // Check to see if Channel property is set internal bool IsSetChannel() { return this._channel != null; } /// /// Gets and sets the property EndTime. /// /// Time when the channel went offline. This is an ISO 8601 timestamp; note that this /// is returned as a string. For live streams, this is NULL. /// /// public DateTime EndTime { get { return this._endTime.GetValueOrDefault(); } set { this._endTime = value; } } // Check to see if EndTime property is set internal bool IsSetEndTime() { return this._endTime.HasValue; } /// /// Gets and sets the property IngestConfiguration. /// /// The properties of the incoming RTMP stream for the stream. /// /// public IngestConfiguration IngestConfiguration { get { return this._ingestConfiguration; } set { this._ingestConfiguration = value; } } // Check to see if IngestConfiguration property is set internal bool IsSetIngestConfiguration() { return this._ingestConfiguration != null; } /// /// Gets and sets the property RecordingConfiguration. /// /// The properties of recording the live stream. /// /// public RecordingConfiguration RecordingConfiguration { get { return this._recordingConfiguration; } set { this._recordingConfiguration = value; } } // Check to see if RecordingConfiguration property is set internal bool IsSetRecordingConfiguration() { return this._recordingConfiguration != null; } /// /// Gets and sets the property StartTime. /// /// Time when the channel went live. 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 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 TruncatedEvents. /// /// List of Amazon IVS events that the stream encountered. The list is sorted by most /// recent events and contains up to 500 events. For Amazon IVS events, see Using /// Amazon EventBridge with Amazon IVS. /// /// [AWSProperty(Min=0, Max=500)] public List TruncatedEvents { get { return this._truncatedEvents; } set { this._truncatedEvents = value; } } // Check to see if TruncatedEvents property is set internal bool IsSetTruncatedEvents() { return this._truncatedEvents != null && this._truncatedEvents.Count > 0; } } }