*Property descriptor* is comprised of parameters that specify an object property. Its graphical representation is as follows:
image 39695
- The **property** node is *required*. It specifies a property descriptor. Data type: *PropertyDescriptor* (`descriptor.xsd`). - The **name** node is *required*. It specifies identifier of the property. Data type: *string*. - The **type** node is *required*. It specifies a type of property value. Data type: *string*. Allowed values: string \| password \| int \| uint \| float \| boolean \| bytes \| date Where uint is an unsigned integer. Date is stored in timestamp format. In ‘bytes’ type -1 (value) = UNLIMITED - The **enum** node is *optional*. It specifies values of the property in case the property has limited set of values. Data type: *EnumElementType* (`descriptor.xsd`). - The **value** node is *required* if the **enum** node is specified. It defines a value of the property. Data type: *string*. - The **label** node is *optional*. It specifies brief explanation of the property value in Plesk GUI. This value should be equal to locale key name of the property. To retrieve locale key value, use the **locale** operator. Data type: *string*. - The **hint** value is *optional*. It specifies the hint that can be seen if you point cursor on the property label in Plesk GUI. Data type: *string*. - The **default-value** node is *optional*. It specifies default value of the property. Data type: *none*. - The **writable-by** node is *optional*. It specifies users who can edit the property. Data type: *sting*. Allowed values: none \| admin \| client \| domain-admin. - The **label** node is *optional*. It specifies brief explanation of the property in Plesk GUI. This value should be equal to locale key name of the property. To retrieve locale key value, use the **locale** operator. Data type: *string*. - The **hint** node is *optional*. It specifies hint that can be seen if you point cursor on the property label in Plesk GUI. Data type: *string.* - The **extension** node is *optional*. It defines data specific for the object. For details, refer to the Extension of Permissions Descriptor, Extension of Hosting Settings Descriptor and Extension of Limits Descriptor sections. Data type: *any*.
## Samples The following property descriptor specifies FTP quota.
<property>
   <name>ftp_quota</name>
   <type>int</type>
   <default>-1</default>
   <writable-by>admin</writable-by>
</property>
The following property descriptor specifies PHP support.
<property>
   <name>php</name>
   <type>boolean</type>
   <default>1</default>
   <writable-by>admin</writable-by>
   <writable-by>client</writable-by>
   <writable-by>domain-admin</writable-by>
</property>