/** * 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 #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace MediaTailor { namespace Model { class UpdateChannelResult { public: AWS_MEDIATAILOR_API UpdateChannelResult(); AWS_MEDIATAILOR_API UpdateChannelResult(const Aws::AmazonWebServiceResult& result); AWS_MEDIATAILOR_API UpdateChannelResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The Amazon Resource Name (ARN) associated with the channel.

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

The Amazon Resource Name (ARN) associated with the channel.

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

The Amazon Resource Name (ARN) associated with the channel.

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

The Amazon Resource Name (ARN) associated with the channel.

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

The Amazon Resource Name (ARN) associated with the channel.

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

The Amazon Resource Name (ARN) associated with the channel.

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

The Amazon Resource Name (ARN) associated with the channel.

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

The name of the channel.

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

The name of the channel.

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

The name of the channel.

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

The name of the channel.

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

The name of the channel.

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

The name of the channel.

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

The name of the channel.

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

Returns the state whether the channel is running or not.

*/ inline const ChannelState& GetChannelState() const{ return m_channelState; } /** *

Returns the state whether the channel is running or not.

*/ inline void SetChannelState(const ChannelState& value) { m_channelState = value; } /** *

Returns the state whether the channel is running or not.

*/ inline void SetChannelState(ChannelState&& value) { m_channelState = std::move(value); } /** *

Returns the state whether the channel is running or not.

*/ inline UpdateChannelResult& WithChannelState(const ChannelState& value) { SetChannelState(value); return *this;} /** *

Returns the state whether the channel is running or not.

*/ inline UpdateChannelResult& WithChannelState(ChannelState&& value) { SetChannelState(std::move(value)); return *this;} /** *

The timestamp of when the channel was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The timestamp of when the channel was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTime = value; } /** *

The timestamp of when the channel was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTime = std::move(value); } /** *

The timestamp of when the channel was created.

*/ inline UpdateChannelResult& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The timestamp of when the channel was created.

*/ inline UpdateChannelResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The slate used to fill gaps between programs in the schedule. You must * configure filler slate if your channel uses the LINEAR * PlaybackMode. MediaTailor doesn't support filler slate for channels * using the LOOP PlaybackMode.

*/ inline const SlateSource& GetFillerSlate() const{ return m_fillerSlate; } /** *

The slate used to fill gaps between programs in the schedule. You must * configure filler slate if your channel uses the LINEAR * PlaybackMode. MediaTailor doesn't support filler slate for channels * using the LOOP PlaybackMode.

*/ inline void SetFillerSlate(const SlateSource& value) { m_fillerSlate = value; } /** *

The slate used to fill gaps between programs in the schedule. You must * configure filler slate if your channel uses the LINEAR * PlaybackMode. MediaTailor doesn't support filler slate for channels * using the LOOP PlaybackMode.

*/ inline void SetFillerSlate(SlateSource&& value) { m_fillerSlate = std::move(value); } /** *

The slate used to fill gaps between programs in the schedule. You must * configure filler slate if your channel uses the LINEAR * PlaybackMode. MediaTailor doesn't support filler slate for channels * using the LOOP PlaybackMode.

*/ inline UpdateChannelResult& WithFillerSlate(const SlateSource& value) { SetFillerSlate(value); return *this;} /** *

The slate used to fill gaps between programs in the schedule. You must * configure filler slate if your channel uses the LINEAR * PlaybackMode. MediaTailor doesn't support filler slate for channels * using the LOOP PlaybackMode.

*/ inline UpdateChannelResult& WithFillerSlate(SlateSource&& value) { SetFillerSlate(std::move(value)); return *this;} /** *

The timestamp that indicates when the channel was last modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *

The timestamp that indicates when the channel was last modified.

*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTime = value; } /** *

The timestamp that indicates when the channel was last modified.

*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTime = std::move(value); } /** *

The timestamp that indicates when the channel was last modified.

*/ inline UpdateChannelResult& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *

The timestamp that indicates when the channel was last modified.

*/ inline UpdateChannelResult& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *

The channel's output properties.

