/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The configuration parameters for a channel. For information about MediaTailor
* channels, see Working
* with channels in the MediaTailor User Guide.See Also:
* AWS
* API Reference
The ARN of the channel.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The ARN of the channel.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The ARN of the channel.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The ARN of the channel.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The ARN of the channel.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The ARN of the channel.
*/ inline Channel& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The ARN of the channel.
*/ inline Channel& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The ARN of the channel.
*/ inline Channel& 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 bool ChannelNameHasBeenSet() const { return m_channelNameHasBeenSet; } /** *The name of the channel.
*/ inline void SetChannelName(const Aws::String& value) { m_channelNameHasBeenSet = true; m_channelName = value; } /** *The name of the channel.
*/ inline void SetChannelName(Aws::String&& value) { m_channelNameHasBeenSet = true; m_channelName = std::move(value); } /** *The name of the channel.
*/ inline void SetChannelName(const char* value) { m_channelNameHasBeenSet = true; m_channelName.assign(value); } /** *The name of the channel.
*/ inline Channel& WithChannelName(const Aws::String& value) { SetChannelName(value); return *this;} /** *The name of the channel.
*/ inline Channel& WithChannelName(Aws::String&& value) { SetChannelName(std::move(value)); return *this;} /** *The name of the channel.
*/ inline Channel& WithChannelName(const char* value) { SetChannelName(value); return *this;} /** *Returns the state whether the channel is running or not.
*/ inline const Aws::String& GetChannelState() const{ return m_channelState; } /** *Returns the state whether the channel is running or not.
*/ inline bool ChannelStateHasBeenSet() const { return m_channelStateHasBeenSet; } /** *Returns the state whether the channel is running or not.
*/ inline void SetChannelState(const Aws::String& value) { m_channelStateHasBeenSet = true; m_channelState = value; } /** *Returns the state whether the channel is running or not.
*/ inline void SetChannelState(Aws::String&& value) { m_channelStateHasBeenSet = true; m_channelState = std::move(value); } /** *Returns the state whether the channel is running or not.
*/ inline void SetChannelState(const char* value) { m_channelStateHasBeenSet = true; m_channelState.assign(value); } /** *Returns the state whether the channel is running or not.
*/ inline Channel& WithChannelState(const Aws::String& value) { SetChannelState(value); return *this;} /** *Returns the state whether the channel is running or not.
*/ inline Channel& WithChannelState(Aws::String&& value) { SetChannelState(std::move(value)); return *this;} /** *Returns the state whether the channel is running or not.
*/ inline Channel& WithChannelState(const char* value) { SetChannelState(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 bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *The timestamp of when the channel was created.
*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *The timestamp of when the channel was created.
*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *The timestamp of when the channel was created.
*/ inline Channel& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *The timestamp of when the channel was created.
*/ inline Channel& 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
.
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
.
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
.
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
.
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
.
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
.
The timestamp of when the channel was last modified.
*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *The timestamp of when the channel was last modified.
*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *The timestamp of when the channel was last modified.
*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *The timestamp of when the channel was last modified.
*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *The timestamp of when the channel was last modified.
*/ inline Channel& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *The timestamp of when the channel was last modified.
*/ inline Channel& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *The log configuration.
*/ inline const LogConfigurationForChannel& GetLogConfiguration() const{ return m_logConfiguration; } /** *The log configuration.
*/ inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; } /** *The log configuration.
*/ inline void SetLogConfiguration(const LogConfigurationForChannel& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = value; } /** *The log configuration.
*/ inline void SetLogConfiguration(LogConfigurationForChannel&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::move(value); } /** *The log configuration.
*/ inline Channel& WithLogConfiguration(const LogConfigurationForChannel& value) { SetLogConfiguration(value); return *this;} /** *The log configuration.
*/ inline Channel& WithLogConfiguration(LogConfigurationForChannel&& value) { SetLogConfiguration(std::move(value)); return *this;} /** *The channel's output properties.
*/ inline const Aws::VectorThe channel's output properties.
*/ inline bool OutputsHasBeenSet() const { return m_outputsHasBeenSet; } /** *The channel's output properties.
*/ inline void SetOutputs(const Aws::VectorThe channel's output properties.
*/ inline void SetOutputs(Aws::VectorThe channel's output properties.
*/ inline Channel& WithOutputs(const Aws::VectorThe channel's output properties.
*/ inline Channel& WithOutputs(Aws::VectorThe channel's output properties.
*/ inline Channel& AddOutputs(const ResponseOutputItem& value) { m_outputsHasBeenSet = true; m_outputs.push_back(value); return *this; } /** *The channel's output properties.
*/ inline Channel& AddOutputs(ResponseOutputItem&& value) { m_outputsHasBeenSet = true; 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.
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.
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.
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.
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.
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.
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.
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.
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::MapThe 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 bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *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::MapThe 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::MapThe 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 Channel& WithTags(const Aws::MapThe 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 Channel& WithTags(Aws::MapThe 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 Channel& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; 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 Channel& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; 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 Channel& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; 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 Channel& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; 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 Channel& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; 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 Channel& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; 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 Channel& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The tier for this channel. STANDARD tier channels can contain live * programs.
*/ inline const Aws::String& GetTier() const{ return m_tier; } /** *The tier for this channel. STANDARD tier channels can contain live * programs.
*/ inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } /** *The tier for this channel. STANDARD tier channels can contain live * programs.
*/ inline void SetTier(const Aws::String& value) { m_tierHasBeenSet = true; m_tier = value; } /** *The tier for this channel. STANDARD tier channels can contain live * programs.
*/ inline void SetTier(Aws::String&& value) { m_tierHasBeenSet = true; m_tier = std::move(value); } /** *The tier for this channel. STANDARD tier channels can contain live * programs.
*/ inline void SetTier(const char* value) { m_tierHasBeenSet = true; m_tier.assign(value); } /** *The tier for this channel. STANDARD tier channels can contain live * programs.
*/ inline Channel& WithTier(const Aws::String& value) { SetTier(value); return *this;} /** *The tier for this channel. STANDARD tier channels can contain live * programs.
*/ inline Channel& WithTier(Aws::String&& value) { SetTier(std::move(value)); return *this;} /** *The tier for this channel. STANDARD tier channels can contain live * programs.
*/ inline Channel& WithTier(const char* value) { SetTier(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_channelName; bool m_channelNameHasBeenSet = false; Aws::String m_channelState; bool m_channelStateHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; SlateSource m_fillerSlate; bool m_fillerSlateHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; LogConfigurationForChannel m_logConfiguration; bool m_logConfigurationHasBeenSet = false; Aws::Vector