// 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. Must be unique within the cluster.</p><br>
/// - [`cluster_arn(impl Into<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::cluster_arn) / [`set_cluster_arn(Option<String>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_cluster_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) that uniquely identifies the cluster.</p><br>
/// - [`encryption_configuration(EncryptionConfiguration)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::encryption_configuration) / [`set_encryption_configuration(Option<EncryptionConfiguration>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_encryption_configuration):<br>required: **false**<br><p>The encryption configuration applied to the channel.</p><br>
/// - [`iceberg_destination_configuration(IcebergDestinationConfiguration)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::iceberg_destination_configuration) / [`set_iceberg_destination_configuration(Option<IcebergDestinationConfiguration>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_iceberg_destination_configuration):<br>required: **false**<br><p>The Apache Iceberg destination for the channel. Mutually exclusive with s3DestinationConfiguration.</p><br>
/// - [`s3_destination_configuration(S3DestinationConfiguration)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::s3_destination_configuration) / [`set_s3_destination_configuration(Option<S3DestinationConfiguration>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_s3_destination_configuration):<br>required: **false**<br><p>The Amazon S3 destination for the channel. Mutually exclusive with icebergDestinationConfiguration.</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 attached to the channel.</p><br>
/// - [`topic_configuration_list(TopicConfiguration)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::topic_configuration_list) / [`set_topic_configuration_list(Option<Vec::<TopicConfiguration>>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_topic_configuration_list):<br>required: **true**<br><p>The list of topic configurations for the channel. Currently exactly one topic must be specified.</p><br>
/// - [`logging_info(ChannelLoggingInfo)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::logging_info) / [`set_logging_info(Option<ChannelLoggingInfo>)`](crate::operation::create_channel::builders::CreateChannelFluentBuilder::set_logging_info):<br>required: **false**<br><p>The destinations to which the channel publishes operational logs.</p><br>
/// - On success, responds with [`CreateChannelOutput`](crate::operation::create_channel::CreateChannelOutput) with field(s):
/// - [`channel_arn(Option<String>)`](crate::operation::create_channel::CreateChannelOutput::channel_arn): <p>The Amazon Resource Name (ARN) that uniquely identifies the channel.</p>
/// - [`cluster_operation_arn(Option<String>)`](crate::operation::create_channel::CreateChannelOutput::cluster_operation_arn): <p>The Amazon Resource Name (ARN) of the cluster operation.</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())
}
}