// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.CloudStorageGateway.Outputs
{

    [OutputType]
    public sealed class GetGatewayFileSharesShareResult
    {
        /// <summary>
        /// The set up gateway file share Server Message Block (SMB) protocol, whether to enable Windows ABE, the prime minister, need windowsAcl parameter is set to true in the entry into force of. Default value: `false`. **NOTE:** Gateway version &gt;= 1.0.45 above support.
        /// </summary>
        public readonly bool AccessBasedEnumeration;
        /// <summary>
        /// Share the private IP address of the RDS instance.
        /// </summary>
        public readonly string Address;
        /// <summary>
        /// The set up gateway file share Max upload speed. Unit: `MB/s`, `0` means unlimited. Value range: `0` ~ `1280`. Default value: `0`. **NOTE:** at the same time if you have to limit the maximum write speed, maximum upload speed is no less than the maximum write speed.
        /// </summary>
        public readonly int BackendLimit;
        /// <summary>
        /// The set up gateway file share Server Message Block (SMB) protocol whether browsable (that is, in the network neighborhood of whether you can find). The parameters in the NFS protocol not valid under. Default value: `true`.
        /// </summary>
        public readonly bool Browsable;
        /// <summary>
        /// Multi-Bucket information.
        /// </summary>
        public readonly string BucketInfos;
        /// <summary>
        /// Whether there are multiple buckets.
        /// </summary>
        public readonly bool BucketsStub;
        /// <summary>
        /// Direct reading OSS of the gateway file share.
        /// </summary>
        public readonly bool BypassCacheRead;
        /// <summary>
        /// The cache mode of the gateway file share. Value range: Cache: cached mode. Sync: replication mode are available.
        /// </summary>
        public readonly string CacheMode;
        /// <summary>
        /// File share is enabled to client-side encryption, the encryption by the use of the KMS key. **NOTE:** note: This KMS key must be the gateway and is in the same Region.
        /// </summary>
        public readonly string ClientSideCmk;
        /// <summary>
        /// Whether to enabled to client-side encryption of the gateway file share. Default value: `false`. **NOTE:** need to contact us open whitelist before you can the settings, and only supports enhanced more than online gateway, at the same time, server-side encryption and to client-side encryption can not simultaneously configuration.
        /// </summary>
        public readonly bool ClientSideEncryption;
        /// <summary>
        /// Whether directio (direct I/O data transfer) is enabled for file share. Default: `false`.
        /// </summary>
        public readonly bool DirectIo;
        /// <summary>
        /// The ID of the disk.
        /// </summary>
        public readonly string DiskId;
        /// <summary>
        /// The cache disk type. Valid values: `cloud_efficiency`: Ultra cloud disk. `cloud_ssd`:SSD cloud disk.
        /// </summary>
        public readonly string DiskType;
        /// <summary>
        /// The set up gateway file share maximum download speed. Unit: `MB/s`. `0` means unlimited. Value range: `0` ~ `1280`. **NOTE:** only in copy mode and enable download file data can be set. only when the shared opens the reverse synchronization or acceded to by the speed synchronization Group when, this parameter will not take effect. Gateway version &gt;= 1.3.0 above support.
        /// </summary>
        public readonly int DownloadLimit;
        /// <summary>
        /// Shared whether the changes take effect.
        /// </summary>
        public readonly bool Enabled;
        /// <summary>
        /// Speed synchronization group ID.
        /// </summary>
        public readonly string ExpressSyncId;
        /// <summary>
        /// The set up gateway file share whether to enable Upload optimization, which is suitable for data pure backup migration scenarios. Default value: `false`. **NOTE:** Gateway version &gt;= 1.0.39 above support.
        /// </summary>
        public readonly bool FastReclaim;
        /// <summary>
        /// The set up gateway file share and the maximum write speed. Unit: `MB/s`, `0` means unlimited. Value range: `0` ~ `1280`. Default value: `0`.
        /// </summary>
        public readonly int FeLimit;
        /// <summary>
        /// Supported by the file system file number.
        /// </summary>
        public readonly string FileNumLimit;
        /// <summary>
        /// File system capacity. Unit: `B`.
        /// </summary>
        public readonly string FsSizeLimit;
        /// <summary>
        /// The name of the file share. Length from `1` to `255` characters can contain lowercase letters, digits, (.), (_) Or (-), at the same time, must start with a lowercase letter.
        /// </summary>
        public readonly string GatewayFileShareName;
        /// <summary>
        /// The ID of the gateway.
        /// </summary>
        public readonly string GatewayId;
        /// <summary>
        /// The ID of the Gateway File Share.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Whether to ignore deleted of the gateway file share. After the opening of the Gateway side delete file or delete cloud (OSS) corresponding to the file. Default value: `false`. **NOTE:** Gateway version &gt;= 1.0.40 above support.
        /// </summary>
        public readonly bool IgnoreDelete;
        /// <summary>
        /// Whether debris optimization of the gateway file share. Default value: `false`.
        /// </summary>
        public readonly bool InPlace;
        /// <summary>
        /// Cache growth. Unit: `B/s`.
        /// </summary>
        public readonly string InRate;
        /// <summary>
        /// The ID of the file share.
        /// </summary>
        public readonly string IndexId;
        /// <summary>
        /// File share is enabled to client-side encryption, key rotation period of time. Seconds. 0 represents no rotation. Rotation of the value range: `3600` ~ `86400`. Default value: `0`.
        /// </summary>
        public readonly int KmsRotatePeriod;
        /// <summary>
        /// The synchronization delay, I.e. gateway local cache sync to Alibaba Cloud Object Storage Service (oss) of the delay time. Unit: `Seconds`. Value range: `5` ~ `120`. Default value: `5`. **NOTE:** Gateway version &gt;= 1.0.40 above support.
        /// </summary>
        public readonly string LagPeriod;
        /// <summary>
        /// The cache disk inside the device name.
        /// </summary>
        public readonly string LocalPath;
        /// <summary>
        /// The messages from the queue health types. Valid values: `TopicAndQueueFailure`: A Message Queuing message theme can be accessed during the black hole period. `TopicFailure`: a message theme can be accessed during the black hole period. `MNSFullSyncInit`: full synchronization wait. `MNSFullSyncing`: full synchronization in progress. `QueueFailure`: a message queue can be accessed during the black hole period. `MNSNotEnabled`: Top speed synchronization is not enabled. `MNSHealthy`: sync fine.
        /// </summary>
        public readonly string MnsHealth;
        /// <summary>
        /// The set up gateway file share NFS protocol, whether to enable NFS v4 optimization improve Mount Upload efficiency. Default value: `false`. **NOTE:** turns on after I will not support NFS v3 mount the filesystem on a. Gateway version &gt;= 1.2.0 above support.
        /// </summary>
        public readonly bool NfsV4Optimization;
        /// <summary>
        /// Multi-Bucket, removing the Bucket.
        /// </summary>
        public readonly string ObsoleteBuckets;
        /// <summary>
        /// The name of the Bucket.
        /// </summary>
        public readonly string OssBucketName;
        /// <summary>
        /// Whether they are using SSL connect to OSS Bucket.
        /// </summary>
        public readonly bool OssBucketSsl;
        /// <summary>
        /// The set up gateway file share corresponds to the Object Storage SERVICE (OSS), Bucket Endpoint. **NOTE:** distinguish between intranet and internet Endpoint. We recommend that if the OSS Bucket and the gateway is in the same Region is use the RDS intranet IP Endpoint:oss-cn-hangzhou-internal.aliyuncs.com.
        /// </summary>
        public readonly string OssEndpoint;
        /// <summary>
        /// The OSS Bucket of type. Valid values: `BucketHealthy`: OSS connectivity. `BucketAccessDenied`: OBJECT STORAGE Service (OSS) access to an exception. `BucketMiscFailure`: OBJECT STORAGE Service (OSS) access to additional exception. `BucketNetworkFailure`: OBJECT STORAGE Service (OSS) access network an exception. `BucketNotExist`: OSS Bucket does not exist. `Nothing returns`: We may not have ever known existed.
        /// </summary>
        public readonly string OssHealth;
        /// <summary>
        /// For a cloud-based data is. Unit: `B`.
        /// </summary>
        public readonly string OssUsed;
        /// <summary>
        /// Upload speed. Unit: `B/s`.
        /// </summary>
        public readonly string OutRate;
        /// <summary>
        /// In part mode, the directory path group JSON format.
        /// </summary>
        public readonly string PartialSyncPaths;
        /// <summary>
        /// The prefix of the OSS.
        /// </summary>
        public readonly string PathPrefix;
        /// <summary>
        /// The reverse synchronization time intervals of the gateway file share. Value range: `15` ~ `36000`. **NOTE:** in copy mode + reverse synchronization is enabled Download file data, value range: `3600` ~ `36000`.
        /// </summary>
        public readonly int PollingInterval;
        /// <summary>
        /// Share types. Valid values: `SMB`, `NFS`.
        /// </summary>
        public readonly string Protocol;
        /// <summary>
        /// You can use the metadata space. Unit: `B`.
        /// </summary>
        public readonly string RemainingMetaSpace;
        /// <summary>
        /// Whether to enable reverse synchronization of the gateway file share. Default value: `false`.
        /// </summary>
        public readonly bool RemoteSync;
        /// <summary>
        /// Copy mode, whether to download the file data. Default value: `false`. **NOTE:** only when the shared opens the reverse synchronization or acceded to by the speed synchronization group, this parameter will not take effect.
        /// </summary>
        public readonly bool RemoteSyncDownload;
        /// <summary>
        /// The read-only client list. When Protocol NFS is returned when the status is.
        /// </summary>
        public readonly string RoClientList;
        /// <summary>
        /// The read-only client list. When Protocol for Server Message Block (SMB) to go back to.
        /// </summary>
        public readonly string RoUserList;
        /// <summary>
        /// Read and write the client list. When Protocol NFS is returned when the status is.
        /// </summary>
        public readonly string RwClientList;
        /// <summary>
        /// Read-write user list. When Protocol for Server Message Block (SMB) to go back to.
        /// </summary>
        public readonly string RwUserList;
        /// <summary>
        /// File share is enabled server-side encryption, encryption used by the KMS key.
        /// </summary>
        public readonly string ServerSideCmk;
        /// <summary>
        /// If the OSS Bucket side encryption.
        /// </summary>
        public readonly bool ServerSideEncryption;
        /// <summary>
        /// The caching capacity. Unit: `B`.
        /// </summary>
        public readonly string Size;
        /// <summary>
        /// The set up gateway file share NFS protocol user mapping. Valid values: `none`, `root_squash`, `all_squash`, `all_anonymous`. Default value: `none`.
        /// </summary>
        public readonly string Squash;
        /// <summary>
        /// File synchronization types. Valid values: `clean`, `dirty`. `clean`: synchronization is complete. `dirty`: synchronization has not been completed.
        /// </summary>
        public readonly string State;
        /// <summary>
        /// Whether to support the archive transparent read.
        /// </summary>
        public readonly bool SupportArchive;
        /// <summary>
        /// Full synchronization progress. When the share has been added for a synchronization group, the return parameters are valid, that shared full synchronization progress (0~100). `-2`: indicates that share the Gateway version does not support this feature. `-1`: the share does not occur full synchronization.
        /// </summary>
        public readonly int SyncProgress;
        /// <summary>
        /// The OSS Bucket to the Gateway total downloads. Unit: `B`.
        /// </summary>
        public readonly string TotalDownload;
        /// <summary>
        /// The OSS Bucket to the Gateway total Upload amount. Unit: `B`.
        /// </summary>
        public readonly string TotalUpload;
        /// <summary>
        /// The set up gateway file share whether to enable transmission acceleration needs corresponding OSS Bucket enabled transport acceleration. **NOTE:** Gateway version &gt;= 1.3.0 above support.
        /// </summary>
        public readonly bool TransferAcceleration;
        /// <summary>
        /// Used cache. Unit: `B`.
        /// </summary>
        public readonly string Used;
        /// <summary>
        /// The set up gateway file share Server Message Block (SMB) protocol, whether to enable by Windows access list (requires AD domain) the permissions control. Default value: `false`. **NOTE:** Gateway version &gt;= 1.0.45 above support.
        /// </summary>
        public readonly bool WindowsAcl;

        [OutputConstructor]
        private GetGatewayFileSharesShareResult(
            bool accessBasedEnumeration,

            string address,

            int backendLimit,

            bool browsable,

            string bucketInfos,

            bool bucketsStub,

            bool bypassCacheRead,

            string cacheMode,

            string clientSideCmk,

            bool clientSideEncryption,

            bool directIo,

            string diskId,

            string diskType,

            int downloadLimit,

            bool enabled,

            string expressSyncId,

            bool fastReclaim,

            int feLimit,

            string fileNumLimit,

            string fsSizeLimit,

            string gatewayFileShareName,

            string gatewayId,

            string id,

            bool ignoreDelete,

            bool inPlace,

            string inRate,

            string indexId,

            int kmsRotatePeriod,

            string lagPeriod,

            string localPath,

            string mnsHealth,

            bool nfsV4Optimization,

            string obsoleteBuckets,

            string ossBucketName,

            bool ossBucketSsl,

            string ossEndpoint,

            string ossHealth,

            string ossUsed,

            string outRate,

            string partialSyncPaths,

            string pathPrefix,

            int pollingInterval,

            string protocol,

            string remainingMetaSpace,

            bool remoteSync,

            bool remoteSyncDownload,

            string roClientList,

            string roUserList,

            string rwClientList,

            string rwUserList,

            string serverSideCmk,

            bool serverSideEncryption,

            string size,

            string squash,

            string state,

            bool supportArchive,

            int syncProgress,

            string totalDownload,

            string totalUpload,

            bool transferAcceleration,

            string used,

            bool windowsAcl)
        {
            AccessBasedEnumeration = accessBasedEnumeration;
            Address = address;
            BackendLimit = backendLimit;
            Browsable = browsable;
            BucketInfos = bucketInfos;
            BucketsStub = bucketsStub;
            BypassCacheRead = bypassCacheRead;
            CacheMode = cacheMode;
            ClientSideCmk = clientSideCmk;
            ClientSideEncryption = clientSideEncryption;
            DirectIo = directIo;
            DiskId = diskId;
            DiskType = diskType;
            DownloadLimit = downloadLimit;
            Enabled = enabled;
            ExpressSyncId = expressSyncId;
            FastReclaim = fastReclaim;
            FeLimit = feLimit;
            FileNumLimit = fileNumLimit;
            FsSizeLimit = fsSizeLimit;
            GatewayFileShareName = gatewayFileShareName;
            GatewayId = gatewayId;
            Id = id;
            IgnoreDelete = ignoreDelete;
            InPlace = inPlace;
            InRate = inRate;
            IndexId = indexId;
            KmsRotatePeriod = kmsRotatePeriod;
            LagPeriod = lagPeriod;
            LocalPath = localPath;
            MnsHealth = mnsHealth;
            NfsV4Optimization = nfsV4Optimization;
            ObsoleteBuckets = obsoleteBuckets;
            OssBucketName = ossBucketName;
            OssBucketSsl = ossBucketSsl;
            OssEndpoint = ossEndpoint;
            OssHealth = ossHealth;
            OssUsed = ossUsed;
            OutRate = outRate;
            PartialSyncPaths = partialSyncPaths;
            PathPrefix = pathPrefix;
            PollingInterval = pollingInterval;
            Protocol = protocol;
            RemainingMetaSpace = remainingMetaSpace;
            RemoteSync = remoteSync;
            RemoteSyncDownload = remoteSyncDownload;
            RoClientList = roClientList;
            RoUserList = roUserList;
            RwClientList = rwClientList;
            RwUserList = rwUserList;
            ServerSideCmk = serverSideCmk;
            ServerSideEncryption = serverSideEncryption;
            Size = size;
            Squash = squash;
            State = state;
            SupportArchive = supportArchive;
            SyncProgress = syncProgress;
            TotalDownload = totalDownload;
            TotalUpload = totalUpload;
            TransferAcceleration = transferAcceleration;
            Used = used;
            WindowsAcl = windowsAcl;
        }
    }
}
