Table of Contents


Overview

Dell PowerFlex is a software-defined block storage platform, previously sold as VxFlex OS and before that as ScaleIO. Instead of a purpose-built array it pools the local drives of a cluster of standard servers into shared capacity. That capacity is carved into Storage Pools, grouped for fault isolation into Protection Domains, and presented to hosts as volumes through the SDC kernel driver that runs on each consuming machine. The whole cluster is managed from the PowerFlex Management Platform, or PFMP.

The ReadyWorks connector talks to the PFMP REST API. It posts the username and password to the login endpoint, reads the bearer token out of the access_token node in the response, and then sends that token on every subsequent call. Five shipped jobs walk the object model from the top down and write each level into its own staging table in the estate.

The value of that shape is the chain it gives you. A volume record names the storage pool it came from, a pool names its protection domain, and the SDC records say which client machines have volumes mapped to them. Reconciled against the server and application records already in the fabric, that tells you which workloads sit on which slice of PowerFlex capacity. Before a data centre exit or a storage refresh, that is the difference between knowing a host uses shared storage and knowing exactly which pool and protection domain it depends on.

The connector is inbound only. It reads from PFMP and writes to ReadyWorks staging. No outbound job fields are exposed and no outbound templates ship, so nothing is written back to PowerFlex.

NOTE: All five templates ship enabled on a Daily schedule, and the connection ships with placeholder defaults for the PFMP address. Edit the connection fully before saving, or you will schedule five jobs that call a host name that does not resolve.

Connector Properties

PropertyValue
IdentifierPOWERFLEX
NameDell PowerFlex
DescriptionDell PowerFlex is a software-defined block storage platform (formerly known as VxFlex/ScaleIO). Volumes are presented to clients via the SDC kernel driver.
Job TypesInbound Only
Order170
EnabledYes
LockedYes
Block UpdateNo
Single AuthenticationYes
Windows OnlyNo
Connector Version2026-05-17
HooksNone
Additional Job FieldsNone
Image

Authentication Methods

One authentication method is shipped, matching the PFMP login flow.

MethodIdentifierBase MethodScriptOrderEnabledConfig Fields
Dell PowerFlex: User/Pass to Bearer TokenPOWERFLEX_8a3b1c5e92POWERFLEX_8a3b1c5e92json_rest_api.php10Yes7

Method 1: Dell PowerFlex: User/Pass to Bearer Token (POWERFLEX_8a3b1c5e92)

Username and Password to PFMP Bearer Token

Posts the username and password as a JSON body to the PFMP login endpoint, extracts the bearer token from the access_token node in the response, and attaches it as Authorization: Bearer on every data call. Both the endpoint and the token node are required fields with working defaults, so the only values you normally supply are the PFMP address and a PFMP service account. Use an account with read access to the system, protection domain, storage pool, SDC and volume objects.

Connection Configuration Fields (7)

OrderLabelTypeRequiredDefaultMax LenTooltip
10API DomaintextYeshttps://PFMP_FQDN_REPLACE255Enter the PowerFlex Management Platform (PFMP) URL
30Server Temporary Working PathtextYesstorage/etl5255Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
40UsernametextNo1024PFMP username
50PasswordpasswordNo64000PFMP password
190Authentication Token End PointtextYeshttps://PFMP_FQDN_REPLACE/rest/auth/login500PowerFlex Management Platform login endpoint
200Authentication Token JSON NodetextYesaccess_token255JSON node containing the access token in the auth response
250Additional Job Fieldsfields_listNoEnter list of additional fields to add to staging data for all jobs

Authentication Configuration

Headers sent on the authentication call:

HeaderValueBase64
Content-Type:application/jsonOff

Headers sent on the data calls:

HeaderValueBase64
Content-Type:application/jsonOff
Authorization:Bearer %auth_data%Off

Authentication request body:

KeyValue
username%user_name%
password%user_pass%

cURL options:

OptionAuthentication CallData Calls
USERAGENTMozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0Same
SSL_VERIFYHOSTfalseSame
SSL_VERIFYPEERfalseSame
RETURNTRANSFERtrueSame
FOLLOWLOCATIONtrueSame
FAILONERRORtrueSame

NOTE: This connector authenticates once per run rather than on every pagination and enumeration loop, which is the correct behaviour for a token-fetch method. The setting is fixed at the connector level and is not offered on the connection form.

NOTE: The Authentication Token End Point is an absolute URL that repeats the PFMP host name, so the host appears in two fields on this form. Change both together.

Inbound Job Fields Enabled (44)

The inbound job form carries the full generic REST field set, including pagination, the three enumeration levels and the raw JSON body.

