Search Knowledge Base by Keyword
NetApp
Overview
NetApp builds enterprise storage systems that run ONTAP, an operating system that serves the same physical disk shelves as both file shares and block storage. The structures an administrator works with are clusters, nodes, aggregates, storage virtual machines, volumes, qtrees, LUNs, NFS exports and SMB shares, along with snapshots and SnapMirror relationships that copy volumes between clusters. ONTAP publishes a REST API on the cluster management address, which is the interface this connector is designed for.
The ReadyWorks connector connects to that address as a JSON REST client using the json_rest_api.php driver. You provide the API domain of the cluster management interface, a username and password, and a server-side working path used while responses are parsed. Authentication is HTTP Basic, assembled from the credentials and Base64-encoded into an Authorization header. Each job you define names the ONTAP resource path to call and the staging table its rows land in.
The estate value here is ownership of unstructured data. A migration or a data centre exit usually stalls on file shares rather than servers: a share with no identified owner cannot be moved, archived or deleted, and nobody will sign off on switching it off. Bringing volume, share, export and quota records into ReadyWorks lets you match each share against the people and applications that use it, size the data that has to move, and track which shares have been cut over wave by wave. Snapshot and mirror relationships tell you which volumes have a dependency elsewhere that has to move with them.
The connector is registered as bidirectional. Inbound jobs pull ONTAP resources into staging. The outbound side posts a record from ReadyWorks to an endpoint you nominate and maps status, message and record key from the reply. Both directions ship as generic skeletons with no ONTAP path configured.
NOTE: Point the connection at the cluster management interface rather than an individual node management address, so that jobs see the whole cluster instead of one controller’s view of it.
Connector Properties
| Property | Value |
|---|---|
| Identifier | NETAPP |
| Name | NetApp |
| Description | Connector for pulling and processing data from Netapp storage systems |
| Job Types | Both Inbound and Outbound |
| Order | 350 |
| Enabled | Yes |
| Locked | Yes |
| Block Update | No |
| Single Authentication | No |
| Windows Only | No |
| Connector Version | 2026-08-10 |
| Hooks | None |
| Additional Job Fields | None |
| Image | ![]() |
Authentication Methods
NetApp offers a single authentication method, cloned from the generic REST username and password pattern.
| Method | Identifier | Base Method | Script | Order | Enabled | Config Fields |
|---|---|---|---|---|---|---|
| Basic Authorization: Username / Password | NETAPP_bee41097c8 |
JSON Rest API_user |
json_rest_api.php |
70 | Yes | 6 |
Method 1: Basic Authorization: Username / Password (NETAPP_bee41097c8)
Connect to a GET method API with a username / password
Sends the connection’s username and password as a Base64-encoded HTTP Basic credential against the ONTAP management interface. Create a dedicated ONTAP account with a read-only role scoped to the resources you intend to collect, rather than reusing a cluster administrator account whose password is then held against the ReadyWorks connection.
Connection Configuration Fields (6)
| Order | Label | Type | Required | Default | Max Len | Tooltip |
|---|---|---|---|---|---|---|
| 10 | API Domain | text | Yes | 255 | Enter API domain of the Connection | |
| 30 | Server Temporary Working Path | text | Yes | storage/etl5 |
255 | Enter path where temporary files are stored during data processing (exclude starting and ending backslash) |
| 40 | Username | text | Yes | 1024 | Enter username of the Connection | |
| 50 | Password | password | Yes | 64000 | Enter password of the Connection | |
| 240 | Single Authentication | radio | Yes | 0 |
Choose if authentication is only to be done once and not on each enumeration or pagination loop | |
| 250 | Additional Job Fields | fields_list | No | Enter list of additional fields to add to staging data for all jobs |
Authentication Configuration
Headers sent on the authentication call:
| Header | Value | Base64 |
|---|---|---|
Content-Type: |
application/json |
Off |
Authorization: Basic |
%user_name%:%user_pass% |
On |
cURL options:
| Option | Authentication Call | Data Calls |
|---|---|---|
USERAGENT |
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 |
Same |
SSL_VERIFYHOST |
false |
Same |
SSL_VERIFYPEER |
false |
Same |
RETURNTRANSFER |
true |
Same |
FOLLOWLOCATION |
true |
Same |
FAILONERROR |
true |
Same |
Inbound Job Fields Enabled (44)
Inbound jobs expose the full REST field set, including three levels of enumeration and all five pagination modes.
| Order | Label | Type | Required | Default | Tooltip |
|---|---|---|---|---|---|
| 10 | Job Description | text | Yes | Enter description of the Job | |
| 20 | Job Schedule | lookup | Yes | Daily | Select frequency Job should run |
| 30 | Enabled | radio | Yes | Yes | Choose if Job is enabled |
| 40 | Use Unparsed Data | radio | No | No | Choose if you wish to parse the incoming data, or leave it in its raw format |
| 50 | Log Raw API Calls | radio | Yes | No | Choose if raw API calls are logged |
| 70 | Destination Table | text | Yes | Enter name of the destination table | |
| 80 | Data Identity | text | No | Enter identity of the Job | |
| 120 | Append New Data to Existing Tables | radio | No | No | Choose if new data will append to the existing destination table, or will create a new destination table |
| 130 | Fields to Index | text | No | Enter fields to index | |
| 170 | Method Type | select | Yes | GET |
Select method type of the Job |
| 190 | API End Point | text | No | Enter API end point of the Job | |
| 200 | API Data Parameters | fields_list | No | Enter API data parameters of the Job | |
| 210 | Body Data Sending Method | select | Yes | JSON Encoded Data | Select method for sending the body data |
| 220 | Raw JSON Body Data | textarea | No | Enter the raw JSON body to send. Do not use body selections in the API Parameters if this is used. | |
| 230 | API Return Data Node | text | No | Enter API return data node of the Job | |
| 250 | Pagination Type | select | No | None | Select request paging type of the Job |
| 270 | API Pagination Node | text | No | Enter API pagination node of the Job | |
| 280 | Pagination Offset Start | text | No | Enter request paging offset start of the Job | |
| 290 | Pagination Limit | text | No | Enter request pagination limit of the Job | |
| 300 | Pagination Termination Node | text | No | Enter request paging termination node and value of the Job | |
| 310 | Maximum API Calls | text | No | Enter maximum number of API calls for the Job to make | |
| 320 | Enumeration 1 Type | select | No | None | Enter enumeration level 1 type |
| 330 | Enumeration 1 ETL Job | lookup | No | Select ETL job for the enumeration values | |
| 340 | Enumeration 1 Data Type | data_type | No | Select the data type and fields for enumeration 1 values | |
| 350 | Enumeration 1 Keys End Point | text | No | Enter enumeration 1 keys end point of the Job | |
| 360 | Enumeration 1 Node | text | No | Enter enumeration 1 node of the Job | |
| 370 | Enumeration 1 Fields | fields_list | No | Enter enumeration 1 fields of the Job | |
| 380 | Enumeration 2 Type | select | No | None | Enter enumeration level 2 type |
| 390 | Enumeration 2 ETL Job | lookup | No | Select ETL job for the enumeration 2 values | |
| 400 | Enumeration 2 Data Type | data_type | No | Select the data type and fields for enumeration 2 values | |
| 410 | Enumeration 2 Keys End Point | text | No | Enter enumeration 2 keys end point of the Job | |
| 420 | Enumeration 2 Node | text | No | Enter enumeration 2 node of the Job | |
| 430 | Enumeration 2 Fields | fields_list | No | Enter enumeration 2 fields of the Job | |
| 440 | Enumeration 3 Type | select | No | None | Enter enumeration level 3 type |
| 450 | Enumeration 3 ETL Job | lookup | No | Select ETL job for the enumeration 3 values | |
| 460 | Enumeration 3 Data Type | data_type | No | Select the data type and fields for enumeration 3 values | |
| 470 | Enumeration 3 Keys End Point | text | No | Enter enumeration 3 keys end point of the Job | |
| 480 | Enumeration 3 Node | text | No | Enter enumeration 3 node of the Job | |
| 490 | Enumeration 3 Fields | fields_list | No | Enter enumeration 3 fields of the Job | |
| 500 | Pause Enumeration | text | No | Enter values for pausing enumeration every X calls for Y seconds | |
| 510 | Kill Enumeration on Error | radio | No | No | Choose to stop the enumeration loop on an error or continue processing the loop |
| 520 | Additional Fields | fields_list | No | Enter list of additional fields to add to staging data | |
| 550 | Retry Pause | text | No | Enter values for retrying a failed API connection. Retry X times, waiting Y seconds between each try, with an API timeout of Z seconds. | |
| 560 | Order | text | Yes | Enter order of the Job |
NOTE: Several labels and tooltips in this form carry defects inherited from the shared ETL5 field templates: the Enumeration 1 Node label reads “Enumaration”, the Append New Data label reads “Exisiting”, and the help text on Enumeration 1 Keys End Point and Enumeration 3 Fields both refer to enumeration 2. The underlying fields behave as their labels say.
Outbound Job Fields Enabled (13)
Outbound jobs expose the REST posting field set, including the outbound field list, the return data mapping and an optional raw JSON body template.
| Order | Label | Type | Required | Default | Tooltip |
|---|---|---|---|---|---|
| 10 | Job Description | text | Yes | Enter description of the Job | |
| 30 | Enabled | radio | Yes | Yes | Choose if Job is enabled |
| 50 | Log Raw API Calls | radio | Yes | No | Choose if raw API calls are logged |
| 170 | Method Type | select | Yes | GET |
Select method type of the Job |
| 180 | Data Sending Method | select | Yes | JSON Encoded Data | Select method for sending the outbound data |
| 190 | API End Point | text | No | Enter API end point of the Job | |
| 200 | API Data Parameters | fields_list | No | Enter API data parameters of the Job | |
| 210 | Body Data Sending Method | select | Yes | JSON Encoded Data | Select method for sending the body data |
| 260 | Return Data Fields List | fields_list | Yes | Enter return data fields of the Job | |
| 530 | Outbound Fields List | fields_list | Yes | Enter outbound fields of the Job | |
| 540 | Ignore Empty Outbound Fields | radio | No | Yes | Ignore, and do not include, any outbound fields that are empty and have no data |
| 550 | Raw JSON Outbound Template | textarea | No | Enter the raw JSON outbound template to send. This will replace any automated structures defined in the outbound fields. | |
| 560 | Order | text | Yes | Enter order of the Job |
Inbound Job Templates (1)
NetApp ships one inbound template, and it is the generic REST skeleton rather than an ONTAP resource pull.
| # | Job Description | Destination Table | API End Point | Enabled | What It Pulls |
|---|---|---|---|---|---|
| 1 | Rest GET API | api_data |
Not set |
No | An empty starting point for a GET request, with no API End Point, no return data node and no pagination, writing to a placeholder staging table called api_data. Clone it once per ONTAP resource you want in the estate. |
Job Template Configuration
Settings
| Setting | Value |
|---|---|
| Order | 10 |
| Enabled | No |
| Job Schedule | Daily (15 1 * * *) |
| Destination Table | api_data |
| Data Identity | api_data |
| Allow Empty Table | Yes |
| Append Files to Same Destination Table | No |
| Append New Data to Existing Tables | No |
| Use Unparsed Data | No |
| Convert UUID-Keyed Objects to Rows | No |
| Ignore XML Attributes | No |
| Log Raw API Calls | No |
| Method Type | GET |
| Body Data Sending Method | JSON Encoded Data |
NOTE: ONTAP resource collections are paged and can be large on a busy cluster. Set a Pagination Type and a Request Limit on every job you clone from this template before enabling it.
Outbound Job Templates (1)
One outbound template ships, and it is the matching generic REST skeleton.
| # | Job Description | Method | API End Point | Enabled | What It Does |
|---|---|---|---|---|---|
| 1 | Rest POST API | POST |
Not set |
No | An empty POST job. It sends a single required string field named record_key as a JSON body to an endpoint you supply, and reads status, message and data.record_key back out of the response. |
Job Template Configuration
Settings
| Setting | Value |
|---|---|
| Order | 10 |
| Enabled | No |
| Log Raw API Calls | No |
| Method Type | POST |
| Body Data Sending Method | JSON Encoded Data |
| Data Sending Method | JSON Encoded Data |
| Ignore Empty Outbound Fields | Yes |
Job Parameters and Enumeration
Rest POST API
Outbound fields list:
| Label | Name | Type | Required | Pattern |
|---|---|---|---|---|
Record Key |
record_key |
String | on |
Return data fields:
| Label | Name |
|---|---|
Return Status |
status |
Return Message |
message |
Record Key |
data.record_key |

