// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateSMBFileShare`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`file_share_arn(impl Into<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::file_share_arn) / [`set_file_share_arn(Option<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_file_share_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the SMB file share that you want to update.</p><br>
/// - [`kms_encrypted(bool)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::kms_encrypted) / [`set_kms_encrypted(Option<bool>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_kms_encrypted):<br>required: **false**<br><p>Set to <code>true</code> to use Amazon S3 server-side encryption with your own KMS key, or <code>false</code> to use a key managed by Amazon S3. Optional.</p> <p>Valid Values: <code>true</code> | <code>false</code></p><br>
/// - [`kms_key(impl Into<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::kms_key) / [`set_kms_key(Option<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_kms_key):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can only be set when <code>KMSEncrypted</code> is <code>true</code>. Optional.</p><br>
/// - [`default_storage_class(impl Into<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::default_storage_class) / [`set_default_storage_class(Option<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_default_storage_class):<br>required: **false**<br><p>The default storage class for objects put into an Amazon S3 bucket by the S3 File Gateway. The default value is <code>S3_STANDARD</code>. Optional.</p> <p>Valid Values: <code>S3_STANDARD</code> | <code>S3_INTELLIGENT_TIERING</code> | <code>S3_STANDARD_IA</code> | <code>S3_ONEZONE_IA</code></p><br>
/// - [`object_acl(ObjectAcl)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::object_acl) / [`set_object_acl(Option<ObjectAcl>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_object_acl):<br>required: **false**<br><p>A value that sets the access control list (ACL) permission for objects in the S3 bucket that a S3 File Gateway puts objects into. The default value is <code>private</code>.</p><br>
/// - [`read_only(bool)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::read_only) / [`set_read_only(Option<bool>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_read_only):<br>required: **false**<br><p>A value that sets the write status of a file share. Set this value to <code>true</code> to set write status to read-only, otherwise set to <code>false</code>.</p> <p>Valid Values: <code>true</code> | <code>false</code></p><br>
/// - [`guess_mime_type_enabled(bool)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::guess_mime_type_enabled) / [`set_guess_mime_type_enabled(Option<bool>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_guess_mime_type_enabled):<br>required: **false**<br><p>A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to <code>true</code> to enable MIME type guessing, otherwise set to <code>false</code>. The default value is <code>true</code>.</p> <p>Valid Values: <code>true</code> | <code>false</code></p><br>
/// - [`requester_pays(bool)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::requester_pays) / [`set_requester_pays(Option<bool>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_requester_pays):<br>required: **false**<br><p>A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to <code>true</code>, the requester pays the costs; otherwise, the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.</p><note> <p><code>RequesterPays</code> is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.</p> </note> <p>Valid Values: <code>true</code> | <code>false</code></p><br>
/// - [`smbacl_enabled(bool)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::smbacl_enabled) / [`set_smbacl_enabled(Option<bool>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_smbacl_enabled):<br>required: **false**<br><p>Set this value to <code>true</code> to enable access control list (ACL) on the SMB file share. Set it to <code>false</code> to map file and directory permissions to the POSIX permissions.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html">Using Microsoft Windows ACLs to control access to an SMB file share</a> in the <i>Storage Gateway User Guide</i>.</p> <p>Valid Values: <code>true</code> | <code>false</code></p><br>
/// - [`access_based_enumeration(bool)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::access_based_enumeration) / [`set_access_based_enumeration(Option<bool>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_access_based_enumeration):<br>required: **false**<br><p>The files and folders on this share will only be visible to users with read access.</p><br>
/// - [`admin_user_list(impl Into<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::admin_user_list) / [`set_admin_user_list(Option<Vec::<String>>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_admin_user_list):<br>required: **false**<br><p>A list of users or groups in the Active Directory that have administrator rights to the file share. A group must be prefixed with the @ character. Acceptable formats include: <code>DOMAIN\User1</code>, <code>user1</code>, <code>@group1</code>, and <code>@DOMAIN\group1</code>. Can only be set if Authentication is set to <code>ActiveDirectory</code>.</p><br>
/// - [`valid_user_list(impl Into<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::valid_user_list) / [`set_valid_user_list(Option<Vec::<String>>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_valid_user_list):<br>required: **false**<br><p>A list of users or groups in the Active Directory that are allowed to access the file share. A group must be prefixed with the @ character. Acceptable formats include: <code>DOMAIN\User1</code>, <code>user1</code>, <code>@group1</code>, and <code>@DOMAIN\group1</code>. Can only be set if Authentication is set to <code>ActiveDirectory</code>.</p><br>
/// - [`invalid_user_list(impl Into<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::invalid_user_list) / [`set_invalid_user_list(Option<Vec::<String>>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_invalid_user_list):<br>required: **false**<br><p>A list of users or groups in the Active Directory that are not allowed to access the file share. A group must be prefixed with the @ character. Acceptable formats include: <code>DOMAIN\User1</code>, <code>user1</code>, <code>@group1</code>, and <code>@DOMAIN\group1</code>. Can only be set if Authentication is set to <code>ActiveDirectory</code>.</p><br>
/// - [`audit_destination_arn(impl Into<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::audit_destination_arn) / [`set_audit_destination_arn(Option<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_audit_destination_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the storage used for audit logs.</p><br>
/// - [`case_sensitivity(CaseSensitivity)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::case_sensitivity) / [`set_case_sensitivity(Option<CaseSensitivity>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_case_sensitivity):<br>required: **false**<br><p>The case of an object name in an Amazon S3 bucket. For <code>ClientSpecified</code>, the client determines the case sensitivity. For <code>CaseSensitive</code>, the gateway determines the case sensitivity. The default value is <code>ClientSpecified</code>.</p><br>
/// - [`file_share_name(impl Into<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::file_share_name) / [`set_file_share_name(Option<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_file_share_name):<br>required: **false**<br><p>The name of the file share. Optional.</p><note> <p><code>FileShareName</code> must be set if an S3 prefix name is set in <code>LocationARN</code>, or if an access point or access point alias is used.</p> </note><br>
/// - [`cache_attributes(CacheAttributes)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::cache_attributes) / [`set_cache_attributes(Option<CacheAttributes>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_cache_attributes):<br>required: **false**<br><p>Specifies refresh cache information for the file share.</p><br>
/// - [`notification_policy(impl Into<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::notification_policy) / [`set_notification_policy(Option<String>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_notification_policy):<br>required: **false**<br><p>The notification policy of the file share. <code>SettlingTimeInSeconds</code> controls the number of seconds to wait after the last point in time a client wrote to a file before generating an <code>ObjectUploaded</code> notification. Because clients can make many small writes to files, it's best to set this parameter for as long as possible to avoid generating multiple notifications for the same file in a small time period.</p><note> <p><code>SettlingTimeInSeconds</code> has no effect on the timing of the object uploading to Amazon S3, only the timing of the notification.</p> </note> <p>The following example sets <code>NotificationPolicy</code> on with <code>SettlingTimeInSeconds</code> set to 60.</p> <p><code>{\"Upload\": {\"SettlingTimeInSeconds\": 60}}</code></p> <p>The following example sets <code>NotificationPolicy</code> off.</p> <p><code>{}</code></p><br>
/// - [`oplocks_enabled(bool)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::oplocks_enabled) / [`set_oplocks_enabled(Option<bool>)`](crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::set_oplocks_enabled):<br>required: **false**<br><p>Specifies whether opportunistic locking is enabled for the SMB file share.</p><note> <p>Enabling opportunistic locking on case-sensitive shares is not recommended for workloads that involve access to files with the same name in different case.</p> </note> <p>Valid Values: <code>true</code> | <code>false</code></p><br>
/// - On success, responds with [`UpdateSmbFileShareOutput`](crate::operation::update_smb_file_share::UpdateSmbFileShareOutput) with field(s):
/// - [`file_share_arn(Option<String>)`](crate::operation::update_smb_file_share::UpdateSmbFileShareOutput::file_share_arn): <p>The Amazon Resource Name (ARN) of the updated SMB file share.</p>
/// - On failure, responds with [`SdkError<UpdateSMBFileShareError>`](crate::operation::update_smb_file_share::UpdateSMBFileShareError)
pub fn update_smb_file_share(&self) -> crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder {
crate::operation::update_smb_file_share::builders::UpdateSMBFileShareFluentBuilder::new(self.handle.clone())
}
}