Postman collections for DellEMC block storage
http://anzpiper.blogspot.com/2019/12/confiure-vxflex-scaleio-api-with-python.html
This first release Project Vision provides API examples for the following products:
- PowerMax
- XtremIO
- Unity
- PowerFlex/VxFlex (formerly ScaleIO)
- PowerStore - Added in June 2020
- PowerOne - Added in June 2020
- VPLEX - Added in June 2020 - Courtesy of Ankur Patel
- Gather system and hardware information
- Basic provisioning
- Performance and event collection
The following screenshot shows part of the calls provided by the PowerMax collection
With Project Vision, one can learn by example how API authentication is undertaken and how parameters or JSON bodies are passed. Additionally every API call has been provided with a sample reply so that developers can more easily see what fields are relevant for their purpose and help fast tracking the coding effort
You can access Project Vision's Postman collections in the following GitHub repo:
https://github.com/cermegno/Project-Vision
Instructions on how to use these collections:
- Download Postman for your operating system from here
- Import the collections by clicking File > Import > Choose Files. The collection will appear in the left pane. At this point you can click on any of the calls to see the details
- The collections don't use specific array information like IP address, password, etc. To use the collection to send calls to a real array you can create an "environment" and define that information as variables. The following screenshot shows how environment variables in Postman use the "double curly bracket" notation, ex: {{ ip }}
All collections require two variables: "ip" and "pwd". Additionally PowerMax requires "serial" as you can see in the previous screenshot.
To create a new environment for your array, click on the little "eye" icon at the top right, next to the "environment" drop-down menu. Then click "Add"
A form like the following will appear. Populate the variables as shown, using the "current value", not the "initial value". Then click Add
At this point you can select the environment using the drop-down menu. Once you do it you can hover your mouse over each of the variables in your API call to see what value will be used to make the API call. See example below
The VxFlex and PowerStore collections make use of a Postman "test" to create the "token" environment variable dynamically. Run the "login" call before running any other calls. If the token expires you will need to run the "login" call again to get a fresh token
The Unity API also uses CSRF tokens to secure POST, PUT and DELETE calls. The CSRF token is provided as part of GET calls. The Unity collection has been configured with a test in the first query (named "Get FC ports - set token). Run this call before attempting any other call or after the token expires
The PowerOne collection has been developed using a simulator as I don't have access to a real PowerOne. The simulator listens on 127.0.0.1:3000. The simulator doesn't require login. So all the parameters have been hard-coded. The only parameter required is "token" if you want to experience the "login" functionality. However, please note this collection will not work on a real PowerOne system as it requires additional header information.
The following table summarises the environment variables required for each collection
Array | Variable | Variable | Variable |
---|---|---|---|
XtremIO | ip | pwd | |
Unity | ip | pwd | csrfToken |
PowerMax/VMAX | ip | pwd | serial |
PowerFlex/ScaleIO | ip | pwd | token |
PowerStore | ip | pwd | token |
PowerOne simulator | token |
Every API call in Project Vision includes an example response. So even if you don't have access to a real storage array you can see how its API behaves. To see an example response, click on the "examples" drop-down menu just under the "environment" section, and them click on the example name
Now you can scroll down to the "Example Response" section to see the recorded response
Another great feature that Postman provides us with is the ability to generate sample code for many programming languages for every call in the collection. In order to use this feature you will need to create a free account with Postman. Once you do that you can click on the little triangle next to the collection name and then "View in web"
The web documentation for the API collection will appear in your Internet browser. The right tab shows the code for the language of choice. The following screenshot shows sample code for creating a volume in VxFlex (ScaleIO) using Python's requests library
Through this feature Postman provides coding samples in the following languages. Just use the "Search Language drop-down at the top of the right-pane:
- cURL
- C
- C#
- GO
- Java
- Javascript
- NodeJs
- Objective-C
- PHP
- Powershell
- Python
- Ruby
- Shell
- OCaml
- Swift
http://anzpiper.blogspot.com/2020/01/project-vision-in-action.html
Comments
Post a Comment