Skip to main content
Active IQ Unified Manager 9.14

Managing storage objects in a data center by using APIs

Contributors netapp-manini

The REST APIs under the datacenter category enable you to manage the storage objects in your data center, such as clusters, nodes, aggregates, storage VMs, volumes, LUNs, file shares, and namespaces. These APIs are available for querying the configuration of the objects, while some of them enable you to perform the operations of adding, deleting, or modifying these objects.

Most of these APIs are GET calls that provide cross-cluster aggregation with filtering, sorting and pagination support. On running these APIs, they return data from the database. Therefore, the newly created-objects need to be discovered by the next acquisition cycle for appearing in the response.

If you want to query the details of a specific object, you need to enter the unique ID of that object to view its details. For example, For the metrics and analytics information of the storage objects, see Viewing performance metrics.

curl -X GET "https://<hostname>/api/datacenter/cluster/clusters/4c6bf721-2e3f-11e9-a3e2-00a0985badbb" -H "accept: application/json" -H "Authorization: Basic <Base64EncodedCredentials>"
Note

The CURL commands, examples, requests, and responses to the APIs, are available on your Swagger API interface. You can filter and order the results by specific parameters as indicated on Swagger. These APIs enable you to filter the results for specific storage objects, such as cluster, volume, or storage VM.

APIs for storage objects in your data center

HTTP verb Path Description

GET

/datacenter/cluster/clusters

/datacenter/cluster/clusters/{key}

You can use this method to view the details of the ONTAP clusters across the data center. The API returns information, such as the IPv4 or IPv6 address of the cluster, information about the node, such as node health, performance capacity, and High Availability (HA) pair, and indicates whether the cluster is All SAN Array.

GET

/datacenter/cluster/licensing/licenses /datacenter/cluster/licensing/licenses/{key}

Returns the details of the licenses installed on the clusters in your data center. You can filter your results based on the required criteria. Information, such as the license key, cluster key, expiry date, and license scope is returned. You can enter a license key to retrieve the details of a specific license.

GET

/datacenter/cluster/nodes

/datacenter/cluster/nodes/{key}

You can use this method to view the details of the nodes in the data center. You can view information about the cluster, node health, performance capacity, and High Availability (HA) pair for the node.

GET

/datacenter/protocols/cifs/shares

/datacenter/protocols/cifs/shares/{key}

You can use this method to view the details of the CIFS shares in the data center. Apart from cluster, SVM, and volume details, information about Access Control List (ACL) is also returned.

GET

/datacenter/protocols/nfs/export-policies

/datacenter/protocols/nfs/export-policies/{key}

You can use this method to view the details of the export policies for the supported NFS services.

You can query the export policies for a cluster or storage VM and reuse the export policy key for provisioning NFS file shares. For more information about the assigning and reusing export policies on workloads, see “Provisioning CIFS and NFS file shares”.

GET

/datacenter/storage/aggregates

/datacenter/storage/aggregates/{key}

You can use this method to view the collection of aggregates in the data center or a specific aggregate for provisioning workloads on them or monitoring. Information, such as cluster and node details, performance capacity used, available and used space, and storage efficiency is returned.

GET

/datacenter/storage/luns

/datacenter/storage/luns/{key}

You can use this method to view the collection of LUNs in the entire data center. You can view information about the LUN, such as cluster and SVM details, QoS policies, and igroups.

GET

/datacenter/storage/qos/policies

/datacenter/storage/qos/policies/{key}

You can use this method to view the details of all the QoS policies applicable for the storage objects in the data center. Information, such as the cluster and SVM details, the fixed or adaptive policy details, and number of objects applicable for that policy is returned.

GET

/datacenter/storage/qtrees

/datacenter/storage/qtrees/{key}

You can use this method to view the qtree details across the data center for all FlexVol volumes or FlexGroup volumes. Information, such as the cluster and SVM details, FlexVol volume, and export policy are returned.

