Retrieving Descriptor of Permissions

Use the get-permission-descriptor operation to retrieve permissions descriptors of service plans. For details on descriptor, refer to the Representation of Object Descriptors section. For details on permissions of service plans, refer to the Permissions section.

In this chapter:

Request Packet Structure

Response Packet Structure

Samples

 

Request Packet Structure

A request XML packet retrieving service plan permissions includes the get-permission-descriptor operation node:

<packet>
<service-plan>
   <get-permission-descriptor>
   ...
   </get-permission-descriptor>
</service-plan>
</packet>

The get-permission-descriptor node is presented by type DomainTemplateGetInputType (domain_template.xsd). Its graphical representation is as follows:

get-permission-descriptor-input

  • The filter node is required. It specifies a criteria by which service plans will be selected. Data type: DomainTemplateFilterType (domain_template.xsd). See the Available Filters section for details on this node.
  • The owner-id node is optional. It specifies the ID of the service plan owner. Data type: integer.
  • The owner-login node is optional. It specifies the username of the service plan owner. Data type: string.

Important: When creating request packets, put nodes and elements in the order they follow in the packet structure.

 

Response Packet Structure

The get-permission-descriptor node of the output XML paket is of type DomainTemplateDescriptorOutput (domain_template.xsd) which is structured as follows:

get-permission-decsriptor-outputc

  • The result node is required. It wraps the result of the requested get-permission-descriptor operation. Data type: ResultFilterType (common.xsd).
  • The status node is required. It returns the execution status of the get-permission-descriptor operation. Data type: result_status (common.xsd). Allowed values: ok|error.
  • The errcode node is optional. Is used to return the error code when the get-permission-descriptor operation fails. Data type: unsignedInt.
  • The errtext node is optional. Can be used to return an error message if the get-permission-descriptor operation fails. Data type: string.
  • The id node is optional. It is required if the operation succeeds and the results are filtered by ID. It returns an ID of the service plan which permissions descriptor was displayed. Data type: id_type (common.xsd).
  • The name node is optional. It is required if the operation succeeds and the results are filtered by name. It returns a name of the service plan which permissions descriptor was displayed. Data type: string (common.xsd).
  • The guid node is optional. It is required if the operation succeeds and the results are filtered by GUID. It returns a GUID of the service plan which permissions descriptor was displayed. Data type: string (common.xsd).
  • The external-id node is optional. It is required if the operation succeeds and the results are filtered by external ID. It returns the external ID of the service plan which permissions descriptor was displayed. Data type: string (common.xsd).
  • The descriptor node is required if the get-permission-descriptor operation succeeds. It specifies object descriptor. For details, refer to the Representation of Object Descriptors section. Data type: string.

    Note: This descriptor contains permissions extensions. For details, refer to the Representation of Object Descriptors: Property Descriptor > Extension of Limits Descriptor section.

 

Samples

The following packet retrieves permissions descriptor for a service plan:

<packet>
<service-plan>
<get-permission-descriptor>
   <filter>
      <name>base_plan</name>
   </filter>
</get-permission-descriptor>
</service-plan>
</packet>

Response:

<?xml version="1.0" encoding="UTF-8"?>
<packet version="1.6.7.0">
  <service-plan>
    <get-permission-descriptor>
      <result>
        <status>ok</status>
        <name>base_plan</name>
        <descriptor>
          <property>
            <name>manage_sh_access</name>
            <type>boolean</type>
            <default-value>false</default-value>
            <writable-by>admin</writable-by>
            <writable-by>reseller</writable-by>
            <label>Can allow access only to a chrooted environment</label>
            <extension>
              <level>reseller</level>
              <level>domain</level>
              <level>mail</level>
            </extension>
          </property>
...
        </descriptor>
      </result>
    </get-permission-descriptor>
  </service-plan>
</packet>

A single filter can specify multiple plans, all specified either by ID or by name.

<packet>
<service-plan>
<get-permission-descriptor>
   <filter>
      <name>base_plan</name>
      <name>quick_plan</name>
   </filter>
</get-permission-descriptor>
</service-plan>
</packet>