*/ inline const Aws::Vector& GetOutputs() const{ return m_outputs; } /** *

The channel's output properties.

*/ inline void SetOutputs(const Aws::Vector& value) { m_outputs = value; } /** *

The channel's output properties.

*/ inline void SetOutputs(Aws::Vector&& value) { m_outputs = std::move(value); } /** *

The channel's output properties.

*/ inline UpdateChannelResult& WithOutputs(const Aws::Vector& value) { SetOutputs(value); return *this;} /** *

The channel's output properties.

*/ inline UpdateChannelResult& WithOutputs(Aws::Vector&& value) { SetOutputs(std::move(value)); return *this;} /** *

The channel's output properties.

*/ inline UpdateChannelResult& AddOutputs(const ResponseOutputItem& value) { m_outputs.push_back(value); return *this; } /** *

The channel's output properties.

*/ inline UpdateChannelResult& AddOutputs(ResponseOutputItem&& value) { m_outputs.push_back(std::move(value)); return *this; } /** *

The type of playback mode for this channel.

LINEAR - * Programs play back-to-back only once.

LOOP - Programs play * back-to-back in an endless loop. When the last program in the schedule plays, * playback loops back to the first program in the schedule.

*/ inline const Aws::String& GetPlaybackMode() const{ return m_playbackMode; } /** *

The type of playback mode for this channel.

LINEAR - * Programs play back-to-back only once.

LOOP - Programs play * back-to-back in an endless loop. When the last program in the schedule plays, * playback loops back to the first program in the schedule.

*/ inline void SetPlaybackMode(const Aws::String& value) { m_playbackMode = value; } /** *

The type of playback mode for this channel.

LINEAR - * Programs play back-to-back only once.

LOOP - Programs play * back-to-back in an endless loop. When the last program in the schedule plays, * playback loops back to the first program in the schedule.

*/ inline void SetPlaybackMode(Aws::String&& value) { m_playbackMode = std::move(value); } /** *

The type of playback mode for this channel.

LINEAR - * Programs play back-to-back only once.

LOOP - Programs play * back-to-back in an endless loop. When the last program in the schedule plays, * playback loops back to the first program in the schedule.

*/ inline void SetPlaybackMode(const char* value) { m_playbackMode.assign(value); } /** *

The type of playback mode for this channel.

LINEAR - * Programs play back-to-back only once.

LOOP - Programs play * back-to-back in an endless loop. When the last program in the schedule plays, * playback loops back to the first program in the schedule.

*/ inline UpdateChannelResult& WithPlaybackMode(const Aws::String& value) { SetPlaybackMode(value); return *this;} /** *

The type of playback mode for this channel.

LINEAR - * Programs play back-to-back only once.

LOOP - Programs play * back-to-back in an endless loop. When the last program in the schedule plays, * playback loops back to the first program in the schedule.

*/ inline UpdateChannelResult& WithPlaybackMode(Aws::String&& value) { SetPlaybackMode(std::move(value)); return *this;} /** *

The type of playback mode for this channel.

LINEAR - * Programs play back-to-back only once.

LOOP - Programs play * back-to-back in an endless loop. When the last program in the schedule plays, * playback loops back to the first program in the schedule.

*/ inline UpdateChannelResult& WithPlaybackMode(const char* value) { SetPlaybackMode(value); return *this;} /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline void SetTags(const Aws::Map& value) { m_tags = value; } /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline UpdateChannelResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline UpdateChannelResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline UpdateChannelResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline UpdateChannelResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline UpdateChannelResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline UpdateChannelResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline UpdateChannelResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline UpdateChannelResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } /** *

The tags to assign to the channel. Tags are key-value pairs that you can * associate with Amazon resources to help with organization, access control, and * cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

*/ inline UpdateChannelResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } /** *

The tier associated with this Channel.

*/ inline const Aws::String& GetTier() const{ return m_tier; } /** *

The tier associated with this Channel.

*/ inline void SetTier(const Aws::String& value) { m_tier = value; } /** *

The tier associated with this Channel.

*/ inline void SetTier(Aws::String&& value) { m_tier = std::move(value); } /** *

The tier associated with this Channel.

*/ inline void SetTier(const char* value) { m_tier.assign(value); } /** *

The tier associated with this Channel.

*/ inline UpdateChannelResult& WithTier(const Aws::String& value) { SetTier(value); return *this;} /** *

The tier associated with this Channel.

*/ inline UpdateChannelResult& WithTier(Aws::String&& value) { SetTier(std::move(value)); return *this;} /** *

The tier associated with this Channel.

*/ inline UpdateChannelResult& WithTier(const char* value) { SetTier(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline UpdateChannelResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline UpdateChannelResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline UpdateChannelResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_arn; Aws::String m_channelName; ChannelState m_channelState; Aws::Utils::DateTime m_creationTime; SlateSource m_fillerSlate; Aws::Utils::DateTime m_lastModifiedTime; Aws::Vector m_outputs; Aws::String m_playbackMode; Aws::Map m_tags; Aws::String m_tier; Aws::String m_requestId; }; } // namespace Model } // namespace MediaTailor } // namespace Aws