|
APIs in Category: group |
API version 4.0 |
group-add-member |
These operations include everything necessary to manage DFM groups. |
| group-add-member | [top] |
Add a member to a group.
Error conditions:
- EGROUPDOESNOTEXIST - The group name or ID was not found.
- EOBJECTAMBIGUOUS - The specified group name could refer to 2 or more groups. Try again with a group ID or a fully qualified group name.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EINVALIDMEMBER - The proposed member object is not a groupable object type. The error message indicates which object.
- EMEMBERALREADYINGROUP - The proposed new member is already in the group.
- EMEMBERNAMEAMBIGUOUS - The proposed member name could refer to 2 or more objects.
- EOBJECTNOTFOUND - The proposed member name or ID was not found.
- EACCESSDENIED - The user does not have the capability to add members to the group.
- EDATABASEERROR - A database error occured.
Input Name Range Type Description group-name-or-id group-name-or-id
Name or ID of a group. If a group name is specified, it must be fully qualified. member-name-or-id object-name-or-id
Name or ID of a member to add to the group.
Errno Description EGROUPDOESNOTEXIST EOBJECTAMBIGUOUS EINTERNALERROR EINVALIDMEMBER EMEMBERALREADYINGROUP EMEMBERNAMEAMBIGUOUS EOBJECTNOTFOUND EACCESSDENIED EDATABASEERROR
| group-copy | [top] |
Copy the group and all of its subgroups under a new parent group.
Error conditions:
- EGROUPDOESNOTEXIST - The group name or ID was not found.
- EGROUPEXISTS - An attempt was made to create a new group with the same name as an already existing group. Try again with a different name.
- EOBJECTAMBIGUOUS - The specified group name could refer to 2 or more groups. Try again with a group ID or a fully qualified group name.
- EINVALIDGROUPNAME - The proposed group name was not valid.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EPARENTGROUPDOESNOTEXIST - The parent group name or ID was not found.
- EPARENTGROUPNAMEAMBIGUOUS - The specified parent group name could refer to 2 or more groups. Try again with a parent group ID or a fully qualified parent group name.
- EACCESSDENIED - The user does not have the capability to copy the group.
- EDATABASEERROR - A database error occured.
Input Name Range Type Description group-name-or-id group-name-or-id
Name or ID of a group. If a group name is specified, it must be fully qualified. new-group-name string
optional
Group will be copied under the new parent group with this name. Groups may contain any printable ASCII character except slash characters. The maximum name length is 64 characters. Group name cannot be "global" or "all" or fully numeric. parent-group-name-or-id group-name-or-id
Name or ID of the new parent group. If a group name is specified, it must be fully qualified. Output Name Range Type Description group-id integer
ID of the newly created copy.
Range: [1..2^31-1]
Errno Description EGROUPDOESNOTEXIST EGROUPEXISTS EOBJECTAMBIGUOUS EINVALIDGROUPNAME EINTERNALERROR EGROUPCOPYERROR EPARENTGROUPDOESNOTEXIST EPARENTGROUPNAMEAMBIGUOUS EACCESSDENIED EDATABASEERROR
| group-create | [top] |
Create a new group.
Error conditions:
- EGROUPEXISTS - An attempt was made to create a new group with the same name as an already existing group. Try again with a different name.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EINVALIDGROUPNAME - The proposed group name was not valid.
- EPARENTGROUPDOESNOTEXIST - The parent group name or ID was not found.
- EPARENTGROUPNAMEAMBIGUOUS - The specified parent group name could refer to 2 or more groups. Try again with a parent group ID or a fully qualified parent group name.
- EACCESSDENIED - The user does not have the capability to create the group.
- EDATABASEERROR - A database error occured.
Input Name Range Type Description group-name string
Name of the new group. Groups may contain any printable ASCII character except slash characters. The maximum name length is 64 characters. Group name cannot be "all" or "global" or fully numeric. parent-group-name-or-id group-name-or-id
optional
Name or ID of the parent group. If this value is not specified, a new top-level group is created. If a group name is specified, it must be fully qualified. Output Name Range Type Description group-id integer
ID of the newly created group.
Range: [1..2^31-1]
Errno Description EGROUPEXISTS EINTERNALERROR EINVALIDGROUPNAME EPARENTGROUPDOESNOTEXIST EPARENTGROUPNAMEAMBIGUOUS EACCESSDENIED EDATABASEERROR
| group-delete-member | [top] |
Remove one member from a group.
Error conditions:
- EGROUPDOESNOTEXIST - The group name or ID was not found.
- EOBJECTAMBIGUOUS - The specified group name could refer to 2 or more groups. Try again with a group ID or a fully qualified group name.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EMEMBERNOTINGROUP - The object specified is not a member in the group.
- EOBJECTNOTFOUND - The object specified was not found.
- EACCESSDENIED - The user does not have the capability to delete members from the group.
- EDATABASEERROR - A database error occured.
Input Name Range Type Description group-name-or-id group-name-or-id
Name or ID of a group. If a group name is specified, it must be fully qualified. member-name-or-id object-name-or-id
Name or ID of a member to remove from the group.
Errno Description EGROUPDOESNOTEXIST EOBJECTAMBIGUOUS EINTERNALERROR EMEMBERNOTINGROUP EOBJECTNOTFOUND EACCESSDENIED EDATABASEERROR
| group-destroy | [top] |
Destroy an existing group. Child groups are destroyed recursively. If there is any error, then no groups are destroyed.
Error conditions:
- EGROUPDOESNOTEXIST - The group name or ID was not found.
- EOBJECTAMBIGUOUS - The specified group name could refer to 2 or more groups. Try again with a group ID or a fully qualified group name.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EACCESSDENIED - The user does not have the capability to destroy the group.
- EDATABASEERROR - A database error occured.
Input Name Range Type Description group-name-or-id group-name-or-id
Name or ID of a group to be destroyed. If a group name is specified, it must be fully qualified.
Errno Description EGROUPDOESNOTEXIST EOBJECTAMBIGUOUS EINTERNALERROR EACCESSDENIED EDATABASEERROR
| group-get-options | [top] |
Get the options for a group. Option values that are not present indicate that the option is using the global default.
Error conditions:
- EGROUPDOESNOTEXIST - The group name or ID was not found.
- EOBJECTAMBIGUOUS - The specified group name could refer to 2 or more groups. Try again with a group ID or a fully qualified group name.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EACCESSDENIED - The user does not have the capability to read options of the group.
- EDATABASEERROR - A database error occured.
Input Name Range Type Description group-name-or-id group-name-or-id
Name or ID of a group. If a group name is specified, it must be fully qualified. Output Name Range Type Description group-option-info group-option-info
Errno Description EGROUPDOESNOTEXIST EOBJECTAMBIGUOUS EINTERNALERROR EACCESSDENIED EDATABASEERROR
| group-get-status | [top] |
Get the status of the group
Error conditions:
- EGROUPDOESNOTEXIST - The group name or ID was not found.
- EOBJECTAMBIGUOUS - The specified group name could refer to 2 or more groups. Try again with a group ID or a fully qualified group name.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EACCESSDENIED - The user does not have the capability to get the status of the group.
- EDATABASEERROR - A database error occured.
Input Name Range Type Description group-name-or-id group-name-or-id
Name or ID of a group. If a group name is specified, it must be fully qualified. Output Name Range Type Description group-status obj-status
Current status of the group.
Errno Description EGROUPDOESNOTEXIST EOBJECTAMBIGUOUS EINTERNALERROR EACCESSDENIED EDATABASEERROR
| group-is-member-of | [top] |
Checks if the object associated with the object-id input is a member of the group. This includes both direct and indirect membership. If a group id of 0 is passed, this will always return true as long as the object is a valid object.
Error conditions:
- EGROUPDOESNOTEXIST - The group name or ID was not found.
- EOBJECTAMBIGUOUS - The specified group name could refer to 2 or more groups. Try again with a group ID or a fully qualified group name.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EMEMBERNAMEAMBIGUOUS - The proposed member name could refer to 2 or more objects.
- EOBJECTNOTFOUND - The object specified was not found.
- EACCESSDENIED - The user does not have the capability to read from the database.
- EDATABASEERROR - A database error occured.
Input Name Range Type Description group-name-or-id group-name-or-id
Name or ID of a group. If a group name is specified, it must be fully qualified. object-name-or-id object-name-or-id
Name or ID of the object we want to determine if it is a member of the group. Output Name Range Type Description is-member boolean
Returns true if the object associated with the object-id is a direct or indirect member of the group.
Errno Description EGROUPDOESNOTEXIST EOBJECTAMBIGUOUS EINTERNALERROR EMEMBERNAMEAMBIGUOUS EOBJECTNOTFOUND EACCESSDENIED EDATABASEERROR
| group-list-iter-end | [top] |
The group-list-iter-* set of APIs are used to retrieve the members of the DFM global group. group-list-iter-end is used to tell the DFM station that the temporary store used by DFM to support the group-list-iter-next API for the particular tag is no longer necessary.
Error conditions:
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EINVALIDTAG - The iterator tag specified is not valid. Restart the iteration operation to obtain a new valid tag.
Input Name Range Type Description tag string
An internal opaque handle used by the DFM station
Errno Description EINTERNALERROR EINVALIDTAG
| group-list-iter-next | [top] |
For more documentation please check group-list-iter-start. The group-list-iter-next API is used to iterate over the members of the group stored in the temporary store created by the group-list-iter-start API.
Error conditions:
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EINVALIDTAG - The iterator tag specified is not valid. Restart the iteration operation to obtain a new valid tag.
Input Name Range Type Description maximum integer
The maximum number of entries to retrieve.
Range: [1..2^31-1]tag string
Tag from a previous group-list-iter-start. It's an opaque handle used by the DFM station to identify the temporary store created by group-list-iter-start. Output Name Range Type Description group-list group-info[]
An array of group-info that describes each group. records integer
The number of records actually returned as a result of invoking this API.
Range: [1..2^31-1]
Errno Description EINTERNALERROR EINVALIDTAG
| group-list-iter-start | [top] |
The group-list-iter-* set of APIs are used to retrieve the list of DFM groups. By default, a group is listed if the user has DFM.Database.Read capability on the group or if the user has DFM.Database.Read capability on any subgroup of the group.
If rbac-operation is present in the input, then a group is listed, if the authenticated user has the requested capability on that group or if the user has the required capability on any of its sub-groups. In that case, has-privilege output will be false for the parent group and true for the sub-group.
The group-list-iter-start API is used to load the list of groups into a temporary store. The API returns a tag that identifies that temporary store so that subsequent APIs can be used to iterate over the groups in the temporary store.
If group-list-iter-start is invoked twice, then two distinct temporary stores are created.
Error conditions:
- EGROUPDOESNOTEXIST - The group name or ID was not found.
- EOBJECTAMBIGUOUS - Specified group name could refer to 2 or more groups. Try again with a group ID or a fully qualified group name.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EACCESSDENIED - The user does not have DFM.Database.Read or if rbac-operation is specified, the user does nat have the requested capability on the specified group.
- EDATABASEERROR - A database error occured.
- ENOTFOUNDOPERATION - If the input element rbac-operation is not a valid RBAC operation name.
Input Name Range Type Description group-name-or-id group-name-or-id
optional
If specified, only the specified group and its immediate children are returned. list-subgroups boolean
optional
If TRUE, lists all the subgroups recursively. If group-name-or-id is specified, then all its subgroups are listed recursively. If FALSE, only top level groups are listed. If group-name-or-id is specified, then the immediate children groups of the group are listed. Default value is false. rbac-operation string
optional
Name of an RBAC operation. If specified, only return resource groups for which the authenticated administrator has the required capability and DFM.Database.Read. Default value is DFM.Database.Read. This can be up to 255 characters long. The parameter is of the form: Application.Category.TypeOfAccess. For example: "DFM.Database.Read" or "DFM.Database.Write".
Output Name Range Type Description records integer
Number which tells you how many items have been saved for future retrieval with group-list-iter-next.
Range: [1..2^31-1]tag string
Tag to be used in subsequent calls to group-list-iter-next. It is an opaque handle used by the DFM station to identify a temporary store.
Errno Description EGROUPDOESNOTEXIST EOBJECTAMBIGUOUS EINTERNALERROR EACCESSDENIED EDATABASEERROR ENOTFOUNDOPERATION
| group-move | [top] |
Move the group under a new parent group. The id of the group does not change after the move.
Error conditions:
- EGROUPDOESNOTEXIST - The group name or ID was not found.
- EGROUPEXISTS - An attempt was made to create a new group with the same name as an already existing group. Try again with a different name.
- EOBJECTAMBIGUOUS - The specified group name could refer to 2 or more groups. Try again with a group ID or a fully qualified group name.
- EINVALIDGROUPNAME - The proposed group name was not valid.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EPARENTGROUPDOESNOTEXIST - The parent group name or ID was not found.
- EPARENTGROUPNAMEAMBIGUOUS - The specified parent group name could refer to 2 or more groups. Try again with a parent group ID or a fully qualified parent group name.
- EACCESSDENIED - The user does not have the capability to move the group.
- EDATABASEERROR - A database error occured.
Input Name Range Type Description group-name-or-id group-name-or-id
Name or ID of a group. If a group name is specified, it must be fully qualified. new-group-name string
optional
Group will be moved under the new parent group with this name. Groups may contain any printable ASCII character except slash characters. The maximum name length is 64 characters. Group name cannot be "global" or "all" or fully numeric. parent-group-name-or-id group-name-or-id
Name or ID of the new parent group. If a group name is specified, it must be fully qualified.
Errno Description EGROUPDOESNOTEXIST EGROUPEXISTS EOBJECTAMBIGUOUS EINVALIDGROUPNAME EINTERNALERROR EGROUPMOVEERROR EPARENTGROUPDOESNOTEXIST EPARENTGROUPNAMEAMBIGUOUS EACCESSDENIED EDATABASEERROR
| group-rename | [top] |
Change the name of a group.
Error conditions:
- EGROUPDOESNOTEXIST - The group name or ID was not found.
- EGROUPEXISTS - An attempt was made to create a new group with the same name as an already existing group. Try again with a different name.
- EOBJECTAMBIGUOUS - The specified group name could refer to 2 or more groups. Try again with a group ID or a fully qualified group name.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EINVALIDGROUPNAME - The proposed group name was not valid.
- EACCESSDENIED - The user does not have the capability to rename the group.
- EDATABASEERROR - A database error occured.
Input Name Range Type Description group-name-or-id group-name-or-id
Name or ID of a group. If a group name is specified, it must be fully qualified. new-group-name string
New name of the group. Groups may contain any printable ASCII character except slash characters. The maximum name length is 64 characters. Group name cannot be "all" or "global" or fully numeric.
Errno Description EGROUPDOESNOTEXIST EGROUPEXISTS EOBJECTAMBIGUOUS EINTERNALERROR EINVALIDGROUPNAME EACCESSDENIED EDATABASEERROR
| group-set-options | [top] |
Change one or more options for a group. Only options that are specified will be updated. The remaining options will retain their current values. If there is any error, then no options are changed.
Error conditions:
- EGROUPDOESNOTEXIST - The group name or ID was not found.
- EOBJECTAMBIGUOUS - The specified group name could refer to 2 or more groups. Try again with a group ID or a fully qualified group name.
- EINTERNALERROR - An error occurred while processing the request. Try again later.
- EINVALIDINPUT - Invalid value for one of the options was specified.
- EACCESSDENIED - The user does not have the capability to set options for the group.
- EDATABASEERROR - A database error occured.
Input Name Range Type Description group-name-or-id group-name-or-id
Name or ID of a group. If a group name is specified, it must be fully qualified. group-option-info group-option-info
New option values for this group.
Errno Description EGROUPDOESNOTEXIST EOBJECTAMBIGUOUS EINVALIDINPUT EINTERNALERROR EACCESSDENIED EDATABASEERROR
| Element definition: group-info | [top] |
Information about a single group.
Name Range Type Description group-perf-status obj-status
Status of the group based on performance events group-status obj-status
Status of the group based on all events has-privilege boolean
Indicates if user has the privilege checked by group-list-iter-start API. If TRUE, user has the requested privilege on this group. If FALSE, user does not have the requested privilege, but group is included because user has the requested privilege on one or more subgroups of this group. Group privileges are set using the RBAC APIs. id integer
Numeric identifier of the group.
Range: [0..2^31-1]name string
Name of the group. parent-group-id integer
optional
Numeric identifier of the parent group, if any. This element is not present for top level groups.
Range: [0..2^31-1]short-name string
Short name of the group. This is a short name which does not include name of the parent. subgroup-count integer
Number of sub-groups under this parent group.
Range: [0..2^31-1]type string
The type of the members of the group. Multiple values are separated by commas. Possible values: Empty, Hosts, Volumes, Qtrees, Configurations, Lun Paths, SRM Paths, Aggregates, Datasets, and Resource Pools.
| Element definition: group-name-or-id | [top] |
Name or ID of a group. If a group name is specified, it must be fully qualified.
[none]
| Element definition: group-option-info | [top] |
Name Range Type Description chargeback-rate string
optional
The monthly chargeback cost, represented as a decimal floating-point number. Default: 0 group-contact email-address-list
optional
Contact of the resource group. This is modifiable. Possible value is e-mail of the owner. group-owner string
optional
Owner of the resource group. This is modifiable. srm-max-large-files string
optional
Maximum number of large files to track during SRM walks on paths in this group. Default: 20
Range: [0..100000]srm-max-new-mtime-files string
optional
Maximum number of files with new mtimes to track during SRM walks on paths in this group. Default: 20
Range: [0..100000]srm-max-old-atime-files string
optional
Maximum number of files with old atimes to track during SRM walks on paths in this group. Default: 20
Range: [0..100000]srm-max-old-mtime-files string
optional
Maximum number of files with old mtimes to track during SRM walks on paths in this group. Default: 20
Range: [0..100000]
| Element definition: obj-status | [top] |
A status value which can be associated with a DFM object. This typedef is an alias for the builtin ZAPI type string. The severity associated with an event has this type. Possible values are: 'unknown', 'normal', 'information', 'unmanaged' 'warning', 'error', 'critical', 'emergency'.
In some contexts, it is important that severities are ordered (as above). For example, an alarm might be triggered if an event with a given severity "or worse" occurs. In this example, worse means "after" in the list above.
- unknown: An object has an unknown status when it transitions from one state to another. Ideally, an object will have this status briefly. For example, when an object has been added, but not yet discovered.
- normal: An object has normal status when it is working within the thresholds specified in DFM.
- information: The information events are normal occurrences on an object for which you can define alarms.
- unmanaged: An object is considered to be unmanaged when the login and password are not set for the storage system or agent.
- warning: An object has the warning status when an event related to the object occurred that an administrator should know about. The event will not cause service disruption.
- error: An object has error status when it does not cause any service disruption, but it may affect performance.
- critical: An object has critical status when it is still performing, but service disruption may occur if corrective action is not taken immediately.
- emergency: An object is in emergency status when it stops performing unexpectedly and could lose data.
[none]
| Element definition: object-name-or-id | [top] |
Name or ID of an object.
[none]
| Element definition: email-address-list | [top] |
A list of email addresses. If more than one email address is specified, the addresses must be seperated by a ','. Spaces (and other white space) are not allowed, either between addresses or in them. Unprintable characters are also invalid. The list may contain up to 255 characters.
[none]