/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaTailor { namespace Model { /** *

The properties for a schedule.

See Also:

AWS * API Reference

*/ class ScheduleEntry { public: AWS_MEDIATAILOR_API ScheduleEntry(); AWS_MEDIATAILOR_API ScheduleEntry(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIATAILOR_API ScheduleEntry& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The approximate duration of this program, in seconds.

*/ inline long long GetApproximateDurationSeconds() const{ return m_approximateDurationSeconds; } /** *

The approximate duration of this program, in seconds.

*/ inline bool ApproximateDurationSecondsHasBeenSet() const { return m_approximateDurationSecondsHasBeenSet; } /** *

The approximate duration of this program, in seconds.

*/ inline void SetApproximateDurationSeconds(long long value) { m_approximateDurationSecondsHasBeenSet = true; m_approximateDurationSeconds = value; } /** *

The approximate duration of this program, in seconds.

*/ inline ScheduleEntry& WithApproximateDurationSeconds(long long value) { SetApproximateDurationSeconds(value); return *this;} /** *

The approximate time that the program will start playing.

*/ inline const Aws::Utils::DateTime& GetApproximateStartTime() const{ return m_approximateStartTime; } /** *

The approximate time that the program will start playing.

*/ inline bool ApproximateStartTimeHasBeenSet() const { return m_approximateStartTimeHasBeenSet; } /** *

The approximate time that the program will start playing.

*/ inline void SetApproximateStartTime(const Aws::Utils::DateTime& value) { m_approximateStartTimeHasBeenSet = true; m_approximateStartTime = value; } /** *

The approximate time that the program will start playing.

*/ inline void SetApproximateStartTime(Aws::Utils::DateTime&& value) { m_approximateStartTimeHasBeenSet = true; m_approximateStartTime = std::move(value); } /** *

The approximate time that the program will start playing.

*/ inline ScheduleEntry& WithApproximateStartTime(const Aws::Utils::DateTime& value) { SetApproximateStartTime(value); return *this;} /** *

The approximate time that the program will start playing.

*/ inline ScheduleEntry& WithApproximateStartTime(Aws::Utils::DateTime&& value) { SetApproximateStartTime(std::move(value)); return *this;} /** *

The ARN of the program.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The ARN of the program.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The ARN of the program.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The ARN of the program.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The ARN of the program.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The ARN of the program.

*/ inline ScheduleEntry& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The ARN of the program.

*/ inline ScheduleEntry& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The ARN of the program.

*/ inline ScheduleEntry& WithArn(const char* value) { SetArn(value); return *this;} /** *

The name of the channel that uses this schedule.

*/ inline const Aws::String& GetChannelName() const{ return m_channelName; } /** *

The name of the channel that uses this schedule.

*/ inline bool ChannelNameHasBeenSet() const { return m_channelNameHasBeenSet; } /** *

The name of the channel that uses this schedule.

*/ inline void SetChannelName(const Aws::String& value) { m_channelNameHasBeenSet = true; m_channelName = value; } /** *

The name of the channel that uses this schedule.

*/ inline void SetChannelName(Aws::String&& value) { m_channelNameHasBeenSet = true; m_channelName = std::move(value); } /** *

The name of the channel that uses this schedule.

*/ inline void SetChannelName(const char* value) { m_channelNameHasBeenSet = true; m_channelName.assign(value); } /** *

The name of the channel that uses this schedule.

*/ inline ScheduleEntry& WithChannelName(const Aws::String& value) { SetChannelName(value); return *this;} /** *

The name of the channel that uses this schedule.

*/ inline ScheduleEntry& WithChannelName(Aws::String&& value) { SetChannelName(std::move(value)); return *this;} /** *

The name of the channel that uses this schedule.

*/ inline ScheduleEntry& WithChannelName(const char* value) { SetChannelName(value); return *this;} /** *

The name of the live source used for the program.

*/ inline const Aws::String& GetLiveSourceName() const{ return m_liveSourceName; } /** *

The name of the live source used for the program.

*/ inline bool LiveSourceNameHasBeenSet() const { return m_liveSourceNameHasBeenSet; } /** *

The name of the live source used for the program.

*/ inline void SetLiveSourceName(const Aws::String& value) { m_liveSourceNameHasBeenSet = true; m_liveSourceName = value; } /** *

The name of the live source used for the program.

*/ inline void SetLiveSourceName(Aws::String&& value) { m_liveSourceNameHasBeenSet = true; m_liveSourceName = std::move(value); } /** *

The name of the live source used for the program.

*/ inline void SetLiveSourceName(const char* value) { m_liveSourceNameHasBeenSet = true; m_liveSourceName.assign(value); } /** *

The name of the live source used for the program.

*/ inline ScheduleEntry& WithLiveSourceName(const Aws::String& value) { SetLiveSourceName(value); return *this;} /** *

The name of the live source used for the program.

*/ inline ScheduleEntry& WithLiveSourceName(Aws::String&& value) { SetLiveSourceName(std::move(value)); return *this;} /** *

The name of the live source used for the program.

*/ inline ScheduleEntry& WithLiveSourceName(const char* value) { SetLiveSourceName(value); return *this;} /** *

The name of the program.

*/ inline const Aws::String& GetProgramName() const{ return m_programName; } /** *

The name of the program.

*/ inline bool ProgramNameHasBeenSet() const { return m_programNameHasBeenSet; } /** *

The name of the program.

*/ inline void SetProgramName(const Aws::String& value) { m_programNameHasBeenSet = true; m_programName = value; } /** *

The name of the program.

*/ inline void SetProgramName(Aws::String&& value) { m_programNameHasBeenSet = true; m_programName = std::move(value); } /** *

The name of the program.

*/ inline void SetProgramName(const char* value) { m_programNameHasBeenSet = true; m_programName.assign(value); } /** *

The name of the program.

*/ inline ScheduleEntry& WithProgramName(const Aws::String& value) { SetProgramName(value); return *this;} /** *

The name of the program.

*/ inline ScheduleEntry& WithProgramName(Aws::String&& value) { SetProgramName(std::move(value)); return *this;} /** *

The name of the program.

*/ inline ScheduleEntry& WithProgramName(const char* value) { SetProgramName(value); return *this;} /** *

The schedule's ad break properties.

*/ inline const Aws::Vector& GetScheduleAdBreaks() const{ return m_scheduleAdBreaks; } /** *

The schedule's ad break properties.

*/ inline bool ScheduleAdBreaksHasBeenSet() const { return m_scheduleAdBreaksHasBeenSet; } /** *

The schedule's ad break properties.

*/ inline void SetScheduleAdBreaks(const Aws::Vector& value) { m_scheduleAdBreaksHasBeenSet = true; m_scheduleAdBreaks = value; } /** *

The schedule's ad break properties.

*/ inline void SetScheduleAdBreaks(Aws::Vector&& value) { m_scheduleAdBreaksHasBeenSet = true; m_scheduleAdBreaks = std::move(value); } /** *

The schedule's ad break properties.

*/ inline ScheduleEntry& WithScheduleAdBreaks(const Aws::Vector& value) { SetScheduleAdBreaks(value); return *this;} /** *

The schedule's ad break properties.

*/ inline ScheduleEntry& WithScheduleAdBreaks(Aws::Vector&& value) { SetScheduleAdBreaks(std::move(value)); return *this;} /** *

The schedule's ad break properties.

*/ inline ScheduleEntry& AddScheduleAdBreaks(const ScheduleAdBreak& value) { m_scheduleAdBreaksHasBeenSet = true; m_scheduleAdBreaks.push_back(value); return *this; } /** *

The schedule's ad break properties.

*/ inline ScheduleEntry& AddScheduleAdBreaks(ScheduleAdBreak&& value) { m_scheduleAdBreaksHasBeenSet = true; m_scheduleAdBreaks.push_back(std::move(value)); return *this; } /** *

The type of schedule entry.

*/ inline const ScheduleEntryType& GetScheduleEntryType() const{ return m_scheduleEntryType; } /** *

The type of schedule entry.

*/ inline bool ScheduleEntryTypeHasBeenSet() const { return m_scheduleEntryTypeHasBeenSet; } /** *

The type of schedule entry.

*/ inline void SetScheduleEntryType(const ScheduleEntryType& value) { m_scheduleEntryTypeHasBeenSet = true; m_scheduleEntryType = value; } /** *

The type of schedule entry.

*/ inline void SetScheduleEntryType(ScheduleEntryType&& value) { m_scheduleEntryTypeHasBeenSet = true; m_scheduleEntryType = std::move(value); } /** *

The type of schedule entry.

*/ inline ScheduleEntry& WithScheduleEntryType(const ScheduleEntryType& value) { SetScheduleEntryType(value); return *this;} /** *

The type of schedule entry.

*/ inline ScheduleEntry& WithScheduleEntryType(ScheduleEntryType&& value) { SetScheduleEntryType(std::move(value)); return *this;} /** *

The name of the source location.

*/ inline const Aws::String& GetSourceLocationName() const{ return m_sourceLocationName; } /** *

The name of the source location.

*/ inline bool SourceLocationNameHasBeenSet() const { return m_sourceLocationNameHasBeenSet; } /** *

The name of the source location.

*/ inline void SetSourceLocationName(const Aws::String& value) { m_sourceLocationNameHasBeenSet = true; m_sourceLocationName = value; } /** *

The name of the source location.

*/ inline void SetSourceLocationName(Aws::String&& value) { m_sourceLocationNameHasBeenSet = true; m_sourceLocationName = std::move(value); } /** *

The name of the source location.

*/ inline void SetSourceLocationName(const char* value) { m_sourceLocationNameHasBeenSet = true; m_sourceLocationName.assign(value); } /** *

The name of the source location.

*/ inline ScheduleEntry& WithSourceLocationName(const Aws::String& value) { SetSourceLocationName(value); return *this;} /** *

The name of the source location.

*/ inline ScheduleEntry& WithSourceLocationName(Aws::String&& value) { SetSourceLocationName(std::move(value)); return *this;} /** *

The name of the source location.

*/ inline ScheduleEntry& WithSourceLocationName(const char* value) { SetSourceLocationName(value); return *this;} /** *

The name of the VOD source.

*/ inline const Aws::String& GetVodSourceName() const{ return m_vodSourceName; } /** *

The name of the VOD source.

*/ inline bool VodSourceNameHasBeenSet() const { return m_vodSourceNameHasBeenSet; } /** *

The name of the VOD source.

*/ inline void SetVodSourceName(const Aws::String& value) { m_vodSourceNameHasBeenSet = true; m_vodSourceName = value; } /** *

The name of the VOD source.

*/ inline void SetVodSourceName(Aws::String&& value) { m_vodSourceNameHasBeenSet = true; m_vodSourceName = std::move(value); } /** *

The name of the VOD source.

*/ inline void SetVodSourceName(const char* value) { m_vodSourceNameHasBeenSet = true; m_vodSourceName.assign(value); } /** *

The name of the VOD source.

*/ inline ScheduleEntry& WithVodSourceName(const Aws::String& value) { SetVodSourceName(value); return *this;} /** *

The name of the VOD source.

*/ inline ScheduleEntry& WithVodSourceName(Aws::String&& value) { SetVodSourceName(std::move(value)); return *this;} /** *

The name of the VOD source.

*/ inline ScheduleEntry& WithVodSourceName(const char* value) { SetVodSourceName(value); return *this;} private: long long m_approximateDurationSeconds; bool m_approximateDurationSecondsHasBeenSet = false; Aws::Utils::DateTime m_approximateStartTime; bool m_approximateStartTimeHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_channelName; bool m_channelNameHasBeenSet = false; Aws::String m_liveSourceName; bool m_liveSourceNameHasBeenSet = false; Aws::String m_programName; bool m_programNameHasBeenSet = false; Aws::Vector m_scheduleAdBreaks; bool m_scheduleAdBreaksHasBeenSet = false; ScheduleEntryType m_scheduleEntryType; bool m_scheduleEntryTypeHasBeenSet = false; Aws::String m_sourceLocationName; bool m_sourceLocationNameHasBeenSet = false; Aws::String m_vodSourceName; bool m_vodSourceNameHasBeenSet = false; }; } // namespace Model } // namespace MediaTailor } // namespace Aws