What is/are: Low-level Quota Properties and Values

Introduction

Generally quotas are configured, viewed and managed through the client of the application. However, quota properties and the values set can also be managed through additional tools. A COM API is available that allows quotas to be configured and modified programatically. Also quotas can be exported into CSV format via the commmand line tool QSExport, for backup or for manual adjustment and reintroduction via another command-line tool QSImport. (More information about these command-line tools can be found in KB-2823.)

How to Read this Document

This document exposes the different properties of a quota and shows possible alternative values for many of these properties. For example, a quota is configured to target a path on a certain platform - it has a 'platform' property. That property must be set to a specific value so that the quota can be correctly enforced by NSS - it must have a 'value' that corresponds to a supported platform. This document exposes the platform property and explains that a platform value of '0' corresponds to a quota set on Direct Attached Storage.

Quota Properties

The table below describes the different properties that a quota may have. It shows how these properties are named when viewed in the local registry of an NSS Managing Host, how they are named when viewed in the the Quota Server client (wen creating custom views for instance). The table also shows if these properties can be written and/or read by the COM API.

Display name in Registry Name in Client Access in ComApi Explanation
1st quota identifier Server "Server"
(Read/Write)
Name of the managing host of the quota. The machine that is running Quota Server.
2nd quota identifier Object "Object"
(Read/Write)
Path of the quota. This will also contain the name of a Quota Template.
3d quota identifier Account "Account
(Read/Write)
Account that the quota should track the usage for.
4th quota identifier N/A "ExternalQuota"
(Read/Write)
Not used before 8.5, after used as an identifier for a Quota Usage Tracking. Contains version of the field and value of Usage Tracking.
5th quota identifier IsTemplate "IsTemplate
(Read/Write)
Value 0 means that quota is tracking quota or auto quota, 1 that the quota is template.
Enabled Enabled "Enabled"
(ReadWrite)
If quota is in enabled state. 0 disabled, 1 enabled.
QuotaSize QuotaSize "QuotaSize"
(Read/Write)
Size of quota in bytes. Also used to show different quota states.
IncludeSubs IncludeSubs "IncludeSubs"
(Read/Write)
 
ObjectType ObjectType "ObjectType"
(Read/Write)
Legacy setting that was used for type of object that the quota is set on. Object type values.
QuotaType QuotaType "QuotaType"
(Read/Write)
Type of quota. Check list of quota type values.
PollInterval PollInterval "PollInterval"
(Read/Write)
Rescan period for interval quota in seconds. Default:3600 seconds.
ErrorMessage ErrorMessage "ErrorMessage"
(Read/Write)
Defines what error message we should send when user is trying to access a quota that is locked. Error message values.
QuotaGroup N/A "QuotaGroup"
(Read/Write)
Legacy field. Not used.
EnterpriseTreeNode N/A "EnterpriseTreeNode"
(Read/Write)
Legacy field. Not used.
N/A Usage "Usage"
(Read)
Current usage of the quota. Also used to display the current state of the quota.
N/A UsagePercent "UsagePercent"
(Read)
Current percentage size of quota. This is an auto-generated expression.
IntStatus N/A "IntStatus"
(Read)
Defines the internal current status of the quota. This includes threshold level and current lock state.
ExtStatus N/A "ExtStatus"
(Read)
Defines the external current status of the quota. This includes threshold level and current lock state.This is used when we control the status of the quota from the outside.
UseExtStatus N/A "UseExtStatus"
(Read/Write)
 
