// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateChannel`](crate::operation::create_channel::builders::CreateChannelFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`channel_name(impl Into<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::channel_name) / [`set_channel_name(Option<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_channel_name):<br>required: **true**<br><p>The name of the channel.</p><br>
/// - [`filler_slate(SlateSource)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::filler_slate) / [`set_filler_slate(Option<SlateSource>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_filler_slate):<br>required: **false**<br><p>The slate used to fill gaps between programs in the schedule. You must configure filler slate if your channel uses the <code>LINEAR</code> <code>PlaybackMode</code>. MediaTailor doesn't support filler slate for channels using the <code>LOOP</code> <code>PlaybackMode</code>.</p><br>
/// - [`outputs(RequestOutputItem)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::outputs) / [`set_outputs(Option<Vec::<RequestOutputItem>>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_outputs):<br>required: **true**<br><p>The channel's output properties.</p><br>
/// - [`playback_mode(PlaybackMode)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::playback_mode) / [`set_playback_mode(Option<PlaybackMode>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_playback_mode):<br>required: **true**<br><p>The type of playback mode to use for this channel.</p> <p><code>LINEAR</code> - The programs in the schedule play once back-to-back in the schedule.</p> <p><code>LOOP</code> - The programs in the schedule play back-to-back in an endless loop. When the last program in the schedule stops playing, playback loops back to the first program in the schedule.</p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_tags):<br>required: **false**<br><p>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 <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html">Tagging AWS Elemental MediaTailor Resources</a>.</p><br>
/// - [`tier(Tier)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::tier) / [`set_tier(Option<Tier>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_tier):<br>required: **false**<br><p>The tier of the channel.</p><br>
/// - [`time_shift_configuration(TimeShiftConfiguration)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::time_shift_configuration) / [`set_time_shift_configuration(Option<TimeShiftConfiguration>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_time_shift_configuration):<br>required: **false**<br><p>The time-shifted viewing configuration you want to associate to the channel.</p><br>
/// - [`audiences(impl Into<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::audiences) / [`set_audiences(Option<Vec::<String>>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_audiences):<br>required: **false**<br><p>The list of audiences defined in channel.</p><br>
/// - On success, responds with [`CreateChannelOutput`](crate::operation::create_channel::CreateChannelOutput) with field(s):
/// - [`arn(Option<String>)`](crate::operation::create_channel::CreateChannelOutput::arn): <p>The Amazon Resource Name (ARN) to assign to the channel.</p>
/// - [`channel_name(Option<String>)`](crate::operation::create_channel::CreateChannelOutput::channel_name): <p>The name to assign to the channel.</p>
/// - [`channel_state(Option<ChannelState>)`](crate::operation::create_channel::CreateChannelOutput::channel_state): <p>Indicates whether the channel is in a running state or not.</p>
/// - [`creation_time(Option<DateTime>)`](crate::operation::create_channel::CreateChannelOutput::creation_time): <p>The timestamp of when the channel was created.</p>
/// - [`filler_slate(Option<SlateSource>)`](crate::operation::create_channel::CreateChannelOutput::filler_slate): <p>Contains information about the slate used to fill gaps between programs in the schedule.</p>
/// - [`last_modified_time(Option<DateTime>)`](crate::operation::create_channel::CreateChannelOutput::last_modified_time): <p>The timestamp of when the channel was last modified.</p>
/// - [`outputs(Option<Vec::<ResponseOutputItem>>)`](crate::operation::create_channel::CreateChannelOutput::outputs): <p>The output properties to assign to the channel.</p>
/// - [`playback_mode(Option<String>)`](crate::operation::create_channel::CreateChannelOutput::playback_mode): <p>The playback mode to assign to the channel.</p>
/// - [`tags(Option<HashMap::<String, String>>)`](crate::operation::create_channel::CreateChannelOutput::tags): <p>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 <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html">Tagging AWS Elemental MediaTailor Resources</a>.</p>
/// - [`tier(Option<String>)`](crate::operation::create_channel::CreateChannelOutput::tier): <p>The tier of the channel.</p>
/// - [`time_shift_configuration(Option<TimeShiftConfiguration>)`](crate::operation::create_channel::CreateChannelOutput::time_shift_configuration): <p>The time-shifted viewing configuration assigned to the channel.</p>
/// - [`audiences(Option<Vec::<String>>)`](crate::operation::create_channel::CreateChannelOutput::audiences): <p>The list of audiences defined in channel.</p>
/// - On failure, responds with [`SdkError<CreateChannelError>`](crate::operation::create_channel::CreateChannelError)
pub fn create_channel(&self) -> crate::operation::create_channel::builders::CreateChannelFluentBuilder {
crate::operation::create_channel::builders::CreateChannelFluentBuilder::new(self.handle.clone())
}
}