// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`EnableLogging`](crate::operation::enable_logging::builders::EnableLoggingFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`cluster_identifier(impl Into<String>)`](crate::operation::enable_logging::builders::EnableLoggingFluentBuilder::cluster_identifier) / [`set_cluster_identifier(Option<String>)`](crate::operation::enable_logging::builders::EnableLoggingFluentBuilder::set_cluster_identifier):<br>required: **true**<br><p>The identifier of the cluster on which logging is to be started.</p> <p>Example: <code>examplecluster</code> </p><br>
/// - [`bucket_name(impl Into<String>)`](crate::operation::enable_logging::builders::EnableLoggingFluentBuilder::bucket_name) / [`set_bucket_name(Option<String>)`](crate::operation::enable_logging::builders::EnableLoggingFluentBuilder::set_bucket_name):<br>required: **false**<br><p>The name of an existing S3 bucket where the log files are to be stored.</p> <p>Constraints:</p> <ul> <li> <p>Must be in the same region as the cluster</p> </li> <li> <p>The cluster must have read bucket and put object permissions</p> </li> </ul><br>
/// - [`s3_key_prefix(impl Into<String>)`](crate::operation::enable_logging::builders::EnableLoggingFluentBuilder::s3_key_prefix) / [`set_s3_key_prefix(Option<String>)`](crate::operation::enable_logging::builders::EnableLoggingFluentBuilder::set_s3_key_prefix):<br>required: **false**<br><p>The prefix applied to the log file names.</p> <p>Constraints:</p> <ul> <li> <p>Cannot exceed 512 characters</p> </li> <li> <p>Cannot contain spaces( ), double quotes ("), single quotes ('), a backslash (\), or control characters. The hexadecimal codes for invalid characters are: </p> <ul> <li> <p>x00 to x20</p> </li> <li> <p>x22</p> </li> <li> <p>x27</p> </li> <li> <p>x5c</p> </li> <li> <p>x7f or larger</p> </li> </ul> </li> </ul><br>
/// - [`log_destination_type(LogDestinationType)`](crate::operation::enable_logging::builders::EnableLoggingFluentBuilder::log_destination_type) / [`set_log_destination_type(Option<LogDestinationType>)`](crate::operation::enable_logging::builders::EnableLoggingFluentBuilder::set_log_destination_type):<br>required: **false**<br><p>The log destination type. An enum with possible values of <code>s3</code> and <code>cloudwatch</code>.</p><br>
/// - [`log_exports(impl Into<String>)`](crate::operation::enable_logging::builders::EnableLoggingFluentBuilder::log_exports) / [`set_log_exports(Option<Vec::<String>>)`](crate::operation::enable_logging::builders::EnableLoggingFluentBuilder::set_log_exports):<br>required: **false**<br><p>The collection of exported log types. Possible values are <code>connectionlog</code>, <code>useractivitylog</code>, and <code>userlog</code>.</p><br>
/// - On success, responds with [`EnableLoggingOutput`](crate::operation::enable_logging::EnableLoggingOutput) with field(s):
/// - [`logging_enabled(Option<bool>)`](crate::operation::enable_logging::EnableLoggingOutput::logging_enabled): <p> <code>true</code> if logging is on, <code>false</code> if logging is off.</p>
/// - [`bucket_name(Option<String>)`](crate::operation::enable_logging::EnableLoggingOutput::bucket_name): <p>The name of the S3 bucket where the log files are stored.</p>
/// - [`s3_key_prefix(Option<String>)`](crate::operation::enable_logging::EnableLoggingOutput::s3_key_prefix): <p>The prefix applied to the log file names.</p>
/// - [`last_successful_delivery_time(Option<DateTime>)`](crate::operation::enable_logging::EnableLoggingOutput::last_successful_delivery_time): <p>The last time that logs were delivered.</p>
/// - [`last_failure_time(Option<DateTime>)`](crate::operation::enable_logging::EnableLoggingOutput::last_failure_time): <p>The last time when logs failed to be delivered.</p>
/// - [`last_failure_message(Option<String>)`](crate::operation::enable_logging::EnableLoggingOutput::last_failure_message): <p>The message indicating that logs failed to be delivered.</p>
/// - [`log_destination_type(Option<LogDestinationType>)`](crate::operation::enable_logging::EnableLoggingOutput::log_destination_type): <p>The log destination type. An enum with possible values of <code>s3</code> and <code>cloudwatch</code>.</p>
/// - [`log_exports(Option<Vec::<String>>)`](crate::operation::enable_logging::EnableLoggingOutput::log_exports): <p>The collection of exported log types. Possible values are <code>connectionlog</code>, <code>useractivitylog</code>, and <code>userlog</code>.</p>
/// - On failure, responds with [`SdkError<EnableLoggingError>`](crate::operation::enable_logging::EnableLoggingError)
pub fn enable_logging(&self) -> crate::operation::enable_logging::builders::EnableLoggingFluentBuilder {
crate::operation::enable_logging::builders::EnableLoggingFluentBuilder::new(self.handle.clone())
}
}