Status Status "Status"
(Read)
What is the current status of the quota. Used in notification template. Quota status values
Editor Editor N/A Name of the machine that was last to edit this quota.
L1_Enabled L1_Enabled "L1_Enabled"
(Read/Write)
If the threshold 1 is enabled. 1 for yes 0 for no.
L1_Threshold L1_Threshold "L1_Threshold"
(Read/Write)
The percent on what threshold 1 is active.
L1_Action L1_Action "L1_Action"
(Read/Write)
What quota action should be executed when threshold 1 is reached.
L1_UserNotify L1_UserNotify "L1_UserNotify"
(Read/Write)
Should the user be notified when this threshold is reached.
L1_AdminNotify L1_AdminNotify "L1_AdminNotify"
(Read/Write)
Should the admin be notified when the threshold is reached.
L1_ThresholdBytes L1_ThresholdBytes "L1_ThresholdBytes"
(Read)
The threshold, in bytes for this level. This is an auto generated expression.
L2_Enabled L2_Enabled "L2_Enabled"
(Read/Write)
If the threshold 2 is enabled. 1 for yes 0 for no.
L2_Action L2_Action "L2_Action"
(Read/Write)
What quota action should be executed when threshold 2 is reached.
L2_UserNotify L2_UserNotify "L2_UserNotify"
Read/Write)
Should the user be notified when this threshold is reached.
L2_AdminNotify L2_AdminNotify "L2_AdminNotify"
(Read/Write)
Should the admin be notified when the threshold is reached.
L2_Threshold L2_Threshold "L2_ThresholdBytes"
(Read)
The threshold, in bytes for this level. This is an auto generated expression.
L3_Enabled L3_Enabled "L3_Enabled"
(Read/Write)
If the threshold 3 is enabled. 1 for yes 0 for no.
L3_Action L3_Action "L3_Action"
(Read/Write)
What quota action should be executed when threshold 3 is reached.
L3_UserNotify L3_UserNotify "L3_UserNotify"
(Read/Write)
Should the user be notified when this threshold is reached.
L3_AdminNotify L3_AdminNotify "L3_AdminNotify"
(Read/Write)
Should the admin be notified when this threshold is reached.
L3_Threshold L3_Threshold "L3_ThresholdBytes"
(Read)
The threshold, in bytes for this level. This is an auto generated expression.
NotifyUp NotifyUp "NotifyUp"
(Read/Write)
Should the notifications be send when the threshold is changed from lower to higher.
NotifyDown NotifyDown "NotifyDown"
(Read/Write)
Should the notification be send when the threshold is changed from higher to lower.
RepeatNotify RepeatNotify "RepeatNotify"
(Read/Write)
Should the notify be repeated if the state of the quota is same when the time that is configured in the Quota Server tab expires.
NotifyTemplateGroup NotifyTemplateGroup "NotifyTemplateGroup"
(Read/Write)
What notification template this quota should use. This is the name on the notification template group.
UserPopupRecipients UserPopupRecipients "UserPopupRecipients"
(Read/Write)
List of users, machines or variables that should be notified with a popup when a configured threshold is executed.
UserMailRecipients UserMailRecipients "UserMailRecipients"
(Read/Write)
"UserFormattedMailRecipient"
(Read)
The recipients for user mail notifications.
UserExecName UserExecName "UserExecName"
(Read/Write)
What should be executed when the configured user threshold is reached.
UserExecParams UserExecParams "UserExecParams"
(Read/Write)
Parameters for the user execution field.
AdminPopupRecipients AdminPopupRecipients "AdminPopupRecipients"
(Read/Write)
The recipients for admin popup notifications.
AdminMailRecipients AdminMailRecipients "AdminMailRecipients"
(Read/Write)
"AdminFormattedMailRecipient
(Read)
The recipients for admin mail notifications.
AdminExecName AdminExecName "AdminExecName"
(Read/Write)
The name of the executable that is executed when the threshold for the administrator is reached.
AdminExecParams AdminExecParams "AdminExecParams"
(Read/Write)
The parameters that are send to the executable that is executed when the threshold for the administrator is reached.
Custom1 Custom1 "Custom1"
(Read/Write)
Custom column for generic user data.
Custom2 Custom2 "Custom2"
(Read/Write)
Custom column for generic user data.
Custom3 Custom3 "Custom3"
(Read/Write)
Custom column for generic user data.
 N/A Level1 "Level1"
(Read)
Property that is a boolean flag defining if we've reached level 1. This is an auto generated expression.
 N/A Level2

"Level2"
(Read)

Property that is a boolean flag defining if we've reached level 2. This is an auto generated expression.
 N/A Level3 "Level3"
(Read) 
Property that is a boolean flag defining if we've reached level 3. This is an auto generated expression.
 N/A   "VolumeSize"
(Read)
The size of the volume on which quota resides.
 N/A QuotaVolumePercent "QuotaVolumePercent"
