// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateSlackChannelConfiguration`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`slack_team_id(impl Into<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::slack_team_id) / [`set_slack_team_id(Option<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::set_slack_team_id):<br>required: **true**<br>The ID of the Slack workspace authorized with AWS Chatbot.<br>
/// - [`slack_channel_id(impl Into<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::slack_channel_id) / [`set_slack_channel_id(Option<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::set_slack_channel_id):<br>required: **true**<br>The ID of the Slack channel. To get the ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the 9-character string at the end of the URL. For example, ABCBBLZZZ.<br>
/// - [`slack_channel_name(impl Into<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::slack_channel_name) / [`set_slack_channel_name(Option<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::set_slack_channel_name):<br>required: **false**<br>The name of the Slack Channel.<br>
/// - [`sns_topic_arns(impl Into<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::sns_topic_arns) / [`set_sns_topic_arns(Option<Vec::<String>>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::set_sns_topic_arns):<br>required: **false**<br>The ARNs of the SNS topics that deliver notifications to AWS Chatbot.<br>
/// - [`iam_role_arn(impl Into<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::iam_role_arn) / [`set_iam_role_arn(Option<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::set_iam_role_arn):<br>required: **true**<br>The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.<br>
/// - [`configuration_name(impl Into<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::configuration_name) / [`set_configuration_name(Option<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::set_configuration_name):<br>required: **true**<br>The name of the configuration.<br>
/// - [`logging_level(impl Into<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::logging_level) / [`set_logging_level(Option<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::set_logging_level):<br>required: **false**<br>Logging levels include ERROR, INFO, or NONE.<br>
/// - [`guardrail_policy_arns(impl Into<String>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::guardrail_policy_arns) / [`set_guardrail_policy_arns(Option<Vec::<String>>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::set_guardrail_policy_arns):<br>required: **false**<br>The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied by default if this is not set.<br>
/// - [`user_authorization_required(bool)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::user_authorization_required) / [`set_user_authorization_required(Option<bool>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::set_user_authorization_required):<br>required: **false**<br>Enables use of a user role requirement in your chat configuration.<br>
/// - [`tags(Tag)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::set_tags):<br>required: **false**<br>A list of tags to apply to the configuration.<br>
/// - On success, responds with [`CreateSlackChannelConfigurationOutput`](crate::operation::create_slack_channel_configuration::CreateSlackChannelConfigurationOutput) with field(s):
/// - [`channel_configuration(Option<SlackChannelConfiguration>)`](crate::operation::create_slack_channel_configuration::CreateSlackChannelConfigurationOutput::channel_configuration): The configuration for a Slack channel configured with AWS Chatbot.
/// - On failure, responds with [`SdkError<CreateSlackChannelConfigurationError>`](crate::operation::create_slack_channel_configuration::CreateSlackChannelConfigurationError)
pub fn create_slack_channel_configuration(
&self,
) -> crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder {
crate::operation::create_slack_channel_configuration::builders::CreateSlackChannelConfigurationFluentBuilder::new(self.handle.clone())
}
}