GET

/datacenter/storage/volumes

/datacenter/storage/volumes/{key}

You can use this method to view the collection of volumes in the data center. Information about the volumes, such as SVM and cluster details, QoS and export policies, whether the volume is of type read-write, data-protection, or load-sharing, is returned.

For FlexVol and FlexClone volumes, you can view the information about the respective aggregates. For a FlexGroup volume, the query returns the list of constituent aggregates.

GET

POST

DELETE

PATCH

/datacenter/protocols/san/igroups

/datacenter/protocols/san/igroups/{key}

You can assign initiator groups (igroups) authorized to access particular LUN targets. If there is an existing igroup, you can assign it. You can also create igroups and assign them to the LUNs.

You can use these methods to query, create, delete, and modify igroups respectively.

Points to note:

  • POST: While creating an igroup, you can designate the storage VM on which you want to assign access.

  • DELETE: You need to provide the igroup key as an input parameter to delete a particular igroup. If you have already assigned an igroup to a LUN, you cannot delete that igroup.

  • PATCH: You need to provide the igroup key as an input parameter to modify a particular igroup. You must also enter the property that you want to update, along with its value.

GET

POST

DELETE

PATCH

/datacenter/svm/svms

/datacenter/svm/svms/{key}

You can use these methods to view, create, delete, and modify Storage Virtual Machines (storage VMs).

  • POST: You must enter the storage VM object that you want to create as an input parameter. You can create a custom storage VM, and then assign required properties to it.

  • DELETE: You need to provide the storage VM key to delete a particular storage VM.

  • PATCH: You need to provide the storage VM key to modify a particular storage VM. You also need to enter the properties that you want to update, along with their values.

Note Points to note:

If you have enabled SLO-based workload provisioning on your environment, while creating the storage VM, ensure that it supports all of the protocols required for provisioning LUNs and file shares on them, for example, CIFS or SMB, NFS, FCP, and iSCSI. The provisioning workflows might fail if the storage VM does not support the required services. It is recommended that the services for the respective types of workloads are also enabled on the storage VM.

If you have enabled SLO-based workload provisioning on your environment, you cannot delete that storage VM on which storage workloads have been provisioned. When you delete a storage VM on which a CIFS or SMB server has been configured, this API also deletes the CIFS or SMB server, along with the local Active Directory configuration. However, the CIFS or SMB server name continues to be in the Active Directory configuration that you must delete manually from the Active Directory server.

APIs for network elements in your data center

The following APIs in the datacenter category retrieve information about the ports and network interfaces in your environment, specifically the FC ports, FC interfaces, ethernet ports, and IP interfaces.

HTTP verb Path Description

GET

/datacenter/network/ethernet/ports

/datacenter/network/ethernet/ports/{key}

Retrieves information about all the ethernet ports in your data center environment. With a port key as an input parameter, you can view the information of that specific port. Information, such as cluster details, broadcast domain, port details, such as state, speed, and type, and whether the port is enabled, is retrieved.

GET

/datacenter/network/fc/interfaces

/datacenter/network/fc/interfaces/{key}

You can use this method to view the details of the FC interfaces in your data center environment. With an interface key as an input parameter, you can view the information of that specific interface. Information, such as cluster details, home node details, and home port details, is retrieved.

GET

/datacenter/network/fc/ports

/datacenter/network/fc/ports/{key}

Retrieves information about all the FC ports used in the nodes in your data center environment. With a port key as an input parameter, you can view the information of that specific port. Information, such as cluster details, port description, supported protocol, and the state of the port is retrieved.

GET

/datacenter/network/ip/interfaces

/datacenter/network/ip/interfaces/{key}

You can use this method to view the details of the IP interfaces in your data center environment. With an interface key as an input parameter, you can view the information of that specific interface. Information, such as cluster details, IPspace details, home node details, whether failover is enabled, is retrieved.