/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the storagegateway-2013-06-30.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.StorageGateway.Model { /// /// Container for the parameters to the UpdateSMBFileShare operation. /// Updates a Server Message Block (SMB) file share. This operation is only supported /// for S3 File Gateways. /// /// /// /// To leave a file share field unchanged, set the corresponding input field to null. /// /// /// /// File gateways require Security Token Service (Amazon Web Services STS) to be activated /// to enable you to create a file share. Make sure that Amazon Web Services STS is activated /// in the Amazon Web Services Region you are creating your file gateway in. If Amazon /// Web Services STS is not activated in this Amazon Web Services Region, activate it. /// For information about how to activate Amazon Web Services STS, see Activating /// and deactivating Amazon Web Services STS in an Amazon Web Services Region in the /// Identity and Access Management User Guide. /// /// /// /// File gateways don't support creating hard or symbolic links on a file share. /// /// /// public partial class UpdateSMBFileShareRequest : AmazonStorageGatewayRequest { private bool? _accessBasedEnumeration; private List _adminUserList = new List(); private string _auditDestinationARN; private CacheAttributes _cacheAttributes; private CaseSensitivity _caseSensitivity; private string _defaultStorageClass; private string _fileShareARN; private string _fileShareName; private bool? _guessMIMETypeEnabled; private List _invalidUserList = new List(); private bool? _kmsEncrypted; private string _kmsKey; private string _notificationPolicy; private ObjectACL _objectACL; private bool? _oplocksEnabled; private bool? _readOnly; private bool? _requesterPays; private bool? _smbaclEnabled; private List _validUserList = new List(); /// /// Gets and sets the property AccessBasedEnumeration. /// /// The files and folders on this share will only be visible to users with read access. /// /// public bool AccessBasedEnumeration { get { return this._accessBasedEnumeration.GetValueOrDefault(); } set { this._accessBasedEnumeration = value; } } // Check to see if AccessBasedEnumeration property is set internal bool IsSetAccessBasedEnumeration() { return this._accessBasedEnumeration.HasValue; } /// /// Gets and sets the property AdminUserList. /// /// 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: DOMAIN\User1, user1, @group1, and /// @DOMAIN\group1. Can only be set if Authentication is set to ActiveDirectory. /// /// [AWSProperty(Min=0, Max=100)] public List AdminUserList { get { return this._adminUserList; } set { this._adminUserList = value; } } // Check to see if AdminUserList property is set internal bool IsSetAdminUserList() { return this._adminUserList != null && this._adminUserList.Count > 0; } /// /// Gets and sets the property AuditDestinationARN. /// /// The Amazon Resource Name (ARN) of the storage used for audit logs. /// /// [AWSProperty(Max=1024)] public string AuditDestinationARN { get { return this._auditDestinationARN; } set { this._auditDestinationARN = value; } } // Check to see if AuditDestinationARN property is set internal bool IsSetAuditDestinationARN() { return this._auditDestinationARN != null; } /// /// Gets and sets the property CacheAttributes. /// /// Specifies refresh cache information for the file share. /// /// public CacheAttributes CacheAttributes { get { return this._cacheAttributes; } set { this._cacheAttributes = value; } } // Check to see if CacheAttributes property is set internal bool IsSetCacheAttributes() { return this._cacheAttributes != null; } /// /// Gets and sets the property CaseSensitivity. /// /// The case of an object name in an Amazon S3 bucket. For ClientSpecified, /// the client determines the case sensitivity. For CaseSensitive, the gateway /// determines the case sensitivity. The default value is ClientSpecified. /// /// public CaseSensitivity CaseSensitivity { get { return this._caseSensitivity; } set { this._caseSensitivity = value; } } // Check to see if CaseSensitivity property is set internal bool IsSetCaseSensitivity() { return this._caseSensitivity != null; } /// /// Gets and sets the property DefaultStorageClass. /// /// The default storage class for objects put into an Amazon S3 bucket by the S3 File /// Gateway. The default value is S3_STANDARD. Optional. /// /// /// /// Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA /// | S3_ONEZONE_IA /// /// [AWSProperty(Min=5, Max=50)] public string DefaultStorageClass { get { return this._defaultStorageClass; } set { this._defaultStorageClass = value; } } // Check to see if DefaultStorageClass property is set internal bool IsSetDefaultStorageClass() { return this._defaultStorageClass != null; } /// /// Gets and sets the property FileShareARN. /// /// The Amazon Resource Name (ARN) of the SMB file share that you want to update. /// /// [AWSProperty(Required=true, Min=50, Max=500)] public string FileShareARN { get { return this._fileShareARN; } set { this._fileShareARN = value; } } // Check to see if FileShareARN property is set internal bool IsSetFileShareARN() { return this._fileShareARN != null; } /// /// Gets and sets the property FileShareName. /// /// The name of the file share. Optional. /// /// /// /// FileShareName must be set if an S3 prefix name is set in LocationARN, /// or if an access point or access point alias is used. /// /// /// [AWSProperty(Min=1, Max=255)] public string FileShareName { get { return this._fileShareName; } set { this._fileShareName = value; } } // Check to see if FileShareName property is set internal bool IsSetFileShareName() { return this._fileShareName != null; } /// /// Gets and sets the property GuessMIMETypeEnabled. /// /// A value that enables guessing of the MIME type for uploaded objects based on file /// extensions. Set this value to true to enable MIME type guessing, otherwise /// set to false. The default value is true. /// /// /// /// Valid Values: true | false /// /// public bool GuessMIMETypeEnabled { get { return this._guessMIMETypeEnabled.GetValueOrDefault(); } set { this._guessMIMETypeEnabled = value; } } // Check to see if GuessMIMETypeEnabled property is set internal bool IsSetGuessMIMETypeEnabled() { return this._guessMIMETypeEnabled.HasValue; } /// /// Gets and sets the property InvalidUserList. /// /// 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: /// DOMAIN\User1, user1, @group1, and @DOMAIN\group1. /// Can only be set if Authentication is set to ActiveDirectory. /// /// [AWSProperty(Min=0, Max=100)] public List InvalidUserList { get { return this._invalidUserList; } set { this._invalidUserList = value; } } // Check to see if InvalidUserList property is set internal bool IsSetInvalidUserList() { return this._invalidUserList != null && this._invalidUserList.Count > 0; } /// /// Gets and sets the property KMSEncrypted. /// /// Set to true to use Amazon S3 server-side encryption with your own KMS /// key, or false to use a key managed by Amazon S3. Optional. /// /// /// /// Valid Values: true | false /// /// public bool KMSEncrypted { get { return this._kmsEncrypted.GetValueOrDefault(); } set { this._kmsEncrypted = value; } } // Check to see if KMSEncrypted property is set internal bool IsSetKMSEncrypted() { return this._kmsEncrypted.HasValue; } /// /// Gets and sets the property KMSKey. /// /// 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 KMSEncrypted is true. Optional. /// /// [AWSProperty(Min=7, Max=2048)] public string KMSKey { get { return this._kmsKey; } set { this._kmsKey = value; } } // Check to see if KMSKey property is set internal bool IsSetKMSKey() { return this._kmsKey != null; } /// /// Gets and sets the property NotificationPolicy. /// /// The notification policy of the file share. SettlingTimeInSeconds controls /// the number of seconds to wait after the last point in time a client wrote to a file /// before generating an ObjectUploaded 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. /// /// /// /// SettlingTimeInSeconds has no effect on the timing of the object uploading /// to Amazon S3, only the timing of the notification. /// /// /// /// The following example sets NotificationPolicy on with SettlingTimeInSeconds /// set to 60. /// /// /// /// {\"Upload\": {\"SettlingTimeInSeconds\": 60}} /// /// /// /// The following example sets NotificationPolicy off. /// /// /// /// {} /// /// [AWSProperty(Min=2, Max=100)] public string NotificationPolicy { get { return this._notificationPolicy; } set { this._notificationPolicy = value; } } // Check to see if NotificationPolicy property is set internal bool IsSetNotificationPolicy() { return this._notificationPolicy != null; } /// /// Gets and sets the property ObjectACL. /// /// 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 private. /// /// public ObjectACL ObjectACL { get { return this._objectACL; } set { this._objectACL = value; } } // Check to see if ObjectACL property is set internal bool IsSetObjectACL() { return this._objectACL != null; } /// /// Gets and sets the property OplocksEnabled. /// /// Specifies whether opportunistic locking is enabled for the SMB file share. /// /// /// /// Enabling opportunistic locking on case-sensitive shares is not recommended for workloads /// that involve access to files with the same name in different case. /// /// /// /// Valid Values: true | false /// /// public bool OplocksEnabled { get { return this._oplocksEnabled.GetValueOrDefault(); } set { this._oplocksEnabled = value; } } // Check to see if OplocksEnabled property is set internal bool IsSetOplocksEnabled() { return this._oplocksEnabled.HasValue; } /// /// Gets and sets the property ReadOnly. /// /// A value that sets the write status of a file share. Set this value to true /// to set write status to read-only, otherwise set to false. /// /// /// /// Valid Values: true | false /// /// public bool ReadOnly { get { return this._readOnly.GetValueOrDefault(); } set { this._readOnly = value; } } // Check to see if ReadOnly property is set internal bool IsSetReadOnly() { return this._readOnly.HasValue; } /// /// Gets and sets the property RequesterPays. /// /// 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 true, the requester /// pays the costs; otherwise, the S3 bucket owner pays. However, the S3 bucket owner /// always pays the cost of storing data. /// /// /// /// RequesterPays 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. /// /// /// /// Valid Values: true | false /// /// public bool RequesterPays { get { return this._requesterPays.GetValueOrDefault(); } set { this._requesterPays = value; } } // Check to see if RequesterPays property is set internal bool IsSetRequesterPays() { return this._requesterPays.HasValue; } /// /// Gets and sets the property SMBACLEnabled. /// /// Set this value to true to enable access control list (ACL) on the SMB /// file share. Set it to false to map file and directory permissions to /// the POSIX permissions. /// /// /// /// For more information, see Using /// Microsoft Windows ACLs to control access to an SMB file share in the Storage /// Gateway User Guide. /// /// /// /// Valid Values: true | false /// /// public bool SMBACLEnabled { get { return this._smbaclEnabled.GetValueOrDefault(); } set { this._smbaclEnabled = value; } } // Check to see if SMBACLEnabled property is set internal bool IsSetSMBACLEnabled() { return this._smbaclEnabled.HasValue; } /// /// Gets and sets the property ValidUserList. /// /// 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: /// DOMAIN\User1, user1, @group1, and @DOMAIN\group1. /// Can only be set if Authentication is set to ActiveDirectory. /// /// [AWSProperty(Min=0, Max=100)] public List ValidUserList { get { return this._validUserList; } set { this._validUserList = value; } } // Check to see if ValidUserList property is set internal bool IsSetValidUserList() { return this._validUserList != null && this._validUserList.Count > 0; } } }