APIs in Category: group | API version 3.8

group-add-member group-copy group-create group-delete-member group-destroy group-get-options group-get-status group-is-member-of group-list-iter-end group-list-iter-next group-list-iter-start group-move group-rename group-set-options | These operations include everything necessary to manage DFM groups.

NetApp Manage ONTAP

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'. 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 appliance 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. 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.

> [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]