(Read)
Percentage of quota on volume.
Repl_LastReplicationTime N/A N/A Last time the quota was replicated with CDS.
Repl_DBLastTimestamp N/A N/A Last time quota was written to the database.
Platform N/A "Platform"
(Read/Write)
What plaform is this quota for. This field decides what license will be requested and how will the quota be locked. Possible Platform values.
Notice Notice "Notice"
(Read/Write)
Filed that shows extended error information about the quota.
InheritLock InheritLock "InheritLock"
(Read/Write)
Legacy field, not used.
ObjectIncludes ObjectIncludes   List of directories to include, relative to the quota path. Several directories are separated by ? in the API.
ObjectExcludes ObjectExcludes "ObjectExcludes"
(Read/Write)
List of directories to exclude, relative to the quota path. Several directories are separated by ? in the API.
AccountIncludes AccountIncludes "AccountIncludes"
(Read/Write)
List of user accounts to include to the quota. Several accounts are separated by ? in the API.
AccountExcludes AccountExcludes "AccountExcludes"
(Read/Write)
List of user accounts to exclude from the quota. Several accounts are separated by ? in the API.
SmartColumnQuery1 SmartColumnQuery1 "SmartColumnQuery1"
(Read/Write)
Query string for smart column.
SmartColumnQuery2 SmartColumnQuery2 "SmartColumnQuery2"
(Read/Write) 
Query string for smart column.
SmartColumnQuery3 SmartColumnQuery3 "SmartColumnQuery3"
(Read/Write)
Query string for smart column.
SmartColumnQuery4 SmartColumnQuery4 "SmartColumnQuery4"
(Read/Write)
Query string for smart column.
SmartColumnQuery5 SmartColumnQuery5 "SmartColumnQuery5"
(Read/Write)
Query string for smart column.
SmartColumnValue1 SmartColumnValue1 "SmartColumnValue1"
(Read/Write)
Result of smart column query. Max size is 2048.
SmartColumnValue2 SmartColumnValue2 "SmartColumnValue2"
(Read/Write)
Result of smart column query. Max size is 2048.
SmartColumnValue3 SmartColumnValue3 "SmartColumnValue3"
(Read/Write)
Result of smart column query. Max size is 2048.
SmartColumnValue4 SmartColumnValue4 "SmartColumnValue4"
(Read/Write)
Result of smart column query. Max size is 2048.
SmartColumnValue5 SmartColumnValue5 "SmartColumnValue5"
(Read/Write)
Result of smart column query. Max size is 2048.
CreatedTemplateName CreatedTemplateName "CreatedTemplateName"
(Read/Write)
The name of the template that the quota is created from.
RevFBExtensions RevFBExtensions "RevFBExtensions"
(Read/Write)
File allow file type extensions.
LastStatus LastStatus N/A The status of the quota when the service was shutting down. Used to not notify the user if the status of the quota has not changed between the service starts.
SizeTrackingMethod SizeTrackingMethod "SizeTrackingMethod"
(Read/Write)
What Size Tracking Method is used for this quota.
UsageTracking UsageTracking

"UsageTracking"
(Read/Write)

What usage tracking is used for this quota.
 N/A UsagePhysical N/A Physical usage of the quota.
 N/A UsageLogical N/A Logical usage of the quota.
N/A TargetPath TargetPath"
(Read/Write)
If the quota is set on a DFS path this property will contain the resolved underlying path.
N/A NotifyContributorSids N/A Volatile field that contains a list of the n most recent users who saved into the quota path.
NotifyNumContributors NotifyNumContributors NumContributors"
(Read/Write)
The number of most recent users saving into a quota path that should be kept (n in the property above).
NotifyDeniedUsers NotifyDeniedUsers NotifyDeniedUsers"
(Read/Write)
Specifies if users who are denied writing into a locked quota or saving a prohibited file type (file block) should be notified by email.
QuotaTypeIndex QuotaTypeIndex QuotaTypeIndex"
(Read/Write)
Not currently used.
 

Quota Values

In this section the different values that can be applied to key quota properties are explained.

QUOTA STATUS
The table below describes the different status values that can be associated with a quota.

VALUE MEANING
0 Unlocked level 0
1 Locked dir level 0
2 Locked dir and closed files level 0
3 Locked dir and all files level 0
4 Unlocked level 1
5 Locked dir level 1
6 Locked dir and closed files level 1
7 Locked dir and all files level 1
8 Unlocked level 2
9 Locked dir level 2
10 Locked dir and closed files level 2
11 Locked dir and all files level 2
16 Unlocked level 3
17 Locked dir level 3
18 Locked dir and closed files level 3
19 Locked dir and all files level 3
20 No license

 

