NetApp ActiveIQ API - Data Models¶
This document describes the key data models and schemas used in the NetApp ActiveIQ Unified Manager REST API.
Overview¶
The API uses JSON for all request and response payloads. All data models are based on OpenAPI 2.0 specification and include detailed property descriptions, data types, and constraints.
Schema Overview Diagram¶
classDiagram
class NetAppConfig {
+string base_url
+string username
+string password
+bool verify_ssl
+int timeout
}
class ClusterInfo {
+string cluster_id
+string name
+string version
+string health_status
+List~string~ nodes
}
c
class SVMConfig {
+string name
+string cluster_key
+string aggregate_name
+string root_volume
+string language
+string security_style
}
class NFSShareConfig {
+string name
+string svm_key
+string path
+string export_policy
+Dict~string, Any~ access_control
}
class MonitoringConfig {
+List~string~ cluster_keys
+List~string~ metrics
+Dict~string, float~ alert_thresholds
+List~string~ notification_channels
}
NetAppConfig --> ClusterInfo : manages
ClusterInfo --> SVMConfig : contains
SVMConfig --> NFSShareConfig : hosts
ClusterInfo --> MonitoringConfig : monitors
Common Properties¶
Many objects in the API share common structural elements:
Links Object (_links
)¶
- self: Link to the current resource - next: Link to the next page (for paginated responses) Response Wrapper¶
Most collection responses follow this pattern:
Core Data Models¶
1. Access Endpoint¶
Represents network access points for storage resources.
{
"_links": {},
"data_protocols": ["nfs", "cifs", "iscsi", "fcp"],
"fileshare": {
"key": "string"
},
"gateway": "10.132.72.12",
"gateways": ["10.142.56.12"],
"ip": {
"address": "10.162.83.26",
"ha_address": "10.142.83.26",
"netmask": "255.255.0.0"
},
"key": "string",
"lun": {
"key": "string"
},
"mtu": 15000,
"name": "aep1",
"svm": {
"_links": {},
"key": "string",
"name": "svm1",
"uuid": "uuid"
},
"uuid": "uuid",
"vlan": 10,
"wwpn": "20:00:00:50:56:a7:bc:a2"
}
Key Properties: - data_protocols: Supported protocols (NFS, CIFS, iSCSI, FCP) - ip: Network configuration including address, netmask, and HA address - mtu: Maximum Transmission Unit - vlan: VLAN identifier - wwpn: World Wide Port Name (for FCP)
2. Performance Metrics¶
Accumulative Metric¶
Accumulative Submetric¶
Performance Metrics Categories: - read: Read operation metrics - write: Write operation metrics - total: Combined read/write metrics - other: Other operation metrics
3. Cluster Information¶
{
"_links": {},
"key": "string",
"name": "fas8040-206-21",
"uuid": "4c6bf721-2e3f-11e9-a3e2-00a0985badbb",
"version": {
"full": "NetApp Release Dayblazer__9.5.0: Thu Jan 17 10:28:33 UTC 2019"
},
"management_ip": "10.226.207.25",
"nodes": [
{
"uuid": "12cf06cc-2e3a-11e9-b9b4-00a0985badbb",
"name": "fas8040-206-21-01",
"model": "FAS8040"
}
]
}
4. Storage Virtual Machine (SVM)¶
5. Storage Metrics¶
Space Usage¶
Efficiency Metrics¶
{
"efficiency": {
"compression": {
"savings": 1073741824,
"ratio": "2:1"
},
"deduplication": {
"savings": 536870912,
"ratio": "1.5:1"
}
}
}
6. Event Management¶
Event Object¶
{
"_links": {},
"key": "string",
"name": "Event Name",
"message": "Event description",
"severity": "critical",
"state": "new",
"acknowledged": false,
"resolved": false,
"source": {
"key": "string",
"name": "Source Object"
},
"time": "2023-01-01T12:00:00Z"
}
Event Severities: - critical
- warning
- information
- error
Event States: - new
- acknowledged
- resolved
- obsolete
7. Job Management¶
Job Object¶
{
"_links": {},
"uuid": "string",
"description": "Job description",
"state": "success",
"start_time": "2023-01-01T12:00:00Z",
"end_time": "2023-01-01T12:05:00Z",
"progress": 100,
"message": "Job completed successfully"
}
Job States: - queued
- running
- paused
- success
- failure
- partial_failures
8. Performance Service Level¶
{
"_links": {},
"key": "string",
"name": "Extreme",
"description": "High performance service level",
"expected_iops": {
"allocation": "allocated_space",
"peak": 10000,
"per_tb": 1000
},
"peak_iops": {
"allocation": "allocated_space",
"absolute": 50000,
"per_tb": 5000
},
"expected_latency": 1,
"peak_latency": 2,
"block_size": "any"
}
9. Backup Information¶
Backup Settings¶
{
"enabled": true,
"frequency": "daily",
"hour": 1,
"minute": 17,
"day_of_week": null,
"retention_count": 10,
"path": "/opt/netapp/data/ocum-backup/"
}
Backup File Info¶
{
"name": "backup_20230101_120000.sql",
"path": "/opt/netapp/data/ocum-backup/backup_20230101_120000.sql",
"size": 1073741824,
"creation_time": "2023-01-01T12:00:00Z",
"type": "mysql"
}
Common Data Types¶
Primitive Types¶
- string: Text values
- integer: Whole numbers
- number/double: Decimal numbers
- boolean: true/false values
- uuid: UUID format strings
- int64: 64-bit integers
Date/Time Format¶
All timestamps use ISO 8601 format:
Enumerated Values¶
Many fields use predefined enumerated values for consistency:
Protocols: - nfs
- cifs
- iscsi
- fcp
Frequencies: - daily
- weekly
Allocation Types: - allocated_space
- used_space
Error Response Format¶
All error responses follow this structure:
Pagination¶
Collection responses include pagination metadata:
{
"num_records": 20,
"total_records": 150,
"_links": {
"self": {"href": "/api/v2/endpoint?offset=0&max_records=20"},
"next": {"href": "/api/v2/endpoint?offset=20&max_records=20"}
}
}
Field Selection¶
Use the fields
parameter to specify which properties to include in responses:
This returns only the specified fields, reducing response size and improving performance.
For complete schema definitions and additional models, refer to the OpenAPI specification available through your Unified Manager Swagger interface.