// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`PutSynchronizationConfiguration`](crate::operation::put_synchronization_configuration::builders::PutSynchronizationConfigurationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`file_system_id(impl Into<String>)`](crate::operation::put_synchronization_configuration::builders::PutSynchronizationConfigurationFluentBuilder::file_system_id) / [`set_file_system_id(Option<String>)`](crate::operation::put_synchronization_configuration::builders::PutSynchronizationConfigurationFluentBuilder::set_file_system_id):<br>required: **true**<br><p>The ID or Amazon Resource Name (ARN) of the S3 File System to configure synchronization for.</p><br>
/// - [`latest_version_number(i32)`](crate::operation::put_synchronization_configuration::builders::PutSynchronizationConfigurationFluentBuilder::latest_version_number) / [`set_latest_version_number(Option<i32>)`](crate::operation::put_synchronization_configuration::builders::PutSynchronizationConfigurationFluentBuilder::set_latest_version_number):<br>required: **false**<br><p>The version number of the current synchronization configuration. Omit this value when creating a synchronization configuration for the first time. For subsequent updates, provide this value for optimistic concurrency control. If the version number does not match the current configuration, the request fails with a <code>ConflictException</code>.</p><br>
/// - [`import_data_rules(ImportDataRule)`](crate::operation::put_synchronization_configuration::builders::PutSynchronizationConfigurationFluentBuilder::import_data_rules) / [`set_import_data_rules(Option<Vec::<ImportDataRule>>)`](crate::operation::put_synchronization_configuration::builders::PutSynchronizationConfigurationFluentBuilder::set_import_data_rules):<br>required: **true**<br><p>An array of import data rules that control how data is imported from S3 into the file system.</p><br>
/// - [`expiration_data_rules(ExpirationDataRule)`](crate::operation::put_synchronization_configuration::builders::PutSynchronizationConfigurationFluentBuilder::expiration_data_rules) / [`set_expiration_data_rules(Option<Vec::<ExpirationDataRule>>)`](crate::operation::put_synchronization_configuration::builders::PutSynchronizationConfigurationFluentBuilder::set_expiration_data_rules):<br>required: **true**<br><p>An array of expiration data rules that control when cached data expires from the file system.</p><br>
/// - On success, responds with [`PutSynchronizationConfigurationOutput`](crate::operation::put_synchronization_configuration::PutSynchronizationConfigurationOutput)
/// - On failure, responds with [`SdkError<PutSynchronizationConfigurationError>`](crate::operation::put_synchronization_configuration::PutSynchronizationConfigurationError)
pub fn put_synchronization_configuration(
&self,
) -> crate::operation::put_synchronization_configuration::builders::PutSynchronizationConfigurationFluentBuilder {
crate::operation::put_synchronization_configuration::builders::PutSynchronizationConfigurationFluentBuilder::new(self.handle.clone())
}
}