OrderLabelTypeRequiredDefaultTooltip
10Job DescriptiontextYesEnter description of the Job
20Job SchedulelookupYesDailySelect frequency Job should run
30EnabledradioYesYesChoose if Job is enabled
40Use Unparsed DataradioNoNoChoose if you wish to parse the incoming data, or leave it in its raw format
50Log Raw API CallsradioYesNoChoose if raw API calls are logged
70Destination TabletextYesEnter name of the destination table
80Data IdentitytextNoEnter identity of the Job
120Append New Data to Existing TablesradioNoNoChoose if new data will append to the existing destination table, or will create a new destination table
130Fields to IndextextNoEnter fields to index
170Method TypeselectYesGETSelect method type of the Job
190API End PointtextNoEnter API end point of the Job
200API Data Parametersfields_listNoEnter API data parameters of the Job
210Body Data Sending MethodselectYesJSON Encoded DataSelect method for sending the body data
220Raw JSON Body DatatextareaNoEnter the raw JSON body to send. Do not use body selections in the API Parameters if this is used.
230API Return Data NodetextNoEnter API return data node of the Job
250Pagination TypeselectNoNoneSelect request paging type of the Job
270API Pagination NodetextNoEnter API pagination node of the Job
280Pagination Offset StarttextNoEnter request paging offset start of the Job
290Pagination LimittextNoEnter request pagination limit of the Job
300Pagination Termination NodetextNoEnter request paging termination node and value of the Job
310Maximum API CallstextNoEnter maximum number of API calls for the Job to make
320Enumeration 1 TypeselectNoNoneEnter enumeration level 1 type
330Enumeration 1 ETL JoblookupNoSelect ETL job for the enumeration values
340Enumeration 1 Data Typedata_typeNoSelect the data type and fields for enumeration 1 values
350Enumeration 1 Keys End PointtextNoEnter enumeration 1 keys end point of the Job
360Enumeration 1 NodetextNoEnter enumeration 1 node of the Job
370Enumeration 1 Fieldsfields_listNoEnter enumeration 1 fields of the Job
380Enumeration 2 TypeselectNoNoneEnter enumeration level 2 type
390Enumeration 2 ETL JoblookupNoSelect ETL job for the enumeration 2 values
400Enumeration 2 Data Typedata_typeNoSelect the data type and fields for enumeration 2 values
410Enumeration 2 Keys End PointtextNoEnter enumeration 2 keys end point of the Job
420Enumeration 2 NodetextNoEnter enumeration 2 node of the Job
430Enumeration 2 Fieldsfields_listNoEnter enumeration 2 fields of the Job
440Enumeration 3 TypeselectNoNoneEnter enumeration level 3 type
450Enumeration 3 ETL JoblookupNoSelect ETL job for the enumeration 3 values
460Enumeration 3 Data Typedata_typeNoSelect the data type and fields for enumeration 3 values
470Enumeration 3 Keys End PointtextNoEnter enumeration 3 keys end point of the Job
480Enumeration 3 NodetextNoEnter enumeration 3 node of the Job
490Enumeration 3 Fieldsfields_listNoEnter enumeration 3 fields of the Job
500Pause EnumerationtextNoEnter values for pausing enumeration every X calls for Y seconds
510Kill Enumeration on ErrorradioNoNoChoose to stop the enumeration loop on an error or continue processing the loop
520Additional Fieldsfields_listNoEnter list of additional fields to add to staging data
550Retry PausetextNoEnter values for retrying a failed API connection. Retry X times, waiting Y seconds between each try, with an API timeout of Z seconds.
560OrdertextYesEnter order of the Job

NOTE: Several labels and tooltips carry unedited text from the shared templates. Enumaration 1 Node is misspelled and the tooltip on Enumeration 1 Keys End Point refers to enumeration 2. The fields behave as their level numbers say.

Inbound Job Templates (5)

Five inbound templates ship, all enabled on a Daily schedule. They walk the PowerFlex object model from the cluster down to the individual volume, each writing to its own staging table.

#Job DescriptionDestination TableAPI End PointEnabledWhat It Pulls
1GET Systempowerflex_system/api/types/System/instancesYesThe cluster-level record from /api/types/System/instances: the PowerFlex system’s identity, version, overall capacity and configuration. Usually one row, and the anchor everything else hangs off.
2GET ProtectionDomainpowerflex_protection_domain/api/types/ProtectionDomain/instancesYesThe fault-isolation groupings from /api/types/ProtectionDomain/instances: each protection domain’s name, identifier, state and the system it belongs to. This is the boundary within which a rebuild is contained.
3GET StoragePoolpowerflex_storage_pool/api/types/StoragePool/instancesYesThe capacity tiers from /api/types/StoragePool/instances: each pool’s name, identifier, parent protection domain, data layout and capacity and utilisation figures. This is where you see how much of the estate’s block capacity is actually consumed.
4GET SDCpowerflex_sdc/api/types/Sdc/instancesYesThe storage data clients from /api/types/Sdc/instances: one row per host running the SDC kernel driver, with its identifier, IP address, connection state and driver version. This is the join back to the server records in the estate.
5GET Volumepowerflex_volume/api/types/Volume/instancesYesThe provisioned volumes from /api/types/Volume/instances: each volume’s name, identifier, size, type and the storage pool it was carved from. Typically the largest collection of the five.

Job Template Configuration

Settings Common to All Five Templates

SettingValue
EnabledYes
Job ScheduleDaily (15 1 * * *)
Allow Empty TableYes
Append Files to Same Destination TableNo
Append New Data to Existing TablesNo
Use Unparsed DataNo
Convert UUID-Keyed Objects to RowsNo
Ignore XML AttributesNo
Log Raw API CallsNo
Method TypeGET
Body Data Sending MethodJSON Encoded Data

Settings That Vary by Template

TemplateIDOrderDestination TableData IdentityAPI End Point
GET System15240000powerflex_systempowerflex_system/api/types/System/instances
GET ProtectionDomain15340001powerflex_protection_domainpowerflex_protection_domain/api/types/ProtectionDomain/instances
GET StoragePool15440002powerflex_storage_poolpowerflex_storage_pool/api/types/StoragePool/instances
GET SDC15540003powerflex_sdcpowerflex_sdc/api/types/Sdc/instances
GET Volume15640004powerflex_volumepowerflex_volume/api/types/Volume/instances

NOTE: None of the five sets Pagination Type, so each job takes whatever a single call returns. Review this on GET Volume and GET SDC before the first scheduled run.

NOTE: There is no template for the SDS storage data servers or for the underlying devices, so the server-side contribution of physical drives to each pool is not retrieved. Copy the connector’s job form and add one if you need it.

Outbound Job Templates (0)

This connector is inbound only, so no outbound templates are shipped and the outbound job form is not available.

Last updated on 11/4/2026

Attachments