/*
* 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 mediatailor-2018-04-23.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.MediaTailor.Model
{
///
/// The properties for a schedule.
///
public partial class ScheduleEntry
{
private long? _approximateDurationSeconds;
private DateTime? _approximateStartTime;
private string _arn;
private string _channelName;
private string _liveSourceName;
private string _programName;
private List _scheduleAdBreaks = new List();
private ScheduleEntryType _scheduleEntryType;
private string _sourceLocationName;
private string _vodSourceName;
///
/// Gets and sets the property ApproximateDurationSeconds.
///
/// The approximate duration of this program, in seconds.
///
///
public long ApproximateDurationSeconds
{
get { return this._approximateDurationSeconds.GetValueOrDefault(); }
set { this._approximateDurationSeconds = value; }
}
// Check to see if ApproximateDurationSeconds property is set
internal bool IsSetApproximateDurationSeconds()
{
return this._approximateDurationSeconds.HasValue;
}
///
/// Gets and sets the property ApproximateStartTime.
///
/// The approximate time that the program will start playing.
///
///
public DateTime ApproximateStartTime
{
get { return this._approximateStartTime.GetValueOrDefault(); }
set { this._approximateStartTime = value; }
}
// Check to see if ApproximateStartTime property is set
internal bool IsSetApproximateStartTime()
{
return this._approximateStartTime.HasValue;
}
///
/// Gets and sets the property Arn.
///
/// The ARN of the program.
///
///
[AWSProperty(Required=true)]
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property ChannelName.
///
/// The name of the channel that uses this schedule.
///
///
[AWSProperty(Required=true)]
public string ChannelName
{
get { return this._channelName; }
set { this._channelName = value; }
}
// Check to see if ChannelName property is set
internal bool IsSetChannelName()
{
return this._channelName != null;
}
///
/// Gets and sets the property LiveSourceName.
///
/// The name of the live source used for the program.
///
///
public string LiveSourceName
{
get { return this._liveSourceName; }
set { this._liveSourceName = value; }
}
// Check to see if LiveSourceName property is set
internal bool IsSetLiveSourceName()
{
return this._liveSourceName != null;
}
///
/// Gets and sets the property ProgramName.
///
/// The name of the program.
///
///
[AWSProperty(Required=true)]
public string ProgramName
{
get { return this._programName; }
set { this._programName = value; }
}
// Check to see if ProgramName property is set
internal bool IsSetProgramName()
{
return this._programName != null;
}
///
/// Gets and sets the property ScheduleAdBreaks.
///
/// The schedule's ad break properties.
///
///
public List ScheduleAdBreaks
{
get { return this._scheduleAdBreaks; }
set { this._scheduleAdBreaks = value; }
}
// Check to see if ScheduleAdBreaks property is set
internal bool IsSetScheduleAdBreaks()
{
return this._scheduleAdBreaks != null && this._scheduleAdBreaks.Count > 0;
}
///
/// Gets and sets the property ScheduleEntryType.
///
/// The type of schedule entry.
///
///
public ScheduleEntryType ScheduleEntryType
{
get { return this._scheduleEntryType; }
set { this._scheduleEntryType = value; }
}
// Check to see if ScheduleEntryType property is set
internal bool IsSetScheduleEntryType()
{
return this._scheduleEntryType != null;
}
///
/// Gets and sets the property SourceLocationName.
///
/// The name of the source location.
///
///
[AWSProperty(Required=true)]
public string SourceLocationName
{
get { return this._sourceLocationName; }
set { this._sourceLocationName = value; }
}
// Check to see if SourceLocationName property is set
internal bool IsSetSourceLocationName()
{
return this._sourceLocationName != null;
}
///
/// Gets and sets the property VodSourceName.
///
/// The name of the VOD source.
///
///
public string VodSourceName
{
get { return this._vodSourceName; }
set { this._vodSourceName = value; }
}
// Check to see if VodSourceName property is set
internal bool IsSetVodSourceName()
{
return this._vodSourceName != null;
}
}
}