Class: subject
A user or group that can log in xapi
Fields for class: subject
Field | Type | Qualifier | Description |
---|---|---|---|
other_config |
(string -> string) map |
RO/constructor | additional configuration |
roles |
role ref set |
RO/runtime | the roles associated with this subject |
subject_identifier |
string |
RO/constructor | the subject identifier, unique in the external directory service |
uuid |
string |
RO/runtime | Unique identifier/object reference |
RPCs associated with class: subject
RPC name: add_to_roles
Overview:
This call adds a new role to a subject
Signature:
void add_to_roles (session ref session_ref, subject ref self, role ref role)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
subject ref |
self |
The subject who we want to add the role to |
role ref |
role |
The unique role reference |
Minimum Role: pool-admin
Return Type: void
RPC name: create
Overview:
Create a new subject instance, and return its handle.
Signature:
subject ref create (session ref session_ref, subject record args)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
subject record |
args |
All constructor arguments |
Minimum Role: pool-admin
Return Type: subject ref
reference to the newly created object
RPC name: destroy
Overview:
Destroy the specified subject instance.
Signature:
void destroy (session ref session_ref, subject ref self)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
subject ref |
self |
reference to the object |
Minimum Role: pool-admin
Return Type: void
RPC name: get_all
Overview:
Return a list of all the subjects known to the system.
Signature:
subject ref set get_all (session ref session_ref)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
Minimum Role: read-only
Return Type: subject ref set
references to all objects
RPC name: get_all_records
Overview:
Return a map of subject references to subject records for all subjects known to the system.
Signature:
(subject ref -> subject record) map get_all_records (session ref session_ref)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
Minimum Role: read-only
Return Type: (subject ref -> subject record) map
records of all objects
RPC name: get_by_uuid
Overview:
Get a reference to the subject instance with the specified UUID.
Signature:
subject ref get_by_uuid (session ref session_ref, string uuid)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
string |
uuid |
UUID of object to return |
Minimum Role: read-only
Return Type: subject ref
reference to the object
RPC name: get_other_config
Overview:
Get the other_config field of the given subject.
Signature:
(string -> string) map get_other_config (session ref session_ref, subject ref self)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
subject ref |
self |
reference to the object |
Minimum Role: read-only
Return Type: (string -> string) map
value of the field
RPC name: get_permissions_name_label
Overview:
This call returns a list of permission names given a subject
Signature:
string set get_permissions_name_label (session ref session_ref, subject ref self)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
subject ref |
self |
The subject whose permissions will be retrieved |
Minimum Role: read-only
Return Type: string set
a list of permission names
RPC name: get_record
Overview:
Get a record containing the current state of the given subject.
Signature:
subject record get_record (session ref session_ref, subject ref self)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
subject ref |
self |
reference to the object |
Minimum Role: read-only
Return Type: subject record
all fields from the object
RPC name: get_roles
Overview:
Get the roles field of the given subject.
Signature:
role ref set get_roles (session ref session_ref, subject ref self)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
subject ref |
self |
reference to the object |
Minimum Role: read-only
Return Type: role ref set
value of the field
RPC name: get_subject_identifier
Overview:
Get the subject_identifier field of the given subject.
Signature:
string get_subject_identifier (session ref session_ref, subject ref self)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
subject ref |
self |
reference to the object |
Minimum Role: read-only
Return Type: string
value of the field
RPC name: get_uuid
Overview:
Get the uuid field of the given subject.
Signature:
string get_uuid (session ref session_ref, subject ref self)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
subject ref |
self |
reference to the object |
Minimum Role: read-only
Return Type: string
value of the field
RPC name: remove_from_roles
Overview:
This call removes a role from a subject
Signature:
void remove_from_roles (session ref session_ref, subject ref self, role ref role)
<!--NeedCopy-->
Arguments:
Type | Name | Description |
---|---|---|
session ref |
session_ref |
Reference to a valid session |
subject ref |
self |
The subject from whom we want to remove the role |
role ref |
role |
The unique role reference in the subject’s roles field |
Minimum Role: pool-admin
Return Type: void
In this article
- Fields for class: subject
-
RPCs associated with class: subject
- RPC name: add_to_roles
- RPC name: create
- RPC name: destroy
- RPC name: get_all
- RPC name: get_all_records
- RPC name: get_by_uuid
- RPC name: get_other_config
- RPC name: get_permissions_name_label
- RPC name: get_record
- RPC name: get_roles
- RPC name: get_subject_identifier
- RPC name: get_uuid
- RPC name: remove_from_roles