Beispiel #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UserQuota" /> class.
 /// </summary>
 /// <param name="quotaPolicy">quotaPolicy.</param>
 /// <param name="sid">If interested in a user via smb_client, include SID. Otherwise, If a valid unix-id to SID mappings are available (i.e., when mixed mode is enabled) the server will perform the necessary id mapping and return the correct usage irrespective of whether the unix id / SID is provided. The string is of following format - S-1-IdentifierAuthority-SubAuthority1-SubAuthority2-...-SubAuthorityn..</param>
 /// <param name="unixUid">If interested in a user via unix-identifier, include UnixUid. Otherwise, If a valid unix-id to SID mappings are available (i.e., when mixed mode is enabled) the server will perform the necessary id mapping and return the correct usage irrespective of whether the unix id / SID is provided..</param>
 public UserQuota(QuotaPolicy quotaPolicy = default(QuotaPolicy), string sid = default(string), int?unixUid = default(int?))
 {
     this.Sid         = sid;
     this.UnixUid     = unixUid;
     this.QuotaPolicy = quotaPolicy;
     this.Sid         = sid;
     this.UnixUid     = unixUid;
 }
Beispiel #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UserQuotaAndUsage" /> class.
 /// </summary>
 /// <param name="quotaPolicy">quotaPolicy.</param>
 /// <param name="sid">If interested in a user via smb_client, include SID. Otherwise, If valid unix-id to SID mappings are available (i.e., when mixed mode is enabled) the server will perform the necessary id mapping and return the correct usage irrespective of whether the unix id / SID is provided. The string is of following format - S-1-IdentifierAuthority-SubAuthority1-SubAuthority2-...-SubAuthorityn..</param>
 /// <param name="unixUid">If interested in a user via unix-identifier, include UnixUid. Otherwise, If valid unix-id to SID mappings are available (i.e., when mixed mode is enabled) the server will perform the necessary id mapping and return the correct usage irrespective of whether the unix id / SID is provided..</param>
 /// <param name="usageBytes">Current logical usage of user id in the input view..</param>
 public UserQuotaAndUsage(QuotaPolicy quotaPolicy = default(QuotaPolicy), string sid = default(string), int?unixUid = default(int?), long?usageBytes = default(long?))
 {
     this.Sid         = sid;
     this.UnixUid     = unixUid;
     this.UsageBytes  = usageBytes;
     this.QuotaPolicy = quotaPolicy;
     this.Sid         = sid;
     this.UnixUid     = unixUid;
     this.UsageBytes  = usageBytes;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="UserQuotaSummaryForView" /> class.
 /// </summary>
 /// <param name="defaultUserQuotaPolicy">defaultUserQuotaPolicy.</param>
 /// <param name="numUsersAboveAlertThreshold">Number of users who has exceeded their specified alert limit..</param>
 /// <param name="numUsersAboveHardLimit">Number of users who has exceeded their specified quota hard limit..</param>
 /// <param name="totalNumUsers">Total number of users who has either a user quota policy override specified or has non-zero logical usage..</param>
 public UserQuotaSummaryForView(QuotaPolicy defaultUserQuotaPolicy = default(QuotaPolicy), long?numUsersAboveAlertThreshold = default(long?), long?numUsersAboveHardLimit = default(long?), long?totalNumUsers = default(long?))
 {
     this.NumUsersAboveAlertThreshold = numUsersAboveAlertThreshold;
     this.NumUsersAboveHardLimit      = numUsersAboveHardLimit;
     this.TotalNumUsers               = totalNumUsers;
     this.DefaultUserQuotaPolicy      = defaultUserQuotaPolicy;
     this.NumUsersAboveAlertThreshold = numUsersAboveAlertThreshold;
     this.NumUsersAboveHardLimit      = numUsersAboveHardLimit;
     this.TotalNumUsers               = totalNumUsers;
 }
Beispiel #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QuotaAndUsageInView" /> class.
 /// </summary>
 /// <param name="quota">quota.</param>
 /// <param name="usageBytes">Usage in bytes of this user in this view..</param>
 /// <param name="viewId">The usage and quota policy information of this user for this view..</param>
 /// <param name="viewName">View name..</param>
 public QuotaAndUsageInView(QuotaPolicy quota = default(QuotaPolicy), long?usageBytes = default(long?), long?viewId = default(long?), string viewName = default(string))
 {
     this.UsageBytes = usageBytes;
     this.ViewId     = viewId;
     this.ViewName   = viewName;
     this.Quota      = quota;
     this.UsageBytes = usageBytes;
     this.ViewId     = viewId;
     this.ViewName   = viewName;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="UpdateUserQuotaSettingsForView" /> class.
 /// </summary>
 /// <param name="defaultUserQuotaPolicy">defaultUserQuotaPolicy.</param>
 /// <param name="enableUserQuota">If set, it enables/disables the user quota overrides for a view. Otherwise, it leaves it at it&#39;s previous state..</param>
 /// <param name="inheritDefaultPolicyFromViewbox">If set to true, the default_policy in view metadata will be cleared and the default policy from viewbox will take effect for all users in the view..</param>
 /// <param name="viewName">View name of input view..</param>
 public UpdateUserQuotaSettingsForView(QuotaPolicy defaultUserQuotaPolicy = default(QuotaPolicy), bool?enableUserQuota = default(bool?), bool?inheritDefaultPolicyFromViewbox = default(bool?), string viewName = default(string))
 {
     this.EnableUserQuota = enableUserQuota;
     this.InheritDefaultPolicyFromViewbox = inheritDefaultPolicyFromViewbox;
     this.ViewName = viewName;
     this.DefaultUserQuotaPolicy          = defaultUserQuotaPolicy;
     this.EnableUserQuota                 = enableUserQuota;
     this.InheritDefaultPolicyFromViewbox = inheritDefaultPolicyFromViewbox;
     this.ViewName = viewName;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CreateViewRequest" /> class.
 /// </summary>
 /// <param name="accessSids">Array of Security Identifiers (SIDs)  Specifies the list of security identifiers (SIDs) for the restricted Principals who have access to this View..</param>
 /// <param name="antivirusScanConfig">antivirusScanConfig.</param>
 /// <param name="caseInsensitiveNamesEnabled">Specifies whether to support case insensitive file/folder names. This parameter can only be set during create and cannot be changed..</param>
 /// <param name="description">Specifies an optional text description about the View..</param>
 /// <param name="enableFilerAuditLogging">Specifies if Filer Audit Logging is enabled for this view..</param>
 /// <param name="enableMixedModePermissions">If set, mixed mode (NFS and SMB) access is enabled for this view. This field is deprecated. Use the field SecurityMode. deprecated: true.</param>
 /// <param name="enableNfsViewDiscovery">If set, it enables discovery of view for NFS..</param>
 /// <param name="enableOfflineCaching">Specifies whether to enable offline file caching of the view..</param>
 /// <param name="enableSmbAccessBasedEnumeration">Specifies if access-based enumeration should be enabled. If &#39;true&#39;, only files and folders that the user has permissions to access are visible on the SMB share for that user..</param>
 /// <param name="enableSmbEncryption">Specifies the SMB encryption for the View. If set, it enables the SMB encryption for the View. Encryption is supported only by SMB 3.x dialects. Dialects that do not support would still access data in unencrypted format..</param>
 /// <param name="enableSmbViewDiscovery">If set, it enables discovery of view for SMB..</param>
 /// <param name="enforceSmbEncryption">Specifies the SMB encryption for all the sessions for the View. If set, encryption is enforced for all the sessions for the View. When enabled all future and existing unencrypted sessions are disallowed..</param>
 /// <param name="fileExtensionFilter">fileExtensionFilter.</param>
 /// <param name="fileLockConfig">fileLockConfig.</param>
 /// <param name="logicalQuota">Specifies an optional logical quota limit (in bytes) for the usage allowed on this View. (Logical data is when the data is fully hydrated and expanded.) This limit overrides the limit inherited from the Storage Domain (View Box) (if set). If logicalQuota is nil, the limit is inherited from the Storage Domain (View Box) (if set). A new write is not allowed if the Storage Domain (View Box) will exceed the specified quota. However, it takes time for the Cohesity Cluster to calculate the usage across Nodes, so the limit may be exceeded by a small amount. In addition, if the limit is increased or data is removed, there may be a delay before the Cohesity Cluster allows more data to be written to the View, as the Cluster is calculating the usage across Nodes..</param>
 /// <param name="name">Specifies the name of the new View to create. (required).</param>
 /// <param name="nfsAllSquash">nfsAllSquash.</param>
 /// <param name="nfsRootPermissions">nfsRootPermissions.</param>
 /// <param name="nfsRootSquash">nfsRootSquash.</param>
 /// <param name="overrideGlobalWhitelist">Specifies whether view level client subnet whitelist overrides cluster and global setting..</param>
 /// <param name="protocolAccess">Specifies the supported Protocols for the View. &#39;kAll&#39; enables protocol access to all three views: NFS, SMB and S3. &#39;kNFSOnly&#39; enables protocol access to NFS only. &#39;kSMBOnly&#39; enables protocol access to SMB only. &#39;kS3Only&#39; enables protocol access to S3 only..</param>
 /// <param name="qos">qos.</param>
 /// <param name="s3KeyMappingConfig">Specifies key mapping config of S3 storage. Configuration of S3 key mapping.  Specifies the type of S3 key mapping config..</param>
 /// <param name="securityMode">Specifies the security mode used for this view. Currently we support the following modes: Native, Unified and NTFS style. &#39;kNativeMode&#39; indicates a native security mode. &#39;kUnifiedMode&#39; indicates a unified security mode. &#39;kNtfsMode&#39; indicates a NTFS style security mode..</param>
 /// <param name="sharePermissions">Specifies a list of share level permissions..</param>
 /// <param name="smbPermissionsInfo">smbPermissionsInfo.</param>
 /// <param name="storagePolicyOverride">storagePolicyOverride.</param>
 /// <param name="subnetWhitelist">Array of Subnets.  Specifies a list of Subnets with IP addresses that have permissions to access the View. (Overrides the Subnets specified at the global Cohesity Cluster level.).</param>
 /// <param name="tenantId">Optional tenant id who has access to this View..</param>
 /// <param name="viewBoxId">Specifies the id of the Storage Domain (View Box) where the View will be created. (required).</param>
 public CreateViewRequest(List <string> accessSids = default(List <string>), AntivirusScanConfig antivirusScanConfig = default(AntivirusScanConfig), bool?caseInsensitiveNamesEnabled = default(bool?), string description = default(string), bool?enableFilerAuditLogging = default(bool?), bool?enableMixedModePermissions = default(bool?), bool?enableNfsViewDiscovery = default(bool?), bool?enableOfflineCaching = default(bool?), bool?enableSmbAccessBasedEnumeration = default(bool?), bool?enableSmbEncryption = default(bool?), bool?enableSmbViewDiscovery = default(bool?), bool?enforceSmbEncryption = default(bool?), FileExtensionFilter fileExtensionFilter = default(FileExtensionFilter), FileLevelDataLockConfig fileLockConfig = default(FileLevelDataLockConfig), QuotaPolicy logicalQuota = default(QuotaPolicy), string name = default(string), NfsSquash nfsAllSquash = default(NfsSquash), NfsRootPermissions nfsRootPermissions = default(NfsRootPermissions), NfsSquash nfsRootSquash = default(NfsSquash), bool?overrideGlobalWhitelist = default(bool?), ProtocolAccessEnum?protocolAccess = default(ProtocolAccessEnum?), QoS qos = default(QoS), S3KeyMappingConfigEnum?s3KeyMappingConfig = default(S3KeyMappingConfigEnum?), SecurityModeEnum?securityMode = default(SecurityModeEnum?), List <SmbPermission> sharePermissions = default(List <SmbPermission>), SmbPermissionsInfo smbPermissionsInfo = default(SmbPermissionsInfo), StoragePolicyOverride storagePolicyOverride = default(StoragePolicyOverride), List <Subnet> subnetWhitelist = default(List <Subnet>), string tenantId = default(string), long?viewBoxId = default(long?))
 {
     this.AccessSids = accessSids;
     this.CaseInsensitiveNamesEnabled = caseInsensitiveNamesEnabled;
     this.Description                     = description;
     this.EnableFilerAuditLogging         = enableFilerAuditLogging;
     this.EnableMixedModePermissions      = enableMixedModePermissions;
     this.EnableNfsViewDiscovery          = enableNfsViewDiscovery;
     this.EnableOfflineCaching            = enableOfflineCaching;
     this.EnableSmbAccessBasedEnumeration = enableSmbAccessBasedEnumeration;
     this.EnableSmbEncryption             = enableSmbEncryption;
     this.EnableSmbViewDiscovery          = enableSmbViewDiscovery;
     this.EnforceSmbEncryption            = enforceSmbEncryption;
     this.LogicalQuota                    = logicalQuota;
     this.Name = name;
     this.OverrideGlobalWhitelist = overrideGlobalWhitelist;
     this.ProtocolAccess          = protocolAccess;
     this.S3KeyMappingConfig      = s3KeyMappingConfig;
     this.SecurityMode            = securityMode;
     this.SharePermissions        = sharePermissions;
     this.SubnetWhitelist         = subnetWhitelist;
     this.TenantId                        = tenantId;
     this.ViewBoxId                       = viewBoxId;
     this.AccessSids                      = accessSids;
     this.AntivirusScanConfig             = antivirusScanConfig;
     this.CaseInsensitiveNamesEnabled     = caseInsensitiveNamesEnabled;
     this.Description                     = description;
     this.EnableFilerAuditLogging         = enableFilerAuditLogging;
     this.EnableMixedModePermissions      = enableMixedModePermissions;
     this.EnableNfsViewDiscovery          = enableNfsViewDiscovery;
     this.EnableOfflineCaching            = enableOfflineCaching;
     this.EnableSmbAccessBasedEnumeration = enableSmbAccessBasedEnumeration;
     this.EnableSmbEncryption             = enableSmbEncryption;
     this.EnableSmbViewDiscovery          = enableSmbViewDiscovery;
     this.EnforceSmbEncryption            = enforceSmbEncryption;
     this.FileExtensionFilter             = fileExtensionFilter;
     this.FileLockConfig                  = fileLockConfig;
     this.LogicalQuota                    = logicalQuota;
     this.NfsAllSquash                    = nfsAllSquash;
     this.NfsRootPermissions              = nfsRootPermissions;
     this.NfsRootSquash                   = nfsRootSquash;
     this.OverrideGlobalWhitelist         = overrideGlobalWhitelist;
     this.ProtocolAccess                  = protocolAccess;
     this.Qos = qos;
     this.S3KeyMappingConfig    = s3KeyMappingConfig;
     this.SecurityMode          = securityMode;
     this.SharePermissions      = sharePermissions;
     this.SmbPermissionsInfo    = smbPermissionsInfo;
     this.StoragePolicyOverride = storagePolicyOverride;
     this.SubnetWhitelist       = subnetWhitelist;
     this.TenantId = tenantId;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CreateViewBoxParams" /> class.
 /// </summary>
 /// <param name="adDomainName">Specifies an active directory domain that this view box is mapped to..</param>
 /// <param name="clientSubnetWhiteList">Array of Subnets.  Specifies the Subnets from which this Storage Domain (View Box) accepts requests..</param>
 /// <param name="cloudDownWaterfallThresholdPct">Specifies the cloud down water-fall threshold percentage. This indicates how full should a viewbox at least be before we down water-fall its data to cloud tier. If this field is set, the physical quota limit must be set also and will be used as viewbox capacity..</param>
 /// <param name="cloudDownWaterfallThresholdSecs">Specifies the cloud down water-fall threshold seconds. This indicates what&#39;s the time threshold on water-falling data to cloud tier..</param>
 /// <param name="clusterPartitionId">Specifies the Cluster Partition id where the Storage Domain (View Box) is located. (required).</param>
 /// <param name="defaultUserQuotaPolicy">Specifies an optional quota policy/limits that are inherited by all users within the views in this viewbox..</param>
 /// <param name="defaultViewQuotaPolicy">Specifies an optional default logical quota limit (in bytes) for the Views in this Storage Domain (View Box). (Logical data is when the data is fully hydrated and expanded.) However, this inherited quota can be overwritten at the View level. A new write is not allowed if the Storage Domain (View Box) will exceed the specified quota. However, it takes time for the Cohesity Cluster to calculate the usage across Nodes, so the limit may be exceeded by a small amount. In addition, if the limit is increased or data is removed, there may be delay before the Cohesity Cluster allows more data to be written to the Storage Domain (View Box), as the Cluster is calculating the usage across Nodes..</param>
 /// <param name="ldapProviderId">When set, the following provides the LDAP provider the view box is mapped to. For any view from this view box, when accessed via NFS the following LDAP provider is looked up for getting Unix IDs of the corresponding user. Similarly, when a view is accessed via SMB and if the AD user&#39;s domain matches with the view box&#39;s AD, the following LDAP provider will be used to lookup Unix IDs for the corresponding AD user. Additionally there is also a mapping between LDAP provider and AD domain that is stored in AD provider config. It will be used if AD is not set on the view box..</param>
 /// <param name="name">Specifies the name of the Storage Domain (View Box). (required).</param>
 /// <param name="physicalQuota">Specifies an optional quota limit (in bytes) for the physical usage of this Storage Domain (View Box). This quota limit defines a physical limit for size of the data that can be physically stored on the Storage Domain (View Box), after the data has been reduced by change block tracking, compression and deduplication. The physical usage is the aggregate sum of the data stored for this Storage Domain (View Box) on all disks in the Cluster. (The usage includes Cloud Tier data and user data.) A new write is not allowed if the Storage Domain (View Box) will exceed the specified quota. However, it takes time for the Cohesity Cluster to calculate the usage across Nodes, so the limit may be exceeded by a small amount. In addition, if the limit is increased or data is removed, there may be a delay before the Cohesity Cluster allows more data to be written to the Storage Domain (View Box), as the Cluster is calculating the usage across Nodes..</param>
 /// <param name="s3BucketsAllowed">Specifies whether creation of a S3 bucket is allowed in this Storage Domain (View Box). When a new S3 bucket creation request arrives, we&#39;ll look at all the View Boxes and the first Storage Domain (View Box) that allows creating S3 buckets in it will be the one where the bucket will be placed..</param>
 /// <param name="storagePolicy">storagePolicy.</param>
 /// <param name="tenantIdVec">Optional ids for the tenants that this view box belongs. This must be checked before granting access to users. Unless the cluster enables view box sharing between tenants is allowed, there shall be at most one item in this list. Note that if all tenant may be deleted - such viewboxes must be garbage collected. This is currently done by a background thread in iris..</param>
 public CreateViewBoxParams(string adDomainName = default(string), List <Subnet> clientSubnetWhiteList = default(List <Subnet>), int?cloudDownWaterfallThresholdPct = default(int?), int?cloudDownWaterfallThresholdSecs = default(int?), long?clusterPartitionId = default(long?), QuotaPolicy defaultUserQuotaPolicy = default(QuotaPolicy), QuotaPolicy defaultViewQuotaPolicy = default(QuotaPolicy), long?ldapProviderId = default(long?), string name = default(string), QuotaPolicy physicalQuota = default(QuotaPolicy), bool?s3BucketsAllowed = default(bool?), StoragePolicy storagePolicy = default(StoragePolicy), List <string> tenantIdVec = default(List <string>))
 {
     this.AdDomainName                    = adDomainName;
     this.ClientSubnetWhiteList           = clientSubnetWhiteList;
     this.CloudDownWaterfallThresholdPct  = cloudDownWaterfallThresholdPct;
     this.CloudDownWaterfallThresholdSecs = cloudDownWaterfallThresholdSecs;
     this.ClusterPartitionId              = clusterPartitionId;
     this.DefaultUserQuotaPolicy          = defaultUserQuotaPolicy;
     this.DefaultViewQuotaPolicy          = defaultViewQuotaPolicy;
     this.LdapProviderId                  = ldapProviderId;
     this.Name                            = name;
     this.PhysicalQuota                   = physicalQuota;
     this.S3BucketsAllowed                = s3BucketsAllowed;
     this.TenantIdVec                     = tenantIdVec;
     this.AdDomainName                    = adDomainName;
     this.ClientSubnetWhiteList           = clientSubnetWhiteList;
     this.CloudDownWaterfallThresholdPct  = cloudDownWaterfallThresholdPct;
     this.CloudDownWaterfallThresholdSecs = cloudDownWaterfallThresholdSecs;
     this.DefaultUserQuotaPolicy          = defaultUserQuotaPolicy;
     this.DefaultViewQuotaPolicy          = defaultViewQuotaPolicy;
     this.LdapProviderId                  = ldapProviderId;
     this.PhysicalQuota                   = physicalQuota;
     this.S3BucketsAllowed                = s3BucketsAllowed;
     this.StoragePolicy                   = storagePolicy;
     this.TenantIdVec                     = tenantIdVec;
 }
Beispiel #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CloneViewRequest" /> class.
 /// </summary>
 /// <param name="accessSids">Array of Security Identifiers (SIDs)  Specifies the list of security identifiers (SIDs) for the restricted Principals who have access to this View..</param>
 /// <param name="antivirusScanConfig">antivirusScanConfig.</param>
 /// <param name="cloneViewName">Specifies the name of the new View that is cloned from the source View..</param>
 /// <param name="dataLockExpiryUsecs">DataLock (Write Once Read Many) lock expiry epoch time in microseconds. If specified, a view will be marked as a DataLock view. If a view is marked as a DataLock view, only a Data Security Officer (a user having Data Security Privilege) can delete the view until the lock expiry time..</param>
 /// <param name="description">Specifies an optional text description about the View..</param>
 /// <param name="enableFilerAuditLogging">Specifies if Filer Audit Logging is enabled for this view..</param>
 /// <param name="enableMixedModePermissions">If set, mixed mode (NFS and SMB) access is enabled for this view. This field is deprecated. Use the field SecurityMode. deprecated: true.</param>
 /// <param name="enableNfsViewDiscovery">If set, it enables discovery of view for NFS..</param>
 /// <param name="enableSmbAccessBasedEnumeration">Specifies if access-based enumeration should be enabled. If &#39;true&#39;, only files and folders that the user has permissions to access are visible on the SMB share for that user..</param>
 /// <param name="enableSmbEncryption">Specifies the SMB encryption for the View. If set, it enables the SMB encryption for the View. Encryption is supported only by SMB 3.x dialects. Dialects that do not support would still access data in unencrypted format..</param>
 /// <param name="enableSmbViewDiscovery">If set, it enables discovery of view for SMB..</param>
 /// <param name="enforceSmbEncryption">Specifies the SMB encryption for all the sessions for the View. If set, encryption is enforced for all the sessions for the View. When enabled all future and existing unencrypted sessions are disallowed..</param>
 /// <param name="fileExtensionFilter">fileExtensionFilter.</param>
 /// <param name="fileLockConfig">fileLockConfig.</param>
 /// <param name="logicalQuota">Specifies an optional logical quota limit (in bytes) for the usage allowed on this View. (Logical data is when the data is fully hydrated and expanded.) This limit overrides the limit inherited from the Storage Domain (View Box) (if set). If logicalQuota is nil, the limit is inherited from the Storage Domain (View Box) (if set). A new write is not allowed if the Storage Domain (View Box) will exceed the specified quota. However, it takes time for the Cohesity Cluster to calculate the usage across Nodes, so the limit may be exceeded by a small amount. In addition, if the limit is increased or data is removed, there may be a delay before the Cohesity Cluster allows more data to be written to the View, as the Cluster is calculating the usage across Nodes..</param>
 /// <param name="protocolAccess">Specifies the supported Protocols for the View. &#39;kAll&#39; enables protocol access to all three views: NFS, SMB and S3. &#39;kNFSOnly&#39; enables protocol access to NFS only. &#39;kSMBOnly&#39; enables protocol access to SMB only. &#39;kS3Only&#39; enables protocol access to S3 only..</param>
 /// <param name="qos">qos.</param>
 /// <param name="securityMode">Specifies the security mode used for this view. Currently we support the following modes: Native, Unified and NTFS style. &#39;kNativeMode&#39; indicates a native security mode. &#39;kUnifiedMode&#39; indicates a unified security mode. &#39;kNtfsMode&#39; indicates a NTFS style security mode..</param>
 /// <param name="smbPermissionsInfo">smbPermissionsInfo.</param>
 /// <param name="sourceViewName">Specifies the name of the source View that will be cloned..</param>
 /// <param name="storagePolicyOverride">storagePolicyOverride.</param>
 /// <param name="subnetWhitelist">Array of Subnets.  Specifies a list of Subnets with IP addresses that have permissions to access the View. (Overrides the Subnets specified at the global Cohesity Cluster level.).</param>
 /// <param name="tenantId">Optional tenant id who has access to this View..</param>
 public CloneViewRequest(List <string> accessSids = default(List <string>), AntivirusScanConfig antivirusScanConfig = default(AntivirusScanConfig), string cloneViewName = default(string), long?dataLockExpiryUsecs = default(long?), string description = default(string), bool?enableFilerAuditLogging = default(bool?), bool?enableMixedModePermissions = default(bool?), bool?enableNfsViewDiscovery = default(bool?), bool?enableSmbAccessBasedEnumeration = default(bool?), bool?enableSmbEncryption = default(bool?), bool?enableSmbViewDiscovery = default(bool?), bool?enforceSmbEncryption = default(bool?), FileExtensionFilter fileExtensionFilter = default(FileExtensionFilter), FileLevelDataLockConfig fileLockConfig = default(FileLevelDataLockConfig), QuotaPolicy logicalQuota = default(QuotaPolicy), ProtocolAccessEnum?protocolAccess = default(ProtocolAccessEnum?), QoS qos = default(QoS), SecurityModeEnum?securityMode = default(SecurityModeEnum?), SmbPermissionsInfo smbPermissionsInfo = default(SmbPermissionsInfo), string sourceViewName = default(string), StoragePolicyOverride storagePolicyOverride = default(StoragePolicyOverride), List <Subnet> subnetWhitelist = default(List <Subnet>), string tenantId = default(string))
 {
     this.AccessSids                      = accessSids;
     this.CloneViewName                   = cloneViewName;
     this.DataLockExpiryUsecs             = dataLockExpiryUsecs;
     this.Description                     = description;
     this.EnableFilerAuditLogging         = enableFilerAuditLogging;
     this.EnableMixedModePermissions      = enableMixedModePermissions;
     this.EnableNfsViewDiscovery          = enableNfsViewDiscovery;
     this.EnableSmbAccessBasedEnumeration = enableSmbAccessBasedEnumeration;
     this.EnableSmbEncryption             = enableSmbEncryption;
     this.EnableSmbViewDiscovery          = enableSmbViewDiscovery;
     this.EnforceSmbEncryption            = enforceSmbEncryption;
     this.LogicalQuota                    = logicalQuota;
     this.ProtocolAccess                  = protocolAccess;
     this.SecurityMode                    = securityMode;
     this.SourceViewName                  = sourceViewName;
     this.SubnetWhitelist                 = subnetWhitelist;
     this.TenantId                        = tenantId;
     this.AccessSids                      = accessSids;
     this.AntivirusScanConfig             = antivirusScanConfig;
     this.CloneViewName                   = cloneViewName;
     this.DataLockExpiryUsecs             = dataLockExpiryUsecs;
     this.Description                     = description;
     this.EnableFilerAuditLogging         = enableFilerAuditLogging;
     this.EnableMixedModePermissions      = enableMixedModePermissions;
     this.EnableNfsViewDiscovery          = enableNfsViewDiscovery;
     this.EnableSmbAccessBasedEnumeration = enableSmbAccessBasedEnumeration;
     this.EnableSmbEncryption             = enableSmbEncryption;
     this.EnableSmbViewDiscovery          = enableSmbViewDiscovery;
     this.EnforceSmbEncryption            = enforceSmbEncryption;
     this.FileExtensionFilter             = fileExtensionFilter;
     this.FileLockConfig                  = fileLockConfig;
     this.LogicalQuota                    = logicalQuota;
     this.ProtocolAccess                  = protocolAccess;
     this.Qos                   = qos;
     this.SecurityMode          = securityMode;
     this.SmbPermissionsInfo    = smbPermissionsInfo;
     this.SourceViewName        = sourceViewName;
     this.StoragePolicyOverride = storagePolicyOverride;
     this.SubnetWhitelist       = subnetWhitelist;
     this.TenantId              = tenantId;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ViewBox" /> class.
 /// </summary>
 /// <param name="adDomainName">Specifies an active directory domain that this view box is mapped to..</param>
 /// <param name="clientSubnetWhiteList">Array of Subnets.  Specifies the Subnets from which this Storage Domain (View Box) accepts requests..</param>
 /// <param name="cloudDownWaterfallThresholdPct">Specifies the cloud down water-fall threshold percentage. This indicates how full should a viewbox at least be before we down water-fall its data to cloud tier. If this field is set, the physical quota limit must be set also and will be used as viewbox capacity..</param>
 /// <param name="cloudDownWaterfallThresholdSecs">Specifies the cloud down water-fall threshold seconds. This indicates what&#39;s the time threshold on water-falling data to cloud tier..</param>
 /// <param name="clusterPartitionId">Specifies the Cluster Partition id where the Storage Domain (View Box) is located. (required).</param>
 /// <param name="defaultUserQuotaPolicy">Specifies an optional quota policy/limits that are inherited by all users within the views in this viewbox..</param>
 /// <param name="defaultViewQuotaPolicy">Specifies an optional default logical quota limit (in bytes) for the Views in this Storage Domain (View Box). (Logical data is when the data is fully hydrated and expanded.) However, this inherited quota can be overwritten at the View level. A new write is not allowed if the Storage Domain (View Box) will exceed the specified quota. However, it takes time for the Cohesity Cluster to calculate the usage across Nodes, so the limit may be exceeded by a small amount. In addition, if the limit is increased or data is removed, there may be delay before the Cohesity Cluster allows more data to be written to the Storage Domain (View Box), as the Cluster is calculating the usage across Nodes..</param>
 /// <param name="id">Specifies the Id of the Storage Domain (View Box)..</param>
 /// <param name="ldapProviderId">When set, the following provides the LDAP provider the view box is mapped to. For any view from this view box, when accessed via NFS the following LDAP provider is looked up for getting Unix IDs of the corresponding user. Similarly, when a view is accessed via SMB and if the AD user&#39;s domain matches with the view box&#39;s AD, the following LDAP provider will be used to lookup Unix IDs for the corresponding AD user. Additionally there is also a mapping between LDAP provider and AD domain that is stored in AD provider config. It will be used if AD is not set on the view box..</param>
 /// <param name="name">Specifies the name of the Storage Domain (View Box). (required).</param>
 /// <param name="physicalQuota">Specifies an optional quota limit (in bytes) for the physical usage of this Storage Domain (View Box). This quota limit defines a physical limit for size of the data that can be physically stored on the Storage Domain (View Box), after the data has been reduced by change block tracking, compression and deduplication. The physical usage is the aggregate sum of the data stored for this Storage Domain (View Box) on all disks in the Cluster. (The usage includes Cloud Tier data and user data.) A new write is not allowed if the Storage Domain (View Box) will exceed the specified quota. However, it takes time for the Cohesity Cluster to calculate the usage across Nodes, so the limit may be exceeded by a small amount. In addition, if the limit is increased or data is removed, there may be a delay before the Cohesity Cluster allows more data to be written to the Storage Domain (View Box), as the Cluster is calculating the usage across Nodes..</param>
 /// <param name="removalState">Specifies the current removal state of the Storage Domain (View Box). &#39;kDontRemove&#39; means the state of object is functional and it is not being removed. &#39;kMarkedForRemoval&#39; means the object is being removed. &#39;kOkToRemove&#39; means the object has been removed on the Cohesity Cluster and if the object is physical, it can be removed from the Cohesity Cluster..</param>
 /// <param name="s3BucketsAllowed">Specifies whether creation of a S3 bucket is allowed in this Storage Domain (View Box). When a new S3 bucket creation request arrives, we&#39;ll look at all the View Boxes and the first Storage Domain (View Box) that allows creating S3 buckets in it will be the one where the bucket will be placed..</param>
 /// <param name="stats">stats.</param>
 /// <param name="storagePolicy">storagePolicy.</param>
 /// <param name="tenantIdVec">Optional ids for the tenants that this view box belongs. This must be checked before granting access to users. Unless the cluster enables view box sharing between tenants is allowed, there shall be at most one item in this list. Note that if all tenant may be deleted - such viewboxes must be garbage collected. This is currently done by a background thread in iris..</param>
 /// <param name="treatFileSyncAsDataSync">If &#39;true&#39;, when the Cohesity Cluster is writing to a file, the file modification time is not persisted synchronously during the file write, so the modification time may not be accurate. (Typically the file modification time is off by 30 seconds but it can be longer.) Only set to &#39;false&#39; if your environment requires a very accurate modification time. The default value is &#39;true&#39; which provides the best Cohesity Cluster performance..</param>
 public ViewBox(string adDomainName = default(string), List <Subnet> clientSubnetWhiteList = default(List <Subnet>), int?cloudDownWaterfallThresholdPct = default(int?), int?cloudDownWaterfallThresholdSecs = default(int?), long?clusterPartitionId = default(long?), QuotaPolicy defaultUserQuotaPolicy = default(QuotaPolicy), QuotaPolicy defaultViewQuotaPolicy = default(QuotaPolicy), long?id = default(long?), long?ldapProviderId = default(long?), string name = default(string), QuotaPolicy physicalQuota = default(QuotaPolicy), RemovalStateEnum?removalState = default(RemovalStateEnum?), bool?s3BucketsAllowed = default(bool?), ViewBoxStats stats = default(ViewBoxStats), StoragePolicy storagePolicy = default(StoragePolicy), List <string> tenantIdVec = default(List <string>), bool?treatFileSyncAsDataSync = default(bool?))
 {
     this.AdDomainName                    = adDomainName;
     this.ClientSubnetWhiteList           = clientSubnetWhiteList;
     this.CloudDownWaterfallThresholdPct  = cloudDownWaterfallThresholdPct;
     this.CloudDownWaterfallThresholdSecs = cloudDownWaterfallThresholdSecs;
     this.ClusterPartitionId              = clusterPartitionId;
     this.DefaultUserQuotaPolicy          = defaultUserQuotaPolicy;
     this.DefaultViewQuotaPolicy          = defaultViewQuotaPolicy;
     this.Id                              = id;
     this.LdapProviderId                  = ldapProviderId;
     this.Name                            = name;
     this.PhysicalQuota                   = physicalQuota;
     this.RemovalState                    = removalState;
     this.S3BucketsAllowed                = s3BucketsAllowed;
     this.TenantIdVec                     = tenantIdVec;
     this.TreatFileSyncAsDataSync         = treatFileSyncAsDataSync;
     this.AdDomainName                    = adDomainName;
     this.ClientSubnetWhiteList           = clientSubnetWhiteList;
     this.CloudDownWaterfallThresholdPct  = cloudDownWaterfallThresholdPct;
     this.CloudDownWaterfallThresholdSecs = cloudDownWaterfallThresholdSecs;
     this.DefaultUserQuotaPolicy          = defaultUserQuotaPolicy;
     this.DefaultViewQuotaPolicy          = defaultViewQuotaPolicy;
     this.Id                              = id;
     this.LdapProviderId                  = ldapProviderId;
     this.PhysicalQuota                   = physicalQuota;
     this.RemovalState                    = removalState;
     this.S3BucketsAllowed                = s3BucketsAllowed;
     this.Stats                           = stats;
     this.StoragePolicy                   = storagePolicy;
     this.TenantIdVec                     = tenantIdVec;
     this.TreatFileSyncAsDataSync         = treatFileSyncAsDataSync;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CloneViewRequest" /> class.
 /// </summary>
 /// <param name="accessSids">Array of Security Identifiers (SIDs)  Specifies the list of security identifiers (SIDs) for the restricted Principals who have access to this View..</param>
 /// <param name="antivirusScanConfig">antivirusScanConfig.</param>
 /// <param name="cloneViewName">Specifies the name of the new View that is cloned from the source View..</param>
 /// <param name="dataLockExpiryUsecs">DataLock (Write Once Read Many) lock expiry epoch time in microseconds. If specified, a view will be marked as a DataLock view. If a view is marked as a DataLock view, only a Data Security Officer (a user having Data Security Privilege) can delete the view until the lock expiry time..</param>
 /// <param name="description">Specifies an optional text description about the View..</param>
 /// <param name="enableFastDurableHandle">Specifies whether fast durable handle is enabled. If enabled, view open handle will be kept in memory, which results in a higher performance. But the handles cannot be recovered if node or service crashes..</param>
 /// <param name="enableFilerAuditLogging">Specifies if Filer Audit Logging is enabled for this view..</param>
 /// <param name="enableLiveIndexing">Specifies whether to enable live indexing for the view..</param>
 /// <param name="enableMixedModePermissions">If set, mixed mode (NFS and SMB) access is enabled for this view. This field is deprecated. Use the field SecurityMode. deprecated: true.</param>
 /// <param name="enableNfsViewDiscovery">If set, it enables discovery of view for NFS..</param>
 /// <param name="enableOfflineCaching">Specifies whether to enable offline file caching of the view..</param>
 /// <param name="enableSmbAccessBasedEnumeration">Specifies if access-based enumeration should be enabled. If &#39;true&#39;, only files and folders that the user has permissions to access are visible on the SMB share for that user..</param>
 /// <param name="enableSmbEncryption">Specifies the SMB encryption for the View. If set, it enables the SMB encryption for the View. Encryption is supported only by SMB 3.x dialects. Dialects that do not support would still access data in unencrypted format..</param>
 /// <param name="enableSmbOplock">Specifies whether SMB opportunistic lock is enabled..</param>
 /// <param name="enableSmbViewDiscovery">If set, it enables discovery of view for SMB..</param>
 /// <param name="enforceSmbEncryption">Specifies the SMB encryption for all the sessions for the View. If set, encryption is enforced for all the sessions for the View. When enabled all future and existing unencrypted sessions are disallowed..</param>
 /// <param name="fileExtensionFilter">fileExtensionFilter.</param>
 /// <param name="fileLockConfig">fileLockConfig.</param>
 /// <param name="logicalQuota">Specifies an optional logical quota limit (in bytes) for the usage allowed on this View. (Logical data is when the data is fully hydrated and expanded.) This limit overrides the limit inherited from the Storage Domain (View Box) (if set). If logicalQuota is nil, the limit is inherited from the Storage Domain (View Box) (if set). A new write is not allowed if the Storage Domain (View Box) will exceed the specified quota. However, it takes time for the Cohesity Cluster to calculate the usage across Nodes, so the limit may be exceeded by a small amount. In addition, if the limit is increased or data is removed, there may be a delay before the Cohesity Cluster allows more data to be written to the View, as the Cluster is calculating the usage across Nodes..</param>
 /// <param name="nfsAllSquash">nfsAllSquash.</param>
 /// <param name="nfsRootPermissions">nfsRootPermissions.</param>
 /// <param name="nfsRootSquash">nfsRootSquash.</param>
 /// <param name="overrideGlobalWhitelist">Specifies whether view level client subnet whitelist overrides cluster and global setting..</param>
 /// <param name="protocolAccess">Specifies the supported Protocols for the View. &#39;kAll&#39; enables protocol access to following three views: NFS, SMB and S3. &#39;kNFSOnly&#39; enables protocol access to NFS only. &#39;kSMBOnly&#39; enables protocol access to SMB only. &#39;kS3Only&#39; enables protocol access to S3 only. &#39;kSwiftOnly&#39; enables protocol access to Swift only..</param>
 /// <param name="qos">qos.</param>
 /// <param name="securityMode">Specifies the security mode used for this view. Currently we support the following modes: Native, Unified and NTFS style. &#39;kNativeMode&#39; indicates a native security mode. &#39;kUnifiedMode&#39; indicates a unified security mode. &#39;kNtfsMode&#39; indicates a NTFS style security mode..</param>
 /// <param name="sharePermissions">Specifies a list of share level permissions..</param>
 /// <param name="smbPermissionsInfo">smbPermissionsInfo.</param>
 /// <param name="sourceViewName">Specifies the name of the source View that will be cloned..</param>
 /// <param name="storagePolicyOverride">storagePolicyOverride.</param>
 /// <param name="subnetWhitelist">Array of Subnets.  Specifies a list of Subnets with IP addresses that have permissions to access the View. (Overrides the Subnets specified at the global Cohesity Cluster level.).</param>
 /// <param name="swiftProjectDomain">Specifies the Keystone project domain..</param>
 /// <param name="swiftProjectName">Specifies the Keystone project name..</param>
 /// <param name="tenantId">Optional tenant id who has access to this View..</param>
 public CloneViewRequest(List <string> accessSids = default(List <string>), AntivirusScanConfig antivirusScanConfig = default(AntivirusScanConfig), string cloneViewName = default(string), long?dataLockExpiryUsecs = default(long?), string description = default(string), bool?enableFastDurableHandle = default(bool?), bool?enableFilerAuditLogging = default(bool?), bool?enableLiveIndexing = default(bool?), bool?enableMixedModePermissions = default(bool?), bool?enableNfsViewDiscovery = default(bool?), bool?enableOfflineCaching = default(bool?), bool?enableSmbAccessBasedEnumeration = default(bool?), bool?enableSmbEncryption = default(bool?), bool?enableSmbOplock = default(bool?), bool?enableSmbViewDiscovery = default(bool?), bool?enforceSmbEncryption = default(bool?), FileExtensionFilter fileExtensionFilter = default(FileExtensionFilter), FileLevelDataLockConfig fileLockConfig = default(FileLevelDataLockConfig), QuotaPolicy logicalQuota = default(QuotaPolicy), NfsSquash nfsAllSquash = default(NfsSquash), NfsRootPermissions nfsRootPermissions = default(NfsRootPermissions), NfsSquash nfsRootSquash = default(NfsSquash), bool?overrideGlobalWhitelist = default(bool?), ProtocolAccessEnum?protocolAccess = default(ProtocolAccessEnum?), QoS qos = default(QoS), SecurityModeEnum?securityMode = default(SecurityModeEnum?), List <SmbPermission> sharePermissions = default(List <SmbPermission>), SmbPermissionsInfo smbPermissionsInfo = default(SmbPermissionsInfo), string sourceViewName = default(string), StoragePolicyOverride storagePolicyOverride = default(StoragePolicyOverride), List <Subnet> subnetWhitelist = default(List <Subnet>), string swiftProjectDomain = default(string), string swiftProjectName = default(string), string tenantId = default(string))
 {
     this.AccessSids                      = accessSids;
     this.CloneViewName                   = cloneViewName;
     this.DataLockExpiryUsecs             = dataLockExpiryUsecs;
     this.Description                     = description;
     this.EnableFastDurableHandle         = enableFastDurableHandle;
     this.EnableFilerAuditLogging         = enableFilerAuditLogging;
     this.EnableLiveIndexing              = enableLiveIndexing;
     this.EnableMixedModePermissions      = enableMixedModePermissions;
     this.EnableNfsViewDiscovery          = enableNfsViewDiscovery;
     this.EnableOfflineCaching            = enableOfflineCaching;
     this.EnableSmbAccessBasedEnumeration = enableSmbAccessBasedEnumeration;
     this.EnableSmbEncryption             = enableSmbEncryption;
     this.EnableSmbOplock                 = enableSmbOplock;
     this.EnableSmbViewDiscovery          = enableSmbViewDiscovery;
     this.EnforceSmbEncryption            = enforceSmbEncryption;
     this.LogicalQuota                    = logicalQuota;
     this.OverrideGlobalWhitelist         = overrideGlobalWhitelist;
     this.ProtocolAccess                  = protocolAccess;
     this.SecurityMode                    = securityMode;
     this.SharePermissions                = sharePermissions;
     this.SourceViewName                  = sourceViewName;
     this.SubnetWhitelist                 = subnetWhitelist;
     this.SwiftProjectDomain              = swiftProjectDomain;
     this.SwiftProjectName                = swiftProjectName;
     this.TenantId                        = tenantId;
     this.AccessSids                      = accessSids;
     this.AntivirusScanConfig             = antivirusScanConfig;
     this.CloneViewName                   = cloneViewName;
     this.DataLockExpiryUsecs             = dataLockExpiryUsecs;
     this.Description                     = description;
     this.EnableFastDurableHandle         = enableFastDurableHandle;
     this.EnableFilerAuditLogging         = enableFilerAuditLogging;
     this.EnableLiveIndexing              = enableLiveIndexing;
     this.EnableMixedModePermissions      = enableMixedModePermissions;
     this.EnableNfsViewDiscovery          = enableNfsViewDiscovery;
     this.EnableOfflineCaching            = enableOfflineCaching;
     this.EnableSmbAccessBasedEnumeration = enableSmbAccessBasedEnumeration;
     this.EnableSmbEncryption             = enableSmbEncryption;
     this.EnableSmbOplock                 = enableSmbOplock;
     this.EnableSmbViewDiscovery          = enableSmbViewDiscovery;
     this.EnforceSmbEncryption            = enforceSmbEncryption;
     this.FileExtensionFilter             = fileExtensionFilter;
     this.FileLockConfig                  = fileLockConfig;
     this.LogicalQuota                    = logicalQuota;
     this.NfsAllSquash                    = nfsAllSquash;
     this.NfsRootPermissions              = nfsRootPermissions;
     this.NfsRootSquash                   = nfsRootSquash;
     this.OverrideGlobalWhitelist         = overrideGlobalWhitelist;
     this.ProtocolAccess                  = protocolAccess;
     this.Qos                   = qos;
     this.SecurityMode          = securityMode;
     this.SharePermissions      = sharePermissions;
     this.SmbPermissionsInfo    = smbPermissionsInfo;
     this.SourceViewName        = sourceViewName;
     this.StoragePolicyOverride = storagePolicyOverride;
     this.SubnetWhitelist       = subnetWhitelist;
     this.SwiftProjectDomain    = swiftProjectDomain;
     this.SwiftProjectName      = swiftProjectName;
     this.TenantId              = tenantId;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="View" /> class.
 /// </summary>
 /// <param name="accessSids">Array of Security Identifiers (SIDs)  Specifies the list of security identifiers (SIDs) for the restricted Principals who have access to this View..</param>
 /// <param name="aliases">Aliases created for the view. A view alias allows a directory path inside a view to be mounted using the alias name..</param>
 /// <param name="allSmbMountPaths">Array of SMB Paths.  Specifies the possible paths that can be used to mount this View as a SMB share. If Active Directory has multiple account names; each machine account has its own path..</param>
 /// <param name="antivirusScanConfig">antivirusScanConfig.</param>
 /// <param name="basicMountPath">Specifies the NFS mount path of the View (without the hostname information). This path is used to support NFS mounting of the paths specified in the nfsExportPathList on Windows systems..</param>
 /// <param name="caseInsensitiveNamesEnabled">Specifies whether to support case insensitive file/folder names. This parameter can only be set during create and cannot be changed..</param>
 /// <param name="createTimeMsecs">Specifies the time that the View was created in milliseconds..</param>
 /// <param name="dataLockExpiryUsecs">DataLock (Write Once Read Many) lock expiry epoch time in microseconds. If a view is marked as a DataLock view, only a Data Security Officer (a user having Data Security Privilege) can delete the view until the lock expiry time..</param>
 /// <param name="description">Specifies an optional text description about the View..</param>
 /// <param name="enableFilerAuditLogging">Specifies if Filer Audit Logging is enabled for this view..</param>
 /// <param name="enableMixedModePermissions">If set, mixed mode (NFS and SMB) access is enabled for this view. This field is deprecated. Use the field SecurityMode. deprecated: true.</param>
 /// <param name="enableNfsViewDiscovery">If set, it enables discovery of view for NFS..</param>
 /// <param name="enableSmbAccessBasedEnumeration">Specifies if access-based enumeration should be enabled. If &#39;true&#39;, only files and folders that the user has permissions to access are visible on the SMB share for that user..</param>
 /// <param name="enableSmbEncryption">Specifies the SMB encryption for the View. If set, it enables the SMB encryption for the View. Encryption is supported only by SMB 3.x dialects. Dialects that do not support would still access data in unencrypted format..</param>
 /// <param name="enableSmbViewDiscovery">If set, it enables discovery of view for SMB..</param>
 /// <param name="enforceSmbEncryption">Specifies the SMB encryption for all the sessions for the View. If set, encryption is enforced for all the sessions for the View. When enabled all future and existing unencrypted sessions are disallowed..</param>
 /// <param name="fileExtensionFilter">fileExtensionFilter.</param>
 /// <param name="fileLockConfig">fileLockConfig.</param>
 /// <param name="isTargetForMigratedData">Specifies if a view contains migrated data..</param>
 /// <param name="logicalQuota">Specifies an optional logical quota limit (in bytes) for the usage allowed on this View. (Logical data is when the data is fully hydrated and expanded.) This limit overrides the limit inherited from the Storage Domain (View Box) (if set). If logicalQuota is nil, the limit is inherited from the Storage Domain (View Box) (if set). A new write is not allowed if the Storage Domain (View Box) will exceed the specified quota. However, it takes time for the Cohesity Cluster to calculate the usage across Nodes, so the limit may be exceeded by a small amount. In addition, if the limit is increased or data is removed, there may be a delay before the Cohesity Cluster allows more data to be written to the View, as the Cluster is calculating the usage across Nodes..</param>
 /// <param name="logicalUsageBytes">LogicalUsageBytes is the logical usage in bytes for the view..</param>
 /// <param name="name">Specifies the name of the View..</param>
 /// <param name="nfsMountPath">Specifies the path for mounting this View as an NFS share..</param>
 /// <param name="protocolAccess">Specifies the supported Protocols for the View. &#39;kAll&#39; enables protocol access to all three views: NFS, SMB and S3. &#39;kNFSOnly&#39; enables protocol access to NFS only. &#39;kSMBOnly&#39; enables protocol access to SMB only. &#39;kS3Only&#39; enables protocol access to S3 only..</param>
 /// <param name="qos">qos.</param>
 /// <param name="s3AccessPath">Specifies the path to access this View as an S3 share..</param>
 /// <param name="securityMode">Specifies the security mode used for this view. Currently we support the following modes: Native, Unified and NTFS style. &#39;kNativeMode&#39; indicates a native security mode. &#39;kUnifiedMode&#39; indicates a unified security mode. &#39;kNtfsMode&#39; indicates a NTFS style security mode..</param>
 /// <param name="smbMountPath">Specifies the main path for mounting this View as an SMB share..</param>
 /// <param name="smbPermissionsInfo">smbPermissionsInfo.</param>
 /// <param name="stats">stats.</param>
 /// <param name="storagePolicyOverride">storagePolicyOverride.</param>
 /// <param name="subnetWhitelist">Array of Subnets.  Specifies a list of Subnets with IP addresses that have permissions to access the View. (Overrides the Subnets specified at the global Cohesity Cluster level.).</param>
 /// <param name="tenantId">Optional tenant id who has access to this View..</param>
 /// <param name="viewBoxId">Specifies the id of the Storage Domain (View Box) where the View is stored..</param>
 /// <param name="viewBoxName">Specifies the name of the Storage Domain (View Box) where the View is stored..</param>
 /// <param name="viewId">Specifies an id of the View assigned by the Cohesity Cluster..</param>
 /// <param name="viewProtection">viewProtection.</param>
 public View(List <string> accessSids = default(List <string>), List <ViewAliasInfo> aliases = default(List <ViewAliasInfo>), List <string> allSmbMountPaths = default(List <string>), AntivirusScanConfig antivirusScanConfig = default(AntivirusScanConfig), string basicMountPath = default(string), bool?caseInsensitiveNamesEnabled = default(bool?), long?createTimeMsecs = default(long?), long?dataLockExpiryUsecs = default(long?), string description = default(string), bool?enableFilerAuditLogging = default(bool?), bool?enableMixedModePermissions = default(bool?), bool?enableNfsViewDiscovery = default(bool?), bool?enableSmbAccessBasedEnumeration = default(bool?), bool?enableSmbEncryption = default(bool?), bool?enableSmbViewDiscovery = default(bool?), bool?enforceSmbEncryption = default(bool?), FileExtensionFilter fileExtensionFilter = default(FileExtensionFilter), FileLevelDataLockConfig fileLockConfig = default(FileLevelDataLockConfig), bool?isTargetForMigratedData = default(bool?), QuotaPolicy logicalQuota = default(QuotaPolicy), long?logicalUsageBytes = default(long?), string name = default(string), string nfsMountPath = default(string), ProtocolAccessEnum?protocolAccess = default(ProtocolAccessEnum?), QoS qos = default(QoS), string s3AccessPath = default(string), SecurityModeEnum?securityMode = default(SecurityModeEnum?), string smbMountPath = default(string), SmbPermissionsInfo smbPermissionsInfo = default(SmbPermissionsInfo), ViewStats stats = default(ViewStats), StoragePolicyOverride storagePolicyOverride = default(StoragePolicyOverride), List <Subnet> subnetWhitelist = default(List <Subnet>), string tenantId = default(string), long?viewBoxId = default(long?), string viewBoxName = default(string), long?viewId = default(long?), ViewProtection viewProtection = default(ViewProtection))
 {
     this.AccessSids                      = accessSids;
     this.Aliases                         = aliases;
     this.AllSmbMountPaths                = allSmbMountPaths;
     this.BasicMountPath                  = basicMountPath;
     this.CaseInsensitiveNamesEnabled     = caseInsensitiveNamesEnabled;
     this.CreateTimeMsecs                 = createTimeMsecs;
     this.DataLockExpiryUsecs             = dataLockExpiryUsecs;
     this.Description                     = description;
     this.EnableFilerAuditLogging         = enableFilerAuditLogging;
     this.EnableMixedModePermissions      = enableMixedModePermissions;
     this.EnableNfsViewDiscovery          = enableNfsViewDiscovery;
     this.EnableSmbAccessBasedEnumeration = enableSmbAccessBasedEnumeration;
     this.EnableSmbEncryption             = enableSmbEncryption;
     this.EnableSmbViewDiscovery          = enableSmbViewDiscovery;
     this.EnforceSmbEncryption            = enforceSmbEncryption;
     this.IsTargetForMigratedData         = isTargetForMigratedData;
     this.LogicalQuota                    = logicalQuota;
     this.LogicalUsageBytes               = logicalUsageBytes;
     this.Name                            = name;
     this.NfsMountPath                    = nfsMountPath;
     this.ProtocolAccess                  = protocolAccess;
     this.S3AccessPath                    = s3AccessPath;
     this.SecurityMode                    = securityMode;
     this.SmbMountPath                    = smbMountPath;
     this.SubnetWhitelist                 = subnetWhitelist;
     this.TenantId                        = tenantId;
     this.ViewBoxId                       = viewBoxId;
     this.ViewBoxName                     = viewBoxName;
     this.ViewId                          = viewId;
     this.AccessSids                      = accessSids;
     this.Aliases                         = aliases;
     this.AllSmbMountPaths                = allSmbMountPaths;
     this.AntivirusScanConfig             = antivirusScanConfig;
     this.BasicMountPath                  = basicMountPath;
     this.CaseInsensitiveNamesEnabled     = caseInsensitiveNamesEnabled;
     this.CreateTimeMsecs                 = createTimeMsecs;
     this.DataLockExpiryUsecs             = dataLockExpiryUsecs;
     this.Description                     = description;
     this.EnableFilerAuditLogging         = enableFilerAuditLogging;
     this.EnableMixedModePermissions      = enableMixedModePermissions;
     this.EnableNfsViewDiscovery          = enableNfsViewDiscovery;
     this.EnableSmbAccessBasedEnumeration = enableSmbAccessBasedEnumeration;
     this.EnableSmbEncryption             = enableSmbEncryption;
     this.EnableSmbViewDiscovery          = enableSmbViewDiscovery;
     this.EnforceSmbEncryption            = enforceSmbEncryption;
     this.FileExtensionFilter             = fileExtensionFilter;
     this.FileLockConfig                  = fileLockConfig;
     this.IsTargetForMigratedData         = isTargetForMigratedData;
     this.LogicalQuota                    = logicalQuota;
     this.LogicalUsageBytes               = logicalUsageBytes;
     this.Name                            = name;
     this.NfsMountPath                    = nfsMountPath;
     this.ProtocolAccess                  = protocolAccess;
     this.Qos                   = qos;
     this.S3AccessPath          = s3AccessPath;
     this.SecurityMode          = securityMode;
     this.SmbMountPath          = smbMountPath;
     this.SmbPermissionsInfo    = smbPermissionsInfo;
     this.Stats                 = stats;
     this.StoragePolicyOverride = storagePolicyOverride;
     this.SubnetWhitelist       = subnetWhitelist;
     this.TenantId              = tenantId;
     this.ViewBoxId             = viewBoxId;
     this.ViewBoxName           = viewBoxName;
     this.ViewId                = viewId;
     this.ViewProtection        = viewProtection;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DirQuotaPolicy" /> class.
 /// </summary>
 /// <param name="dirPath">Specifies the path of the directory in the view..</param>
 /// <param name="dirWalkPending">Denotes directory quota walk is pending or not..</param>
 /// <param name="policy">policy.</param>
 /// <param name="usageBytes">Specifies the current usage (in bytes) by the directory in the view. This is set by the response received from bridge when querying directory quota usage..</param>
 public DirQuotaPolicy(string dirPath = default(string), bool?dirWalkPending = default(bool?), QuotaPolicy policy = default(QuotaPolicy), long?usageBytes = default(long?))
 {
     this.DirPath        = dirPath;
     this.DirWalkPending = dirWalkPending;
     this.UsageBytes     = usageBytes;
     this.DirPath        = dirPath;
     this.DirWalkPending = dirWalkPending;
     this.Policy         = policy;
     this.UsageBytes     = usageBytes;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="UserQuotaSettings" /> class.
 /// </summary>
 /// <param name="defaultUserQuotaPolicy">defaultUserQuotaPolicy.</param>
 /// <param name="enableUserQuota">If set, it enables/disables the user quota overrides for a view. Otherwise, it leaves it at it&#39;s previous state..</param>
 public UserQuotaSettings(QuotaPolicy defaultUserQuotaPolicy = default(QuotaPolicy), bool?enableUserQuota = default(bool?))
 {
     this.EnableUserQuota        = enableUserQuota;
     this.DefaultUserQuotaPolicy = defaultUserQuotaPolicy;
     this.EnableUserQuota        = enableUserQuota;
 }