/* * 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 { /// /// The Unix file permissions and ownership information assigned, by default, to native /// S3 objects when an S3 File Gateway discovers them in S3 buckets. This operation is /// only supported in S3 File Gateways. /// public partial class NFSFileShareInfo { private string _auditDestinationARN; private string _bucketRegion; private CacheAttributes _cacheAttributes; private List _clientList = new List(); private string _defaultStorageClass; private string _fileShareARN; private string _fileShareId; private string _fileShareName; private string _fileShareStatus; private string _gatewayARN; private bool? _guessMIMETypeEnabled; private bool? _kmsEncrypted; private string _kmsKey; private string _locationARN; private NFSFileShareDefaults _nfsFileShareDefaults; private string _notificationPolicy; private ObjectACL _objectACL; private string _path; private bool? _readOnly; private bool? _requesterPays; private string _role; private string _squash; private List _tags = new List(); private string _vpcEndpointDNSName; /// /// 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 BucketRegion. /// /// Specifies the Region of the S3 bucket where the NFS file share stores files. /// /// /// /// This parameter is required for NFS file shares that connect to Amazon S3 through a /// VPC endpoint, a VPC access point, or an access point alias that points to a VPC access /// point. /// /// /// [AWSProperty(Min=1, Max=25)] public string BucketRegion { get { return this._bucketRegion; } set { this._bucketRegion = value; } } // Check to see if BucketRegion property is set internal bool IsSetBucketRegion() { return this._bucketRegion != null; } /// /// Gets and sets the property CacheAttributes. /// /// 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 ClientList. /// [AWSProperty(Min=1, Max=100)] public List ClientList { get { return this._clientList; } set { this._clientList = value; } } // Check to see if ClientList property is set internal bool IsSetClientList() { return this._clientList != null && this._clientList.Count > 0; } /// /// 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. /// [AWSProperty(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 FileShareId. /// [AWSProperty(Min=12, Max=30)] public string FileShareId { get { return this._fileShareId; } set { this._fileShareId = value; } } // Check to see if FileShareId property is set internal bool IsSetFileShareId() { return this._fileShareId != 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 FileShareStatus. /// [AWSProperty(Min=3, Max=50)] public string FileShareStatus { get { return this._fileShareStatus; } set { this._fileShareStatus = value; } } // Check to see if FileShareStatus property is set internal bool IsSetFileShareStatus() { return this._fileShareStatus != null; } /// /// Gets and sets the property GatewayARN. /// [AWSProperty(Min=50, Max=500)] public string GatewayARN { get { return this._gatewayARN; } set { this._gatewayARN = value; } } // Check to see if GatewayARN property is set internal bool IsSetGatewayARN() { return this._gatewayARN != 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 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. /// [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 LocationARN. /// [AWSProperty(Min=16, Max=1400)] public string LocationARN { get { return this._locationARN; } set { this._locationARN = value; } } // Check to see if LocationARN property is set internal bool IsSetLocationARN() { return this._locationARN != null; } /// /// Gets and sets the property NFSFileShareDefaults. /// public NFSFileShareDefaults NFSFileShareDefaults { get { return this._nfsFileShareDefaults; } set { this._nfsFileShareDefaults = value; } } // Check to see if NFSFileShareDefaults property is set internal bool IsSetNFSFileShareDefaults() { return this._nfsFileShareDefaults != 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. /// 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 Path. /// public string Path { get { return this._path; } set { this._path = value; } } // Check to see if Path property is set internal bool IsSetPath() { return this._path != null; } /// /// Gets and sets the property ReadOnly. /// /// A value that sets the write status of a file share. Set this value to true /// to set the 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 Role. /// [AWSProperty(Min=20, Max=2048)] public string Role { get { return this._role; } set { this._role = value; } } // Check to see if Role property is set internal bool IsSetRole() { return this._role != null; } /// /// Gets and sets the property Squash. /// [AWSProperty(Min=5, Max=15)] public string Squash { get { return this._squash; } set { this._squash = value; } } // Check to see if Squash property is set internal bool IsSetSquash() { return this._squash != null; } /// /// Gets and sets the property Tags. /// /// A list of up to 50 tags assigned to the NFS file share, sorted alphabetically by key /// name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, /// you can view all tags using the ListTagsForResource API operation. /// /// public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property VPCEndpointDNSName. /// /// Specifies the DNS name for the VPC endpoint that the NFS file share uses to connect /// to Amazon S3. /// /// /// /// This parameter is required for NFS file shares that connect to Amazon S3 through a /// VPC endpoint, a VPC access point, or an access point alias that points to a VPC access /// point. /// /// /// [AWSProperty(Min=1, Max=255)] public string VPCEndpointDNSName { get { return this._vpcEndpointDNSName; } set { this._vpcEndpointDNSName = value; } } // Check to see if VPCEndpointDNSName property is set internal bool IsSetVPCEndpointDNSName() { return this._vpcEndpointDNSName != null; } } }