// 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:
/// - [`name(impl Into<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_name):<br>required: **false**<br><p>Channel name.</p><br>
/// - [`latency_mode(ChannelLatencyMode)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::latency_mode) / [`set_latency_mode(Option<ChannelLatencyMode>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_latency_mode):<br>required: **false**<br><p>Channel latency mode. Use <code>NORMAL</code> to broadcast and deliver live video up to Full HD. Use <code>LOW</code> for near-real-time interaction with viewers. (Note: In the Amazon IVS console, <code>LOW</code> and <code>NORMAL</code> correspond to Ultra-low and Standard, respectively.) Default: <code>LOW</code>.</p><br>
/// - [`r#type(ChannelType)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::type) / [`set_type(Option<ChannelType>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_type):<br>required: **false**<br><p>Channel type, which determines the allowable resolution and bitrate. <i>If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately.</i> Default: <code>STANDARD</code>. For details, see <a href="https://docs.aws.amazon.com/ivs/latest/LowLatencyAPIReference/channel-types.html">Channel Types</a>.</p><br>
/// - [`authorized(bool)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::authorized) / [`set_authorized(Option<bool>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_authorized):<br>required: **false**<br><p>Whether the channel is private (enabled for playback authorization). Default: <code>false</code>.</p><br>
/// - [`recording_configuration_arn(impl Into<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::recording_configuration_arn) / [`set_recording_configuration_arn(Option<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_recording_configuration_arn):<br>required: **false**<br><p>Recording-configuration ARN. A valid ARN value here both specifies the ARN and enables recording. Default: "" (empty string, recording is disabled).</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>Array of 1-50 maps, each of the form <code>string:string (key:value)</code>. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services Resources</a> for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond what is documented there.</p><br>
/// - [`insecure_ingest(bool)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::insecure_ingest) / [`set_insecure_ingest(Option<bool>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_insecure_ingest):<br>required: **false**<br><p>Whether the channel allows insecure RTMP ingest. Default: <code>false</code>.</p><br>
/// - [`preset(TranscodePreset)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::preset) / [`set_preset(Option<TranscodePreset>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_preset):<br>required: **false**<br><p>Optional transcode preset for the channel. This is selectable only for <code>ADVANCED_HD</code> and <code>ADVANCED_SD</code> channel types. For those channel types, the default <code>preset</code> is <code>HIGHER_BANDWIDTH_DELIVERY</code>. For other channel types (<code>BASIC</code> and <code>STANDARD</code>), <code>preset</code> is the empty string (<code>""</code>).</p><br>
/// - [`playback_restriction_policy_arn(impl Into<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::playback_restriction_policy_arn) / [`set_playback_restriction_policy_arn(Option<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_playback_restriction_policy_arn):<br>required: **false**<br><p>Playback-restriction-policy ARN. A valid ARN value here both specifies the ARN and enables playback restriction. Default: "" (empty string, no playback restriction policy is applied).</p><br>
/// - On success, responds with [`CreateChannelOutput`](crate::operation::create_channel::CreateChannelOutput) with field(s):
/// - [`channel(Option<Channel>)`](crate::operation::create_channel::CreateChannelOutput::channel): <p></p>
/// - [`stream_key(Option<StreamKey>)`](crate::operation::create_channel::CreateChannelOutput::stream_key): <p></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())
}
}