QUOTA STATUS IN ADVANCED NOTIFICATIONS
The table below describes the different state vakues that are sometimes shown in Quota Server email notifications.

VALUE MEANING
0xFFFFFFFFFFFFFFFF(-1) Invalid
0xFFFFFFFFFFFFFFFE(-2) Initializing
0xFFFFFFFFFFFFFFFD (-3) N/A
0xFFFFFFFFFFFFFFFC (-4) Disabled
0xFFFFFFFFFFFFFFFB (-5) No License
0xFFFFFFFFFFFFFFFA (-6) Error

 

QUOTA TYPES ("ACCESS MODEL" IN SETTINGS.DEF)
The table below shows the numeric codes for different quota types. (More information about quota types can be found in KB-1778.)

VALUE MEANING
0 Qbject quota (service-based monitoring only)
1 Interval object quota (scheduled updating, service-based monitoring only)
2 User (driver/service monitoring)
3 File block
4 AutoUser quota policy
5 AutoDir quota policy (driver/service monitoring)
6 AutoGroup quota policy
7 AutoDir quota policy (service-based monitoring only)
8 Reserved
9 File Allow

 

ERROR MESSAGE VALUES
The error message returned, by Windows, to users who attempt to save into a locked quota can be controlled to only a small degree. Two options are provided by the operating system.

VALUE MEANING
0 "Accessed is Denied"
1 "Quota is exceeded"

 

QUOTA PLATFORMS
The table below shows the alternative values for a quota's 'platform' property.

VALUE MEANING
0 Windows
1 NetApp
2 EMC
3 NAS
4 EMC Isilon
5 HDS/HNAS

 

SIZE TRACKING METHOD
The usage level updating of User quotas (including quotas generated by AutoUser, AutoDir and AutoGroup policies) set on DAS and SAN can be managed purely by the software's kernel-mode filter driver (synchronous) or by the service component of the solution (asynchronous). The size tracking method codes are as shown in the table below.

VALUE MEANING
0 Synchronous
1 Asynchronous
2 Forced asynchronous

 

LOCKING ACTIONS
The different values for quota locking actions are shown in the table below.

VALUE MEANING
0 Pass (no locking)
1 Lock Dir (allow all existing files to be edited and saved)
2 Lock Dir and Closed Files (only allow open files to be edited and saved)
3 Lock Dir and All Files (saving data, in any files, should not be allowed)
4 Unlock
5 Lock Only Top Directory (legacy)

 

IMPORTANT NOTE: The “Lock Dir and Closed Files” and “Lock Dir and All Files” locking options will often have the same effect, as most applications will not keep the original files open while they are being operated on. Certain file types may also be protected against hard locking while in use, e.g. a PST file. The effect of each locking mechanism is dependent on the operating system of the storage device and the client application used, as well as on the versions of these applications and operating systems. For more information on how the different locking mechanisms may behave in a specific scenario, please submit a complete description of this scenario to Northern Support and request an analysis. Such an analysis may take an extended period of time to perform and in some cases may be impossible to complete. We thank you for your understanding.

 

NOTIFICATION ACTIONS
The codes that determine notification actions at quota thresholds are as follows:

VALUE MEANING
0 No notification
1 Notify with popup
2 Notify with mail
3 Execute program
4 Notify with mail and popup
5 Notify with popup and execute
6 Notify with mail and execute
7 Perform all actions

ADDITIONAL RESOURCES

  • KB1778 About: Quota Types in NSS
  • KB2823 How to: Export and import Quotas
  • KB Article: 2860

    Updated: 5/7/2015

    • Category
      • Reference
    • Affected versions
      • NSS 9.0
      • NSS 9.5

    North America HQ

    NORTHERN Parklife, Inc.
    301Edgewater Place, Suite 100
    Wakefield, MA 01880
    USA

    Voice: 781.968.5424
    Fax: 781.968.5301

    salesUS@northern.net

     

    Additional Contact Information

    EMEA & APAC HQ

    NORTHERN Parklife AB
    St. Göransgatan 66
    112 33 Stockholm
    Sweden

    Voice: +46 8 457 50 00

    salesHQ@northern.net

    Northern Parklife



    ©2018 northern parklife

    privacy statement 
    terms of use