REST API
REST API reference
Contents
1. PureApplication System REST API topology
2. Workload console REST APIs
2.1. Virtual application pattern
2.2. Retrieve audit data with the REST API
2.3. Virtual application
2.4. Pattern types
2.5. Plug-ins
2.6. Monitor
2.7. Log
2.8. Shared services
2.9. Certificates
2.10. diagnostics.zip file
2.11. Environment profiles
2.12. Groups
2.13. Hypervisors
2.14. IP addresses
2.15. IP groups
2.16. Log viewer manager
2.17. Networks
2.18. Patterns
2.19. Storage
2.20. Version
2.21. Virtual images
2.22. Virtual machines
2.23. Virtual system instances
2.24. Elastic load balancing management
3. System console REST APIs
3.1. Acls
3.2. Audit configuration
3.3. Audit records
3.4. Audit record packages
3.5. Chassis Fans
3.6. Chassis Management Modules
3.7. Clouds
3.8. Clusters
3.9. Comments
3.10. Compute Node Chassis
3.11. Compute Nodes
3.12. Disk drives
3.13. Energy history
3.14. Energy stats
3.15. Event types
3.16. Events
3.17. Fix packs
3.18. Health Statistics
3.19. Hypervisors
3.20. Jobs
3.21. Ldap configs
3.22. LEDs
3.23. Locations
3.24. Management endpoints
3.25. Management nodes
3.26. Media Trays
3.27. Networks
3.28. Physical core stats
3.29. Physical cpu history
3.30. Physical cpu modules
3.31. Physical cpus
3.32. Physical I/O Adapter History
3.33. Physical I/O Adapter Modules
3.34. Physical I/O Adapters
3.35. Physical I/O Ports
3.36. Physical memory
3.37. Physical memory history
3.38. Physical memory modules
3.39. Power Supplies
3.40. Power Supply Fans
3.41. Problems
3.42. Rack history
3.43. Rack stats
3.44. Racks
3.45. Role permissions
3.46. Roles
3.47. Secure keys
3.48. Secure tokens
3.49. Security configs
3.50. Storage controller ports
3.51. Storage controllers
3.52. Storage expansions
3.53. Storage mdisk statistics
3.54. Storage mdisks
3.55. Storage node statistics
3.56. Storage pools
3.57. Storage port statistics
3.58. Storage switch ports
3.59. Storage volume statistics
3.60. Storage volumes
3.61. Stored pvus
3.62. Switch Fans
3.63. Switch Port History
3.64. Switch Ports
3.65. Switch Power Supplies
3.66. Switches
3.67. System Logs
3.68. Temperature history
3.69. Temperature stats
3.70. Traces
3.71. User groups
3.72. User groups roles
3.73. User groups users
3.74. Users
3.75. Users roles
3.76. Vendor Information
3.77. Virtual Data Center Statistics
3.78. Virtual Data Center Statistics History
4. Use the REST API for databases
5. IaaS REST API reference
5.1. IaaS REST APIs
5.1.1. Specifying queries
5.1.2. Use HTTP header requests
5.1.3. Specifying views
5.1.4. Specifying result subsets
5.1.5. Partially updating resources
5.1.6. Resolve resources
5.2. IaaS use cases
5.2.1. Transitioning instance states
5.2.2. Link or unlinking a virtual data center
5.2.3. Remove a virtual data center
5.2.4. Create a new vm_configuration
5.2.5. Create a new volume configuration
5.2.6. Create a new subnet
5.2.7. Delete a subnet
5.2.8. Create a new address
5.2.9. Create a range of addresses attached to a subnet
5.2.10. Move an address from one subnet to another
5.2.11. Delete an address
5.2.11.1. Reserving addresses in a subnet
5.2.11.2. Reserving one specific address in a subnet
5.2.11.3. Releasing addresses in a subnet
5.2.11.4. Locking addresses in a subnet
5.2.11.5. Unlocking addresses in a subnet
5.2.12. Create a new credential
5.2.13. Delete a credential
5.2.14. Delete images from the system
5.2.15. Deploy virtual machines
5.2.16. Create a group
5.2.17. Update a group
5.2.18. Delete a group
5.2.19. Retrieve master groups
5.2.20. Retrieve nested and parent groups
5.2.21. Stopping, starting, or and restarting virtual machines
5.2.22. View currently deployed virtual machines
5.2.23. Delete currently deployed virtual machines
5.2.24. Capturing a currently deployed virtual machine
5.2.25. Get a new address
5.2.26. Create a storage volume
5.2.27. Delete a storage volume
5.2.28. Attaching or detaching storage volumes
5.2.29. Attaching or detaching addresses
5.2.30. Store a previously deployed virtual machine
REST API reference
The representational state transfer (REST) application programming interface (API) is provided by PureApplication System.
Each system exposes a REST API as there are no special configuration settings to enable or disable this interface. The PureApplication System REST API is available on the same IP address or host name used to access the GUI and command-line interface. Unlike the GUI, the REST API is only supported over the HTTPS protocol on port 443. The system uses a self-signed certificate for its SSL sessions. The same certificate is used for GUI, command-line interface and REST API sessions. You need to configure your HTTPS client to either accept or ignore this certificate during the SSL handshake. You must use an HTTPS client that allows you to set the HTTP headers for each request. This is because there are multiple headers required for authentication, authorization, and content negotiation.
When generating HTTP requests to the PureApplication System REST API, pay special attention to the following headers:
- Accept
- With a few exceptions, the REST API generates JSON-encoded data in its responses. Include an "Accept: application/json" header in your request to indicate the ability of your client to handle JSON responses.
- Accept-Language
- Use this header on your HTTP request to specify which language or locale should be used by the system when generating the response data. You can specify any of the languages supported by the system.
- Authentication
- The REST API only supports HTTP basic authentication. After successfully authenticating, the server will return two cookies named zsessionid and SimpleToken that should be included with subsequent HTTP requests that are part of the same session. If requests are sent by using HTTP basic authentication rather than by forwarding the returned SimpleToken cookie, the server-side effort is increased for authentication and authorization. If the zsessionid cookie is missing from HTTP requests, a new user session is created for each new incoming request and more server-side resources are consumed as a result.
The same user IDs and passwords used to access the user interface and the command-line interface are used to access the REST API. The authorization of a user to perform actions on the system is independent of the interface (user console, command line, or REST API) used to request the actions.
- Content-Type
- All the content included in an HTTP request body sent to the system must be JSON encoded. You must include a "Content-Type: application/json" header to indicate this for each request that includes any data.
- X-IBM-PureSystem-API-Version: 1.0
- Every HTTP request to the system must include a "X-IBM-PureSystem-API-Version: 1.0" header to indicate that your client expects the REST API semantics described in this document. See the following usage example:
curl --cacert pureapp_host_name https://pureapp_host_name/resources/version -k -H "X-IBM-PureSystem-API-Version: 1.0"The REST API only supports the sending and receiving of UTF-8 encoded data. Ensure that your HTTP client is appropriately set to encode and decode character data, including JSON data. All responses of REST requests in JSON format are encoded in UTF-8.
Error reporting for the REST API follows HTTP error code conventions. For example:
403 This code is returned if the requester has not been assigned the cloud administration role. 500 This code is returned if the system encountered an internal error while processing the request.If the Accept tag in the request header is in application/json format, a JSON error object is returned:{ "errorStatusCode": 403, "message": "User is not authorized to perform this operation.", "errorMessage": "User is not authorized to perform this operation." }
Related
PureApplication System REST API topology
The PureApplication System REST API topology provides a visual representation of the various system components of PureApplication System, and the REST APIs that are provided for each.
For information on any REST API, click the corresponding area in following image.
Note: To use the REST API topology view, right-click any of the links in the image and select Open in a new tab or Open in a new window to open the documentation for that particular API in a new tab or window.
![]()
Workload console REST APIs
Common parameters
The following parameters provide general status about the overall system function. These fields are commonly used throughout all REST APIs.
- created_time
- The time at which the object is created.
- updated_time
- The time at which the object was last updated.
- state
- The general availability of the object. If the value is pending, the object is created but not activated. If the value is available, the object is active in the system.
- id
- The unique ID of the object in the system.
To list multiple occurrences of a field, specify the same parameter multiple items, for example:
?id=<id1>&id=<id2>The Response Body sections of this application return only a partial response to show an example of one object of the type as several of the whole responses are quite large. Some sections include how to retrieve a singular instance of the object in question. There are no provided examples of the response and parameters, because the details are identical, though a smaller list, to getting the whole response.
The system exposes a subset of its functionality using a REST API. If you require functionality beyond what is available in the REST API described here, you can consider using the command-line interface instead. The REST API and the command-line interface share many paradigms for managing a system, but the command-line interface provides a richer scripting environment and a more complete set of functions. For more information about the command-line interface, see Use the command-line interface.
Each system exposes a REST API as there are no special configuration settings to enable or disable this interface. The PureApplication System REST API is available on the same IP address or host name used to access the GUI and command-line interface. Unlike the GUI, the REST API is only supported over the HTTPS protocol on port 443. The system uses a self-signed certificate for its SSL sessions. The same certificate is used for GUI, command-line interface and REST API sessions. You need to configure your HTTPS client to either accept or ignore this certificate during the SSL handshake. You must use an HTTPS client that allows you to set the HTTP headers for each request. This is because there are multiple headers required for authentication, authorization, and content negotiation.
When generating HTTP requests to the PureApplication System REST API, pay special attention to the following headers:
- Accept
- With a few exceptions, the REST API generates JSON-encoded data in its responses. Include an "Accept: application/json" header in your request to indicate the ability of your client to handle JSON responses.
- Accept-Language
- Use this header on your HTTP request to specify which language or locale should be used by the system when generating the response data. You can specify any of the languages supported by the system.
- Authentication
- The REST API only supports HTTP basic authentication. After successfully authenticating, the server will return two cookies named zsessionid and SimpleToken that should be included with subsequent HTTP requests that are part of the same session. The same user IDs and passwords used to access the GUI and the command-line interface are used to access the REST API. The authorization of a user to perform actions on the system is independent of the interface (GUI, command-line interface or REST API) used to request the actions.
- Content-Type
- All the content included in an HTTP request body sent to the system must be JSON encoded. You must include a "Content-Type: application/json" header to indicate this for each request that includes any data.
The REST API only supports the sending and receiving of UTF-8 encoded data. Ensure that your HTTP client is appropriately set to encode and decode character data, including JSON data. All responses of REST requests in JSON format are encoded in UTF-8.
Error reporting for the REST API follows HTTP error code conventions. For example:
403 This code is returned if the requester has not been assigned the cloud administration role. 500 This code is returned if the system encountered an internal error while processing the request.If the Accept tag in the request header is in application/json format, a JSON error object is returned:{ "errorStatusCode": 403, "message": "User is not authorized to perform this operation.", "errorMessage": "User is not authorized to perform this operation." }
2.1. Virtual application pattern
You can use the REST API to manage the virtual application patterns.
The following tasks can be completed using the REST API:
List all application patterns
GET /resources/applicationPatterns/
List all application patterns.. A list of the application patterns.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/ Response content-type application/json Response example [ { "content_type": "application/json", "last_modifier": "tester", "create_time": .2011-02-24T05:41:34Z., "last_modified": .2011-02-24T05:41:34Z., "access_rights": { "tester": "F" }, "content_md5": "661D31C9F14615539E537E9AA5CB02E9", "app_type": "application", "app_id": "a-faac12d0-23d7-4f57-b3cb-13ce92d5e07f", "app_name": "untitled", "creator": "tester" }, ... ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Create an application pattern with specific attributes
POST /resources/applicationPatterns/Different kinds of attributes can be combined. A unique ID is generated for the application.
Create an application pattern with specific attributes details.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/ Request body Content-type
Content-Type - application/json (appmodel json file) Content-Type - application/zip file (zip file including application model and artifacts files)
Request body example JSON Application model Response content-type application/json Response example { "content_type": "application/json", "last_modifier": "tester", "create_time": .2011-02-24T05:41:34Z., "last_modified": .2011-02-24T05:41:34Z., "access_rights": { "tester": "F" }, "content_md5": "EF7142254CD653D987E9A9E8A48C01D3", "app_type": "application", "app_id": "a-4e21f6e9-2ca7-4a3a-a5cc-00f04f7b7f08", "app_name": "test", "creator": "tester" }Response header location https://localhost/resources/applicationPatterns/a-4e21f6e9-2ca7-4a3a-a5cc-00f04f7b7f08 Response code 201 Created 401 The user is not authorized to perform this action. 403 Access forbidden 412 Invalid parameter supplied, for example, the json file is invalid. 415 Invalid content type 500 Unexpected error
Create an application pattern from an existing application or template (clone)
POST /resources/applicationPatterns/?source={app_id}&app_name={name}&app_type={app_type}A unique ID is generated for the application.
- Attribute "source": specify application template or application (required)
- Attribute "app_name": specify application name (required)
- Attribute "app_type": specify application type for target application. The values can be application or template. The default value is application.
Create an application pattern from an existing application or template (clone) details.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/?source=a-679a68f4-6798-424f-8039-1f682f949f45&app_name=testApp Create an application name "testApp" from application with id " a-679a68f4-6798-424f-8039-1f682f949f45"
Response content-type application/json Response example { "content_type": "application/json", "last_modifier": "tester", "create_time": .2011-02-24T05:41:34Z., "last_modified": .2011-02-24T05:41:34Z., "access_rights": { "AllUsers": "R", "tester": "F" }, "content_md5": "7AB9C3524906672BB0E1EA0209FF3803", "app_type": "application", "app_id": "a-fb70796e-1b13-467a-babe-b8b700bd563b", "app_name": "testApp", "creator": "tester" }Response header location https://localhost/resources/applicationPatterns/a-fb70796e-1b13-467a-babe-b8b700bd563b Response code 201 Created 401 The user is not authorized to perform this action. 403 Access forbidden 412 Invalid parameter supplied, for example, the application ID is not found. 415 Invalid content type 500 Unexpected error
List the application patterns with various filters
GET /resources/applicationPatterns/?<filter>=<filterString>
- Filter "app_name": Filter application pattern with application name.
- Filter "app_type": Filter application pattern with application type. filterString can be application, template or service (for shared service). If filterString is null or empty, all application pattern are returned.
The result lists only the application with R access for the request.
- . Filter "patterntype" and "version": Filter application patterns with versioned pattern type, for example, ?patterntype=webapp&version=1.0
List application pattern with various filters details.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/?app_name=web%20application&app_type=template Retrieve all application templates whose name contains string "web application".
Response content-type application/json Response example [ { "content_type": "application/json", "last_modifier": "cbadmin", "create_time": .2011-02-24T05:41:34Z., "last_modified": .2011-02-24T05:41:34Z., "access_rights": { "AllUsers": "R" }, "content_md5": "2565A57FC11492698869ADCF7C48154E", "app_type": "template", "app_id": "a-14057bbd-9651-461a-a597-5df8957110fc", "app_name": "web application", "creator": "cbadmin" }, ... ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Update application pattern
PUT /resources/applicationPatterns/{app_id}
Update application pattern details. . Describes the update application pattern details.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/a-cdaac959-672c-4df7-a648-b333a3843422 Response content-type and body Content-Type - application/json (body is the application model json file) Content-Type - application/zip (body is zip file, including the application model and artifacts files)
Response content-type application/json Response body example { "content_type": "application/json", "last_modifier": "tester", "create_time": .2011-02-24T05:41:34Z., "last_modified": .2011-02-24T05:41:34Z., "access_rights": { "tester": "F" }, "content_md5": "5B8F7E6CF56F7CE804788C0086589AFF", "app_type": "application", "app_id": "a-fb70796e-1b13-467a-babe-b8b700bd563b", "name": "App for Testing", "locked": "false", "creator": "tester" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The application specified by {appID} is not found. 412 Invalid parameter supplied, for example, the json file is invalid. 500 Unexpected error
Return detailed information about the application pattern
GET /resources/applicationPatterns/{app_id}
Return detailed information about the application pattern.. Describes returned information about the application pattern.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/a-679a68f4-6798-424f-8039-1f682f949f45 Response content-type application/json Response example { "last_modifier": "cbadmin", "content_type": "application/json", "app_name": "Secured JEE web application", "creator": "cbadmin", "create_time": .2011-02-24T05:41:34Z., "last_modified": .2011-02-24T05:41:34Z., "access_rights": { "AllUsers": "R" }, "content_md5": "60136D4754C7CEE19E827665FE601C33", "app_type": "application", "app_id": "a-679a68f4-6798-424f-8039-1f682f949f45", "description": "HitCount is a secured Java Platform, Enterprise Edition (Java EE) web application demonstrating how to increment a counter with WebSphere Application Server,Tivoli Direcotry Service, and DB2. Access HitCount via http://[IP]:9080/hitcount, where [IP] is the IP of the deployed WebSphere Application Server virtual machine." }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The application specified by {appID} is not found. 500 Unexpected error
Download the application pattern zip file, including all artifacts and the json file
GET /resources/applicationPatterns/{app_id}?zip
Download the application pattern zip file, including all artifacts and the json file details.. Describes APIs to download the application zip file contents.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/a-679a68f4-6798-424f-8039-1f682f949f45?zip Response content-type application/json Response body application zip file Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The application specified by {appID} is not found. 500 Unexpected error
Update application pattern access right for the specified user name or group name
PUT /resources/applicationPatterns/{app_id}/accessRights/{name}?{ user or group }
Update application pattern access right details.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/a-cdaac959-672c-4df7-a648-b333a3843422/accessRights/Everyone?group Response content-type application/json Response body example { "access_rights": "F"}Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The application specified by {appID} is not found. 412 Invalid parameter supplied, for example, the json file is invalid. 500 Unexpected error
Delete a specified application pattern
DELETE /resources/applicationPatterns/{app_id}
Delete a specified application pattern details.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/a-cdaac959-672c-4df7-a648-b333a3843422 Response content-type application/json Response code 200 OK Note: If an application specified by {appID} is not found, the 200 response code returns, response body: {"success": "false"})
401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict 500 Unexpected error
Artifacts REST interface
List all artifacts of a given application pattern
GET /resources/applicationPatterns/{app_id}/artifacts/
Table 10. List all artifact of a given application pattern details.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/ a-cdaac959-672c-4df7-a648-b333a3843422/artifacts/ Response content-type application/json Response body example [ { "content_type": "application/octet-stream", "last_modifier": "tester", "create_time": .2011-02-24T05:41:34Z., "last_modified": .2011-02-24T05:41:34Z., "access_rights": { "tester": "F" }, "content_md5": "64C79B6A807A13B028E5E43E950E09BD", "name": "CounterDB.sql", "creator": "tester" }, ... ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 Application specified by {appID} is not found. 500 Unexpected error
Upload an artifact file
PUT /resources/applicationPatterns/{app_id}/artifacts/{filename}The file is overwritten if the file already exists.
Table 11. Upload an artifact file details.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/792f2265-2a1d-411a-b5d6-c40d658539a1/artifacts/test.war Request content-type application/octet-stream Request body artifact file Response content-type application/json Response body example { "file": "artifacts/test.war" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 Application specified by {appID} is not found. 500 Unexpected error
Download an artifact file
GET /resources/applicationPatterns/{app_id}/artifacts/{filename}?download
Table 12. Download an artifact file details.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/792f2265-2a1d-411a-b5d6-c40d658539a1/artifacts/test.war?download Response content-type application/octet-stream Response body artifact file Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 Application specified by {appID} is not found. 500 Unexpected error
Get the detail of the artifact
GET /resources/applicationPatterns/{app_id}/artifacts/{filename}
Table 13. Get the detail of the artifact.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/792f2265-2a1d-411a-b5d6-c40d658539a1/artifacts/test.ddl Response content-type application/json Response body example { "content_type": "application/octet-stream", "last_modifier": "cbadmin", "create_time": "2011-05-14T06:04:36Z", "last_modified": "2011-05-14T06:04:36Z", "access_rights": { "cbadmin": "F", "_group_:Everyone": "R" }, "content_md5": "68C84965B52D8BC66D5DCB7CD0E2B774", "creator": "cbadmin"}Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 Application specified by {appID} is not found. 500 Unexpected error
Delete an artifact file
DELETE /resources/applicationPatterns/{app_id}/artifacts/{filename}
Table 14. Delete an artifact file details.
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/792f2265-2a1d-411a-b5d6-c40d658539a1/artifacts/test.war Response content-type application/json Response code 200 OK Note: If the application specified by {app_id} or the artifact specified by {filename} is not found, a 200 response code returns, response body: {"success": "false"}
401 The user is not authorized to perform this action. 403 Access forbidden 404 Application specified by {appID} is not found. 500 Unexpected error
Virtual application REST interface
Retrieve all virtual applications
GET /resources/virtualApplications/
Table 15. Retrieve all virtual application details.
REST API Information Value Description Response content-type application/json Response body example [ { "status": "RUNNING", "virtual_system": { "id": 3 }, "deployment": "https://10.102.155.72:9444/storehouse/user/deployments/d-09c5ac70-27a3-4c3b-96df-d14a3b23b86c/deployment.json", "deployment_name": " Sample JEE web application ", "appmodel": "https://10.102.155.72:9444/storehouse/user/deployments/d-09c5ac70-27a3-4c3b-96df-d14a3b23b86c/appmodel.json", "app_type": "application", "app_id": "a-3761fe57-2bda-4f9b-b90c-d2c435d69cb7", "start_time": "2011-03-25T17:02:57.878Z", "id": "d-09c5ac70-27a3-4c3b-96df-d14a3b23b86c", "creator": "u-0", "topology": "https://10.102.155.72:9444/storehouse/user/deployments/d-09c5ac70-27a3-4c3b-96df-d14a3b23b86c/topology.json", "role_error": false }, . ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Retrieve the virtual applications with filter
GET /resources/virtualApplications/{depl_id}
- Filter "app_type": Filter application patterns with application type.
- filterString can be application, or service (for shared service). If filterString is null or empty, all virtual applications will be returned.
- Filter .patterntype. and .version.: Filter virtual application with versioned pattern type, for example, ?patterntype=webapp&version=1.0
Table 16. Retrieve the virtual applications with filter.
REST API Information Value Description Example URL https://localhost/resources/virtualApplications/?patterntype=webapp&version=1. 0&app_type=application Response content-type application/json Response body example [ { "status": "RUNNING", "virtual_system": { "id": 3 }, "deployment": "https://172.16.33.84:9444/storehouse/user/deployments/d-ecaa2e15-f556-43e8-8e09-8905aebab441/deployment.json", "deployment_name": "Sample JEE web application", "appmodel": "https://172.16.33.84:9444/storehouse/user/deployments/d-ecaa2e15-f556-43e8-8e09-8905aebab441/appmodel.json", "app_type": "application", "app_id": "a-9d64b797-3d4a-4332-96d4-858ba709a499", "start_time": "2011-05-14T12:42:20.950Z", "id": "d-ecaa2e15-f556-43e8-8e09-8905aebab441", "creator": "u-0", "topology": "https://172.16.33.84:9444/storehouse/user/deployments/d-ecaa2e15-f556-43e8-8e09-8905aebab441/topology.json", "role_error": false } ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Deploy a virtual application
POST /resources/applicationPatterns/{app_id}/virtualApplications/
Table 17. Deploy a virtual application details.
REST API Information Value Description Request content-type application/json Request body { "deployment_name": "My Virtual Application", "cloud_group": "1", "ssh_keys":["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCevpm4/EYFrjQ9NkC535Whr3Yswv2xJkxGz44/2g5uC6385hWvEycSAyoUQ3pt6/n4BxMHxilLVrT3y9FhyGBfIkJsySvzsiMVe0shh7JWct03uCiiQ5emoe2eaVOiYz2P5vBe9V8amTC1Is+Uv/SXFF7UuKlV7gP8hBuBNGwnN2/hI6dKtZKH2GDcJbPz9J9dFl2XQYoX7XnaJ3eea+UZfIvS21Gi7SF3Ff+/UdPuOumHGhw1S1POGbApFStjOWXU92p6Mz4wON+mRtWzYXGEdlXDAQisX8yBlZdVZ6+g4HB2cv5TWvYchiAYqG6M1B5tZIr/ZYzEZVTjd4ZCQMwR auto generated key"] } The .deployment_name. is optional parameter for virtual application name. By default, it will be the name of application. The .cloud_group. is required parameter for deployment. The .ssh_keys. is optional parameter for deployment.Response content-type application/json Response header location https://localhost/resources/applicationPatterns/a-de901667-3b5f-44af-b27f-efd8971ee552/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4 Response example { "status": "RUNNING", "deployment_id": .d-7956c64e-0fac-49f2-b04e-efbc131a4cc4", "deployment_name": "db2", "app_type": "application", "app_id": "a-3761fe57-2bda-4f9b-b90c-d2c435d69cb7", "start_time": "2011-03-25T17:02:57.878Z", "virtual_system": { .id.:.1. } "instances": [ { "status": "RUNNING", "master": true, "last_update": "2011-03-25T17:11:13.750Z", "private_ip": "10.102.165.49", "reboot.count": 0, "stopped.by": "", "volumes": [ ], "start_time": "2011-03-25T17:03:51.654Z", "id": "rack9.xdblade32b04.22889.03473", "name": "database-db2.11301072577884", "roles": [ { "node": "database-db2.11301072577884", "status": "RUNNING", "last_update": "2011-03-25T17:11:14.840Z", "external_uri": "jdbc:db2://10.102.165.49:50000/mydb:user=appdba;password=FgxmZv47TM8GwJD62Y1;", "id": "database-db2.11301072577884.DB2" } ], "public_ip": "10.102.165.49" } ], "role_error": false }Response code 201 Created 401 The user is not authorized to perform this action. 404 The application specified by {appID} is not found 412 Precondition failed (unable to deploy, such as template) 500 Unexpected error
Retrieve virtual application instance status
GET /resources/virtualApplications/{depl_id}
Table 18. Retrieve virtual application instance status.
REST API Information Value Description Example URL https://localhost/resources/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4 Response content-type application/json Response example { "status": "RUNNING", "deployment_name": "db2", "app_type": "application", "app_id": "a-3761fe57-2bda-4f9b-b90c-d2c435d69cb7", "start_time": "2011-03-25T17:02:57.878Z", "virtual_system": { .id.:.1. } "instances": [ { "status": "RUNNING", "master": true, "last_update": "2011-03-25T17:11:13.750Z", "private_ip": "10.102.165.49", "reboot.count": 0, "stopped.by": "", "volumes": [ ], "start_time": "2011-03-25T17:03:51.654Z", "id": "rack9.xdblade32b04.22889.03473", "name": "database-db2.11301072577884", "roles": [ { "node": "database-db2.11301072577884", "status": "RUNNING", "last_update": "2011-03-25T17:11:14.840Z", "external_uri": "jdbc:db2://10.102.165.49:50000/mydb:user=appdba;password=FgxmZv47TM8GwJD62Y1;", "id": "database-db2.11301072577884.DB2" } ], "public_ip": "10.102.165.49" } ], "role_error": false }Response code 200 OK 401 The user is not authorized to perform this action. 404 The application specified by {appID} is not found 500 Unexpected error
Update virtual application status
PUT /resources/virtualApplications/{depl_ID}/In request body, the values of the operation are stop and terminate.
Table 19. Updated virtual application status details.
REST API Information Value Description Example URL https://localhost/resources/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4 Response content-type application/json Request body { "operation": "kill" }Response code 202 Accepted 401 The user is not authorized to perform this action. 403 Access forbidden 404 The application specified by {appID} is not found 409 Conflict 412 Precondition failed (invalid operation) 500 Unexpected error
Delete a virtual application
DELETE /resources/virtualApplications/{depl_ID}
Table 20. Delete a virtual application details.
REST API Information Value Description Example URL https://localhost/resources/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4 Response content-type application/json Request body {"success":"true"}Response code 200 OK Note: If the deployment specified by {depl_id} is not found, a 200 response code returns, response body: {"success": "false"}
401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict (same action is already in process) 500 Unexpected error
Update application access right for the specified user name or group name
PUT /resources/virtualApplications/{appID}/accessRights/{name}?{ user or group }
Table 21. Update application access right for the specified user name or group name.
REST API Information Value Description Example URL https://localhost/resources/virtualApplications/ d-7956c64e-0fac-49f2-b04e-efbc131a4cc4/accessRights/Everyone?group Response content-type application/json Request body example { "access_rights": "F"}Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The application specified by {appID} is not found. 412 Invalid parameter supplied, for example, the json file is invalid. 500 Unexpected error
Retrieve a list of fixes that are applicable to a virtual application
GET /resources/applicationPatterns/{app_id}/fixes
Table 22. Retrieve a list of fixes that are applicable to a plug-in
REST API Information Value Description Example URL https://localhost/resources/virtualApplications/ d-7956c64e-0fac-49f2-b04e-efbc131a4cc4/fixes Response content-type application/json Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The application specified by {appID} is not found. 500 Unexpected error
2.2. Retrieve audit data with the REST API
For retrieving audit event records with the REST API, IBM PureApplication System W1500 provides sample scripts that you can customize to automate the download process, and, ultimately, the process of deleting the records from the system (to free storage). You can incorporate the scripts into your regularly scheduled jobs to archive audit data according your organization's requirements.
Note that the REST API returns audit data in comma-separated value (CSV) format in a .zip file.Work with the auditing resources and scripts entails the following prerequisites:
- You need an environment that supports shell scripts, Python, Java., Curl, and a file archiving utility (for manipulating .zip files). For example: Cygwin, a compatibility layer, meets all of these requirements.
- You must have downloaded and configured the command-line interface (CLI). All of the scripts are located in CLI directories.
- You must have one of the following user permission assignments in PureApplication System:
You also might want to review general information about the REST API in the article REST API reference. For this particular procedure, you need to understand that invocation of the API is accomplished through HTTP requests.
Table 1 lists the sample scripts that you can use to download the .zip file of audit data and extract it. The following procedure steps provide guidelines for using the scripts.
Overview of sample scripts
Steps 1 - 5 are preparatory steps for using these scripts. Steps 6 - 7 describe how to use cscurl.sh to download audit data in a .zip file, and then extract that file. Step 8 describes how to use auditFetch.sh to automate the download and extract operations. Consider auditFetch.sh as a model for code that you can run with a job scheduler to regularly download audit data.
File name Functional description Location create_basicauth_header.py This Python script is used by the following Curl script to create an HTTP basic authentication header with your user key information (your PureApplication System credentials). ...\deployer.cli-XXX\deployer.cli\lib\XXX\deployer, where XXX is the version number of the CLI cscurl.sh This shell script performs the following tasks:
- Runs the create_basicauth_header.py script to create the authentication header.
- Issues a Curl command to PureApplication System with the authentication header to authenticate your credentials.
(The Curl command targets the URL of the PureApplication System component that provides the audit-related REST API.)- Sends the HTTP request for downloading the audit data to the REST API.
Note: You must specify the HTTP request as a parameter of cscurl.sh.
...\deployer.cli-XXX\deployer.cli\lib\XXX\deployer, where XXX is the version number of the CLI auditFetch.sh This sample script provides a very simple demonstration of how you can automate the entire process, and thus adopt it as another job that you run regularly in your IT organization. ...\deployer.cli-XXX\deployer.cli\samples, where XXX is the version number of the CLI
Procedure
- Place the scripts in an appropriate working directory.
- Download your PureApplication System user keys from the system and save them in the same directory that contains the scripts. Alternatively, use CLI command, deployer.security.getUserKeys() to request user keys.
Note: Once you request new user keys at https://your_IWD_server/resources/userKeys/ , any saved keys from past requests are no longer valid.
- Open a browser window and go to https://your_IWD_server/resources/userKeys/.
- Type your user name and password in the authentication fields.
- Select the directory and provide a file name for storing your keys.
- Save the keys as a .json file.
- Optional: For added security in a production environment, you can use the PureApplication System root certificate to authenticate the scripts to the REST API. Follow these steps to download the certificate and save it in the same directory that contains the scripts and your user keys:
- Open a browser window and go to https://your_IWD_server/resources/rootcacertificate/.
- Select the directory and provide a file name for storing the root certificate. Note that the default file name is cert.pem.
- Save the root certificate.
- Optional (but necessary to use the root certificate for authentication): In the /etc/hosts file of your workstation, bind the IP address of the IBM PureApplication System to the name used in the root certificate.
- Construct the URL for the download request that the cscurl.sh script sends to the REST API; you must provide this URL as a parameter to run cscurl.sh in the next step.
You can choose between two options for downloading your audit data. The more basic option is to specify a maximum number of records to download. Alternatively, you can specify both a maximum number of records and the time frame in which the product logged those records. For either option, the URL must include the location of the REST API code that downloads the data and the resource name of the option that you choose. Use the following models for your URL:
- To simply specify a maximum number of records in the request, construct a URL for the events resource and use the size parameter:
https://PureApplicationSystem:9444/audit/archiver/events?size=X(For the X variable substitute the number of records to download.)- To add a time frame to your request, construct a URL for the filteredEvents resource and specify the start and end times as long values:
https://PureApplicationSystem:9444/audit/archiver/filteredEvents?size=X&startTime=long_value&endTime=long_valueNote: If you did not perform Steps 3 - 4, replace the name PureApplicationSystem in the URL with the IP address of your PureApplication System server.
- Run cscurl.sh with parameters that specify the URL that you created in Step 5, as well as the name of the .zip file in which you want the REST API to store the audit data. For example:
./cscurl.sh username=user1 password=user1 keyfile=userKeys.user1.json -v --cacert root_cert.pem -H "Accept:application/octet-stream" -H "Content-Type:text/plain" "https://PureApplicationSystem:9444/audit/archiver/events?size=X" > ArchiveFetchTempFileNote all of the variables that represent parameter values in the statement:
- user1 = the user name
- user1 = the user password
- userkeys.user1.json = the file that contains the user keys
- root_cert.pem = the name of the file that contains the PureApplication System root certificate
- X = the number of records to be downloaded
- ArchiveFetchTempFile = the name of the .zip file to which the audit data is written
Also, be aware of the following usage notes for running cscurl.sh:
- Invoke this script without parameters triggers display of its help message.
- To guard against data loss, you must specify a file for the audit data. Otherwise, the script returns it as simple command-line output.
- Unzip the archive file that is returned from the REST API. (In response to the previous example of running the script, the REST API would return ArchiveFetchTempFile.zip.) Consequently you now have four files, including your audit data:
- audit-events.csv - Contains your audit event records in CSV format.
- audit-events-signed-events-checksum - Contains the digital signature that verifies both the integrity and authenticity of your audit data.
- audit-events-record-IDs - Contains the ID of each event record that you downloaded.
- audit-events-signed-record-IDs - Contains the signatures that verify the authenticity of each record.
At this point the retrieval process is complete. If you followed Steps 1 - 7, you successfully used the individual scripts and the REST API to write your audit data to a .zip file and download it. Step 8 describes auditFetch.sh , which automates the entire process; the script provides an example of code that you can run with a job scheduler to regularly download audit data.
- To run auditFetch.sh, use the following statement as a model:
./auditFetch.sh username=auditor password=auditor keyfile=userkeys.auditor.json IWD=IP address size=X startTime=long_value endTime=long_value > ArchiveFetchTempFileIf you performed Steps 3 - 4 in order to use the root certificate to authenticate the scripts, change the value of the IWD parameter to the name PureApplicationSystem. Then modify the script's invocation of cscurl.sh; replace the -k option with the -v --cacert options. Remember to specify the name of the file in which the PureApplication System root certificate is stored on your workstation, as in: -v --cacert cert.pem. Based on the values that you supply for the parameters, auditFetch.sh performs these tasks to download your audit event records:
- Authenticates your credentials with PureApplication System.
- Constructs an HTTP request and sends it to the REST API.
- Stores the records that are retrieved by the REST API in a .zip file with the name that you specified. (If you did not specify a file name, the script uses the default name of ArchiveFetchTempFile.zip.)
- Unzips that archive file, which contains the following files:
- audit-events.csv (your audit event records in CSV format)
- audit-events-signed-events-checksum
- audit-events-record-IDs
- audit-events-signed-record-IDs
Be aware of the following usage notes for running auditFetch.sh:
- Invoke this script without parameters triggers display of its help message.
- In some environments, such as Ubuntu, you might need to modify the script's invocation of cscurl.sh; add the period and forward-slash characters (./) as a prefix to the statement that invokes cscurl.sh.
What to do next
Analyze the data that you just downloaded and archive it. (The most important files for archival are audit-events.csv and audit-events-signed-events-checksum.)Consult Audit record attributes for a listing of the record attributes and guidelines on how you can best exploit the data. Then, because PureApplication System does not automatically delete audit data after you download it, you must run the auditDelete.sh script to delete the data from the system and free storage resources. You can use this script along with your customization of auditFetch.sh as part of a regularly scheduled job to download, archive, and then delete audit data.
Related reference:
2.3. Virtual application
You can use the REST API to manage the virtual applications.
The following tasks can be completed by using the REST API.
For many of the APIs, the response includes the status of the virtual application. For a description of virtual application states, see Deploy virtual application patterns.
Retrieve all virtual applications
GET /resources/virtualApplications/
Retrieve all virtual application details.
REST API Information Value Description Response content-type application/json Response body example [ "cloud":"/resources/clouds/1" "virtual_system_id":"1" "deployment_name": "sniff_test", "start_time": "2012-04-12T13:38:31.832Z", "creator": "test", "create_time": "2012-04-12T13:38:20Z", "status": "RUNNING", "access_rights": { "user1": "F", "test": "F", "d-fcca6175-830f-42fa-8c7b-ce144d4e9af5": "R" }, "app_type": "application", "app_id": "a-a5685f25-e85b-49c0-b35a-2a50659984c6", "id": "d-fcca6175-830f-42fa-8c7b-ce144d4e9af5", "health": "NORMAL", "role_error": false } ]Response code 200 OK 401 The user is not authorized to complete this action. 403 Access forbidden 500 Unexpected error
- Cloud
- The cloud group for the virtual application instances. It is in URI format and can be used for subsequent REST calls.
- virtual_system_id
- Specifies the id for this virtual application used by the virtual system.
- deployment_name
- Name of the virtual application instance.
- start_time
- Start time of this virtual application instance. It is in ISO 8601 format.
- Creator
- The user ID for the creator of this virtual application.
- create_time
- Creation time of this virtual application instance. It is in ISO 8601 format.
- Status
- Status of this virtual application instance. Possible values are FAILED, LAUNCHING, RUNNING, ERROR, TERMINATING, TERMINATED, STOPPING, STOPPED, NOT_READY.
- access_rights
- Access rights that are associated with users and groups for this resource. A user/group can have following access rights: "R": read only "W": user can read and update the resources "F": full permission
- app_type
- Application type of this virtual application instance, possible values are "application", "service".
- app_id
- Application pattern id of this virtual application instance.
- Id
- Specifies the id of this virtual application instance.
- Health
- The health status of this virtual application instance, possible values are "NORMAL", "WARNING", "CRITICAL".
- role_error
- The "role_error" indicates if there is some problem for the middleware of this virtual application.
Note: You can also retrieve the virtual applications with filters with following URL pattern:
POST /resources/virtualApplications/?patterntype={patterntype}&version={version}&app_type={app_type}
- Filter "app_type": Filter application patterns with application type.
- filterString can be application, or service (for shared service). If filterString is null or empty, all virtual applications are returned.
- Filter "patterntype" and "version": Filter virtual application with versioned pattern type, for example, ?patterntype=webapp&version=1.0
Deploy a virtual application
POST /resources/applicationPatterns/{app_id}/virtualApplications/
Deploy a virtual application
REST API Information Value Description Example URL https://localhost/resources/applicationPatterns/a-de901667-3b5f-44af-b27f-efd8971ee552/virtualApplications/ Response content-type application/json Request body example Deploy by cloud group: { "deployment_name": "My Virtual Application", "cloud_group": "1", "ip_version": "IPv4", "ssh_keys":["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCevpm4/EYFrjQ9NkC535Whr3Yswv2xJkxGz44/2g5uC6385hWvEycSAyoUQ3pt6/n4BxMHxilLVrT3y9FhyGBfIkJsySvzsiMVe0shh7JWct03uCiiQ5emoe2eaVOiYz2P5vBe9V8amTC1Is+Uv/SXFF7UuKlV7gP8hBuBNGwnN2/hI6dKtZKH2GDcJbPz9J9dFl2XQYoX7XnaJ3eea+UZfIvS21Gi7SF3Ff+/UdPuOumHGhw1S1POGbApFStjOWXU92p6Mz4wON+mRtWzYXGEdlXDAQisX8yBlZdVZ6+g4HB2cv5TWvYchiAYqG6M1B5tZIr/ZYzEZVTjd4ZCQMwR auto generated key"] } Or deploy by environment profile: { "deployment_name": "My Virtual Application", "environment_profile_id": "1", "cloud_group": "1", "ip_group": "1", "ssh_keys":["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCevpm4/EYFrjQ9NkC535Whr3Yswv2xJkxGz44/2g5uC6385hWvEycSAyoUQ3pt6/n4BxMHxilLVrT3y9FhyGBfIkJsySvzsiMVe0shh7JWct03uCiiQ5emoe2eaVOiYz2P5vBe9V8amTC1Is+Uv/SXFF7UuKlV7gP8hBuBNGwnN2/hI6dKtZKH2GDcJbPz9J9dFl2XQYoX7XnaJ3eea+UZfIvS21Gi7SF3Ff+/UdPuOumHGhw1S1POGbApFStjOWXU92p6Mz4wON+mRtWzYXGEdlXDAQisX8yBlZdVZ6+g4HB2cv5TWvYchiAYqG6M1B5tZIr/ZYzEZVTjd4ZCQMwR auto generated key"] } When deploying by cloud group: deployment_name (optional) Specifies the virtual application instance name. By default, it will be the name of application. cloud_group (required) Specifies the cloud group id for the deployment ip_version (required) Specifies the ip version for this deployment, it is "IPv4" or "Ipv6" ssh_keys (optional) Specifies the ssh public key which is used for ssh login to the deployed virtual machine When deploying by environment profile: cloud_group (required) Specifies the cloud group id for the deployment "deployment_name" (optional) Specifies the virtual application instance name. By default, it will be the name of application. "environment_profile_id" (required) Specifies the environment profile id for the deployment "ip_group" (required) Specifies the environment profile id for the deployment "ssh_keys" (optional) Specifies the ssh public key which is used for ssh login to the deployed virtual machine application/json Empty body with the response header location set to be: https://localhost/resources/applicationPatterns/a-de901667-3b5f-44af-b27f-efd8971ee552/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4Response body example: Empty body with the response header location set to be: https://localhost/resources/applicationPatterns/a-de901667-3b5f-44af-b27f-efd8971ee552/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4 Response code 201 This code is returned if a new virtual application instance is created successfully. 401 The user is not authorized to perform this action. 403 Access forbidden 404 This code is returned if the application specified by {appID} is not found 412 This code is returned if precondition failed (unable to deploy, such as template) 500 Unexpected error When you deploy by cloud group:
- deployment_name
- Optional. Specifies the virtual application instance name. By default, it is the name of application.
- cloud_group
- Required. Specifies the cloud group ID for the deployment.
- ip_version
- Required. Specifies the IP version for this deployment, it is "IPv4" or "IPv6"
- ssh_keys
- Optional. Specifies the ssh public key which is used for ssh login to the deployed virtual machine.
When you deploy by environment profile:
- deployment_name
- Optional. Specifies the virtual application instance name. By default, it is the name of application.
- environment_profile_id
- Required. Specifies the environment profile id for the deployment.
- ip_group
- Required. Specifies the environment profile id for the deployment.
- ssh_keys
- Optional. Specifies the ssh public key which is used for ssh login to the deployed virtual machine.
Retrieve virtual application instance status
GET /resources/virtualApplications/{virtual_application_instance_id}
Retrieve virtual application instance status.
REST API Information Value Description Example URL https://localhost/resources/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4 Response content-type application/json Response example { "referenced_services": [ { "deployment_id": "d-e8467f98-fb06-47ca-8188-33e6118520c3" }, { "deployment_id": "d-47147c5f-5d1e-47ad-8921-1d0d909ad568" } ], "deployment_name": "Sample Web Application Only", "patterntype": "webapp", "start_time": "2012-04-16T00:16:17.654Z", "creator": "cbadmin", "create_time": "2012-04-16T00:16:11Z", "access_rights": { "cbadmin": "F", "d-b4402a23-e64e-4636-b4eb-85b9b01edc28": "R" }, "status": "LAUNCHING", "updatable": { "can_update": false, "can_commit_or_revert": false }, "app_type": "application", "version": "2.0", "app_id": "a-10eb8a46-a6e7-4344-8b77-b782a3868bae", "id": "d-b4402a23-e64e-4636-b4eb-85b9b01edc28", "health": "CRITICAL", "roles": [ { "statuses": [ { "status": "STARTING", "health": "CRITICAL" } ], "name": "Web_Application-was.ElbServicePlaceholder" }, { "statuses": [ { "status": "STARTING", "health": "CRITICAL" } ], "external_uri": [ { "ENDPOINT": "https://defaultHost:443/d-b4402a23-e64e-4636-b4eb-85b9b01edc28/webapp/" }, { "ENDPOINT": "http://defaultHost/d-b4402a23-e64e-4636-b4eb-85b9b01edc28/webapp/" } ], "name": "Web_Application-was.WAS" } ], "can_resume": false, "creator_name": "cbadmin", "instances": [ { "master": true, "private_ip": "172.16.73.101", "role_count": 5, "reboot.count": 0, "activation-status": "RUNNING", "public_hostname": "ipas-vm-073-101.purescale.raleigh.ibm.com", "start_time": "2012-04-16T00:16:20.624Z", "hypervisorHostname": "172.16.64.31", "name": "Web_Application-was.11334535377654", "health_url": "172.16.65.92", "last_update": "2012-04-16T00:21:26.794Z", "vmId": 24, "status": "RUNNING", "hypervisorUUId": "30c99382-6e40-e011-9cba-00215e5d6754", "health_url_src_deployment": "d-47147c5f-5d1e-47ad-8921-1d0d909ad568", "stopped.by": "", "volumes": [], "id": "Web_Application-was.11334535377654", "uuid": "4221081a-993b-ce5c-3e57-845c393acb10", "health": "CRITICAL", "roles": [ { "status": "STARTING", "node": "Web_Application-was.11334535377654", "last_update": "2012-04-16T00:23:18.355Z", "health_url_src_deployment": "d-47147c5f-5d1e-47ad-8921-1d0d909ad568", "type": "ElbServicePlaceholder", "id": "Web_Application-was.11334535377654.ElbServicePlaceholder", "health_url": "172.16.65.92", "health": "CRITICAL" }, { "status": "STARTING", "node": "Web_Application-was.11334535377654", "last_update": "2012-04-16T00:24:06.451Z", "health_url_src_deployment": "d-47147c5f-5d1e-47ad-8921-1d0d909ad568", "external_uri": [ { "ENDPOINT": "https://defaultHost:443/d-b4402a23-e64e-4636-b4eb-85b9b01edc28/webapp/" }, { "ENDPOINT": "http://defaultHost/d-b4402a23-e64e-4636-b4eb-85b9b01edc28/webapp/" } ], "type": "WAS", "id": "Web_Application-was.11334535377654.WAS", "health_url": "172.16.65.92", "health": "CRITICAL" } ], "public_ip": "172.16.73.101" } ], "role_error": false } Response code 200 OK 401 The user is not authorized to perform this action. 403 This code is returned if the access is forbidden. 404 The application that is specified by {appID} is not found 500 Unexpected error In addition to the attributes used by the "Get a list of virtual application instances" API, the following attributes are supported:
- referenced_services
- The shared services this virtual application instance uses.
- Roles
- A list of middleware for this virtual application instance.
- Instances
- A list of virtual machines for this virtual application instance. Some key attributes such as IP and status can be found in each virtual machine object.
- updatable
- This attribute contains one object that indicates whether the application is updatable, it is in the following format: {"can_update": false,"can_commit_or_revert": false} "can_update" indicates whether it is updatable. "can_commit_or_revert" indicates whether it can commit or revert the previous update.
- can_resume
- This attribute defines whether the virtual application can be resumed from a maintenance mode, possible values are true or false.
Update virtual application status
PUT /resources/virtualApplications/{virtual_application_instance_ID}/In request body, the values of the operation are stop and terminate.
Updated virtual application status details.
REST API Information Value Description Example URL https://localhost/resources/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4 Response content-type application/json Request body { "operation": "stop" }Response code 202 Accepted 401 The user is not authorized to perform this action. 403 Access forbidden 404 The application that is specified by {appID} is not found 409 Conflict 412 Precondition failed (invalid operation) 500 Unexpected error
- Operation
- Required. Specifies the operation that will take effect on the virtual application instance. The valid values of the operation are start, stop, maintain, resume, upgrade, commit, and revert.
Delete a virtual application
DELETE /resources/virtualApplications/{virtual_application_instance_ID}?deleteHistory={true|false}
Delete a virtual application
REST API Information Value Description Example URL https://localhost/resources/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4 Response content-type application/json Request body {"success":"true"}Response code 200 OK Note: If the deployment specified by {depl_id} is not found, a 200 response code returns, response body: {"success": "false"}
401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict (same action is already in process) 500 Unexpected error
- Success
- True indicates that the virtual application instance is found and deleted. False indicates that the virtual application instance is not found.
Update application access right for the specified user name or group name
PUT /resources/virtualApplications/{virtual_application_instance_ID}/accessRights/{name}?{ user or group }
Update application access right for the specified user name or group name.
REST API Information Value Description Example URL https://localhost/resources/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4/accessRights/Everyone?group Response content-type application/json Request body example { "access_rights": "F"}Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The application that is specified by {appID} is not found. 412 An invalid parameter was supplied, for example, the JSON file is invalid. 500 Unexpected error
- access_rights
- Target access right. Possible values are R (read only), W (Users can read and update the resources), and F (full-permission).
Pattern Types REST interface
List all pattern types with version format "vr" or "vrmf"
GET /resources/patternTypes/?version={format} "vr" is to get pattern types with "vr" version format, e.g. "1.0" "vrmf" is to get pattern types with "vrmf" version format, e.g. "1.0.0.0"
List all pattern types with version format "vr" or "vrmf" details.
REST API Information Value Description Example URL https://localhost/resources/patternTypes/?version=vr Response content-type application/json Response example [ { "license": { "type": "PVU", "pid": "5725E00" }, "status": "avail", "licenses": [ "https://172.16.33.45:9444/storehouse/admin/patterntypes/dbaas/1.0/licenses/" ], "shortname": "dbaas", "version": "1.0", "name": "DBaaS Pattern Type", "description": "Pattern Type for DBaaS", "url": "https://172.16.33.45:9444/storehouse/admin/patterntypes/dbaas/1.0/" }, ... ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Create a pattern type
POST /resources/patternTypes
Create a pattern type
REST API Information Value Description Example URL https://localhost/resources/patternTypes/ Request content-type application/json Request example Request body: tgz File Response header location https://localhost/resources/patternTypes/{patternTypesName}/{version_vrmf} Response code 201 Created successfully 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
List detail information of one pattern type
GET /resources/patternTypes/{patternTypeName}/{version}
List detail information of 1 pattern type.
REST API Information Value Description Example URL https://localhost/resources/patternTypes/dbaas/1.0 Response content-type application/json Response example { "license": { "type": "PVU", "pid": "5725E00" }, "status": "avail", "licenses": [ "https://172.16.33.45:9444/storehouse/admin/patterntypes/dbaas/1.0/licenses/" ], "shortname": "dbaas", "version": "1.0", "name": "DBaaS Pattern Type", "description": "Pattern Type for DBaaS", "url": "https://172.16.33.45:9444/storehouse/admin/patterntypes/dbaas/1.0/" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
List plug-in list of one pattern type
GET /resources/patternTypes/{patternTypeName}/{version}/plugins
Table 10. List plug-in list of 1 pattern type
REST API Information Value Description Example URL https://localhost/resources/patternTypes/dbaas/1.0/plugins Response content-type application/json Response example [ "firewall/1.0.0.0", "webapp-license/1.0.0.0", "tds/1.0.0.0", "agent/1.0.0.0", "logbackup/1.0.0.0", "monitoring/1.0.0.0", "ssh/1.0.0.0", . ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Accept the license agreement of a pattern type
PUT /resources/patternTypes/{patternTypeName}/{version_vr}/
Table 11. Accept the license agreement of a pattern type.
REST API Information Value Description Example URL https://localhost/resources/patternTypes/webapp/1.0/ Response content-type application/json Request example Request body: Request body: { "status": "accepted" } Valid status includes "accepted", "avail", "unavail"Response body { "status": "accepted" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Delete a pattern type
DELETE /resources/patternTypes/{patternTypeName}/{version_vrmf}
Table 12. Delete a pattern type
REST API Information Value Description Example URL https://localhost/resources/patternTypes/webapp/1.0.0.0 Response content-type application/json Response example true or false Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Plug-ins REST interface
Retrieve all plug-ins
GET /resources/plugins/
Table 13. Retrieve all plug-ins details.
REST API Information Value Description Example URL https://localhost/resources/plugins/ Response content-type application/json Response example Response body: [ { "content_type": "application/json", "last_modifier": "cbadmin", "create_time": "2011-02-23T13:35:55Z", "enabled": true, "last_modified": "2011-02-23T13:38:48Z", "access_rights": { "cbadmin": "F", "_group_:Everyone": "R" }, "content_md5": "6DDE51DF49D718372BA1EBAFF3E71410", "name": " waswmqq/1.0.0.0", "creator": "cbadmin" }, { "content_type": "application/json", "last_modifier": "cbadmin", "create_time": "2011-02-23T13:36:08Z", "enabled": true, "last_modified": "2011-02-23T13:36:09Z", "access_rights": { "cbadmin": "F", "_group_:Everyone": "R" }, "content_md5": "83F1AAD5EFCEBB89B835A3CD2C89D6A5", "name": "webservice/1.0.0.0", "creator": "cbadmin" }, . ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Create a plug-in
POST /resources/plugins/
Table 14. Create a plug-in
REST API Information Value Description Example URL https://localhost/resources/plugins/ Request content-type application/binary Request example Request body: the tgz file, for example, firewall-1.0.0.0.tgz Response example { "artifacts": "https://172.16.33.84:9444/storehouse/admin/plugins/firewall/1.0.0.0/", "enabled": true, "plugin": "https://172.16.33.84:9443/services/plugins/firewall/1.0.0.0", "ETag": "\"177436A9E6C767F309C2D1D8158F8587-2011-05-14T14:13:25Z-1305382405351\"", "patterntypes": null, "name": "firewall/1.0.0.0" }Response header location https://localhost/resources/plugins/firewall/1.0.0.0 Response code 201 Created successfully 401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict 500 Unexpected error
Delete a plug-in
DELETE /resources/plugins/{plugin_name}/{version}
Table 15. Delete a plug-in
REST API Information Value Description Example URL https://localhost/resources/plugins/firewall/1.0.0.0 Response content-type application/json Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict 500 Unexpected error
Retrieve plug-in information
GET /resources/plugins/{plugin_name}/{version}
Table 16. Retrieve plug-in information details.
REST API Information Value Description Example URL https://localhost/resources/plugins/firewall/1.0.0.0 Response content-type application/json Response example { "CreateTime": "2011-05-14T14:13:25Z", "Content-MD5": "177436A9E6C767F309C2D1D8158F8587", "name": "firewall/1.0.0.0", "AccessRights": { "cbadmin": "F", "_group_:Everyone": "R" }, "Creator": "cbadmin", "LastModifier": "cbadmin", "Content-Type": "application/json", "LastModified": "2011-05-14T14:13:25Z" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The plug-in that is specified by the {plugin_name} is not found. 500 Unexpected error
2.4. Pattern types
You can use the representational state transfer (REST) application programming interface (API) to manage pattern types.
The following tasks can be completed by using the REST API:
List all pattern types with version format vr or vrmf
GET /resources/patternTypes/ GET /resources/patternTypes/?version={format}This REST API lists all pattern types with version format vr or vrmf. Vr is to get pattern types with vr version format, for example "1.0"; and vrmf is to get pattern types with vrmf version format, for example, "1.0.0.0". The version format is optional.
List all pattern types with version format vr or vrmf details.
REST API Information Value Description Example URL https://localhost/resources/patternTypes/ Response content-type application/json Response body example [ { "license": { "type": "PVU", "pid": "5725E00" }, "status": "avail", "licenses": [ "https://172.16.33.45:9444/storehouse/admin/patterntypes/dbaas/1.0/licenses/" ], "shortname": "dbaas", "version": "1.0", "name": "DBaaS Pattern Type", "description": "Pattern Type for DBaaS", "url": "https://172.16.33.45:9444/storehouse/admin/patterntypes/dbaas/1.0/" }, ... ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
- license
- The license information of a pattern type.
- status
- The status of the current pattern type. It can be "unaccepted" if its license is not accepted, "unavailable" if its license is accepted but not enabled, or "avail" if it is enabled.
- licenses
- A list of possible locations that stores license agreement text files, usually in html format.
- shortname
- The short name of the current pattern type. Usually it is only for internal using.
- version
- The version of the current pattern type. The total number of digits (vr or vrmf) is controlled by the parameter "version" appended at the end of the Rest call.
- name
- The official name of the current pattern type.
- description
- The description of the current pattern type.
- url
- The location where this particular pattern type is stored.
Create a pattern type
POST /resources/patternTypes
Details for create a pattern type.
REST API Information Value Description Example URL https://localhost/resources/patternTypes/ Request content-type application/zip Request example Request body: tgz File Response header location https://localhost/resources/patternTypes/{patternTypesName}/{version_vrmf} Response code 201 Created successfully 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
List details for a pattern type
GET /resources/patternTypes/{patternTypeName}/{version}
List detail information of 1 pattern type.
REST API Information Value Description Example URL https://localhost/resources/patternTypes/dbaas/1.0 Response content-type application/json Response body example { "license": { "type": "PVU", "pid": "5725E00" }, "status": "avail", "licenses": [ "https://172.16.33.45:9444/storehouse/admin/patterntypes/dbaas/1.0/licenses/" ], "shortname": "dbaas", "version": "1.0", "name": "DBaaS Pattern Type", "description": "Pattern Type for DBaaS", "url": "https://172.16.33.45:9444/storehouse/admin/patterntypes/dbaas/1.0/" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error Note: The supported attributes are the same as the "Get a list of available pattern types" REST API.
List plug-ins for a pattern type
GET /resources/patternTypes/{patternTypeName}/{version}/plugins
List plug-in list of 1 pattern type detail.
REST API Information Value Description Example URL https://localhost/resources/patternTypes/dbaas/1.0/plugins Response content-type application/json Response example [ "firewall/1.0.0.0", "webapp-license/1.0.0.0", "tds/1.0.0.0", "agent/1.0.0.0", "logbackup/1.0.0.0", "monitoring/1.0.0.0", "ssh/1.0.0.0", . ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error Note: Each entry in the response body contains a plug-in name and its version number.
List details for all plug-ins that belong to a pattern type
GET /resources/patternTypes/{patternTypeName}/{version}/plugins?details
List plug-in list of 1 pattern type detail.
REST API Information Value Description Example URL https://localhost/resources/patternTypes/dbaas/1.0/plugins?details Response content-type application/json Response example [ { "enabled": true, "status": "avail", "CreateTime": "2011-09-13T03:29:19Z", "Content-MD5": "74A88E32C7EAA8676E44C8AE7786F0C5", "name": "troubleshooting/2.0.0.0", "AccessRights": { "cbadmin": "F", "_group_:Everyone": "F" }, "patternTypePackage": "foundation/2.0.0.0", "Creator": "cbadmin", "LastModifier": "cbadmin", "Collection": "/admin/plugins/troubleshooting/2.0.0.0", "Content-Type": "application/json", "LastModified": "2011-09-13T03:29:19Z" }, ... ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
- enabled
- Determine whether the parent pattern type of the current plug-in is enabled or not. It is a Boolean value.
- status
- The status of the parent pattern type of the current plug-in. It can be "unaccepted" if its license is not accepted, "unavailable" if its license is accepted but not enabled, or "avail" if it is enabled.
- CreateTime
- The time stamp when the plug-in is created.
- Content-MD5
- The MD5 value of the current plug-in.
- name
- The short name of the current plug-in with its version number attached. Usually it is only for internal using.
- AccessRights
- Permissions that are signed to this plug-in.
- patternTypePackage
- Indicates what pattern type the current plug-in belongs to. It contains the pattern type name and version number, and it is usually for internal using.
- Creator
- The user who created the current plug-in.
- LastModifier
- The last user who changed the current plug-in.
- Collection
- The plug-in group that the current plug-in belongs to.
- LastModified
- The time stamp when the plug-in is last modified.
Accept the license agreement of a pattern type
PUT /resources/patternTypes/{patternTypeName}/{version_vr}/
Accept the license agreement of a pattern type.
REST API Information Value Description Example URL https://localhost/resources/patternTypes/webapp/1.0/ Response content-type application/json Request example { "status": "accepted" }Response body { "status": "accepted" }Response code 201 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error Note: "Status: accepted" is the only possible response in this REST API, when the request is passed through successfully (201).
Delete a pattern type
DELETE /resources/patternTypes/{patternTypeName}/{version_vrmf}
Delete a pattern type detail.
REST API Information Value Description Example URL https://localhost/resources/patternTypes/webapp/1.0.0.0 Response content-type application/json Response example true or false Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Check all pattern types and plug-ins
GET /services/patterntypes/healthcheckptypesThis REST API checks all pattern types and plug-ins. It returns a list of the pattern types that do not contain patterntype.json and the plug-ins that do not contain config.json.
Check all pattern types and plug-ins details.
REST API Information Value Description Example URL https://localhost:9443/resources/patterntypes/healthcheckptypes Response content-type application/json Response body example [ { "result": "Check for bad pattern types and plugins.", "badPluginsUnderVR":{ "hello.lpolicy":"2.0.0.1","hello":"2.0.0.3" }, { "badPatternTypes":{ "processautomation":"1.0.0.0","wasce.ptype":"1.0.0.2" } } ] OR [ {"result":"No bad pattern types or plugins were found."} ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Check a pattern type by name and version
GET /services/patterntypes/healthcheckptype/{pname}/{pversion}This REST API checks the pattern that is specified by name and version. The version is specified in VRMF format, for example, "1.0.0.0". It returns the JSONObject for pattern types that do not contain patterntype.json.
Check a pattern type by name and version details.
REST API Information Value Description Example URL https://localhost:9443/services/patterntypes/healthcheckptype/wasce.ptype/1.0.0.2 Response content-type application/json Response body example [ { "result":"Checked for bad pattern types and plugins.", "badPatternTypes":{ "wasce.ptype":"1.0.0.2"} } ] OR [ { "result":"No bad pattern types or plugins were found." } ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Delete pattern types that do not contain patterntype.json and plug-ins that do not contain config.json
DELETE /services/patterntypes/healthcleanptypesThis REST API checks all pattern types and plug-ins and deletes pattern types that do not contain patterntype.json and plug-ins that do not contain config.json. It returns the JSONObject for pattern types and plug-ins that are deleted during this process.
Table 10. Delete pattern types that do not contain patterntype.json and plug-ins that do not contain config.json details
REST API Information Value Description Example URL https://localhost:9443/services/patterntypes/healthcleanptypes Response content-type application/json Response body example [ { "result":"Successfully completed clean-up of the bad pattern types and plugins.", "badPluginsUnderVR":{ "hello.lpolicy":"2.0.0.1"}, "badPatternTypes":{ "processautomation":"1.0.0.0" } } ] OR [ { "result":"No bad pattern types or plugins were found."} ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Delete the specified pattern type if it does not contain patterntype.json
DELETE /services/patterntypes/healthcleanptype/{pname}/{pversion}This REST API checks the specified version of the specified pattern type and deletes it if it does not contain patterntype.json. The version is specified in VRMF format, for example, "1.0.0.0". It returns the JSONObject for the pattern type if it is deleted during this process.
Table 11. Delete pattern types that do not contain patterntype.json and plug-ins that do not contain config.json details
REST API Information Value Description Example URL https://localhost:9443/services/patterntypes/healthcleanptype/wasce.ptype/1.0.0.2 Response content-type application/json Response body example [ { "result":"Successfully completed clean-up of the bad pattern types and plugins.", "badPatternTypes":{ "wasce.ptype":"1.0.0.2" } } ] OR [ { "result":"No bad pattern types or plugins were found."} ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
2.5. Plug-ins
You can use the REST API to manage your plug-ins.
The following tasks can be completed by using the REST API:
Retrieve all plug-ins
GET /resources/plugins/
Retrieve all plug-ins details.
REST API Information Value Description Example URL https://localhost/resources/plugins/ Response content-type application/json Response example Response body: [ { "content_type": "application/json", "last_modifier": "cbadmin", "create_time": "2011-02-23T13:35:55Z", "enabled": true, "last_modified": "2011-02-23T13:38:48Z", "access_rights": { "cbadmin": "F", "_group_:Everyone": "R" }, "content_md5": "6DDE51DF49D718372BA1EBAFF3E71410", "name": " waswmqq/1.0.0.0", "creator": "cbadmin" }, { "content_type": "application/json", "last_modifier": "cbadmin", "create_time": "2011-02-23T13:36:08Z", "enabled": true, "last_modified": "2011-02-23T13:36:09Z", "access_rights": { "cbadmin": "F", "_group_:Everyone": "R" }, "content_md5": "83F1AAD5EFCEBB89B835A3CD2C89D6A5", "name": "webservice/1.0.0.0", "creator": "cbadmin" }, . ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Create a plug-in
POST /resources/plugins/
Create a plug-in detail.
REST API Information Value Description Example URL https://localhost/resources/plugins/ Request content-type application/binary Request example Request body: the tgz file, for example, firewall-1.0.0.0.tgz Response example { "artifacts": "https://172.16.33.84:9444/storehouse/admin/plugins/firewall/1.0.0.0/", "enabled": true, "plugin": "https://172.16.33.84:9443/services/plugins/firewall/1.0.0.0", "ETag": "\"177436A9E6C767F309C2D1D8158F8587-2011-05-14T14:13:25Z-1305382405351\"", "patterntypes": null, "name": "firewall/1.0.0.0" }Response header location https://localhost/resources/plugins/firewall/1.0.0.0 Response code 201 Created successfully 401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict 500 Unexpected error
Delete a plug-in
DELETE /resources/plugins/{plugin_name}/{version}
Delete a plug-in detail.
REST API Information Value Description Example URL https://localhost/resources/plugins/firewall/1.0.0.0 Response content-type application/json Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict 500 Unexpected error
Retrieve plug-in information
GET /resources/plugins/{plugin_name}/{version}
Retrieve plug-in information details.
REST API Information Value Description Example URL https://localhost/resources/plugins/firewall/1.0.0.0 Response content-type application/json Response example { "CreateTime": "2011-05-14T14:13:25Z", "Content-MD5": "177436A9E6C767F309C2D1D8158F8587", "name": "firewall/1.0.0.0", "AccessRights": { "cbadmin": "F", "_group_:Everyone": "R" }, "Creator": "cbadmin", "LastModifier": "cbadmin", "Content-Type": "application/json", "LastModified": "2011-05-14T14:13:25Z" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The Plug-in that is specified by the {plugin_name} is not found. 500 Unexpected error
Retrieve a list of fixes applicable to a plug-in
Get a list of fixes applicable to a specified plug-in ID.
GET /resources/plugins/{plugin_name}/{version}
Retrieve a list of fixes applicable to a plug-in detail
REST API Information Value Description Example URL https://localhost/resources/plugins/was/1.0.0.4/fixes The example URL lists fixes applicable to version 1.0.0.4 of the plug-in with the name was. Response content-type application/json Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict 500 Unexpected error
Check the specified plug-in
GET /services/plugins/healthcheckplugin/{pluginname}/{pluginversion}This REST API checks the plug-in that is specified by name and version. The version is specified in VRMF format, for example, "1.0.0.0". It returns the JSONObject for plug-ins that do not contain config.json.
Check the specified plug-in details.
REST API Information Value Description Example URL https://localhost:9443/services/plugins/healthcheckplugin/hello/2.0.0.3 Response content-type application/json Response example [ { "result":"Checked for plug-ins.", "badPluginsUnderVR":{"hello":"2.0.0.3"} } ] OR [ { "result":"No bad plug-ins were found." } ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict 500 Unexpected error
Delete the specified plug-ins if it does not contain config.json
DELETE /services/plugins/healthcleanplugin/{pluginname}/{pluginversion}This REST API checks the specified version of the specified plug-in and deletes it if it does not contain config.json. The version is specified in VRMF format, for example, "1.0.0.0". It returns the JSONObject for the plug-in if it is deleted during this process.
Details for delete the specified plug-ins if it does not contain config.json.
REST API Information Value Description Example URL https://localhost:9443/services/plugins/healthcleanplugin/hello/2.0.0.3 Response content-type application/json Response example [ { "result":"Checked for bad plug-ins.", "badPluginsUnderVR":{"hello":"2.0.0.3"} } ] OR [ { "result":"No bad plug-ins were found." } ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict 500 Unexpected error
2.6. Monitor
Use REST APIs for applications monitoring tasks.
The following tasks can be completed using the REST API:
Get the overall monitoring status for a given virtual application instance
GET /resources/virtualApplications/{virtual_application_instance_id}/monitoring
Get the overall monitoring status of a given virtual application.. Get the overall monitoring status of a given virtual application.
Example URL https://localhost/resources/virtualApplications/d-65d29715-9063-436d-8593-d5218208f8aa/monitoring Response content-type application/json Response example { "SERVERS":[{ "vm_id":"1", "vm_uuid":"4217cc6c-0d82-575d-c983-4c76d221ded5", "hypervisor_uuid":"52e11db5-2c40-e011-ae1b-00215e5d6968", "private_ip":"172.16.71.208", "server_name":"Web_Application-was.11319468974926", "public_hostname":"ipas-vm-071-208.purescale.raleigh.ibm.com", "state":"RUNNING", "time_stamp":1319471278884, "vm_name":"Web_Application-was.11319468974926", "deployment_id":"d-65d29715-9063-436d-8593-d5218208f8aa", "hypervisor_hostname":"172.16.64.31", "availability":"NORMAL", "public_ip":"172.16.71.208" } ], "application":{ "connectors":[], "workload":"TRUE", "application_name":"simple", "application_id":"a-0f5985ee-d5f2-4512-b9ae-e4934a8e3ea0" }, "ROLETYPES":[{ "roleType":"AGENT", "template":"Web_Application-was", "availability":"NORMAL" }, { "roleType":"SSH", "template":"Web_Application-was", "availability":"NORMAL" }, { "roleType":"MONITORING", "template":"Web_Application-was", "availability":"NORMAL" }, { "roleType":"WAS", "template":"Web_Application-was", "availability":"NORMAL" } ], "deployment":{ "time_stamp":1319472359280, "platform":"ESX", "env_profile_id":"1", "cloud_group_id":"1", "deployment_name":"simple", "deployment_id":"d-65d29715-9063-436d-8593-d5218208f8aa", "availability":"NORMAL", "deployment_status":"RUNNING", "vs_id":"1" }, "version":2, "ROLES":[{ "time_stamp":1319472359280, "state":"RUNNING", "private_ip":"172.16.71.208", "role_type":"WAS", "role_name":"Web_Application-was.11319468974926.WAS", "display_metrics":true, "server_name":"Web_Application-was.11319468974926", "pattern_version":"2.0", "pattern_type":"webapp", "availability":"NORMAL" } ], "appliance":{ "runtime_env":"vm", "appliance_type":"unknown", "appliance_group":"", "appliance_name":"", "appliance_id":"unknown" } }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Get the virtual machine monitoring status for a given virtual application instance
GET /resources/virtualApplications/{virtual_application_instance_id}/monitoring/servers
Get the virtual machine monitoring status for a given virtual application instance.. Get the virtual machine monitoring status for a given virtual application instance.
Example URL https://localhost/resources/virtualApplications/d-65d29715-9063-436d-8593-d5218208f8aa/monitoring/servers Response content-type application/json Response example [ { "vm_id":"1", "vm_uuid":"4217cc6c-0d82-575d-c983-4c76d221ded5", "hypervisor_uuid":"52e11db5-2c40-e011-ae1b-00215e5d6968", "private_ip":"172.16.71.208", "server_name":"Web_Application-was.11319468974926", "public_hostname":"ipas-vm-071-208.purescale.raleigh.ibm.com", "state":"RUNNING", "time_stamp":1319471278884, "vm_name":"Web_Application-was.11319468974926", "deployment_id":"d-65d29715-9063-436d-8593-d5218208f8aa", "hypervisor_hostname":"172.16.64.31", "availability":"NORMAL", "public_ip":"172.16.71.208" } ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Get the middleware monitoring status for a given virtual application instance
GET /resources/virtualApplications/{virtual_application_instance_id}/monitoring/roles
Get the middleware monitoring status for a given virtual application instance.. Get the middleware monitoring status for a given virtual application instance.
Example URL https://localhost/resources/virtualApplications/d-65d29715-9063-436d-8593-d5218208f8aa/monitoring/role Response content-type application/json Response example [ { "time_stamp":1319472359280, "state":"RUNNING", "private_ip":"172.16.71.208", "role_type":"WAS", "role_name":"Web_Application-was.11319468974926.WAS", "display_metrics":true, "server_name":"Web_Application-was.11319468974926", "pattern_version":"2.0", "pattern_type":"webapp", "availability":"NORMAL" } ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Get virtual machine level monitoring metrics for a specific virtual machine
GET /resources/virtualApplications/{virtual_application_instance_id}/monitoring/servers/{virtual_machine_id}/metrics/
Get virtual machine level monitoring metrics of a specific virtual machine.. Get virtual machine level monitoring metrics of a specific virtual machine.
Example URL https://localhost/resources/virtualApplications/d-65d29715-9063-436d-8593-d5218208f8aa/monitoring/servers/Web_Application-was.11319468974926/metrics/ Response example {"MEMORY":{ "memory_used_percent":4.0, "time_stamp":1364930424769, "memory_total":5373}, "DISKIO_0":{ "time_stamp":1364930432375, "megabytes_written_per_second":0.013, "device_name":"sda", "megabytes_reads_per_second":0.0}, "DISKIO_1":{ "time_stamp":1364930432375, "megabytes_written_per_second":0.0, "device_name":"sdb", "megabytes_reads_per_second":0.0}, "CPU":{ "time_stamp":1364930424769, "busy_cpu":0.84}, "NETWORK":{ "time_stamp":1364930432375, "megabytes_received_per_sec":0.0, "megabytes_transmitted_per_sec":0.0}, "DISK_0":{ "time_stamp":1364930432375, "disk_used_percent":51, "mount_point":"\/"}, "DISK_1":{ "time_stamp":1364930432375, "disk_used_percent":1, "mount_point":"\/home\/db2inst1"} }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Get middleware level monitoring metrics of a specific middleware
GET /resources/virtualApplications/{virtual_application_instance_id}/monitoring/roles/{middleware_id}/metrics/
Get middleware level monitoring metrics of a specific middleware.. Get middleware level monitoring metrics of a specific middleware.
Example URL https://localhost/resources/virtualApplications/d-65d29715-9063-436d-8593-d5218208f8aa/monitoring/roles/Web_Application-was.11319468974926.WAS/metrics/ Response example { "WAS_WebApplications":{ "time_stamp":1319538432348, "max_service_time":0, "min_service_time":0, "service_time":0, "request_count":0 }, "WAS_TransactionManager":{ "time_stamp":1319538432348, "rolledback_count":0, "active_count":0, "committed_count":12 }, "WAS_JDBCConnectionPools":{ "time_stamp":1319538432348, "max_percent_used":0, "min_percent_used":0, "percent_used":0, "wait_time":0, "min_wait_time":0, "max_wait_time":0 }, "WAS_JVMRuntime":{ "time_stamp":1319538432348, "jvm_heap_used":51.387638, "used_memory":77583, "heap_size":150976 } }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
2.7. Log
Use REST APIs to log application monitoring results.
The following tasks can be completed using the REST API:
List all the logs on a specific virtual machine
GET /resources/virtualApplications/{virtual_application_instance_id}/logs/virtualMachines/{virtual_machine_id}
List all the logs on a specific virtual machine.. List all the logs on a specific virtual machine.
Example URL https://localhost/resources/virtualApplications/d-65d29715-9063-436d-8593-d5218208f8aa/logs/virtualMachines/Web_Application-was.11319468974926 Response content-type application/json Response example { "OS":["/var/log/brcm-iscsi.log", "/var/log/cron", "/var/log/messages", "/var/log/secure", "/var/log/acpid", "/var/log/dmesg", "/var/log/yum.log", "/var/log/wtmp", "/var/log/spooler", "/var/log/maillog", "/var/log/boot.log" ], "WAS":["/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/SystemErr.log", "/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/native_stderr.log", "/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/native_stdout.log", "/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/SystemOut.log", "/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc/ffdc.3819090375058668621.txt", "/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc/FfdcSummary.txt", "/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc/ffdc.6804038344002622019.txt" ], "IWD Agent":["/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/Web_Application-was.11319468974926.MONITORING/trace.log", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/Web_Application-was.11319468974926.MONITORING/console.log", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/Web_Application-was.11319468974926.WAS/trace.log", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/Web_Application-was.11319468974926.WAS/console.log", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/Web_Application-was.11319468974926.SSH/trace.log", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/Web_Application-was.11319468974926.SSH/console.log", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/Web_Application-was.11319468974926.AGENT/trace.log", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/Web_Application-was.11319468974926.AGENT/console.log", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/console.log.0", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/trace.log.0", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/trace.log.2", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/install/trace.log", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/install/console.log", "/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/trace.log.1", "/0config/0config.log" ] }Lists of files for different roles. Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error Each attribute is the component name and the value is a list of the log files for that component. For example, "WAS":[.] the key "WAS" is the middleware name and its value is all the log files for WebSphere Application Server.
Get the content of a specific log file
GET /resources/virtualApplications/{virtual_application_instance_id}/logs/virtualMachines/{virtual_machine_id} /{log_absolute_path}
Get the content of a specific log file.. Get the content of a specific log file.
Example URL https://localhost/resources/virtualApplications/d-65d29715-9063-436d-8593-d5218208f8aa/logs/virtualMachines/Web_Application-was.11319468974926/opt/IBM/maestro/agent/usr/servers/Web_Application-was.11319468974926/logs/Web_Application-was.11319468974926.WAS/trace.log Request headers Range bytes={start}-{end} For example, bytes=0-500. Specify the byte range of the log file to get. If the bye range is not set, entire log file is gotten. Response example [2011-10-24 16:03:53,756] WAS/start.py 47377699650752 pid=23164 INFO WAS: 8.0.0.1 [2011-10-24 16:03:53,757] WAS/start.py 47377699650752 pid=23164 INFO Installing WAR file simple under context root /simple [2011-10-24 16:05:53,998] WAS/start.py 47377699650752 pid=23164 INFO set WAS role status to RUNNINGResponse code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
2.8. Shared services
Use REST APIs to complete tasks related to the shared services pattern.
View shared services in the IBM PureApplication System W1500 user interface:
- Share services pattern: Click Cloud > Shared Services.
- Shared services instance: Click Instances > Shared Services.
The following tasks can be completed using the REST API:
List all patterns of shared services
GET /resources/sharedServices/
List all patterns of shared services.. List all patterns of shared service.
Example URL https://localhost/resources/sharedServices Response content-type application/json Response body example [ { "last_modifier": "cbadmin", "service_type": "", "app_name": "ELB Proxy Service", "patterntype": "foundation", "creator": "cbadmin", "service_supported_clients": "[0.0,2.0]", "service_version": "2.0", "create_time": "2012-04-11T09:51:42Z", "last_modified": "2012-04-11T09:51:42Z", "access_rights": { "cbadmin": "F", "_group_:Everyone": "R" }, "service_name": "proxy", "version": "2.0", "app_type": "service", "app_id": "a-2a27189e-03bc-4f49-9526-6e31fdbeb8f7", "description": "The ELB Service provides a self managed common service of proxy", }. ... ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
- app_id
- The uuid of the shared service.
- service_type
- type of the shared service. It.s "External" or blank
- service_name
- The name of the shared service, this value won.t be translated. Shared services with the same service name can have at most one instance running in one cloud.
- app_name
- Shared service name. This is translated according to locale.
- description
- Shared service description, this is translated according to locale.
- patterntype
- The pattern type.s name which the shared service belongs to.
- version
- The pattern type.s version which the shared service belongs to.
- last_modifier
- The user who last updated the shared service.
- last_modified
- The time when the shared service was last updated.
- app_storehouse_base_url
- The shared service.s url in storehouse.
- creator
- The user who created the shared service.
- create_time
- The creation time of the shared service.
- service_supported_clients
- Client versions that the shared service can support
- service_version
- Version of this shared service
- access_rights
- The object contains all users who have access rights of this shared service.
- app_type
- The value of all shared services app_type attribute is .service.
Get a shared service by application ID
GET /resources/sharedServices/<app_id>
Get a list of shared services by application ID. Get a list of shared services by application ID.
Example URL https://localhost/resources/sharedServices/a-6d29ddbc-7005-469a-878f- b467ff57dd3f Response content-type application/json Response body example { "last_modifier": "cbadmin", "service_type": "", "app_name": "ELB Proxy Service", "patterntype": "foundation", "creator": "cbadmin", "service_supported_clients": "[0.0,2.0]", "service_version": "2.0", "create_time": "2012-04-11T09:51:42Z", "last_modified": "2012-04-11T09:51:42Z", "access_rights": { "cbadmin": "F", "_group_:Everyone": "R" }, "service_name": "proxy", "version": "2.0", "app_type": "service", "app_id": "a-2a27189e-03bc-4f49-9526-6e31fdbeb8f7", "description": "The ELB Service provides a self managed common service of proxy" }Response code 201 OK 400 Invalid request parameter. 401 The user is not authorized to perform this action. 409 Instance exists in the cloud. 500 Unexpected error
Deploy a shared service into the cloud
POST /resources/sharedServices/<app_id>/virtualApplications
Deploy a shared service into the cloud.. Deploy a shared service into the cloud.
Example URL https://localhost/resources/sharedServices/a-6d29ddbc-7005-469a-878 f-b467ff57dd3f/virtualApplications Response content-type application/json Response body example Same as the response body of REST API "Deploy a virtual application pattern" Response code 201 OK 400 Invalid request parameter. 401 The user is not authorized to perform this action. 409 Instance exists in the cloud. 412 This code is returned if a precondition failed. 500 Unexpected error Note: The supported attributes are the same as the response body of REST API "Deploy a virtual application pattern".
2.9. Certificates
You can use the representational state transfer (REST) application programming interface (API) to manage certificates.
Available HTTP Methods
REST API for Certificates
HTTP Method URI Pattern DATA Format Success Codes Error Codes GET
- For stand-alone hypervisors: /resources/hypervisors/{id}/certificate
- For a managed cloud group: /resources/clouds/{id}/certificate
application/json
- 200
- This code returns a formatted certificate for the specified hypervisor. See the example for a sample of the data that is returned.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if:
- the hypervisor does not return a certificate.
- no cloud or hypervisor with the specified id exists
- the specified cloud is not a managed cloud
- if the IBM Systems Director or VMware Virtual Center that manages the cloud does not return a certificate
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
GET /resources/hypervisors/{id}/certificate example
{ "id": 1, "certificates": [ "Certificate: 1", "", "Version: 3", "", "Subject: OID.1.2.840.113549.1.9.2=\"1233003790,564d7761726520496e632e\", CN=myhypervisor.mycompany.com, OU=VMware ESX Server Certificate, EMAILADDRESS=ssl-certificates@vmware.com, O=\"VMware, Inc.\", L=Palo Alto, ST=California, C=US", "", "Key: ", " IBMJCE RSA Public Key:", " modulus:", " 1339803331059169396205872003875740052553863051674618430116476617574249", " 5026411738717148849905840700453727318717943418667122434412630187079348", " 6873813288481494146160025627725751470887183385307527405440695734180966", " 8462579382022195458840146325997544446223584485323748610456300364783827", " 68380160577053130037267269337", " public exponent:", " 65537", "", "Validity: ", " From: Mon Jan 26 16:03:11 EST 2009", " To: Mon Mar 27 17:03:11 EDT 2028", "", "Issuer: OID.1.2.840.113549.1.9.2=\"1233003790,564d7761726520496e632e\", CN=myhypervisor.mycompany.com, OU=VMware ESX Server Certificate, EMAILADDRESS=ssl-certificates@vmware.com, O=\"VMware, Inc.\", L=Palo Alto, ST=California, C=US", "", "Serial Number:", " 0", "", "Signature: ", " Algorithm: MD5withRSA", " Algorithm OID: 1.2.840.113549.1.1.4", "", " 0000: 53 73 eb f0 f0 bb 4c 48 ea d4 23 0c 20 e1 4f b7 Ss....LH......O.", " 0010: aa 7d 64 aa 5f cc c7 a4 fa b0 38 73 9c 94 eb 77 ..d.......8s...w", " 0020: c8 2a 51 bb 34 7c 2f b6 90 c8 25 f1 e3 90 18 ea ..Q.4...........", " 0030: bb 63 08 a0 2f 66 c4 36 9a d1 98 29 1f 37 d4 0d .c...f.6.....7..", " 0040: 5e 10 20 ac 1c d3 bc 2f 4e e8 b4 65 3d 3e 90 ed ........N..e....", " 0050: 90 64 9e f6 d0 f0 a7 31 ba 13 b3 93 69 a3 39 59 .d.....1....i.9Y", " 0060: 73 c9 f3 4f 22 3c 7e 3d 08 6b 09 6f ac 82 e4 bb s..O.....k.o....", " 0070: d6 32 0f ba eb 29 47 20 24 78 1c d2 cb ed fb 4b .2....G..x.....K" ] }
Related tasks:
2.10. diagnostics.zip file
You can use the representational state transfer (REST) application programming interface (API) to manage the diagnostics.zip file.
Available HTTP methods
REST API for diagnostics.zip
HTTP methods URI pattern Data format Success codes Error codes GET /resources/diagnostics.zip application/zip
- 200
- Returns the diagnostics.zip file containing various diagnostic information from the system.
- 403
- This code is returned if the requester does not have permission to obtain diagnostic information.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
A diagnostics.zip has the following attributes:
- query
- Content that is added to the diagnostics.zip file. The value of latest can be included to only include the latest error and trace logs in the .zip file. This significantly reduces the size of the diagnostics.zip file as the older error and trace log files are not included.
Example:
http://example.com/resources/diagnostics.zip?latest
Related tasks:
2.11. Environment profiles
You can use the representational state transfer (REST) application programming interface (API) to manage environment profiles.
Available HTTP Methods
REST API for environment profiles
HTTP Method URI Pattern Date Format Success Codes Error Codes GET /resources/environmentProfiles application/json
- 200
- Returns the list of virtual system instances that are visible to the client.
- 403
- This code is returned if the requester does not have access to list virtual system instances.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
An environment profile has the following attributes:
- created
- Creation time of the virtual system instance, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- currentmessage
- Message associated with the current status of the virtual system instance. This is an 8 character string value that is generated by the system.
- currentmessage_text
- Textual representation of currentmessage. This is a string representation of currentmessage in the preferred language of the requester and is automatically generated by the system.
- currentstatus
- Specifies a string constant representing the current status of the virtual system instance. This is an 8 character string value is automatically generated by the system.
- currentstatus_text
- Textual representation of currentstatus. This is a string representation of currentstatus in the preferred language of the requester and is automatically generated by the system.
- description
- Description of the environment profile. This field is a string value with a maximum of 1024 characters.
- environment
- Environment the profile represents.
- environment_text
- Textual representation of environment. This is a string representation of environment in the preferred language of the requester and is automatically generated by the system.
- id
- ID of the virtual system instance. This numeric value is automatically generated by the system.
- name
- Display name associated with this virtual system instance. This field contains a string value with a maximum of 1024 characters.
- owner
- Uniform resource identifier (URI) of the user that owns this pattern. The URI is relative and should be resolved against the URI of the owner.
- platform
- Type of hypervisors this environment profile supports on deployments, which is ESX.
- updated
- Time the virtual system instance was last updated, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- vmname_pattern
- Pattern used to generate virtual machine names.
GET /resources/environmentProfiles example
[ { "clouds": [ { "cloud": "/resources/clouds/1", "alias": "t", "ipGroups": [ { "alias": "t", "ipGroup": "/resources/ipGroups/1" } ] } ], "created": 1285348986268, "currentmessage": "RM25008", "currentmessage_text": "Environment profile can now be use for deployments"A virtual system instance has the following attributes: "currentstatus": "RM01001", "currentstatus_text": "Defined", "description": "", "environment": 0, "environment_text": "All", "id": 1, "ipsource": 0, "ipsource_text": "Product name", "name": "test", "owner": "/resources/users/1", "platform": "valid_value", "updated": 1285352832052, "vmname_pattern": "", }, { "clouds": [ { "cloud": "/resources/clouds/1", "alias": "t", "ipGroups": [ { "alias": "t", "ipGroup": "/resources/ipGroups/1" } ] } ], "created": 1285348986268, "currentmessage": "RM25008", "currentmessage_text": "Environment profile can now be use for deployments"A virtual system has the following attributes: "currentstatus": "RM01001", "currentstatus_text": "Defined", "description": "", "environment": 0, "environment_text": "All", "id": 2, "ipsource": 0, "ipsource_text": "Product name", "name": "test2", "owner": "/resources/users/1", "platform": "valid_value", "updated": 1285352832052, "vmname_pattern": "", } ]See the description of GET /resources/virtualsystems/{id} for attribute details.
GET /resourcesenvironmentProfiles/{id} example
{ "clouds": [ { "cloud": "/resources/clouds/1", "alias": "t", "ipGroups": [ { "alias": "t", "ipGroup": "/resources/ipGroups/1" } ] } ], "created": 1285348986268, "currentmessage": "RM25008", "currentmessage_text": "Environment profile can now be use for deployments"A virtual system has the following attributes: "currentstatus": "RM01001", "currentstatus_text": "Defined", "description": "", "environment": 0, "environment_text": "All", "id": 2, "ipsource": 0, "ipsource_text": "Product name", "name": "test2", "owner": "/resources/users/1", "platform": "valid_value", "updated": 1285352832052, "vmname_pattern": "", }
Related tasks:
2.12. Groups
You can use the representational state transfer (REST) application programming interface (API) to manage groups.
Available HTTP Methods
REST API for Groups
HTTP Method URI Pattern Data Format Success Codes Error Codes GET /resources/groups application/json
- 200
- Returns the list of user groups defined on the IBM PureApplication System. See the example below for a sample of the data returned.
- 403
- This code is returned if the requester does not have sufficient permission to view the list of user groups.
- 500
- This code is returned if theIBM PureApplication System encountered an internal error while processing the request.
POST /resources/groups application/json
- 201
- The user group has been defined and is included in the response body. The URL of the new user group is included in the Location header of the response.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester does not have sufficient permission to define a new user.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
GET /resources/groups/{id} application/json
- 200
- Returns information about a user group defined to the IBM PureApplication System.
- 403
- This code is returned if the requester does not have permission to view the user group.
- 404
- This code is returned if the requested user is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
PUT /resources/groups/{id} application/json
- 200
- The user group was successfully updated. The response body contains a JSON representation of the current state of the user group.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester does not have permission to update the specified user group.
- 404
- This code is returned if the request references a resource that is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
DELETE /resources/groups/{id}
- 204
- The user group has been deleted.
- 403
- This code is returned if the requester does not have permission to delete the user group.
- 404
- This code is returned if the requested user group is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
A user group has the following attributes:
- created
- Creation time of the user group, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- description
- Description of the user group. This field expects a string value with a maximum of 128 characters.
- id
- ID of the user group. This value is numeric and is automatically generated by the system.
- name
- Name of the user group. This field expects a string value with a maximum of 64 characters.
- owner
- Specifies the URI of the user that owns this user group. The URI is relative and should be resolved against the URI of the user group.
- updated
- Time the user group was last updated, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- Users
- Specifies a list of the URIs for the users that belong to this user group. The URIs are relative should be resolved against the URI of the user group that contains them.
GET /resources/groups example
[ { "created": 1242962746736, "description": "This group contains all users in the system", "id": 1, "name": "Everyone", "owner": "/resources/users/1", "updated": 1242962746736, "users": [ "/resources/users/1", "/resources/users/2", "/resources/users/3" ] }, { "created": 1245422061481, "description": "Description of the new group", "id": 2, "name": "newgroup", "owner": "/resources/users/1", "updated": 1245422061481, "users": [ ] } ]See the description of GET /resources/groups/{id} for attribute details.
POST /resources/groups example
Request JSON:
{ "description": "Description of the new group", "name": "newgroup" }Response JSON:
{ "created": 1245422061481, "description": "Description of the new group", "id": 2, "name": "newgroup", "owner": "/resources/users/1", "updated": 1245422061481, "users": [ ] }
GET /resources/groups/{id} example
{ "created": 1242962746736, "description": "This group contains all users in the system", "id": 1, "name": "Everyone", "owner": "/resources/users/1", "updated": 1242962746736, "users": [ "/resources/users/1", "/resources/users/2", "/resources/users/3" ] }
PUT /resources/groups/{id} example
Request JSON:
{ "created": 1245422061481, "description": "new description", "id": 2, "name": "new name", "owner": "/resources/users/1", "updated": 1245422061481, "users": [ "/resources/users/2" ] }Response JSON:
{ "created": 1245422061481, "description": "new description", "id": 2, "name": "new name", "owner": "/resources/users/null", "updated": 1245422749173, "users": [ "/resources/users/2" ] }
Related tasks:
2.13. Hypervisors
You can use the representational state transfer (REST) application programming interface (API) to manage hypervisors.
Available HTTP Methods
REST API for hypervisors
HTTP Method URI Pattern Data Format Success Codes Error Codes GET /resources/hypervisors application/json
- 200
- Returns the list of hypervisors defined in IBM PureApplication System W1500. See the example for a sample of the data returned.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
POST /resources/hypervisors application/json
- 201
- The hypervisor has been created and is included in the response body. The URL of the new hypervisor is included in the Location header of the response.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
GET /resources/hypervisors/{id} application/json
- 200
- Returns information about a hypervisor defined to the IBM PureApplication System.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested hypervisor is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
PUT /resources/hypervisors/{id} application/json
- 200
- The hypervisor was successfully updated. The response body contains a JSON representation of the hypervisor's current state.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the request references a resource that is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
DELETE /resources/hypervisors/{id}
- 204
- The hypervisor has been deleted.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested hypervisor is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
A hypervisor has the following attributes:
- address
- Host name or IP address (dotted decimal notation) at which the hypervisor can be reached. This field expects a string value with a maximum of 1024 characters.
- certified
- Specifies if the SSL certificate from this hypervisor has been certified. PureApplication System does not deploy patterns to a hypervisor until it has been certified. Note that the SSL certificate from the hypervisor must be retrieved before the hypervisor can be certified. The following string values are valid:
- T
- Hypervisor has been certified.
- F
- Hypervisor is not certified.
- I
- Hypervisor is not certified and resources have not been discovered.
- cloud
- Uniform resource identifier (URI) of the cloud group to which this hypervisor has been assigned. The URI is relative and should be resolved against the URI of the hypervisor.
- created
- Creation time of the hypervisor, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- currentmessage
- Message associated with the current status of the hypervisor. For example, it could give more details about the problem that caused the hypervisor to be placed in an error state. This field contains an 8 character string value that is generated by the system.
- currentmessage_text
- Textual representation of currentmessage. This is a string representation of currentmessage in the preferred language of the requester and is automatically generated by the system. This field has a maximum of 1024 characters.
- currentstatus
- Specifies a string constant representing the current status of the hypervisor. This field is an 8 character string value that is automatically generated by the system.
- currentstatus_text
- Specifies a textual representation of currentstatus. This is a string representation of currentstatus in the preferred language of the requester and is automatically generated by the system.
- desiredstatus
- Desired status of the hypervisor. Setting this value will cause PureApplication System to initiate the steps that are needed to get the hypervisor to this state. This value is an 8 character string and can only be set to one of the following values:
- RM01025
- Maintenance mode
- RM01006
- Started
- desiredstatus_text
- Specifies a textual representation of desiredstatus. This is a string representation of desiredstatus in the preferred language of the requester and is automatically generated by the system.
- id
- Specifies the id of the hypervisor. This attribute can be a string or a number. When the attribute is a string, there are practical limits on the string length due to the way the string is generated: ("PM-" + numeric id).
- name
- Display name associated with this hypervisor. This field expects a string value with a maximum of 64 characters and must be unique among all hypervisors defined to PureApplication System.
- networks
- List of URIs of the networks associated with this hypervisor. The URIs are relative should be resolved against the URI of the hypervisor that contains them. This list of networks is automatically generated as part of the discovery process and cannot be changed.
- password
- Password used to log on to the hypervisor. This field expects a string value with a maximum of 128 characters.
- storage
- List of URIs of the storage associated with this hypervisor. The URIs are relative should be resolved against the URI of the hypervisor that contains them. This list of storage is automatically generated as part of the discovery process and cannot be changed.
- type
- Type of this hypervisor. This value must be set to:
ESX This field expects a string value with a maximum of 128 characters.
- updated
- Time the hypervisor was last updated, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- Userid
- User ID used to log on to the hypervisor. This field expects a string value with a maximum of 128 characters.
- UUID
- The universally unique identifier for the hypervisor. For hypervisors that do not have a UUID, this value will be "none".
GET /resources/hypervisors example
[ { "address": "https://172.16.15.250/sdk", "certified": "T", "cloud": "/resources/clouds/7", "created": 1254889411919, "currentmessage": "RM03103", "currentmessage_text": "Started (move to maintenance mode to make changes)", "currentstatus": "RM01006", "currentstatus_text": "Started", "desiredstatus": "RM01006", "desiredstatus_text": "Started", "id": 16, "name": "virtualwas", "networks": [ "/resources/networks/38", "/resources/networks/39" ], "password": "125488941166924", "storage": [ "/resources/storage/56", "/resources/storage/57" ], "type": "ESX", "updated": 1254889464232, "userid": "root" }, { "address": "172.16.0.5", "certified": "T", "cloud": "/resources/clouds/17", "created": 1255049179858, "currentmessage": "RM03103", "currentmessage_text": "Started (move to maintenance mode to make changes)", "currentstatus": "RM01006", "currentstatus_text": "Started", "desiredstatus": "RM01006", "desiredstatus_text": "Started", "id": "PM-19", "name": "IBM 8204 E8A 10BC4A1", "networks": [ "/resources/networks/40", "/resources/networks/41" ], "password": "125504917100029", "storage": [ "/resources/storage/58", "/resources/storage/59", "/resources/storage/60" ], "type": "PowerVM", "updated": 1255049245832, "userid": "root" } ]See the description of GET /resources/hypervisors/{id} for attribute details.
POST /resources/hypervisors example
Request JSON:
{ "address": "anotherhypervisor.mycompany.com", "name": "another hypervisor", "password": "thepassword", "type": "ESX", "userid": "root" }Response JSON:
{ "address": "https://anotherhypervisor.mycompany.com/sdk", "certified": "I", "cloud": null, "created": 1245249680477, "currentmessage": "RM03106", "currentmessage_text": "Maintenance mode (must add to a cloud group to start)", "currentstatus": "RM01025", "currentstatus_text": "Maintenance mode", "desiredstatus": "RM01025", "desiredstatus_text": "Maintenance mode", "id": 5, "name": "another hypervisor", "networks": [ ], "password": "124524968047629", "storage": [ ], "type": "ESX", "updated": 1245249680477, "userid": "root" }
GET /resources/hypervisors/{id} example
{ "address": "172.16.0.5", "certified": "T", "cloud": "/resources/clouds/17", "created": 1255049179858, "currentmessage": "RM03103", "currentmessage_text": "Started (move to maintenance mode to make changes)", "currentstatus": "RM01006", "currentstatus_text": "Started", "desiredstatus": "RM01006", "desiredstatus_text": "Started", "id": "PM-19", "name": "IBM 8204 E8A 10BC4A1", "networks": [ "/resources/networks/40", "/resources/networks/41" ], "password": "125504917100029", "storage": [ "/resources/storage/58", "/resources/storage/59", "/resources/storage/60" ], "type": "PowerVM", "updated": 1255049245832, "userid": "root" }
PUT /resources/hypervisors/{id} example
Request JSON:
{ "address": "https://newname.mycompany.com/sdk", "certified": "T", "cloud": "/resources/clouds/1", "created": 1245249680477, "currentmessage": "RM03106", "currentmessage_text": "Maintenance mode (must add to a cloud group to start)", "currentstatus": "RM01025", "currentstatus_text": "Maintenance mode", "desiredstatus": "RM01006", "desiredstatus_text": "Maintenance mode", "id": 5, "name": "new name", "networks": [ ], "password": "new password", "storage": [ ], "type": "ESX", "updated": 1245249680477, "userid": "newuserid" }Response JSON:
{ "address": "https://newname.mycompany.com/sdk", "certified": "T", "cloud": "/resources/clouds/1", "created": 1245249680477, "currentmessage": "RM03106", "currentmessage_text": "Maintenance mode (must add to a cloud group to start)", "currentstatus": "RM01025", "currentstatus_text": "Maintenance mode", "desiredstatus": "RM01006", "desiredstatus_text": "Maintenance mode", "id": 5, "name": "new name", "networks": [ ], "password": "124524969310837", "storage": [ ], "type": "ESX", "updated": 1245249693109, "userid": "newuserid" }
Related tasks:
2.14. IP addresses
You can use the representational state transfer (REST) application programming interface (API) to manage IP addresses.
Available HTTP Methods
REST API for IP addresses
HTTP Method URI Pattern Data Format Success Codes Error Codes GET /resources/ipGroups/{id}/ips application/json
- 200
- Returns the list of IP addresses defined for an IP group. See the example for a sample of the data returned.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
POST /resources/ipGroups/{id}/ips application/json
- 201
- The IP group has been created and is included in the response body. The URL of the new IP group is included in the Location header of the response.
- 400
- This code is returned if there are problems parsing the JSON data in the request or if the IP group is specified incorrectly.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
GET /resources/ipGroups/{id}/ips/{id} application/json
- 200
- Returns information about an IP address defined to the IBM PureApplication System.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested IP address is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
DELETE /resources/ipGroups/{id}/ips/{id}
- 204
- The IP address has been deleted.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested IP address is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
An IP address have the following attributes:
- created
- Creation time of the IP address, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- currentmessage
- Message associated with the current status of the IP address. This value of this field is an eight character string that is generated by the system.
- currentmessage_text
- Textual representation of currentmessage. This field is a string representation of currentmessage in the preferred language of the requester and is automatically generated by the system.
- currentstatus
- Current status of the IP address. A string constant representing the current status of the IP address. This value of this field is an eight character string that is generated by the system.
- currentstatus_text
- Textual representation of currentstatus. This field is a string representation of currentstatus in the preferred language of the requester and is automatically generated by the system.
- id
- ID of the IP address. This numeric value is automatically generated by the system.
- ipaddress
- Address associated with this IP addresses. The IP address must be unique and must belong to the IP group under which this IP is defined. This value is a string in dotted decimal notation ('10.1.2.3', for example). The maximum length of this field is 16 characters.
- hostname
- Hostname associated with the ip, If no hostname can be retrieved, the hostname is populated using the ipaddress to ensure the value is not null.
- updated
- Time the IP address was last updated, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
GET /resources/ipGroups/{id}/ips example
[ { "created": 1245009489214, "currentmessage": null, "currentmessage_text": null, "currentstatus_text": "Inactive", "currentstatus": "RM01017", "id": 1, "ipaddress": "10.1.2.3", "updated": 1245042922441 }, { "created": 1245009489294, "currentmessage": null, "currentmessage_text": null, "currentstatus": "RM01017", "currentstatus_text": "Inactive", "id": 2, "ipaddress": "10.1.2.4", "updated": 1245009489294 } ]See the description of GET /resources/ipGroups/{id}/ips/{id} for attribute details.
POST /resources/ipGroups/{id}/ips example
Request JSON:
{ "addresses": ["10.1.2.3", "10.1.2.4"] }Response JSON:
[ ]
GET /resources/ipGroups/{id}/ips/{id} example
{ "created": 1245009489214, "currentmessage": null, "currentmessage_text": null, "currentstatus": "RM01017", "currentstatus_text": "Inactive", "id": 1, "ipaddress": "10.1.2.3", "updated": 1245042922441, }
Related tasks:
2.15. IP groups
You can use the representational state transfer (REST) application programming interface (API) to manage IP groups.
Available HTTP Methods
REST API for IpGroups
HTTP Method URI Pattern Data Format Success Codes Error Codes GET /resources/ipGroups application/json
- 200
- Returns the list of IP groups defined to PureApplication System. See the example for a sample of the data returned.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
POST /resources/ipGroups application/json
- 201
- The IP group has been created and is included in the response body. The URL of the new IP group is included in the Location header of the response.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
GET /resources/ipGroups/{id} application/json
- 200
- Returns information about an IP group defined to the IBM PureApplication System.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested IP group is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
PUT /resources/ipGroups/{id} application/json
- 200
- The IP group was successfully updated. The response body contains a JSON representation of the current state of the IP group.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested IP group is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
DELETE /resources/ipGroups/{id}
- 204
- The IP group has been deleted.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested IP group is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
An IP group has the following attributes:
- created
- Creation time of the IP group, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- gateway
- Default gateway associated with the IP group, represented as a string in dotted decimal notation ('192.168.98.1', for example). This field contains a string value with a maximum of 16 characters.
- id
- ID of the IP group. This value is numeric and is automatically generated by the system.
- name
- Display name associated with this IP group. This value is a string. This field contains a string value with a maximum of 64 characters.
- netmask
- Network mask associated with the subnet address of the IP group, represented as a string in dotted decimal notation ('255.255.255.0', for example). This field contains a string value with a maximum of 16 characters.
- networks
- List of URIs of the networks associated with the IP group. The URIs are relative should be resolved against the URI of the IP group that contains them.
- primarydns
- Primary DNS server Used for the IP group, represented as a string in dotted decimal notation ('192.168.98.2', for example). This field contains a string value with a maximum of 16 characters.
- secondarydns
- Secondary DNS server Used for the IP group, represented as a string in dotted decimal notation ('192.168.98.3', for example). This field contains a string value with a maximum of 16 characters.
- subnetaddress
- Subnet address associated with the IP group, represented as a string in dotted decimal notation ('192.168.98.0', for example). This field contains a string value with a maximum of 16 characters.
- updated
- Time the IP group was last updated, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- version
- Version of the IP addresses for the IP group. The valid value is IPv4 or IPv6.
Workloads that require IP caching must be deployed to cloud groups with only IPv4 IP groups.
GET /resources/ipGroups example
[ { "created": 1242243975898, "gateway": "10.0.0.1", "id": 2, "name": "ten", "netmask": "255.0.0.0", "networks": ["/resources/networks/1", "/resources/networks/2"], "primarydns": "10.0.0.2", "secondarydns": "10.0.0.3", "subnetaddress": "10.0.0.0", "updated": 1242738679669 }, { "created": 1242324839363, "gateway": "192.168.0.1", "id": 7, "name": "192.168.0.0", "netmask": "255.255.255.0", "networks": [], "primarydns": "192.168.0.2", "secondarydns": "192.168.0.3", "subnetaddress": "192.168.0.0", "updated": 1242324839363 } ]See the description of GET /resources/ipGroups/{id} for attribute details.
POST /resources/ipGroups example
Request JSON:
{ "gateway": "10.0.0.1", "name": "ten", (optional, defaults to subnetaddress) "netmask": "255.0.0.0", "primarydns": "10.0.0.2", "secondarydns": "10.0.0.3", (optional, no default) "subnetaddress": "10.0.0.0" }Response JSON:
{ "created": 1242243975898, "gateway": "10.0.0.1", "id": 2, "name": "ten", "netmask": "255.0.0.0", "networks": [], "primarydns": "10.0.0.2", "secondarydns": "10.0.0.3", "subnetaddress": "10.0.0.0", "updated": 1242738679669 }
GET /resources/ipGroups/{id} example
{ "created": 1242243975898, "gateway": "10.0.0.1", "id": 2, "name": "ten", "netmask": "255.0.0.0", "networks": ["/resources/networks/1", "/resources/networks/2"], "primarydns": "10.0.0.2", "secondarydns": "10.0.0.3", "subnetaddress": "10.0.0.0", "updated": 1242738679669 }
PUT /resources/ipGroups/{id} example
Request JSON:
{ "gateway": "10.128.1.2", "name": "new name", "netmask": "255.128.0.0", "networks": [ "/resources/networks/3" ] "primarydns": "10.128.2.3", "secondarydns": "10.128.3.4", "subnetaddress": "10.128.0.0" }Response JSON:
{ "created": 1242243975898, "gateway": "10.128.1.2", "id": 2, "name": "new name", "netmask": "255.128.0.0", "networks": [ "/resources/networks/3" ] "primarydns": "10.128.2.3", "secondarydns": "10.128.3.4", "subnetaddress": "10.128.0.0", "updated": 1242738679669 }
Related tasks:
2.16. Log viewer manager
You can use the representational state transfer (REST) application programming interface (API) to manage Log Viewer Manager.
Available HTTP Methods
REST API for LogViewerMgr
HTTP Method URI Pattern Data Format Success Codes Error Codes POST /resources/logViewerMgr
- 200
- This code is returned if log viewing for the specified log file was successfully initialized. The Location header in the response contains a URL that can be queried to view contents of the log file.
- 403
- This code is returned if the requester does not have the system admin role.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
GET /resources/logViewerMgr/{id} application/json
- 200
- This code is returned if content from the log file is included in the output.
- 204
- This code is returned if the specified startingPoint and lineCount do not include any content from the log file.
- 403
- This code is returned if the requester does not have the system admin role.
- 404
- This code is returned if the specified log viewing has not been initialized correctly.
- 500
- This code is returned if theIBM PureApplication System encountered an internal error while processing the request.
POST /resources/logViewerMgr example
This REST API call initializes log viewing for a specific log file. The Location header in the response contains a URL that can be subsequently queried to fetch new contents of the specified file.
Request:
POST /resources/logViewerMgr?logfile=trace/trace.logResponse headers:
Location: https://myappliance.mycompany.com/resources/logViewerMgr/trace_%5E_trace.log
GET /resources/logViewerMgr/{id} example
Request:
GET /resources/logViewerMgr/trace_%5E_trace.log?startingPoint=0&lineCount=3Response JSON:
{ "NEXT_CHUNK": 214, "TAIL_CONTENT": "************ Start Display Current Environment ************ Version number is 1.0.0.1-11776 Java Version = J2RE 1.6.0 IBM J9 2.4 Linux x86-32 jvmxi3260-20090215_29883 (JIT enabled,AOT enabled)" }The TAIL_CONTENT entry in the response contains contents of the log file; the NEXT_CHUNK value in the response can be used as the startingPoint in the next request to retrieve subsequent content from the log file.
Related tasks:
2.17. Networks
You can use the representational state transfer (REST) application programming interface (API) to manage networks.
Available HTTP Methods
REST API for Networks
HHTP Method URI Pattern Data Format Success Codes Error Codes GET /resources/networks application/json
- 200
- Returns the list of networks defined on the IBM PureApplication System. See the example for a sample of the data returned.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
GET /resources/networks/{id} application/json
- 200
- Returns information about a network defined to the IBM PureApplication System.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested network is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
PUT /resources/networks/{id} application/json
- 200
- The network was successfully updated. The response body contains a JSON representation of the network's current state.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the request references a resource that is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
DELETE /resources/networks/{id}
- 204
- The network has been deleted.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested network is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
A network has the following attributes:
- created
- Creation time of the network, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- currentmessage
- Message associated with the current status of the network. This field is an 8 character string value that is generated by the system.
- currentmessage_text
- Specifies a textual representation of currentmessage. This is a string representation of currentmessage in the preferred language of the requester and is automatically generated by the system.
- hypervisor
- Uniform resource identifier (URI) of the hypervisor to which this network belongs. The URI is relative and should be resolved against the URI of the network.
- id
- ID of the network. This value is numeric and is automatically generated by the system.
- ipgroup
- Specifies the URI of the IP group to which this network has been assigned. The URI is relative and should be resolved against the URI of the network.
- name
- Name of the network, as reported by the hypervisor. This field expects a string value with a maximum of 64 characters.
- updated
- Time the network was last updated, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- vlan
- Specifies the VLAN associated with this network. This value is an integer between 0 and 4095, inclusive.
GET /resources/networks example
[ { "created": 1245009567989, "currentmessage": null, "currentmessage_text": null, "hypervisor": "/resources/hypervisors/1", "id": 1, "ipgroup": null, "name": "Public VM Network", "updated": 1245009567989, "vlan": null }, { "created": 1245009568100, "currentmessage": null, "currentmessage_text": null, "hypervisor": "/resources/hypervisors/1", "id": 2, "ipgroup": "/resources/ipGroups/1", "name": "VM Network", "updated": 1245009586180, "vlan": null } ]See the description of GET /resources/networks/{id} for attribute details.
GET /resources/networks/{id} example
{ "created": 1245009568100, "currentmessage": null, "currentmessage_text": null, "hypervisor": "/resources/hypervisors/1", "id": 2, "ipgroup": "/resources/ipGroups/1", "name": "VM Network", "updated": 1245009586180, "vlan": null }
PUT /resources/networks/{id} example
Request JSON:
{ "created": 1245009568100, "currentmessage": null, "currentmessage_text": null, "hypervisor": "/resources/hypervisors/1", "id": 2, "ipgroup": "/resources/ipGroups/1", "name": "new network name", "updated": 1245009586180, "vlan": 17 }Response JSON:
{ "created": 1245009568100, "currentmessage": null, "currentmessage_text": null, "hypervisor": "/resources/hypervisors/1", "id": 2, "ipgroup": "/resources/ipGroups/1", "name": "new network name", "updated": 1245009597319, "vlan": 17 }
Related tasks:
2.18. Patterns
You can use the representational state transfer (REST) application programming interface (API) to manage patterns.
Available HTTP Methods
REST API for Patterns
HTTP Method URI Pattern Date Format Success Codes Error Codes GET /resources/patterns application/json
- 200
- Returns the list of patterns that are visible to the client. If a 'name=' query parameter was supplied, the list of patterns will contain only patterns whose name contains the specified search string.
- 403
- This code is returned if the requester does not have access to list patterns.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
GET /resources/patterns/{id} application/json
- 200
- Returns the pattern associated with the given ID.
- 403
- This code is returned if the requester does not have access to the requested pattern.
- 404
- This code is returned if the requested pattern is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
A pattern has the following attributes:
- created
- Creation time of the pattern, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- currentmessage
- Message associated with the current status of the pattern. This field is an 8 character string value that is automatically generated by the system.
- currentmessage_text
- Textual representation of currentmessage. This is a string representation of currentmessage in the preferred language of the requester and is automatically generated by the system.
- currentstatus
- Specifies a string constant representing the current status of the pattern. This field is an 8 character string value that is automatically generated by the system.
- currentstatus_text
- Textual representation of currentstatus. This is a string representation of currentstatus in the preferred language of the requester and is automatically generated by the system.
- description
- Description of the pattern. This field is a string value with a maximum of 1024 characters.
- id
- ID of the pattern. This numeric value is automatically generated by the system.
- name
- Name of the pattern. This field is a string value with a maximum of 1024 characters.
- owner
- Uniform resource identifier (URI) of the user that owns this pattern. The URI is relative and should be resolved against the URI of the pattern.
- parts
- Specifies a list containing one map per part contained in the pattern.
The map for each part contains the following attributes:
- count
- The number of virtual machines that are created from this part when the pattern is deployed. A value of null indicates that the part can only be used to construct a single virtual machine. Parts that can be used to construct multiple virtual machines will have a positive integer value for this attribute.
- description
- Specifies a textual description of the part.
- id
- ID of the pattern part. This numeric value is automatically generated by the system.
- label
- Specifies displayable text used to identify the part.
- properties
- Specifies a list containing one map per property defined for the part.
- scripts
- Specifies a list containing one map per script defined for the part.
- virtualimage
- Uniform resource identifier (URI) of the virtual image associated with the part. The URI is relative and should be resolved against the URI of the pattern.
The map for each part property contains the following attributes:
- description
- Specifies a textual description of the property.
- key
- Specifies a string that uniquely identifies the property within the part property
- label
- Specifies displayable text used to identify the property.
- pclass
- Specifies a string value used to identify related properties within a part. The combination of pclass and key values is unique for every property contained in a given part.
- type
- Specifies a string indicating the type of values that may be assigned to this property. The value will be one of "string", "integer" or "boolean".
- validValues
- For properties that are only allowed to have certain values, the validValues attribute contains a list of the allowable values.
- value
- Default value for the property. The type of this value depends on the property's type.
- multiSelect
- Specifies whether or not the property can be included in a multiple selection. This is an optional field.
- password
- Password for the property. This is an optional field.
- locked
- Specifies whether or not the property is locked. This is an optional field.
- requiredForDevelopment
- Specifies whether or not the property is required for development. This is an optional field.
The map for each script contains the following attributes:
- description
- Specifies a textual description of the script.
- id
- ID of the pattern script. This numeric value is automatically generated by the system.
- label
- Displayable text used to identify the script.
- parameters
- Specifies a list containing one map per parameter defined for the script.
The map for each parameter contains the following attributes:
- key
- Specifies a string that uniquely identifies the parameter. The script key is a string with a maximum length of 4098 characters.
- value
- The default value for the parameter. All parameter have string values with a maximum length of 4098 characters.
- locked
- Specifies whether or not the property is locked. This is an optional field.
- requiredForDeployment
- Specifies whether or not the property is required for deployment. This is an optional field.
- type
- Specifies a string indicating the type of values that may be assigned to this property. The value will be one of "string", "integer" or "boolean".
- updated
- Time the pattern was last updated, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- virtualsystems
- List of URIs of the virtual system instances using this pattern. The URIs are relative should be resolved against the URI of the pattern that contains them.
GET /resources/patterns example
[ { "created": 1242965374865, "currentmessage": null, "currentmessage_text": null, "currentstatus": "RM01028", "currentstatus_text": "Read-only", "description": "Single server is a WebSphere Application Server topology or part of a WebSphere Application Server Network Deployment topology. The single node can be used for a development environment, or as part of a multiple node, production environment in which the application configuration is manually duplicated.", "id": 1, "name": "WebSphere single server", "owner": "/resources/users/1", "updated": 1242965392870, "virtualsystems": [ "/resources/virtualsystems/2", "/resources/virtualsystems/4", "/resources/virtualsystems/6" ] }, { "created": 1245007619361, "currentmessage": null, "currentmessage_text": null, "currentstatus": "RM01027", "currentstatus_text": "Draft", "description": "Test pattern", "id": 5, "name": "test pattern", "owner": "/resources/users/1", "updated": 1245007620130, "virtualsystems": [ ] }, etc. ]See the description of GET /resources/patterns/{id} for attribute details.
GET /resources/patterns/{id} example
{ "created": 1255096393575, "currentmessage": null, "currentmessage_text": null, "currentstatus": "RM01027", "currentstatus_text": "Draft", "description": "Test pattern", "id": 10, "name": "test pattern", "owner": "/resources/users/1", "parts": [ { "description": "Deployment manager", "label": "Deployment manager", "id": 1, "properties": [ { "description": "Number of virtual CPUs required", "key": "numvcpus", "label": "Virtual CPUs", "pclass": "HWAttributes", "type": "integer", "validValues": [ "1", "2", "4" ], "value": "1" }, { "description": "Memory size required in megabytes", "key": "memsize", "label": "Memory size (MB)", "pclass": "HWAttributes", "type": "integer", "value": "2048" }, { "description": "This is the cell name of the profile", "key": "cell_name", "label": "Cell name", "pclass": "ConfigWAS", "type": "string", "value": "DeployerCell" }, { "description": "This is the node name of the profile", "key": "node_name", "label": "Node name", "pclass": "ConfigWAS", "type": "string", "value": "DeployerNode" }, { "description": "List of feature packs", "key": "augment_list", "label": "Feature packs", "pclass": "ConfigWAS", "type": "string", "validValues": [ "sca", "none" ], "value": "none" }, { "description": "This is the root password for the system", "key": "password", "label": "Password (root)", "pclass": "ConfigPWD_ROOT", "type": "string", "value": "" }, { "description": "This is the password for the system and WebSphere account (virtuser)", "key": "password", "label": "Password (virtuser)", "pclass": "ConfigPWD_USER", "type": "string", "value": "" } ], "scripts": [ { "description": "Test script", "id": 1, "label": "test script", "parameters": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "" } ] } ] "virtualimage": "/resources/virtualImages/3" }, { "description": "Custom nodes", "id": 3, "label": "Custom nodes", "properties": [ { "description": "Number of virtual CPUs required", "key": "numvcpus", "label": "Virtual CPUs", "pclass": "HWAttributes", "type": "integer", "validValues": [ "1", "2", "4" ], "value": "1" }, { "description": "Memory size required in megabytes", "key": "memsize", "label": "Memory size (MB)", "pclass": "HWAttributes", "type": "integer", "value": "2048" }, { "description": "This is the cell name of the profile", "key": "cell_name", "label": "Cell name", "pclass": "ConfigWAS", "type": "string", "value": "DeployerCell" }, { "description": "This is the node name of the profile", "key": "node_name", "label": "Node name", "pclass": "ConfigWAS", "type": "string", "value": "DeployerNode" }, { "description": "This is the root password for the system", "key": "password", "label": "Password (root)", "pclass": "ConfigPWD_ROOT", "type": "string", "value": "" }, { "description": "This is the password for the system and WebSphere account (virtuser)", "key": "password", "label": "Password (virtuser)", "pclass": "ConfigPWD_USER", "type": "string", "value": "" } ], "scripts": [ ] "virtualimage": "/resources/virtualImages/5" } ], "updated": 1255096509565, "virtualsystems": [ ] }
Related
2.19. Storage
You can use the representational state transfer (REST) application programming interface (API) to manage storage.
Available HTTP Methods
REST API for Storage
HTTP Method URI Pattern Data Format Success Code Error Code GET /resources/storage application/json
- 200
- Returns the list of storage defined on the IBM PureApplication System. See the example for a sample of the data returned.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
GET /resources/storage/{id} application/json
- 200
- Returns information about storage defined to the IBM PureApplication System.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested storage is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
PUT /resources/storage/{id} application/json
- 200
- The storage was successfully updated. The response body contains a JSON representation of the storage's current state.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the request references a resource that is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
DELETE /resources/storage/{id}
- 204
- The storage has been deleted.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested storage is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
Storage has the following attributes:
- created
- Creation time of the storage, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- hypervisors
- Specifies a list of URIs of the hypervisors associated with this storage. The URIs are relative should be resolved against the URI of the storage that contains them.
- hypervisorstorageid
- Specifies the identifier used by hypervisors to identify this storage, automatically determined. This field contains a unique string value with a maximum of 1280 characters.
- id
- ID of the storage. This value is numeric and is automatically generated by the system.
- name
- Name of the storage, as reported by the hypervisor. This field expects a string value with a maximum of 64 characters.
- updated
- Time the storage was last updated, represent as a number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
GET /resources/storage example
[ { "created": 1245009567366, "hypervisors": [ "/resources/hypervisors/1" ], "hypervisorstorageid": "https://myhypervisor.mycom/sdk#Datastore#497e24f5-ab7b1019-30a5-001a643670e6", "id": 1, "name": "myhypervisor:localstorage1", "updated": 1245009567366 }, { "created": 1245009567758, "hypervisors": [ "/resources/hypervisors/1" ], "hypervisorstorageid": "https://myhypervisor.mycom/sdk#Datastore#49824d1c-f0c6ea83-f3e0-001a643670e6" "id": 2, "name": "myhypervisor:sanstorage2", "updated": 1245009567758, } ]See the description of GET /resources/storage/{id} for attribute details.
GET /resources/storage/{id} example
{ "created": 1245009567758, "hypervisors": [ "/resources/hypervisors/1" ], "hypervisorstorageid": "https://myhypervisor.mycom/sdk#Datastore#49824d1c-f0c6ea83-f3e0-001a643670e6" "id": 2, "name": "myhypervisor:sanstorage2", "updated": 1245009567758, }
PUT /resources/storage/{id} example
Request JSON:
{ "created": 1245009567758, "hypervisors": [ "/resources/hypervisors/1" ], "hypervisorstorageid": "https://myhypervisor.mycom/sdk#Datastore#49824d1c-f0c6ea83-f3e0-001a643670e6" "id": 2, "name": "new name", "updated": 1245009567758, }Response JSON:
{ "created": 1245009567758, "hypervisors": [ "/resources/hypervisors/1" ], "hypervisorstorageid": "https://myhypervisor.mycom/sdk#Datastore#49824d1c-f0c6ea83-f3e0-001a643670e6" "id": 2, "name": "new name", "updated": 1245009593409, }
Related tasks:
2.20. Version
You can use the representational state transfer (REST) application programming interface (API) to obtain version information about IBM PureApplication System W1500.
Available HTTP Methods
REST API for versions
HTTP Method URI Pattern Data Format Success Codes Error Codes GET /resources/version application/json
- 200
- Returns information about the firmware version installed on the IBM PureApplication System. See the example for a sample of the data returned.
None.
The version information is returned as a map containing the following keys:
- version
- The version of the system firmware, as a 4-part version number followed by a hyphen and a build identifier.
GET /resources/version example
{ "version": "3.0.0.0-32058" }
Related tasks:
2.21. Virtual images
You can use the representational state transfer (REST) application programming interface (API) to manage virtual images.
Available HTTP Methods
REST API for virtual images
HTTP Method URI Pattern Data Format Success Codes Error Codes GET /resources/virtualImages application/json
- 200
- Returns the list of virtual images that are visible to the client.
- 403
- This code is returned if the requester does not have access to list virtual images.
- 500
- This code is returned if the system encountered an internal error while processing the request.
GET /resources/virtualImages/{id} application/json
- 200
- Returns the virtual image associated with the given ID.
- 403
- This code is returned if the requester does not have access to the requested virtual image.
- 404
- This code is returned if the requested virtual image is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
A virtual image has the following attributes:
- build
- Specifies the build number associated with the virtual image. This string value is supplied by the provider of the virtual image and cannot be changed.
- created
- Creation time of the virtual image, represented as the number of milliseconds since midnight, January 1, 1970 UTC. The value is numeric and is automatically generated by the system.
- currentmessage
- Message associated with the current status of the virtual image. This field contains an 8 character string value that is generated by the system.
- currentmessage_text
- Textual representation of currentmessage. This is a string representation of currentmessage in the preferred language of the requester and is automatically generated by the system.
- currentstatus
- Specifies a string constant representing the current status of the virtual image. This field contains an 8 character string value that is generated by the system.
- currentstatus_text
- Textual representation of currentstatus. This is a string representation of currentstatus in the preferred language of the requester and is automatically generated by the system.
- description
- Description of the virtual image. This string value is supplied by the provider of the virtual image and cannot be changed.
- hypervisortype
- Type of hypervisor on which this virtual image can run. This attribute is supplied by the provider of the virtual image and has one of the following string values:
- ESX
- id
- ID of the virtual image. This numeric value is automatically generated by the system.
- name
- Name of the virtual image. This string value is supplied by the provider of the virtual image and cannot be changed.
- operatingsystemdescription
- Specifies a textual description of the operating system contained within the virtual image. The string value for this optional attribute is supplied by the provider of the virtual image and cannot be changed.
- operatingsystemid
- Numeric ID of the operating system contained within the virtual image. The ID is one of the values described in the common information model (CIM) specification and is supplied by the provider of the virtual image.
- operatingsystemid_text
- Specifies a textual representation of operatingsystemid.
- operatingsystemversion
- Version of the operating system contained within the virtual image. The string value for this optional attribute is supplied by the provider of the virtual image and cannot be changed.
- owner
- Uniform resource identifier (URI) of the user that owns this virtual image. The URI is relative and should be resolved against the URI of the virtual image.
- updated
- Time that the virtual image was last updated, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- version
- Version of the virtual image. This string value is supplied by the provider of the virtual image and cannot be changed.
GET /resources/virtualImages example
[ { "build": "cea201029.0", "created": 1279134750013, "currentmessage": "", "currentmessage_text": null, "currentstatus": "RM01028", "currentstatus_text": "Read-only", "description": "IBM WebSphere Application Server Hypervisor Edition Intelligent Management Pack 6.1.1.2", "hypervisortype": "valid_value", "id": 2, "name": "WebSphere Application Server 7.0.0.11 with Intelligent Management Pack 6.1.1.2", "operatingsystemdescription": "Novell SUSE Linux Enterprise Server 11", "operatingsystemid": 84, "operatingsystemid_text": "SLES", "operatingsystemversion": "11", "owner": "/resources/users/1", "updated": 1281115880403, "version": "7.0.0.11" } ]
GET /resources/virtualImages/{id} example
{ "build": "cea201029.0", "created": 1279134750013, "currentmessage": "", "currentmessage_text": null, "currentstatus": "RM01028", "currentstatus_text": "Read-only", "description": "IBM WebSphere Application Server Hypervisor Edition Intelligent Management Pack 6.1.1.2", "hypervisortype": "valid_value", "id": 2, "name": "WebSphere Application Server 7.0.0.11 with Intelligent Management Pack 6.1.1.2", "operatingsystemdescription": "Novell SUSE Linux Enterprise Server 11", "operatingsystemid": 84, "operatingsystemid_text": "SLES", "operatingsystemversion": "11", "owner": "/resources/users/1", "updated": 1281115880403, "version": "7.0.0.11" }
Related tasks:
2.22. Virtual machines
You can use the representational state transfer (REST) application programming interface (API) to manage virtual machines.
Available HTTP Methods
REST API for VirtualMachines
HTTP Method URI Pattern Data Format Success Codes Error Codes GET /resources/virtualSystems/{id}/virtualMachines application/json
- 200
- Returns the list of virtual system instances that are visible to the client.
- 403
- This code is returned if the requester does not have access to list virtual machines on the virtual system instance.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
GET /resources/virtualSystems/{id}/virtualMachines/{id} application/json
- 200
- Returns the virtual machine associated with the given ID.
- 403
- This code is returned if the requester does not have access to the requested virtual system instance.
- 404
- This code is returned if the requested virtual machine is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
POST /resources/virtualSystems/{id}/virtualMachines application/json
- 201
- The virtual machine(s) have been defined on the system. The virtual machines are started when the system is able to do so. The response body contains a list of URIs for the new virtual machines. Relative URIs are resolved against the URI used for this request. The URI of the first virtual machine is also included in the HTTP Location header of the response.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester does not have access to list virtual machines on the virtual system instance.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
A virtual system instance has the following attributes:
- cloud
- Uniform resource identifier (URI) of the cloud group in which this virtual machine was started. The URI is relative and should be resolved against the URI of the virtual machine.
- cpucount
- Number of virtual CPUs assigned to this virtual machine. This value is an integer.
- created
- Creation time of the virtual machine, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- currentmessage
- Message associated with the current status of the virtual machine. This field contains an 8 character string value that is generated by the system.
- currentmessage_text
- Textual representation of currentmessage. This is a string representation of currentmessage in the preferred language of the requester and is automatically generated by the system.
- currentstatus
- Specifies a string constant representing the current status of the virtual machine. This field contains an 8 character string value that is generated by the system.
- currentstatus_text
- Textual representation of currentstatus. This is a string representation of currentstatus in the preferred language of the requester and is automatically generated by the system.
- displayname
- Display name used on the hypervisor for this virtual machine. This field contains a string value with a maximum of 1024 characters.
- hypervisor
- Specifies the URI of the hypervisor on which this virtual machine is running. The URI is relative and should be resolved against the URI of the virtual machine.
- hypervisormachineid
- ID assigned to the virtual machine by the hypervisor. This field contains a string value with a maximum of 1024 characters.
- id
- ID of the virtual machine. This value is numeric and is automatically generated by the system.
- ips
- Specifies a list of the URIs of the IP addresses used by this virtual machine. URIs are relative and resolved against the URIs of the virtual machine.
- memory
- Amount of memory allocated to this virtual machine, represented in megabytes. This value is an integer.
- name
- Display name associated with this virtual machine. This field contains a string value with a maximum of 1024 characters.
- runtimeid
- Runtime ID generated by the hypervisor on which this virtual machine is running. This field contains a string value with a maximum of 1024 characters.
- storageid
- Hypervisor storage ID of the storage on which this virtual machine resides. This field contains a string value with a maximum of 1024 characters.
- updated
- Time the virtual system instance was last updated, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
GET /resources/virtualSystems/{id}/virtualMachines example
[ { "cloud": "/resources/clouds/1", "cpucount": 1, "created": 1245376939141, "currentmessage": "RM07044", "currentmessage_text": "Virtual machine has been started", "currentstatus": "RM01006", "currentstatus_text": "Started", "displayname": "two vm virtual system instance vm-009-238 dmgr", "hypervisor": "/resources/hypervisors/1", "hypervisormachineid": "https://virtualwas.rtp.raleigh.ibm.com/sdk#HostSystem#ha-host", "id": 8, "ip": "/resources/ipGroups/1/ips/1", "memory": 2048, "name": "DMGR 1", "runtimeid": "https://virtualwas.rtp.raleigh.ibm.com/sdk#VirtualMachine#29424", "storageid": "https://virtualwas.rtp.raleigh.ibm.com/sdk#Datastore#49824cfe-4bd840fb-a97b-001a643670e6", "updated": 1245377403612 }, { "cloud": "/resources/clouds/1", "cpucount": 1, "created": 1245376954282, "currentmessage": "RM07035", "currentmessage_text": "Waiting for initialization to complete", "currentstatus": "RM01005", "currentstatus_text": "Starting", "displayname": "two vm virtual system instance vm-009-239 custom", "hypervisor": "/resources/hypervisors/1", "hypervisormachineid": "https://virtualwas.rtp.raleigh.ibm.com/sdk#HostSystem#ha-host", "id": 9, "ip": "/resources/ipGroups/1/ips/2", "memory": 2048, "name": "Custom Node 3", "runtimeid": "https://virtualwas.rtp.raleigh.ibm.com/sdk#VirtualMachine#29440", "storageid": "https://virtualwas.rtp.raleigh.ibm.com/sdk#Datastore#49824d1c-f0c6ea83-f3e0-001a643670e6", "updated": 1245377415829 } ]See the description of GET /resources/virtualSystems/{id}/virtualMachines/{id} for attribute details.
GET /resources/virtualSystems/{id}/virtualMachines/{id} example
{ "cloud": "/resources/clouds/1", "cpucount": 1, "created": 1245376939141, "currentstatus_text": "Started", "currentmessage": "RM07044", "currentmessage_text": "Virtual machine has been started", "currentstatus": "RM01006", "displayname": "two vm virtual system instance vm-009-238 dmgr", "hypervisor": "/resources/hypervisors/1", "hypervisormachineid": "https://virtualwas.rtp.raleigh.ibm.com/sdk#HostSystem#ha-host", "id": 8, "ip": "/resources/ipGroups/1/ips/1", "memory": 2048, "name": "DMGR 1", "runtimeid": "https://virtualwas.rtp.raleigh.ibm.com/sdk#VirtualMachine#29424", "storageid": "https://virtualwas.rtp.raleigh.ibm.com/sdk#Datastore#49824cfe-4bd840fb-a97b-001a643670e6", "updated": 1245377675248 }
POST /resources/virtualSystems/{id}/virtualMachines example
Request JSON:
{ "virtualmachine": "/resources/virtualSystems/5/virtualMachines/12", "desiredcount": 2 }Response JSON:
[ "/resources/virtualSystems/5/virtualMachines/16", "/resources/virtualSystems/5/virtualMachines/17" ]
Related tasks:
2.23. Virtual system instances
You can use the representational state transfer (REST) application programming interface (API) to manage virtual system instances.
Available HTTP Methods
REST API for VirtualSystems
HTTP Method URI Pattern Data Format Success Codes Error Codes GET /resources/virtualSystems application/json
- 200
- Returns the list of virtual system instances that are visible to the client.
- 403
- This code is returned if the requester does not have access to list virtual system instances.
- 500
- This code is returned if IBM PureApplication System W1500 encountered an internal error while processing the request.
POST /resources/virtualSystems application/json
- 201
- The virtual system instance has been created and is included in the response body. The URI of the new virtual system instance is included in the Location header of the response.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester does not have permission to create virtual system instances.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
GET /resources/virtualSystems/{id} application/json
- 200
- Returns the virtual system instance associated with the given ID.
- 403
- This code is returned if the requester does not have access to the requested virtual system instance.
- 404
- This code is returned if the requested virtual system instance is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
DELETE /resources/virtualSystems/{id}
- 204
- The virtual system instance has been deleted.
- 403
- This code is returned if the requester does not have permission to delete the virtual system instance.
- 404
- This code is returned if the requested virtual system instance is not defined.
- 500
- This code is returned if theIBM PureApplication System encountered an internal error while processing the request.
The following attributes are required to create a virtual system:
- cloud
- Specifies the URI of the cloud in which to deploy the new virtual system. Either the cloud or the environmentProfile attribute is specified at this level.
- endtime
- Time the virtual system instance is to be stopped, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This attribute is optional. If not specified, the virtual system instance will run until it is manually stopped.
- environmentProfile
- This attribute specifies the URI of the environment in which to deploy the new virtual system instance. Either the cloud or the environmentProfile attribute is specified at this level.
- name
- Name for the new virtual system instance.
- pattern
- Specifies the URI of the pattern to be used for the new virtual system.
- parts
- Specifies a list containing one map per part contained in the pattern.
If you are using the environmentProfile attribute, then you also use one of the cloud and ipGroup attribute pairs provided in the environment profile. The environment profile provides the valid cloud and IP group attributes for that profile:
If the environment profile indicates that the person deploying the pattern provides the IP address then the ipaddresses attribute is also needed:
- cloud
- Specifies the URI of the cloud in which to deploy the new virtual system.
- ipGroup
- Specifies the URI of the IP group in which to deploy the new virtual system.
- ipaddresses
- Lists the representing hostname and ipaddress pairs. Each member in the list must have the ipaddress specified. The hostname is optional. The following example shows this pair specified:
{[hostname:'myhost.mycompany.com', ipaddress:'192.168.0.100' ]}If the environment profile indicates that the person deploying the pattern provides the IP address, then an IP address that is contained within the IP groups that are defined in PureApplication System cannot be specified.
The map for each part contains the following attributes:
- id
- ID of the pattern part. This numeric value is automatically generated by the system.
- label
- Specifies displayable text used to identify the part.
- description
- Specifies a textual description of the part.
- properties
- Specifies a list containing one map per property defined for the part.
- scripts
- Specifies a list containing one map per script defined for the part.
The map for each part property contains the following attributes:
- description
- Specifies a textual description of the property.
- key
- Specifies a string that uniquely identifies the property within the part property
- label
- Specifies displayable text used to identify the property.
- pclass
- Specifies a string value used to identify related properties within a part. The combination of pclass and key values is unique for every property contained in a given part.
- type
- Specifies a string indicating the type of values that can be assigned to this property. The value will be one of "string", "integer" or "boolean".
- validValues
- For properties that are only allowed to have certain values, the validValues attribute contains a list of the allowable values.
- value
- Default value for the property. The type of this value depends on the property's type.
The map for each script contains the following attributes:
- description
- Specifies a textual description of the script.
- id
- ID of the pattern script. This numeric value is automatically generated by the system.
- label
- Displayable text used to identify the script.
- parameters
- Specifies a list containing one map per parameter defined for the script.
The map for each parameter contains the following attributes:
- key
- Specifies a string that uniquely identifies the parameter. The script key is a string with a maximum length of 4098 characters.
- value
- The default value for the parameter. All parameter have string values with a maximum length of 4098 characters.
- starttime
- Time the virtual system instance is to be started, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This attribute is optional. If not specified, the virtual system instance starts as soon as possible.
GET /resources/virtualSystems example
[ { "created": 1245041940730, "currentmessage": null, "currentmessage_text": null, "currentstatus": "RM01036", "currentstatus_text": "Queued", "desiredstatus": "", "desiredstatus_text": null, "id": 6, "name": "futurevs", "owner": "/resources/users/1", "pattern": "/resources/patterns/1", "updated": 1245041940730 }, { "created": 1245356439153, "currentmessage": "RM07045", "currentmessage_text": "The virtual system instance has been deployed and is ready to use", "currentstatus": "RM01006", "currentstatus_text": "Started", "desiredstatus": "", "desiredstatus_text": null, "id": 9, "name": "test virtual system instance", "owner": "/resources/users/1", "pattern": "/resources/patterns/6", "updated": 1245357249316 } ]See the description of GET /resources/virtualsystems/{id} for attribute details.
POST /resources/virtualSystems example
Request JSON:
{ "environmentProfile":"\/resources\/environmentProfiles\/3", "name":"MyTest", "parts":[ { "cloud":"\/resources\/clouds\/5", "count":null, "description":"The administrative manager of a deployment cell", "id":1, "label":"Deployment manager", "nics":[ [ { "ipGroup":"\/resources\/ipGroups\/9" } ] ], "properties":[ { "description":"Number of virtual CPUs required", "key":"numvcpus", "label":"Virtual CPUs", "pclass":"HWAttributes", "type":"integer", "validValues":[ "1", "2", "4", "8" ], "value":"1" }, { "description":"Memory size required in megabytes", "key":"memsize", "label":"Memory size (MB)", "pclass":"HWAttributes", "type":"integer", "value":"2048" }, { "description":"Reserve physical CPUs", "key":"physcpures", "label":"Reserve physical CPUs", "pclass":"HWAttributes", "type":"boolean", "value":"false" }, { "description":"Reserve physical memory", "key":"physmemres", "label":"Reserve physical memory", "pclass":"HWAttributes", "type":"boolean", "value":"false" }, { "description":"This is the cell name of the profile", "key":"cell_name", "label":"Cell name", "pclass":"ConfigWAS", "type":"string", "value":"CloudBurstCell" }, { "description":"This is the node name of the profile", "key":"node_name", "label":"Node name", "pclass":"ConfigWAS", "type":"string", "value":"CloudBurstNode" }, { "description":"List of feature packs", "key":"augment_list", "label":"Feature packs", "pclass":"ConfigWAS", "type":"string", "validValues":[ "none", "batch", "cea", "jpa", "osgi", "sca", "sdo", "xml" ], "value":[ "none" ] }, { "description":"This is the root password for the system", "key":"password", "label":"Password (root)", "pclass":"ConfigPWD_ROOT", "type":"string", "value":"password" }, { "description":"This is the username for the system and websphere", "key":"username", "label":"WebSphere administrative user name", "pclass":"ConfigPWD_USER", "type":"string", "value":"virtuser" }, { "description":"This is the password for the system and WebSphere account", "key":"password", "label":"WebSphere administrative password", "pclass":"ConfigPWD_USER", "type":"string", "value":"password" } ], "scripts":[ { "description":"Configure IBM HTTP Server on node", "id":1, "label":"Add IBM HTTP Server node", "parameters":[ { "key":"ihs", "value":"true" } ] } ], "virtualimage":"\/resources\/virtualImages\/1" }, { "cloud":"\/resources\/clouds\/5", "count":2, "description":"A custom node to be federated into a deployment manager", "id":3, "label":"Custom nodes", "nics":[ [ { "ipGroup":"\/resources\/ipGroups\/9" } ] ], "properties":[ { "description":"Number of virtual CPUs required", "key":"numvcpus", "label":"Virtual CPUs", "pclass":"HWAttributes", "type":"integer", "validValues":[ "1", "2", "4", "8" ], "value":"1" }, { "description":"Memory size required in megabytes", "key":"memsize", "label":"Memory size (MB)", "pclass":"HWAttributes", "type":"integer", "value":"2048" }, { "description":"Reserve physical CPUs", "key":"physcpures", "label":"Reserve physical CPUs", "pclass":"HWAttributes", "type":"boolean", "value":"false" }, { "description":"Reserve physical memory", "key":"physmemres", "label":"Reserve physical memory", "pclass":"HWAttributes", "type":"boolean", "value":"false" }, { "description":"This is the node name of the profile", "key":"node_name", "label":"Node name", "pclass":"ConfigWAS", "type":"string", "value":"CloudBurstNode" }, { "description":"This is the root password for the system", "key":"password", "label":"Password (root)", "pclass":"ConfigPWD_ROOT", "type":"string", "value":"password" }, { "description":"This is the username for the system and websphere", "key":"username", "label":"WebSphere administrative user name", "pclass":"ConfigPWD_USER", "type":"string", "value":"virtuser" }, { "description":"This is the password for the system and WebSphere account", "key":"password", "label":"WebSphere administrative password", "pclass":"ConfigPWD_USER", "type":"string", "value":"password" } ], "scripts":[ ], "virtualimage":"\/resources\/virtualImages\/1" } ], "pattern":"\/resources\/patterns\/3" }Response JSON:
{ "created": 1245361773378, "currentmessage": null, "currentmessage_text": null, "currentstatus": "RM01036", "currentstatus_text": "Queued", "desiredstatus": "", "desiredstatus_text": null, "id": 13, "name": "sample virtual system instance", "owner": "/resources/users/1", "pattern": "/resources/patterns/1", "updated": 1245361773378 }
GET /resources/virtualSystems/{id} example
{ "created": 1245356439153, "currentmessage": "RM07045", "currentmessage_text": "The virtual system instance has been deployed and is ready to use", "currentstatus": "RM01006", "currentstatus_text": "Started", "desiredstatus": "", "desiredstatus_text": null, "id": 9, "name": "test virtual system instance", "owner": "/resources/users/1", "pattern": "/resources/patterns/6", "updated": 1245357249316 }A virtual system instance has the following attributes:
- created
- Creation time of the virtual system instance, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
- currentmessage
- Message associated with the current status of the virtual system instance. This is an 8 character string value that is generated by the system.
- currentmessage_text
- Textual representation of currentmessage. This is a string representation of currentmessage in the preferred language of the requester and is automatically generated by the system.
- currentstatus
- Specifies a string constant representing the current status of the virtual system instance. This is an 8 character string value is automatically generated by the system.
- currentstatus_text
- Textual representation of currentstatus. This is a string representation of currentstatus in the preferred language of the requester and is automatically generated by the system.
- desiredstatus
- Desired status of the virtual system instance. Setting this value causes PureApplication System to initiate whatever steps are needed to get the virtual system instance to this state. This value is an 8 character string value that can only be set to the following values: 'RM01006' (started), 'RM01011' (stopped), 'RM01020' (snapshot), 'RM01030' (captured), 'RM01040' (serviced), 'RM01043' (applied service), or 'RM01058' (archived).
- desiredstatus_text
- Textual representation of desiredstatus. This is a string representation of desiredstatus in the preferred language of the requester and is automatically generated by the system.
- id
- ID of the virtual system instance. This value is numeric and is automatically generated by the system.
- name
- Display name associated with this virtual system instance. This field contains a string value with a maximum of 1024 characters.
- owner
- Specifies the URI of the user that owns this virtual system instance. The URI is relative and should be resolved against the URI of the owner.
- pattern
- Specifies the URI of the pattern used to create this virtual system instance. The URI is relative and should be resolved against the URI of the pattern.
- updated
- Time the virtual system instance was last updated, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system.
DELETE /resources/virtualSystems example
This REST API deletes a virtual system instance and frees the resources it currently consumes. This REST API call accepts the following single optional query parameter:
- delete-virtual-system-force
- A boolean value that indicates the action the system takes if errors are encountered while deleting the virtual system instance. Valid values are true or false. If the query parameter is omitted or is assigned the false value, any errors encountered while deleting the virtual system instance cause the HTTP request to fail with a 500 error code. If the query parameter is assigned the true value, errors are ignored and the deleting processing continues.
Example usage:
DELETE /resources/virtualSystems/47?delete-virtual-system-force=true
Related tasks:
2.24. Elastic load balancing management
You can use the representational state transfer (REST) application programming interface (API) to manage elastic load balancing.
Available HTTP Methods
REST API for Elastic Load Balancing
HTTP Method URI Pattern Date Format Success Codes Error Codes POST /sharedservice/proxy/applications/ reregisterApplication application/json
- 200
- Success
- 400
- Invalid request parameter.
- 401
- The user is not authorized to perform this action.
- 403
- Access forbidden.
- 412
- The deployment_id parameter is null or illegal.
- 500
- Unexpected error.
POST /sharedservice/proxy/applications/reserveApp application/json
- 200
- Success
- 412
- Precondition failed with invalid request parameter.
- 409
- Conflict with existing instance.
- 403
- Access forbidden.
- 500
- Unexpected internal server error.
POST /sharedservice/proxy/applications/ application/json
- 200
- Success
- 412
- Precondition failed with invalid parameter.
- 403
- Access forbidden.
- 500
- Unexpected internal server error.
DELETE /sharedservice/proxy/{id}/servers/{server ip} application/json
- 200
- Success
- 412
- Precondition failed with invalid parameter.
- 403
- Access forbidden.
- 500
- Unexpected internal server error.
POST /sharedservice/proxy/application/certs application/json
- 200
- Success
- 412
- Precondition failed with invalid parameter.
- 403
- Access forbidden.
- 500
- Unexpected internal server error.
DELETE /sharedservice/proxy/applications/remove/{deploment ID} application/json
- 200
- Success
- 412
- Precondition failed with invalid parameter.
- 403
- Access forbidden.
- 500
- Unexpected internal server error.
GET /sharedservice/proxy/applications application/json
- 200
- Success
- 412
- Precondition failed with invalid parameter.
- 403
- Access forbidden.
- 500
- Unexpected internal server error.
/sharedservice/proxy/applications/ reregisterApplication example
{ "appName": "<deployment id>" | "<deployment id>_<template name>", "appDeploymentID": "< deployment_id>", "TEMPLETATE_NAME": "<template name>", "appVirtualHost": "< VIRTUAL_HOST >", "appContexts": "< CONTEXT1>, < CONTEXT2>", "appServers": [ { "serverIP": "<ip addr>", "serverName": "<host name>", "httpPort": 9080, "httpsPort": 9443 } ] }
POST/sharedservice/proxy/applications/reserveApp example
{ "appDeploymentID" : "<deployment id>", "appVirtualHost" : "<vhost>" , "appContexts" : "<context root>", "TEMPLETATE_NAME": "<template name>" }
POST /sharedservice/proxy/applications/ example
{ "appDeploymentID": "<deployment id>", "appVirtualHost": "<vhost>", "TEMPLETATE_NAME": "<template name>", "appContexts": "<context root1>:<context root2>.", "appServers": [ { "serverIP": "<ip addr>", //instance vm ip address "serverName": "<host name>", "httpPort": 9080, //optional "httpsPort": 9443 //optional } ], "appSignerCert": "<signer-cert>" //optional }
DELETE /sharedservice/proxy/{appDeploymentID}/servers/{serverIPAddress} example
DELETE https://<proxy-mgmt>:9999/sharedservice/proxy/applications/<appDeploymentID>/servers/<serverip-addr>
POST /sharedservice/proxy/applications/certs example
{"appName":<dep-id>, "appSignerCert":<signer-cert>}
DELETE /sharedservice/proxy/applications/remove/{appDeploymentID} example
https://<proxy-mgmt>:9999/sharedservice/proxy/applications/remove/<appDeploymentID>
GET /sharedservice/proxy/applications example
{ "d-1854c38f-b527-4dbf-b4d0-bd87431a5a6f":{ "CONTEXTS":[ "d-1854c38f-b527-4dbf-b4d0-bd87431a5a6f\/tradelite\/*", "\/d-1854c38f-b527-4dbf-b4d0-bd87431a5a6f\/tradeli te\/*" ], "APP_DEPLOYMENT_ID":"d-1854c38f-b527-4dbf-b4d0-bd87431a5a6f", "VIRTUAL_HOST":"defaultHost", "ENDPOINTS":[ { "Ports":{ "HTTP":9080, "HTTPS":9443 }, "ExternalIP":"172.16.66.228", "HostName":"ipas-vm-066-228.purescale.raleigh.ibm.com" } ] } }
Related tasks:
System console REST APIs
You can use the representational state transfer (REST) application programming interface (API) to manage PureApplication System resources. All REST APIs use application/json for the data format.
Common parameters
The following parameters provide general status about the overall system function. These fields are commonly used throughout all REST APIs.
- created_time
- The time at which the object is created.
- updated_time
- The time at which the object was last updated.
- state
- The general availability of the object. If the value is pending, the object is created but not activated. If the value is available, the object is active in the system.
- id
- The unique ID of the object in the system.
To list multiple occurrences of a field, specify the same parameter multiple items, for example:
?id=<id1>&id=<id2>The Response Body sections of this application return only a partial response to show an example of one object of the type as several of the whole responses are quite large. Some sections include how to retrieve a singular instance of the object in question. There are no provided examples of the response and parameters, because the details are identical, though a smaller list, to getting the whole response.
Optional parameters for get calls
The following optional parameters can be used to modify the response from the REST API calls.
For REST API GET calls for a single or multiple resources
The resolvechildren query parameter may be used to show children table entries one or more levels down for any fields containing one or more URIs.
/resources/{resource}/{id}?resolvechildren=n where n is the number of levels to resolve
The resolveparents query parameter may be used to show parent table entries one or more levels up for any fields containing one or more URIs.
/resources/{resource}/{id}?resolveparents=n where n is the number of levels to resolve
For REST API GET calls for multiple resources only
Filters may be used to reduce the number of resources returned.
/resources/{resource}?<field>=<value>&fuzzy=<true/false> this will return only records where the specified field contains the value
If fuzzy=true (default) then the search matches the value anywhere in the field. If fuzzy=false then an exact match is performed.
The compare parameter can be used in conjunction with a filter to return a subset of the filtered resources. The field must contain a value that is a number.
/resources/{resource}?<field>=<value>&compare=<gt/gte/lt/lte>
- gt returns resources where the fields are greater than the specified value
- gte returns resources where the fields are greater than or equal to the specified value
- lt returns resources where the fields are less than the specified value
- lte returns resources where the fields are less than or equal to the specified value
The count parameter may be used in addition to the page parameter to return a specified number of resources
/resources/{resource}?count=n&page=m where n is the number of resources to return per page and m is the page number.
If count is omitted then 500 resources are returned per page.
If page is omitted then only the first page is returned containing the number of resources in count.
The totalcount parameter may be used to return a count of the number of resources.
/resources/{resource}?totalcount=true
The order parameter may be used to sort the resources by the specified field name.
/resources/{resource}?order=<+/-><field> where + sorts in ascending order and - sorts in decending order for the specified field
3.1. Acls
Get all acls
URI /deployment/resources/acls Method GET Returns 200 Returns a list of all acls 404 The acl list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of acls.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the ACL
- label_text
- Default label for the ACL
- name
- The name of the ACL
- parent
- The parent of the ACL
- parent_type
- The type of the parent of the ACL
- permissions
- The permissions that may be performed on resource
- resource_id
- The identifier of the resource within the system
- resource_type
- The name of the resource within the system
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- parent_type
- The type of the generic parent
Parents:
Get a specific acl
URI /deployment/resources/acls/{id} Method GET Returns 200 The acl was returned. 404 The acl was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single acl identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.2. Audit configuration
Create an audit configuration
URI /audit/resources/audit_config Method POST Returns 202 Audit configuration has been created and is included in the response body 400 This code is returned if there are problems parsing the JSON data in the request 403 This code is returned if the requester does not have sufficient permission to create an audit configuration 500 PureSystems Manager encountered an internal error while processing the request Creates audit configuration.
Request body
{ "external_storage_audit_download_path": "/home/user1/auditpackages", "external_storage_audit_key_public": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA17xqvGNpgNE9ECXSwavmbe7taC1eaYniZ7xCz6RXwLd4Cez7voo3 tsFrdiXvLRUrUbErSro1oRdMJ1jvUUFoM/czlwIZTxQOZgPFCYxXWF9m81JMR/gJRzOi6gGDKyzjAFOl Vjw+4zpPayZT5OTbI/Hr2DumGqtwesyxHIabtZbvljStUEwvXOSnli7BvvnYs7JcJw7JdvTFjiqVXG5c 4QfVGYRVzmU/gxJL0Nr30JEJ0VFbrEJNWTdEaL0IftsjtS0jogVbU+RAbur+QvQ3pLclWpXWqbktkgkl 3Md2jMzEcp9oKD76AE4rh0NO6S9CcnY/RCvUOdYOH1VTkyrEZw==", "external_storage_audit_limit": "5000", "external_storage_audit_password": "samplepassword", "external_storage_audit_port_number": "22", "external_storage_audit_url": "192.168.0.0", "external_storage_audit_use_key": 0, "external_storage_audit_userid": "root" }
Response body
{ "created_time": "Tue 26 Jun 2012 06:23:39 UTC", "created_time_raw": 1340691819326, "external_storage_audit_download_path": "/home/user1/auditpackages", "external_storage_audit_key_public": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyRHWVxadn2FOYZz4RZoki3BqAOkWSKxb3ElOYWQZSqXPI bfCqKFKUjprzK2G5U3+ZMGeFnEMEtP06O4FS0clHcxXpHDvECFSRFyJYTwUqspK0M+O0OuE1m2H Ai/kA3/m+A27cKZRyQnGzPxulyra+PdFRxIhVO5kr9IR1A5I5E0swiZ+bkueg0flqic062vcR+S2xIq56 sfql/31KjsekYRHOGG8G0zjJJGybS7SjVJBCorK0qZ+i7sXn2JTahfwiW/RWiswcZGYnWB7LVw9ZOFFO DknihZnubxV5X339YOuTKR4hnKTgCwvhvom19K2lO5krByIaPWtGay7BWB23w== root@cocbase", "external_storage_audit_limit": "5000", "external_storage_audit_password": "samplepassword", "external_storage_audit_port_number": "22", "external_storage_audit_url": "192.168.0.0", "external_storage_audit_use_key": 1, "external_storage_audit_userid": "root", "id": "/audit/resources/audit_config/75ac3426-79ea-4914-bc58-20e28c13a100", "jobs": [ "a2a68f1c-8653-4328-bd72-4717edb4201f" ], "label_key": "pure0212", "label_text": "External audit storage information ", "state": "available", "updated_time": "Tue 26 Jun 2012 12:27:46 UTC", "userid": 2, "version": "1.0.0.0" }
Attributes list
- created_time
- The time at which the object is created
- created_time_raw
- Created time in long value
- external_storage_audit_download_path
- The location on the external server to download the audit record package
- external_storage_audit_limit
- The maximum number of records in a package
- external_storage_audit_password
- The password of this user on the external server. This field is mandatory only when external_storage_audit_use_key is 0.
- external_storage_audit_port_number
- The port number to attach to the external server
- external_storage_audit_key_public
- The public key of the external server for automatic authentication
- external_storage_audit_url
- The host name or IP address of the external server
- external_storage_audit_use_key
- The internal key for automatic authentication:
- 0 means using password authentication
- 1 means using public key authentication
- external_storage_audit_userid
- The user name for authentication on the external server
- id
- The unique id of the object in the system
- label_key
- The key for retrieving the label for the record
- label_text
- Default translated message text
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system
- updated_time
- The time at which the object was last updated
- Userid
- The internal user number
- version
- REST API version number
Test the connection
URI /audit/resources/audit_config?connectiontest Method POST Returns 202 Connection test successful 401 User not authorized to perform connection test 412 Cannot ping specified host (IP address) or connection test failed. 500 PureSystems Manager encountered an internal error while processing the request. Tests the connection from PureApplication System server to the external storage server specified by the POST parameters of this request.
Note: This will not overwrite the audit configuration.
Request body
{ "external_storage_audit_download_path": "/home/user1/auditpackages", "external_storage_audit_key_public": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA17xqvGNpgNE9ECXSwavmbe7taC1eaYniZ7xCz6RXwLd4Cez7voo3 tsFrdiXvLRUrUbErSro1oRdMJ1jvUUFoM/czlwIZTxQOZgPFCYxXWF9m81JMR/gJRzOi6gGDKyzjAFOl Vjw+4zpPayZT5OTbI/Hr2DumGqtwesyxHIabtZbvljStUEwvXOSnli7BvvnYs7JcJw7JdvTFjiqVXG5c 4QfVGYRVzmU/gxJL0Nr30JEJ0VFbrEJNWTdEaL0IftsjtS0jogVbU+RAbur+QvQ3pLclWpXWqbktkgkl 3Md2jMzEcp9oKD76AE4rh0NO6S9CcnY/RCvUOdYOH1VTkyrEZw==", "external_storage_audit_limit": "5000", "external_storage_audit_password": "samplepassword", "external_storage_audit_port_number": "22", "external_storage_audit_url": "192.168.0.0", "external_storage_audit_use_key": 0, "external_storage_audit_userid": "root" }
Response body
Nothing is returned.
Get all audit configurations
URI /audit/resources/audit_config Method GET Returns 200 The audit configuration list was returned 404 The audit configuration list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of all audit configurations.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Thu 21 Jun 2012 01:03:19 UTC", "created_time_raw": 1340240599374, "external_storage_audit_download_path": "/home/user1/auditpackages", "external_storage_audit_key_public": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA17xqvGNpgNE9ECXSwavmbe7taC1eaYniZ7xCz6RXwLd4Cez7voo3 tsFrdiXvLRUrUbErSro1oRdMJ1jvUUFoM/czlwIZTxQOZgPFCYxXWF9m81JMR/gJRzOi6gGDKyzjAFOl Vjw+4zpPayZT5OTbI/Hr2DumGqtwesyxHIabtZbvljStUEwvXOSnli7BvvnYs7JcJw7JdvTFjiqVXG5c 4QfVGYRVzmU/gxJL0Nr30JEJ0VFbrEJNWTdEaL0IftsjtS0jogVbU+RAbur+QvQ3pLclWpXWqbktkgkl 3Md2jMzEcp9oKD76AE4rh0NO6S9CcnY/RCvUOdYOH1VTkyrEZw==", "external_storage_audit_limit": "5000", "external_storage_audit_password": "samplepassword", "external_storage_audit_port_number": "22", "external_storage_audit_url": 192.168.0.0", "external_storage_audit_use_key": 0, "external_storage_audit_userid": "root", "id": "/audit/resources/audit_config/a7d4a7c7-f8bf-4a1e-9598-b59c7b6bb5fa", "label_key": "pure0212", "label_text": "External audit storage information ", "state": "available", "updated_time": "Fri 22 Jun 2012 03:36:13 UTC", "userid": 3, "version": "1.0.0.0" } ]
Get a specific audit configuration
URI /audit/resources/audit_config/{id} Method GET Returns 200 The audit configuration was returned 404 The audit configuration was not found 500 PureSystems Manager encountered an internal error while processing the request Returns a single audit configuration identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Thu 21 Jun 2012 01:03:19 UTC", "created_time_raw": 1340240599374, "external_storage_audit_download_path": "/home/user1/auditpackages", "external_storage_audit_key_public": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA17xqvGNpgNE9ECXSwavmbe7taC1eaYniZ7xCz6RXwLd4Cez7voo3 tsFrdiXvLRUrUbErSro1oRdMJ1jvUUFoM/czlwIZTxQOZgPFCYxXWF9m81JMR/gJRzOi6gGDKyzjAFOl Vjw+4zpPayZT5OTbI/Hr2DumGqtwesyxHIabtZbvljStUEwvXOSnli7BvvnYs7JcJw7JdvTFjiqVXG5c 4QfVGYRVzmU/gxJL0Nr30JEJ0VFbrEJNWTdEaL0IftsjtS0jogVbU+RAbur+QvQ3pLclWpXWqbktkgkl 3Md2jMzEcp9oKD76AE4rh0NO6S9CcnY/RCvUOdYOH1VTkyrEZw==", "external_storage_audit_limit": "5000", "external_storage_audit_password": "samplepassword", "external_storage_audit_port_number": "22", "external_storage_audit_url": "192.168.0.0", "external_storage_audit_use_key": 0, "external_storage_audit_userid": "root", "id": "/audit/resources/audit_config/a7d4a7c7-f8bf-4a1e-9598-b59c7b6bb5fa", "label_key": "pure0212", "label_text": "External audit storage information ", "state": "available", "updated_time": "Fri 22 Jun 2012 03:36:13 UTC", "userid": 3, "version": "1.0.0.0" } ]
Delete a specific audit configuration
URI /audit/resources/audit_config/{id} Method DELETE Deletes a single audit configuration identified by {id}.
Request body
N/A
Response body
No content
3.3. Audit records
Get all records
URI /audit/resources/records Method GET Returns 200 Returns a list of all records 404 The record list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of audit records.
The maximum record count for this command is 500.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "actionid": "PUT", "additionaldata": "userConfigRoles=[SUPER_USER, HARDWARE_ADMIN_WRITER, SECURITY_ADMIN_WRITER, HARDWARE_ADMIN_READER, SECURITY_ADMIN_READER, AUDIT_READER, AUDIT_WRITER, APPLIANCE_ADMIN_WRITER, APPLIANCE_ADMIN_READER, CLOUD_ADMIN_WRITER, CLOUD_ADMIN_READER, CLOUD_USER, REPORT_READER, CATALOG_CREATOR, PATTERN_CREATOR, ILMT_USER, PROFILE_CREATOR, ROLE_ADMIN, CLOUDGROUP_ADMIN_WRITER, CLOUDGROUP_ADMIN_READER, USER_ADMIN_READER, TOOLS_ADMIN_WRITER, TOOLS_ADMIN_READER]#|isrecoveryprocess=false#| requestbody=users#|status=202#|requestPath=/resources/users/5cb15c98-fdd2-4e4aa2e0- 772c0e23bb0f#|eventid=PUT#|requestRemotePort=48135#|message_key=pure0206#| message=Router update#|auditresults=202#|requestServerName=localhost#| requestURI=/admin/resources/users/5cb15c98-fdd2-4e4a-a2e0-772c0e23bb0f#| requestUserName=admin#|userName=sampleuser#|modifiedItems=roles|#| resourceType=users#|updatedResource=[updated_time:1340357410415, id:5cb15c98- fdd2-4e4a-a2e0-772c0e23bb0f, user_id:sampleuser]#| routerRenderJson=[current_message:null, created_time:Fri 22 Jun 2012 09:30:06 UTC, full_cloud_group:T, user_groups:[/admin/resources/user_groups/2d5b7011- 21d8-4222-b908-10949ee8d566], name:sampleuser, user_id:sampleuser, updated_time:Fri 22 Jun 2012 09:30:10 UTC, state:available, label_key:pure8500, label_text:User, version:1.0.0.0, auth_mode:internal, id:/admin/resources/users/5cb15c98-fdd2-4e4a-a2e0-772c0e23bb0f, email:sampleuser@test.com, deployment_options:F, acls:[], created_time_raw:1340357406294, is_disabled:F, is_internal:F, current_status:null, roles:[/admin/resources/roles/7ba57dda-0b5d-4f84-8a5f- 020b65c90c65, /admin/resources/roles/d7331ce8-0bcf-42c2-8603-149c1c7b64e2, /admin/resources/roles/c07a6a2b-535b-4ad9-b562-78c55898764d, /admin/resources/roles/c9c1b511-bd90-49a5-9de4-b2a16b8c2ccd, /admin/resources/roles/864d3c6b-2c20-4b12-aef0-b94d8439bde7, /admin/resources/roles/01f14a5d-cb03-4762-ad4b-f4fccc7c4ce7, /admin/resources/roles/39eb3d98-e9fd-45e4-b493-33be14e34073, /admin/resources/roles/50342b41-a53a-4d8a-bb20-43d8e12a9299, /admin/resources/", "componenttype": "ibm:ipas.server", "counter": 1, "created_time": "Fri 22 Jun 2012 09:30:10 UTC", "created_time_raw": 1340357410435, "csv": "", "id": "/audit/resources/records/49ed2689-24bb-4bcc-bc14-49a4470661cf", "ip": "192.168.0.0", "label_key": "pure0200", "label_text": "Current system audit record", "resourceid": "5cb15c98-fdd2-4e4a-a2e0-772c0e23bb0f", "source": "router", "state": "successful", "timestamp": "1340357410429", "updated_time": "Fri 22 Jun 2012 09:30:10 UTC", "userid": "admin", "version": "1.0.0.0" } ]
Attributes list
- actionid
- The unique id of the action that was being taken
- additionaldata
- Any audit data related to this event.
- componenttype
- The module that has created this audit
- counter
- The number of times this record has happened in a specified time
- created_time
- The time at which the object is created
- created_time_raw
- The created_time in long value
- csv
- obsolete
- id
- The unique id of the object in the system.
- ip
- The ip address that was being used at the time of this audit
- label_key
- The key for retrieving the label for the record
- label_text
- Default translated message text
- resourceid
- The resource associated with this audit
- source
- The source component which generated this audit record
- state
- The general availability of the record. If "pending" the record has been created but not activated. If "available" the record is active in the system.
- timestamp
- The time the record was created (in machine-time, long value form)
- updated_time
- The time at which the record was last updated
- Userid
- The originator of the audit
- version
- Product version number
Get a specific record
URI /audit/resources/records/{id} Method GET Returns 200 The record was returned 404 The record was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single record identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
{ "actionid": "PUT", "additionaldata": "userConfigRoles=[SUPER_USER, HARDWARE_ADMIN_WRITER, SECURITY_ADMIN_WRITER, HARDWARE_ADMIN_READER, SECURITY_ADMIN_READER, AUDIT_READER, AUDIT_WRITER, APPLIANCE_ADMIN_WRITER, APPLIANCE_ADMIN_READER, CLOUD_ADMIN_WRITER, CLOUD_ADMIN_READER, CLOUD_USER, REPORT_READER, CATALOG_CREATOR, PATTERN_CREATOR, ILMT_USER, PROFILE_CREATOR, ROLE_ADMIN, CLOUDGROUP_ADMIN_WRITER, CLOUDGROUP_ADMIN_READER, USER_ADMIN_READER, TOOLS_ADMIN_WRITER, TOOLS_ADMIN_READER]#|isrecoveryprocess=false#| requestbody=users#|status=202#|requestPath=/resources/users/5cb15c98-fdd2-4e4aa2e0- 772c0e23bb0f#|eventid=PUT#|requestRemotePort=48135#|message_key=pure0206#| message=Router update#|auditresults=202#|requestServerName=localhost#| requestURI=/admin/resources/users/5cb15c98-fdd2-4e4a-a2e0-772c0e23bb0f#| requestUserName=admin#|userName=sampleuser#|modifiedItems=roles|#| resourceType=users#|updatedResource=[updated_time:1340357410415, id:5cb15c98- fdd2-4e4a-a2e0-772c0e23bb0f, user_id:sampleuser]#| routerRenderJson=[current_message:null, created_time:Fri 22 Jun 2012 09:30:06 UTC, full_cloud_group:T, user_groups:[/admin/resources/user_groups/2d5b7011- 21d8-4222-b908-10949ee8d566], name:sampleuser, user_id:sampleuser, updated_time:Fri 22 Jun 2012 09:30:10 UTC, state:available, label_key:pure8500, label_text:User, version:1.0.0.0, auth_mode:internal, id:/admin/resources/users/5cb15c98-fdd2-4e4a-a2e0-772c0e23bb0f, email:sampleuser@test.com, deployment_options:F, acls:[], created_time_raw:1340357406294, is_disabled:F, is_internal:F, current_status:null, roles:[/admin/resources/roles/7ba57dda-0b5d-4f84-8a5f- 020b65c90c65, /admin/resources/roles/d7331ce8-0bcf-42c2-8603-149c1c7b64e2, /admin/resources/roles/c07a6a2b-535b-4ad9-b562-78c55898764d, /admin/resources/roles/c9c1b511-bd90-49a5-9de4-b2a16b8c2ccd, /admin/resources/roles/864d3c6b-2c20-4b12-aef0-b94d8439bde7, /admin/resources/roles/01f14a5d-cb03-4762-ad4b-f4fccc7c4ce7, /admin/resources/roles/39eb3d98-e9fd-45e4-b493-33be14e34073, /admin/resources/roles/50342b41-a53a-4d8a-bb20-43d8e12a9299, /admin/resources/", "componenttype": "ibm:ipas.server", "counter": 1, "created_time": "Fri 22 Jun 2012 09:30:10 UTC", "created_time_raw": 1340357410435, "csv": "", "id": "/audit/resources/records/49ed2689-24bb-4bcc-bc14-49a4470661cf", "ip": "192.168.0.0", "label_key": "pure0200", "label_text": "Current system audit record", "resourceid": "5cb15c98-fdd2-4e4a-a2e0-772c0e23bb0f", "source": "router", "state": "successful", "timestamp": "1340357410429", "updated_time": "Fri 22 Jun 2012 09:30:10 UTC", "userid": "admin", "version": "1.0.0.0" }
3.4. Audit record packages
Create a new record package
URI /audit/resources/recordpackages Method POST Returns 204 Record package has been created and is included in the response body 400 This code is returned if there are problems parsing the JSON data in the request 403 This code is returned if the requester does not have sufficient permission to create an audit configuration 500 PureSystems Manager encountered an internal error while processing the request. Creates audit record packages.
The number of record packages created from this command is only limited by the start and end dates that are specified by the requestor.
Request body
{ "start_time": 1340357410435, "end_time": 1340557410435, "timezone": "GMT" }}
Response body
(Same with GET /audit/resources/recordpackages/{id})
{ "checksum": "D/C3i9dbhY7gDUDV8W16b2iXCg+ZNeel9lZ8K/v5B9O8mG5dz0kbhS6T3NhF5dJ2/WjHkqVwXA3 MxP41CHH61MP6/SptxC/eioTgDoqBRV73Ag6uDLjY7O8pBPjDV1xt2rbpK6F72rmmenPncCAY0pK0 OyV/VBEm6Je4ZHL36KYIXs6k+mV4LE285hUvA1cprLVage0qYmZqjwMZtXYwIwwvISUSBKsU00Kp G0cDXSgjdgsCyGryl+M3YEPgo9X2PncBF1c3NPVf2F4nDkW0bmsLc5sqPd44ngFOf3Daob2rcKsnu fYfmTWBASJ2RDVD+77SDHIlaJuSB+J2VfcSXw==", "created_time": "Tue 26 Jun 2012 01:19:26 SST", "created_time_raw": 1340713166416, "end_time": 1340706105842, "events": [ ], "filename": "puresystems-audit-2012_25_06_053355_SST-2012_25_06_232145_SST.csv.gz", "filesize": 98, "id": "/audit/resources/recordpackages/5e2c1642-a3bf-460d-86ed-82a1eb82933f", "label_key": "pure0201", "label_text": "Collection of audit records spanning the specified timeframe", "packaged_log_url": "/data/www/downloads/recordpackages/puresystems-audit- 2012_25_06_053355_SST-2012_25_06_232145_SST.csv.gz", "start_time": 1340642035452, "state": "available", "timezone": "Pacific/Pago_Pago", "updated_time": "Tue 26 Jun 2012 01:19:26 SST", "version": "1.0.0.0" }
Attributes list
- start_time
- (optional) condition to retrieve audit records from the database
- Long value, machine time (UNIX time)
- Requests with no start_time start from the oldest audit record in the database
- end_time
- (optional) condition to retrieve audit records from the database
- Long value, machine time (UNIX time)
- Requests with no end_time retrieve to the latest audit record in the database or the maximum number of records per package defined in the audit configuration (default value is 20,000)
- timezone
- The timezone that this record package is to be created in
- All 614 time zones defined in Java installed on the PureApplication System are supported by this REST API
- Refer to the List of time zones regarding the value
Get all record packages
URI /audit/resources/recordpackages Method GET Returns 200 Returns a list of all record packages 404 The record package list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of record packages.
The maximum record count for this command is 500.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Attributes list
- checksum
- The security checksum that is generated to make sure the file is whole
- created_time
- The time at which the recordpackage is created
- created_time_raw
- The created time in long value
- end_time
- The created time of the last audit in the recordpackage
- events
- obsolete
- filename
- The file name of the recordpackage
- filesize
- File size
- id
- The unique id of the recordpackage
- label_key
- The key for retrieving the label for the recordpackage
- label_text
- Default translated message text
- packaged_log_url
- The location of the recordpackage on the internal file system
- start_time
- The created time of the first audit in the recordpackage
- state
- The general availability of the recordpackage. If "pending" the recordpackage has been created but not activated. If "available" the recordpackage is active in the system.
- timezone
- The time zone that this recordpackage was created in; covers
- updated_time
- The time at which the recordpackage was last updated
- version
- Product version number
Children:
Get a specific record package
URI /audit/resources/recordpackages/{id} Method GET Returns 200 The record package was returned 404 The record package was not found 500 PureSystems Manager encountered an internal error while processing the request Returns a single record package identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Download a specific record package
URI /audit/resources/recordpackages/{id}?download Method GET Downloads a single record package identified by {id}.
3.5. Chassis Fans
Get all Chassis Fans
URI /admin/resources/chassis_fans Method GET Returns 200 Returns a list of all Chassis Fans 404 The Chassis Fan list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Chassis Fans.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:03:14 GMT" "speed": "27%" "leds": [ ] "name": "SN#23EWD31F1" "health_state": "ok" "state": "available" "updated_time": "Wed, 18 Apr 2012 20:13:46 GMT" "compute_node_chassis": "/admin/resources/compute_node_chassis/ddbc2af5-ebc9-4a2e-92fc-aabd88bac3c1" "label_key": "pure0514" "label_text": "Chassis Cooling Device" "events": [ ] "id": "/admin/resources/chassis_fans/47e92fb2-8bb1-4c6f-a7ca-966075be5aa6" "vendor_informations": [ "/admin/resources/vendor_informations/3b48f980-e812-4984-b493-b7809c6593c7" ] } ]
- compute_node_chassis
- The compute node chassis the fan is associated with
- created_time
- The time at which the object is created
- health_state
- The health state of the chassis fan, either �normal� or �warning�
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the chassis fan
- label_text
- Default translated message text
- name
- The name of the chassis fan
- speed
- The speed of the chassis fan in revolutions per minute
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
Parents:
Children: vendor_informations, events
Get a specific Chassis Fan
URI /admin/resources/chassis_fans/{id} Method GET Returns 200 The Chassis Fan was returned. 404 The Chassis Fan was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Chassis Fan identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.6. Chassis Management Modules
Get all Chassis Management Modules
URI /admin/resources/chassis_management_modules Method GET Returns 200 Returns a list of all Chassis Management Modules 404 The Chassis Management Module list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Chassis Management Modules.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "firmware_level": "2PET07R - 02/02/2012 - 7" "advanced_managers": [ "/admin/resources/advanced_managers/3575df24-c9e3-426e-a6dd-a6984ad080b0" "/admin/resources/advanced_managers/19ab56fc-a4ed-4199-98e0-211b7c36b2b4" ] "target_state": "available" "created_time": "Wed, 18 Apr 2012 14:03:07 GMT" "target_result": "done" "name": "SN#23EWD31MM1" "state": "available" "updated_time": "Wed, 18 Apr 2012 21:07:55 GMT" "compute_node_chassis": "/admin/resources/compute_node_chassis/ddbc2af5-ebc9-4a2e-92fc-aabd88bac3c1" "label_key": "pure0512" "label_user": "Chassis Management Module" "role": "primary" "label_text": "Chassis Management Module" "events": [ ] "id": "/admin/resources/chassis_management_modules/4312f316-4aa4-489b-b55e-204b52cnull" "health_stats": [ "/admin/resources/health_stats/1a428836-30b3-4df2-ad85-6047c24aaed9" ] "vendor_informations": [ "/admin/resources/vendor_informations/5d2b7569-0b8c-47f6-8ad5-933aa3000126" ] "locations": [ "/admin/resources/locations/68767529-54dd-4e49-bc15-2b1ce6a62bc0" ] } ]
- compute_node_chassis
- The compute node chassis that the chassis management module belongs to
- created_time
- The time at which the object is created
- firmware_level
- The firmware level for the chassis management module
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the chassis management module
- label_text
- Default translated message text
- label_user
- User modified message text
- name
- The name of the chassis management module
- role
- The role of compute node chassis, either �primary� or �secondary�
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- target_result
- The result of the state change of the chassis management module
- target_state
- The user modifiable desired state of the chassis management module. Valid values are "available"
- updated_time
- The time at which the object was last updated
Parents:
Children:
vendor_informations, locations, events, health_stats
Get a specific Chassis Management Module
URI /admin/resources/chassis_management_modules/{id} Method GET Returns 200 The Chassis Management Module was returned. 404 The Chassis Management Module was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Chassis Management Module identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.7. Clouds
You can use the representational state transfer (REST) application programming interface (API) to manage clouds.
Available HTTP Methods
Note: Only users who have sufficient access rights, for example, access provided by the administrator of the cloud group, or are associated with the cloud group admin role can retrieve the cloud group details.
REST API for Clouds
HTTP Method URI Pattern Data Format Success Codes Error Codes GET /resources/clouds application/json
- 200
- Returns the list of cloud groups defined on the system. See the example for a sample of the data returned.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
POST /resources/clouds application/json
- 201
- Returned when the cloud group has been created and is included in the response body. The URL of the new cloud group is included in the Location header of the response.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 500
- This code is returned if PureApplication System encountered an internal error while processing the request.
GET /resources/clouds/{id} application/json
- 200
- Returns information about a specific cloud group defined to PureApplication System.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested cloud group is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
PUT /resources/clouds/{id} application/json
- 200
- The cloud group was successfully updated. The response body contains a JSON representation of the current state of the cloud group.
- 400
- This code is returned if there are problems parsing the JSON data in the request.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested cloud group is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
DELETE /resources/clouds/{id}
- 204
- The cloud group has been deleted.
- 403
- This code is returned if the requester has not been assigned the cloud administration role.
- 404
- This code is returned if the requested cloud group is not defined.
- 500
- This code is returned if the IBM PureApplication System encountered an internal error while processing the request.
A cloud group has the following attributes:
- address
- The network address or host name used to communicate with the VMware Virtual Center or IBM Systems Director represented by a cloud group. This attribute is available for all managed cloud groups.
- certfied
- Indicates if the SSL certificate from this VMware Virtual Center or IBM Systems Director has been accepted. Use the Cloud.acceptCertficiate() method to accept a certificate. For custom cloud groups, this attribute must always have a value of None. This attribute is available for all managed cloud groups.
- created
- Creation time of the cloud group, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system. This attribute is available for all cloud groups.
- currentstatus
- The current status of the Cloud object. This attribute contains an 8 character string value that is generated by the system. This attribute is available for all cloud groups.
- currentstatus_text
- This is a string representation of currentstatus in the preferred language of the requester and is automatically generated by the system. This attribute is available for all cloud groups and is read-only.
- defaultcloud
- Specifies if this cloud group is the default cloud group used by PureApplication System. User created cloud groups will always have this value set to 'F'. This field expects a string value of 'T' or 'F' with a maximum of 1 character. This attribute is available for all cloud groups.
- description
- Description of the cloud group. This field expects a string value with a maximum of 1024 characters. This attribute is available for all cloud groups.
- hypervisors
- Specifies a list of the uniform resource identifiers (URIs) of the hypervisors that are assigned to the cloud group. The URIs are relative and should be resolved against the URI of the cloud group that contains them. This attribute is available for all cloud groups.
- id
- Id of the cloud group. This numeric value is automatically generated by the system. This attribute is available for all cloud groups.
- name
- Name associated with this cloud group. This field expects a string value with a maximum of 64 characters. Each cloud group must have a unique name. This attribute is available for all cloud groups.
- owner
- User that is the owner of this cloud. This attribute is available for all cloud groups.
- password
- Password used to access the VMware Virtual Center or IBM Systems Director that manages the cloud group. This attribute is available for all managed cloud groups.
- type
- The type of this cloud group. Custom cloud groups have a type value of None; managed cloud groups must have the type value 'manager'. This value may be specified when the cloud group is created, but cannot be changed afterwards. This attribute is available for all cloud groups.
- updated
- Time the cloud group was last updated, represented as the number of milliseconds since midnight, January 1, 1970 UTC. This value is numeric and is automatically generated by the system. This attribute is available for all cloud groups.
- Userid
- Userid used to access the VMware Virtual Center or IBM Systems Director that manages the cloud group. This attribute is available for all managed cloud groups.
- vendor
- Type of hypervisors this cloud group will contain. This field expects a string value with a maximum of 128 characters. This string value must always be:
ESX . This attribute is available for all cloud groups.
GET /resources/clouds example
GET /resources/clouds [ { "created": 1254582310617, "currentstatus": "RM10110", "currentstatus_text": "All hypervisors available", "defaultcloud": "T", "description": "RM03704", "hypervisors": [ "/resources/hypervisors/16" ], "id": 7, "name": "Default ESX group", "owner": "/resources/users/1", "type": null, "updated": 1254582310617, "vendor": "ESX" }, { "address": "172.16.0.5", "certified": "T", "created": 1255049170917, "currentstatus": "RM10328", "currentstatus_text": "Connected", "defaultcloud": "F", "description": "description of my cloud group", "hypervisors": [ "/resources/hypervisors/4", "/resources/hypervisors/5", ], "id": 17, "name": "my cloud group", "owner": "/resources/users/1", "password": "125504917100029", "type": "manager", "updated": 1255049170917, "userid": "root", "vendor": "PowerVM" } ]See the description of GET /resources/clouds/{id} for attribute details.
POST /resources/clouds example
Request JSON:
{ "defaultcloud": "F", "description": "a test cloud", "name": "Test cloud", "type": null, "vendor": "ESX" }Response JSON:
{ "created": 1255055319725, "currentstatus": "RM10330", "currentstatus_text": "No hypervisors in cloud group", "defaultcloud": "F", "description": "a test cloud", "hypervisors": [ ], "id": 18, "name": "Test cloud", "owner": "/resources/users/1", "type": null, "updated": 1255055319725, "vendor": "ESX" }
GET /resources/clouds/{id} example
{ "address": "172.16.0.5", "certified": "T", "created": 1255049170917, "currentstatus": "RM10328", "currentstatus_text": "Connected", "defaultcloud": "F", "description": "description of my cloud group", "hypervisors": [ "/resources/hypervisors/4", "/resources/hypervisors/5", ], "id": 17, "name": "my cloud group", "owner": "/resources/users/1", "password": "125504917100029", "type": "manager", "updated": 1255049170917, "userid": "root", "vendor": "PowerVM" }
PUT /resources/clouds/{id} example
Request JSON:
{ "created": 1254582310617, "currentstatus": "RM10110", "currentstatus_text": "All hypervisors available", "defaultcloud": "T", "description": "new description for test cloud", "hypervisors": [ "/resources/hypervisors/16", "/resources/hypervisors/27", ], "id": 14, "name": "new name for test cloud", "owner": "/resources/users/1", "type": null, "updated": 1254582310617, "vendor": "ESX" }Response JSON:
{ "created": 1254582310617, "currentstatus": "RM10110", "currentstatus_text": "All hypervisors available", "defaultcloud": "T", "description": "new description for test cloud", "hypervisors": [ "/resources/hypervisors/16", "/resources/hypervisors/27", ], "id": 14, "name": "new name for test cloud", "owner": "/resources/users/1", "type": null, "updated": 125458273098, "vendor": "ESX" }
Related tasks:
3.8. Clusters
Get all clusters
URI /admin/resources/clusters Method GET Returns 200 Returns a list of all clusters 404 The cluster list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of clusters.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:03:01 GMT" "name": "Cluster 1" "rebalance_enabled": "true" "state": "available" "updated_time": "Wed, 18 Apr 2012 14:03:01 GMT" "label_key": "pure0506" "label_user": "PureApplication System" "label_text": "PureApplication System" "events": [ ] "id": "/admin/resources/clusters/b5307af2-3890-4a8d-bfe2-bcd6c4d9a6c5" "racks": [ "/admin/resources/racks/fa455378-b6a3-466f-8e36-21659e9cc64b" ] "vendor_informations": [ "/admin/resources/vendor_informations/7eb94a6f-5222-4b31-be59-de9cbd8138f4" ] "locations": [ "/admin/resources/locations/494aaccd-5dc1-4685-b157-ebfdd0d7d1fa" ] } ]
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the cluster
- label_text
- Default translated message text
- label_user
- User modified message text
- name
- The name of the cluster
- rebalance_enabled
- Indicates whether automatic rebalancing of instances is enabled. When rebalance is enabled, instances are optimally distributed across compute nodes within a cloud group.
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
Children: vendor_informations, locations, events
Get a specific cluster
URI /admin/resources/clusters/{id} Method GET Returns 200 The cluster was returned. 404 The cluster was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single cluster identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.9. Comments
Get all comments
URI /admin/resources/comments Method GET Returns 200 Returns a list of all comments 404 The comment list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of comments.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- category
- Category of the comment
- comment
- Comment
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- owner_id
- Owner's identifier number
- parent_type
- Type of parent
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- type
- Type of the comment
- updated_time
- The time at which the object was last updated
- parent_type
- The type of the generic parent
Parents:
Get a specific comment
URI /admin/resources/comments/{id} Method GET Returns 200 The comment was returned. 404 The comment was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single comment identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.10. Compute Node Chassis
Get all Compute Node Chassis
URI /admin/resources/compute_node_chassis Method GET Returns 200 Returns a list of all Compute Node Chassis 404 The Compute Node Chassis list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Compute Node Chassis.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "firmware_level": "0" "switches": [ "/admin/resources/switches/c472414c-30fc-4b0f-8e31-a96087d2bc93" "/admin/resources/switches/9bac2dec-d7a2-4e2c-90e3-aaac510f95a9" "/admin/resources/switches/bc20d9a4-6783-4c98-b9fc-6cbebffb5b0c" "/admin/resources/switches/8fc0edfc-3f76-4c54-b4a2-07b17adf7a7c" ] "media_trays": [ ] "chassis_management_modules": [ "/admin/resources/chassis_management_modules/4312f316-4aa4-489b-b55e-204b52cnull" ] "created_time": "Wed, 18 Apr 2012 14:03:07 GMT" "power_supplies": [ "/admin/resources/power_supplies/32d2d21f-c186-450f-9f12-5e073ce60084" "/admin/resources/power_supplies/da6c459b-494d-4061-b5ee-29459ac6346d" "/admin/resources/power_supplies/eb9f6920-4276-4c15-93ec-003906950eb1" "/admin/resources/power_supplies/0a6879f2-5dd9-4f85-b30d-c76d07cb301c" "/admin/resources/power_supplies/45c18992-2cb3-46ca-8180-1e44de2efd98" "/admin/resources/power_supplies/a613f532-12d0-483c-895d-525959cdaaf5" ] "energy_stats": [ "/admin/resources/energy_stats/01eb1132-0dbf-45e4-ab41-ebbd27366373" ] "leds": [ ] "compute_nodes": [ "/admin/resources/compute_nodes/86a00f2c-376c-4811-9dbd-f6726248a852" ] "name": "SN#23EWD31" "updated_time": "Wed, 18 Apr 2012 14:03:07 GMT" "state": "available" "machine_type": "8721" "label_key": "pure0511" "temperature_stats": [ "/admin/resources/temperature_stats/6bbc5b50-8563-42e3-a739-6bfd72192717" ] "management_nodes": [ "/admin/resources/management_nodes/95bd7cf5-50cd-48aa-8aec-8774a080e4a6" "/admin/resources/management_nodes/f224bfb7-c02e-429c-ba6e-023226828d9b" ] "label_user": "Flex Chassis" "label_text": "Flex Chassis" "chassis_fans": [ "/admin/resources/chassis_fans/47e92fb2-8bb1-4c6f-a7ca-966075be5aa6" "/admin/resources/chassis_fans/8408025e-8323-49bf-a498-b1f04c28cb3b" "/admin/resources/chassis_fans/93691b41-b8f0-4a83-9bd8-47c3df2595a7" "/admin/resources/chassis_fans/3b194192-8ab7-41ee-811f-0d0295fa9b1b" "/admin/resources/chassis_fans/52ce8f62-faad-4c6b-a1f8-e1009fd46cfc" "/admin/resources/chassis_fans/2f472d8d-b932-418f-af7c-357fba0f17b7" "/admin/resources/chassis_fans/d761babf-536c-403d-887c-95befe6cc0b2" "/admin/resources/chassis_fans/b99ca0f4-44c8-4e65-a8b6-803de055fa81" "/admin/resources/chassis_fans/8a5d4d6f-ae35-4ce1-ba71-27837ab0c9af" "/admin/resources/chassis_fans/8f22dc02-ff3a-4a0d-9351-a1601e71b2d3" ] "events": [ ] "id": "/admin/resources/compute_node_chassis/ddbc2af5-ebc9-4a2e-92fc-aabd88bac3c1" "racks": "/admin/resources/racks/fa455378-b6a3-466f-8e36-21659e9cc64b" "locations": [ "/admin/resources/locations/f3afef4f-c798-4910-9f21-13c4acae202e" ] "vendor_informations": [ "/admin/resources/vendor_informations/f5d60416-954b-4326-87c2-10125072d251" ] } ]
- created_time
- The time at which the object is created
- firmware_level
- The firmware level of the compute node chassis
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the compute node chassis
- label_text
- Default translated message text
- label_user
- User modified message text
- machine_type
- The machine type of the the compute node chassis
- name
- The name of the compute node chassis
- racks
- A unique identifier for the rack where the compute node chassis is located
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
Parents:
Children: compute_nodes, management_nodes, media_trays, switches, power_supplies, chassis_fans, leds, vendor_informations, locations, energy_stats, temperature_stats, events
Get a specific Compute Node Chassis
URI /admin/resources/compute_node_chassis/{id} Method GET Returns 200 The Compute Node Chassis was returned. 404 The Compute Node Chassis was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Compute Node Chassis identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.11. Compute Nodes
Get all Compute Nodes
URI /admin/resources/compute_nodes Method GET Returns 200 Returns a list of all Compute Nodes 404 The Compute Node list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Compute Nodes.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "firmware_level": "1AOO27B - 01/30/2012 - 1.10.16552" "created_time": "Wed, 18 Apr 2012 14:04:17 GMT" "leds": [ ] "name": "SN#10F3C6A" "target_result": "done" "number_of_instances": 1 "service_processor_level": "n/a" "updated_time": "Wed, 18 Apr 2012 21:08:55 GMT" "state": "available" "power_target_result": "done" "last_boot_time": "Tue, 17 Apr 2012 17:11:27 GMT" "vdcs_target": "/admin/resources/vdcs/603a2346-bbc9-498b-91ea-270988d0fcdb" "architecture": "02P" "temperature_stats": [ "/admin/resources/temperature_stats/54ac7615-59c6-44aa-944e-83e79bdaaf47" ] "label_key": "pure0518" "physical_io_adapters": [ "/admin/resources/physical_io_adapters/3cc8a4f6-d2f7-482b-a0d2-b5994d5dc5cd" ] "power_state": "powered_on" "label_text": "Compute Node" "uefi_level": "BDE111DUS - 01/16/2012 - 1.00" "events": [ ] "last_instance_change_time": "Wed, 18 Apr 2012 14:38:59 GMT" "id": "/admin/resources/compute_nodes/86a00f2c-376c-4811-9dbd-f6726248a852" "power_target_state": "powered_on" "vms_id": "https://[fd8c:215d:178e:c0de:872:3805:5076:f595]/sdk#HostSystem#host-82" "vdcs": "/admin/resources/vdcs/603a2346-bbc9-498b-91ea-270988d0fcdb" "locations": [ "/admin/resources/locations/93145451-771b-4bfe-8a0b-ba01d6bed3a6" ] "vendor_informations": [ "/admin/resources/vendor_informations/432bc451-1e43-492c-9c2b-4d86001541d6" ] "pvu_value": 70 "target_state": "available" "advanced_managers": [ "/admin/resources/advanced_managers/006726e0-7848-4fdf-a806-cbbf61c2ccd3" ] "power_state_is_pinned": "F" "energy_stats": [ "/admin/resources/energy_stats/4c1891a6-d866-427d-bce7-dc13c927ece4" ] "physical_memory": [ "/admin/resources/physical_memory/e2aa6898-3ba0-4fa1-a7b9-4061e801046d" ] "vdcs_target_result": "done" "compute_node_chassis": "/admin/resources/compute_node_chassis/ddbc2af5-ebc9-4a2e-92fc-aabd88bac3c1" "machine_type": "7955" "physical_cpus": [ "/admin/resources/physical_cpus/58fd4d8f-85ca-4ed7-9500-1fa0b6e92d03" ] "label_user": "Compute Node" "number_of_power_cycles": 0 "hypervisors": [ "/admin/resources/hypervisors/195c1cda-f74a-442b-bd7d-075a26b125f3" ] "health_stats": [ "/admin/resources/health_stats/1358bc07-37b9-4799-8763-326d7442e30a" ] "vms_uuid": "8a720916-dbb8-e011-bd9b-bb5a034fd776" } ]
- architecture
- The architecture for the compute node
- compute_node_chassis
- The compute node chassis the compute node is associated with
- created_time
- The time at which the object is created
- firmware_level
- The level of firmware on the compute node
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the compute node
- label_text
- Default translated message text
- label_user
- User modified message text
- last_boot_time
- The time the compute node was last booted
- last_instance_change_time
- The last time the number of instances changed on the compute node
- machine_type
- The machine type for the compute node
- name
- The name of the compute node
- number_of_instances
- The number of instances deployed on the compute node
- number_of_power_cycles
- The number of power cycles performed on compute node
- power_state
- The current power state of the compute node. Valid states are "powered_on" or "powered_off"
- power_state_is_pinned
- Whether or not the power state of the compute node can be changed. Valid values are "T" and "F" representing true and false respectively
- power_target_result
- The result of the power state change of the compute node
- power_target_state
- The user modifiable desired power state of the compute node. Valid states are "powered_on" or "powered_off"
- pvu_value
- The Processor Value Units (PVU) used in licensing of the processors for the compute node
- service_processor_level
- The service processor level of the compute node
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- target_result
- The result of the state change of the compute node
- target_state
- The user modifiable desired state of the compute node. Valid states are "available", "quiesced", "maintenance"
- uefi_level
- The UEFI code level of the compute node
- updated_time
- The time at which the object was last updated
- vdcs
- The Virtual Data Center (VDC) associated with the compute node
- vdcs_target
- The user modifiable desired VDC of the compute node
- vdcs_target_result
- The result of the VDC change of the compute node
- vms_id
- The virtual management system ID for the compute node
- vms_uuid
- The virtual management system UUID for the compute node
Parents:
Children:
physical_cpus, physical_memory, physical_io_adapters, hypervisors, leds, vendor_informations, locations, energy_stats, health_stats, events, , temperature_stats
Get a specific Compute Node
URI /admin/resources/compute_nodes/{id} Method GET Returns 200 The Compute Node was returned. 404 The Compute Node was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Compute Node identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.12. Disk drives
Get all disk drives
URI /admin/resources/disk_drives Method GET Returns 200 Returns a list of all disk drives 404 The disk drive list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of disk drives.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- capacity
- The size of the disk drive
- created_time
- The time at which the object is created
- drive_bay
- The number of the drive bay in which the disk drive is located
- health_state
- The current health of the disk drive. This refers to if the disk drive is operating at optimal capacity
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the disk drive
- label_user
- User modified message text
- lable_text
- Default label for the disk drive
- name
- The name of the disk drive
- parent
- The parent that the the disk drive belongs to
- parent_type
- The type of the parent that the disk drive belongs to
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- storage_pools
- The storage pool to which this disk drive belongs to
- units
- The units of measurement used for sizes with this disk drive
- updated_time
- The time at which the object was last updated
- parent_type
- The type of the generic parent
Parents:
storage_controllers, storage_expansions
Children:
vendor_informations, leds, events
Get a specific disk drive
URI /admin/resources/disk_drives/{id} Method GET Returns 200 The disk drive was returned. 404 The disk drive was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single disk drive identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.13. Energy history
Get all energy history
URI /admin/resources/energy_history Method GET Returns 200 Returns a list of all energy history 404 The energy history list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of energy history.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:51:01 GMT" "energy_stats": "/admin/resources/energy_stats/027d3d32-385f-43a9-8c75-c7dfe871ba5a" "average_output_power": "name": "SN#23EWD47" "average_input_power": 409 "units": "W" "state": "available" "updated_time": "Wed, 18 Apr 2012 21:08:55 GMT" "maximum_input_power": 440 "label_key": "pure0529" "label_text": "Energy History" "id": "/admin/resources/energy_history/3dbcf221-b8e9-483a-b269-b0f0c27ccacd" "interval_in_minutes": 5 "minimum_input_power": 408 } ]
- average_input_power
- The average input power consumed by parent object
- average_output_power
- The average output power output by parent object
- created_time
- The time at which the object is created
- energy_stats
- The energy statistical objects for the energy history
- id
- The unique id of the object in the system.
- interval_in_minutes
- Sampling interval for the energy history
- label_key
- Key for retrieving the label for the energy history
- label_text
- Default translated message text
- maximum_input_power
- The average input power consumed by parent object
- minimum_input_power
- The minimum input power consumed by parent object
- name
- The name of the energy history
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- units
- The units used with the power with the energy history
- updated_time
- The time at which the object was last updated
Parents:
Get a specific energy history
URI /admin/resources/energy_history/{id} Method GET Returns 200 The energy history was returned. 404 The energy history was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single energy history identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.14. Energy stats
Get all energy stats
URI /admin/resources/energy_stats Method GET Returns 200 Returns a list of all energy stats 404 The energy stats list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of energy stats.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:03:22 GMT" "average_output_power": "name": "SN#23EWD31" "average_input_power": 639 "units": "W" "parent_type": "compute_node_chassis" "compute_node_chassis": "/admin/resources/compute_node_chassis/ddbc2af5-ebc9-4a2e-92fc-aabd88bac3c1" "state": "available" "updated_time": "Wed, 18 Apr 2012 21:08:14 GMT" "maximum_input_power": 681 "label_key": "pure0528" "label_text": "Energy Stats" "id": "/admin/resources/energy_stats/01eb1132-0dbf-45e4-ab41-ebbd27366373" "energy_history": [ "/admin/resources/energy_history/dfe7e047-34b6-4722-b775-95a1981b035d" "/admin/resources/energy_history/fb360b9b-fd91-436d-81bf-623fbb4a7f5e" "/admin/resources/energy_history/6407ea80-c019-49a5-aaed-a643499de745" "/admin/resources/energy_history/2de16f89-4259-41eb-9744-b77c9dd3bdba" "/admin/resources/energy_history/58ed38c4-fd83-4945-acc4-d172edc7bff8" "/admin/resources/energy_history/4663a616-0b52-4a5f-a377-e65dc5545fd9" "/admin/resources/energy_history/ea1e3a8d-ded5-4354-938a-47e9bdbe9971" "/admin/resources/energy_history/1dacfd72-1f7b-43b2-a600-9187c891553b" "/admin/resources/energy_history/a2cc3468-f299-4e24-bafc-0823291b84c7" "/admin/resources/energy_history/033d91e4-9ab5-4887-9b4e-3803a8810f96" ] "interval_in_minutes": 5 "minimum_input_power": 613 } ]
- average_input_power
- The average input power consumed by the parent object
- average_output_power
- The average output power output by the parent object
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- interval_in_minutes
- Sampling interval for the energy statistical object
- label_key
- Key for retrieving the label for the energy statistical object
- label_text
- Default translated message text
- maximum_input_power
- The average input power consumed by the parent object
- minimum_input_power
- The minimum input power consumed by the parent object
- name
- The name of the energy statistical object
- parent_type
- The type of the parent object that the energy statistical object belongs to
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- units
- The units of power used by the energy statistical object
- updated_time
- The time at which the object was last updated
- parent_type
- The type of the generic parent
Parents: management_nodes, compute_nodes
Children:
Get a specific energy stats
URI /admin/resources/energy_stats/{id} Method GET Returns 200 The energy stats was returned. 404 The energy stats was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single energy stats identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.15. Event types
Get all event types
URI /admin/resources/event_types Method GET Returns 200 Returns a list of all event types 404 The event type list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of event types.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "pending" "updated_time": "Wed, 18 Apr 2012 14:10:40 GMT" "created_time": "Wed, 18 Apr 2012 14:10:40 GMT" "label_key": "pure1101" "label_text": "Event Types" "type": "Database inconsistency" "id": "/admin/resources/event_types/ac68d5fe-7b84-4e36-b3a6-c4da20ae2424" } ]
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the event type
- label_text
- Default translated message text
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- type
- The event type
- updated_time
- The time at which the object was last updated
Get a specific event type
URI /admin/resources/event_types/{id} Method GET Returns 200 The event type was returned. 404 The event type was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single event type identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.16. Events
Get all events
URI /admin/events/export Method GET Returns 200 Returns a list of events. 404 The event list was not found. 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of events.
Response body
[ { "extra_data_id": "msg_key": "created_time": "Wed, 18 Apr 2012 14:10:40 GMT" "extra_data_table": "msg_text": "com.ibm.purescale.global.GlobalException: One Networking record was expected butnull" "trap_id": "239.4" "count": 1 "parent_type": "management_nodes" "object_detail": "com.ibm.purescale.global.database.Database" "state": "pending" "updated_time": "Wed, 18 Apr 2012 14:10:45 GMT" "comments": [ ] "label_key": "pure1100" "management_nodes": "/admin/resources/management_nodes/f224bfb7-c02e-429c-ba6e-023226828d9b" "type_detail": "PureApplication FSM Leader Database inconsistency" "label_text": "Events" "resource_oid": -1 "type": "Database inconsistency" "id": "/admin/events/export?contenttype=xml" "id": "792d15e0-316d-4a09-9af1-e0f2dcc4b0c1" "inline": "true" "chronologically": "true" } ]
- category
- The category of the event
- chronologically
- The chronological order of every event. Values are true or false.
- contenttype
- Returns a list of events in a specific format. Specify the value as xml to return an XML file that contains related event data, time stamps, comments, and so on.
- count
- The number of times that the event was generated
- created_time
- The time at which the object is created.
- extra_data_id
- The identifier of the additional data associated with the event
- extra_data_table
- The name of the database table containing additional data associated with the event
- id
- The unique ID of the object in the system.
- inline
- Values are true or false
- label_key
- The key for retrieving the label for the event
- label_text
- Default translated message text
- msg_key
- The key for retrieving the message for the event
- msg_text
- The message text of the event
- object_detail
- Information about the object associated with the event
- parent_type
- The type of the parent of the event, that is the component to which the event relates
- problem_id
- The identifier of the problem associated with the event, if one was raised
- resource_oid
- Optionally an ID of the resource associated with the event, usually set to -1
- severity
- The severity of the event
- state
- The general availability of the object. If the value is pending, the object is created but not activated. If the value is available, the object is active in the system.
- trap_id
- The identifier of the trap which might be forwarded for this event
- trap_time
- Optionally an indication from the originator of the time the event was triggered
- type
- The type of the event
- type_detail
- Detailed information for the type of the event
- updated_time
- The time at which the object was last updated.
- parent_type
- The type of the generic parent
Parents:
- Compute node chassis
- Disk drives
- Management endpoints
- Storage pools
- Storage volumes
- Clusters
- Storage controller ports
- Chassis management modules
- Physical I/O adapters
- Power supplies
- Racks
- Management nodes
- Physical memory
- Record packages
- Power supply fans
- Chassis fans
- Hypervisors
- Storage switch ports
- Media trays
- Storage controllers
- Physical CPUs
- Switches
- Compute nodes
Children: Comments
Get a specific event
URI /admin/resources/events/{id} Method GET Returns 200 The event was returned. 404 The event was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single event identified by {id}.
3.17. Fix packs
Get all fix packs
URI /admin/resources/fix_packs Method GET Returns 200 Returns a list of all fix packs 404 The fix pack list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of fix packs.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- access_type
- The access type of the fix pack
- change_plan_id
- The identifier of the change plan
- created_time
- The time at which the object is created
- description_key
- Key to retrieve full description for the fix pack
- id
- The unique id of the object in the system.
- name
- The name of the fix pack
- remote_ipaddress
- The remote IP address for the fix pack
- remote_password
- Remote user's password
- remote_path
- The remote path to the fix pack
- remote_port
- The remote port
- remote_url
- The URL of the fix pack
- remote_username
- Remote user name
- short_description_key
- Key to retrieve short description for the fix pack
- size
- The size of the fix pack
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- target_result
- The target result of the fix pack
- target_state
- The target state of the fix pack
- unique_size
- The unique size of the fix pack
- updated_time
- The time at which the object was last updated
Get a specific fix pack
URI /admin/resources/fix_packs/{id} Method GET Returns 200 The fix pack was returned. 404 The fix pack was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single fix pack identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.18. Health Statistics
Get all Health Statistics
URI /admin/resources/health_stats Method GET Returns 200 Returns a list of all Health Statistics 404 The Health Statistics list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Health Statistics.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "chassis_management_modules": "/admin/resources/chassis_management_modules/4312f316-4aa4-489b-b55e-204b52cnull" "created_time": "Wed, 18 Apr 2012 14:03:07 GMT" "name": "SN#23EWD31MM1" "last_successful_inventory_time": "Wed, 18 Apr 2012 21:02:35 GMT" "health_state": "normal" "parent_type": "chassis_management_modules" "number_of_vms_inventory_warnings": 0 "number_of_core_temperature_warnings": 0 "state": "available" "updated_time": "Wed, 18 Apr 2012 21:06:17 GMT" "number_of_error_leds": 0 "label_key": "pure0517" "label_text": "Health Statistical Snapshot" "number_of_successful_deploys": 0 "number_of_deploys": 0 "id": "/admin/resources/health_stats/1a428836-30b3-4df2-ad85-6047c24aaed9" "number_of_hardware_inventory_warnings": 0 } ]
- created_time
- The time at which the object is created
- health_state
- The health state of the resource, either normal or warning
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the health statistical object
- label_text
- Default translated message text
- last_successful_inventory_time
- The time the last successful inventory of the parent object occurred
- name
- The name of the health statistical object
- number_of_core_temperature_warnings
- The number of core temperature warnings registered by the parent object
- number_of_deploys
- The number of deploys made by the parent object
- number_of_error_leds
- The number of error LEDs associated with the parent object
- number_of_hardware_inventory_warnings
- The number of hardware inventory warnings registered by the parent object
- number_of_successful_deploys
- The number of successful deploys made by the parent object
- number_of_vms_inventory_warnings
- The number of virtual management system (VMS) inventory warnings registered by the parent object
- parent_type
- The type of the parent that the health statistical object belongs to
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- parent_type
- The type of the generic parent
High availability status
The following field names are used to retrieve health statistics for PureSystems Manager to ensure that high availability is working properly:
- psm_ha_health_state
- Returns the health state of a PureSystems Manager as normal, errror, or unknown. If error is returned, check the individual components to determine which ones are in a non-expected state. If unknown is returned, one or more of the component states were not able to be determined within a reasonable amount of time.
- psm_ha_system_leader_state
- Retuns the leader state as active, standby, or unknown.
- psm_ha_system_data_replication_state
- Returns the health statistics for system data replication. The following return values are possible: active, pending, disconnected, suspended, error, or unknown.
- psm_ha_workload_state
- Returns the health statistics for a workload state. The following return values are possible: available, standby, pending, suspended, or unknown.
- psm_ha_floatingips_customer_state
- Returns the health statistics for customer management. The following return values are possible: assigned, suspended, offline, or unknown.
- psm_ha_floatingips_cloud_groups
- Returns the health statistics for cloud groups. The following return values are possible: assigned, suspended, or unknown.
- psm_ha_floatingips_system_state
- Returns the health statistics for an internal floating IP address. The following return values are possible: assigned, suspended, or unknown.
- psm_ha_app_placement_state
- Returns the health statistics for placement state. The following return values are possible: started, stopped, or unknown.
- psm_ha_app_leader_state
- Returns the health statistics for the leader state. The following return values are possible: started, stopped, or unknown.
Parents:
chassis_management_modules, management_nodes, compute_nodes
Get a specific Health Statistic
URI /admin/resources/health_stats/{id} Method GET Returns 200 The Health Statistics was returned. 404 The Health Statistics was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Health Statistics identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.19. Hypervisors
Get all Hypervisors
URI /admin/resources/hypervisors Method GET Returns 200 Returns a list of all Hypervisors 404 The Hypervisor list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Hypervisors.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "software_version": "version" "management_endpoints": [ "/admin/resources/management_endpoints/583f5ffc-c7e9-4f0c-91eb-bf5b7e6dcccf" ] "created_time": "Wed, 18 Apr 2012 14:11:43 GMT" "compute_nodes": "/admin/resources/compute_nodes/eddf1527-a52f-4fdd-a8a5-e86b3e845a42" "name": "SN#FBI0538" "state": "pending" "updated_time": "Wed, 18 Apr 2012 14:11:43 GMT" "label_key": "pure0520" "label_user": "Hypervisor" "label_text": "Hypervisor" "events": [ ] "id": "/admin/resources/hypervisors/82b2ccff-3ed4-4a8b-9d0e-29663890f4bd" "hypervisors_key": "vendor_informations": [ "/admin/resources/vendor_informations/286c42aa-b684-497e-9235-14e04d0001f6" ] "instances": [ "/admin/resources/instances/dddc7836-078f-4d57-bc38-65003b48fa8b" "/admin/resources/instances/66abf32b-d200-407a-8891-071cf0cfe2ce" "/admin/resources/instances/6526fff7-6dc4-4edb-bcf7-76226a732b0c" "/admin/resources/instances/64ac1c91-a0fe-4d2a-aebc-dc88ecf1e1ab" "/admin/resources/instances/6be2bf86-b827-4f73-83c8-698481ea975f" "/admin/resources/instances/82ae0517-c7aa-4411-8de8-d79b356fb0b6" "/admin/resources/instances/5d8a7d4a-b3ea-4514-bb08-0d578821a82e" "/admin/resources/instances/82cc8c44-4ca8-4d0e-9b5c-683e5d17241a" "/admin/resources/instances/bd02ccc5-eb41-43ba-8593-b1b9b45b1c57" "/admin/resources/instances/7563029d-d252-4028-a42b-4febf2493f64" ] } ]
- compute_nodes
- The compute node on which the hypervisor is running
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the hypervisor
- label_text
- Default translated message text
- label_user
- User modified message text
- name
- The name of the hypervisor
- software_version
- The software version of the hypervisor
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
Parents:
Children:
management_endpoints, vendor_informations, events
Get a specific Hypervisor
URI /admin/resources/hypervisors/{id} Method GET Returns 200 The Hypervisor was returned. 404 The Hypervisor was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Hypervisor identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.20. Jobs
Get all Jobs
URI /admin/resources/jobs Method GET Returns 200 Returns a list of all Jobs 404 The Job list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Jobs.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "fail_once": 0 "volume_configurations": "created_time": "Wed, 18 Apr 2012 14:10:24 GMT" "completed_work": "instance_snapshots": "message": "name": "backupjob" "jobs_interval": 86400000 "resource": "state": "pending" "updated_time": "Wed, 18 Apr 2012 14:10:24 GMT" "groups": "label_key": "pure2100" "label_text": "Job" "volumes": "id": "/admin/resources/jobs/013576eb-81e9-4ff6-adaf-fc1167e0e1ec" "scheduled_time": 1334844624101 "priority": 1500 "affinity": "any" "parent": "total_work": "blocking": "F" "action": "backupjob" "images": "type": "backup" "description": "instances": "stopped_time": } ]
- action
- The file name of the job
- affinity
- The management node where the job can run. Valid values are "any" or an id of a management node.
- blocking
- Indicates whether other jobs can run while this job is being run. Valid values are "T" and "F"
- completed_work
- The most recent step that has been completed by the job
- created_time
- The time at which the object is created
- description
- A description of the job
- fail_once
- Indicates whether a recurring job is rerun on failure
- id
- The unique id of the object in the system.
- jobs_interval
- The time between executions of the job, in milliseconds
- label_key
- The key for retrieving the label for the job
- label_text
- Default translated message text
- message
- The optional message associated with the job
- name
- A descriptive name of the job
- parent
- The parent of the job
- priority
- The priority of the job
- resource
- The id of the object that the job is modifying
- scheduled_time
- The time the job was scheduled to run
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- stopped_time
- The time the job was stopped
- total_work
- The total number of steps in the job
- type
- The type of the object that is being modified
- updated_time
- The time at which the object was last updated
Get a specific Job
URI /admin/resources/jobs/{id} Method GET Returns 200 The Job was returned. 404 The Job was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Job identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.21. Ldap configs
Get all ldap configs
URI /admin/resources/ldap_configs Method GET Returns 200 Returns a list of all ldap configs 404 The ldap config list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of ldap configs.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "ldap_group_base_dn": "" "created_time": "Wed, 18 Apr 2012 14:09:47 GMT" "jndi_security_principal": "ldap_group_search_filter_pattern": "(&(member={0}) (objectclass=groupOfNames))" "name": "default" "state": "available" "updated_time": "Wed, 18 Apr 2012 14:09:47 GMT" "security_configs": [ "/admin/resources/security_configs/9ed5c0b6-0681-4fc4-be74-a524edf565c5" ] "label_key": "pure8509" "ldap_userid_base_dn": "" "jndi_provider_url": "" "label_text": "LDAP Configuration" "id": "/admin/resources/ldap_configs/10cd8d86-a6b9-4af6-91f2-d588caec98f6" "description": "user_group_cache_time": 5 "ldap_userid_search_filter_pattern": "(&(uid={0}) (objectclass=inetOrgPerson))" } ]
- created_time
- The time at which the object is created
- description
- The description of the LDAP configuration
- id
- The unique id of the object in the system.
- jndi_provider_url
- The JNDI provider URL for the LDAP configuration
- jndi_security_principal
- The JNDI security principle
- label_key
- Key for retrieving label for the LDAP configuration
- label_text
- Default translated message text
- ldap_group_base_dn
- Base distinguished name for a LDAP group
- ldap_group_search_filter_pattern
- The search filter pattern for a LDAP group
- ldap_userid_base_dn
- Base distinguished name (DN) for a LDAP user
- ldap_userid_search_filter_pattern
- The search filter pattern for a LDAP user
- name
- The name of the LDAP configuration
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- User_group_cache_time
- Cache time for the user group
Children:
Get a specific ldap config
URI /admin/resources/ldap_configs/{id} Method GET Returns 200 The ldap config was returned. 404 The ldap config was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single ldap config identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.22. LEDs
Get all LEDs
URI /admin/resources/leds Method GET Returns 200 Returns a list of all LEDs 404 The LED list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of LEDs.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:04:31 GMT" "name": "DIMM 1" "parent_type": "physical_memory_modules" "state": "available" "updated_time": "Wed, 18 Apr 2012 21:02:11 GMT" "power_target_result": "done" "physical_memory_modules": "/admin/resources/physical_memory_modules/9f997102-3a0e-4d82-a7af-4992dc32c3null" "label_key": "pure0503" "power_state": "off" "label_text": "Error" "id": "/admin/resources/leds/71e9702d-c17c-4e22-ad3e-6c00a790419b" "power_target_state": "off" "severity": "error" } ]
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the LED
- label_text
- Default translated message text
- name
- The name of the LED
- parent_type
- The type of the parent object that the LED belongs to
- power_state
- The power state of the LED. Valid states are "on" and "off"
- power_target_result
- The result of the power state change of the LED
- power_target_state
- The user modifiable desired power state of the LED. Valid states are "on" and "off".
- severity
- The severity level of the LED
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- parent_type
- The type of the generic parent
Parents: disk_drives, power_supplies, management_nodes, power_supply_fans, chassis_fans, physical_memory_modules, storage_controllers, storage_expansions, compute_nodes
Get a specific LED
URI /admin/resources/leds/{id} Method GET Returns 200 The LED was returned. 404 The LED was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single LED identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.23. Locations
Get all locations
URI /admin/resources/locations Method GET Returns 200 Returns a list of all locations 404 The location list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of locations.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "chassis_number": 1 "created_time": "Wed, 18 Apr 2012 14:01:04 GMT" "width": 1 "height": 0 "io_bay_number": 0 "hardware": "T" "compute_nodes": "/admin/resources/compute_nodes/86a00f2c-376c-4811-9dbd-f6726248a852" "node_bay_number": 3 "name": "SN#10F3C6A" "mm_bay_number": 0 "ipaddress": "fd8c:215d:178e:c0de:5ef3:fcff:fe5f:2ae" "parent_type": "compute_nodes" "rack_number": "8283/12345" "updated_time": "Wed, 18 Apr 2012 21:01:59 GMT" "state": "available" "label_key": "pure4504" "version": "1.0.0.0" "label_text": "Rack 8283/12345 Chassis 1 Node Bay 3" "type": "compute_node" "id": "/admin/resources/locations/93145451-771b-4bfe-8a0b-ba01d6bed3a6" "rack_unit_number": 0 "physical_location": "n/a" } ]
- chassis_number
- The chassis number of which this location is associated
- created_time
- The time at which the object is created
- hardware
- Indicates whether the location is associated with hardware "T" or software "F"
- height
- The height of the location
- id
- The unique id of the object in the system.
- io_bay_number
- IO bay number
- ipaddress
- IP address
- label_key
- Key for retrieving label for the location
- label_text
- Default translated message text
- mm_bay_number
- Management module bay number
- name
- The name of the location
- node_bay_number
- Node bay number
- physical_location
- Physical location
- rack_number
- The identifier of the rack of which this location is associated
- rack_unit_number
- The unit number of the rack of which this location is associated
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- type
- The type of the location
- updated_time
- The time at which the object was last updated
- version
- REST API version number
- width
- The width of the location
- parent_type
- The type of the generic parent
Parents:
compute_node_chassis, management_endpoints, clusters, chassis_management_modules, racks, management_nodes, media_trays, storage_controllers, switches, storage_expansions, compute_nodes
Get a specific location
URI /admin/resources/locations/{id} Method GET Returns 200 The location was returned. 404 The location was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single location identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.24. Management endpoints
Get all management endpoints
URI /admin/resources/management_endpoints Method GET Returns 200 Returns a list of all management endpoints 404 The management endpoint list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of management endpoints.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "software_version": "version" "advanced_managers": [ "/admin/resources/advanced_managers/8c066be8-709f-417d-ab85-9c3bfdd9e20f" ] "created_time": "Wed, 18 Apr 2012 14:11:43 GMT" "name": "SN#FBI0538" "state": "available" "updated_time": "Wed, 18 Apr 2012 14:11:43 GMT" "machine_type": "label_key": "pure0534" "label_user": "Management Endpoint" "stats_agent_state": "started" "label_text": "Management Endpoint" "events": [ ] "id": "/admin/resources/management_endpoints/583f5ffc-c7e9-4f0c-91eb-bf5b7e6dcccf" "hypervisors": "/admin/resources/hypervisors/82b2ccff-3ed4-4a8b-9d0e-29663890f4bd" "vendor_informations": [ "/admin/resources/vendor_informations/d0fe97bc-85fc-449a-b8e7-03e3f76e12fb" ] "locations": [ "/admin/resources/locations/c547dc16-bfc8-4cb6-86ca-477bffb13921" ] } ]
- created_time
- The time at which the object is created
- hypervisors
- The location of the management endpoint
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving the label for the management endpoint
- label_text
- Default translated message text
- label_user
- User modified message text
- machine_type
- The machine type that contains the management endpoint
- name
- The name of the management endpoint
- software_version
- The software version for the management endpoint
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- stats_agent_state
- The state of the Statistics agent
- updated_time
- The time at which the object was last updated
Parents:
Children:
Get a specific management endpoint
URI /admin/resources/management_endpoints/{id} Method GET Returns 200 The management endpoint was returned. 404 The management endpoint was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single management endpoint identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.25. Management nodes
Get all management nodes
Returns a list of the management nodes.
URI /admin/resources/management_nodes Method GET Returns 200 Returns a list of all management nodes. 404 The management nodes list was not found. 500 The PureSystems Manager encountered an internal error while processing the request. You can use optional parameters to modify the response from the REST API call. For more information, see Optional parameters for get calls.
Response body
[ { "software_version": "VMware vCenter Server 5.0.0 build-455964" "firmware_level": "1AOO27B - 01/30/2012 - 1.10.16552" "created_time": "Wed, 18 Apr 2012 14:04:15 GMT" "networks": [ ] "leds": [ ] "target_result": "done" "name": "SN#10F4DAA" "service_processor_level": "n/a" "state": "available" "power_target_result": "done" "last_boot_time": "Fri, 30 Mar 2012 13:33:34 GMT" "updated_time": "Wed, 18 Apr 2012 21:01:57 GMT" "architecture": "01M" "temperature_stats": [ "/admin/resources/temperature_stats/c517f53a-dfca-4e5b-8cef-0c5eca8e8429" ] "label_key": "pure0535" "physical_io_adapters": [ "/admin/resources/physical_io_adapters/d57c4a61-34e4-4fd9-9e74-1cae7d7b0649" ] "power_state": "powered_on" "label_text": "Virtualization System Manager" "uefi_level": "BDE111DUS - 01/16/2012 - 1.00" "events": [ ] "id": "/admin/resources/management_nodes/95bd7cf5-50cd-48aa-8aec-8774a080e4a6" "virtual_management_systems": [ "/admin/resources/virtual_management_systems/987bf19b-9bb7-4db1-af58-9b825d6null" ] "power_target_state": "powered_on" "vdcs": "/admin/resources/vdcs/7bce8f28-4885-4c14-be1a-ec52e3825198" "vms_id": "https://[fd8c:215d:178e:c0de:872:3805:5076:f595]/sdk#HostSystem#host-154" "locations": [ "/admin/resources/locations/0f1f7b07-c277-47f5-9417-82dde6e24c6f" ] "vendor_informations": [ "/admin/resources/vendor_informations/6925b5b0-9ac4-48e9-82e5-8087670b5921" ] "target_state": "available" "advanced_managers": [ "/admin/resources/advanced_managers/c8b99acd-2af4-4b47-9ba2-46443087d1da" "/admin/resources/advanced_managers/d3608749-4c61-4911-a688-74ff33fdf880" ] "energy_stats": [ "/admin/resources/energy_stats/9012a045-955b-49c5-a2b2-1967794e76a5" ] "physical_memory": [ "/admin/resources/physical_memory/ff61f44f-c119-4bb5-8722-5ca890b3ca1f" ] "compute_node_chassis": "/admin/resources/compute_node_chassis/ddbc2af5-ebc9-4a2e-92fc-aabd88bac3c1" "machine_type": "7955" "physical_cpus": [ "/admin/resources/physical_cpus/ff5445f7-19c1-4d35-bd3f-70ab3bb224a9" ] "role": "primary" "label_user": "Virtualization System Manager" "number_of_power_cycles": 0 "type": "virt_mgmt_node" "health_stats": [ "/admin/resources/health_stats/20a69d3f-3077-4f24-a542-f5db72fe615e" ] "vms_uuid": "11dc7470-d9ed-e011-bfd6-5cf3fc5f3aaa" } ]
- architecture
- The architecture of the management node.
- compute_node_chassis
- The compute node chassis that the management node is associated with.
- created_time
- The time at which the object is created.
- firmware_level
- The level of firmware on the management node.
- id
- The unique ID of the object in the system.
- label_key
- The key for retrieving the label for the management node
- label_text
- Default translated message text
- label_user
- User modified message text
- last_boot_time
- The time the management node was last started
- machine_type
- The machine type of the management node
- name
- The name of the management node
- number_of_power_cycles
- The number of power cycles performed on the management node
- power_state
- The power state of the management node. Valid states are powered_on or powered_off.
- power_target_result
- The result of the power state change of the management node
- power_target_state
- The user-modified desired power state of the management node. Valid states are powered_on or powered_off.
- role
- The role of the management node, either primary or secondary.
- service_processor_level
- The service processor level of the management node
- software_version
- The version of software on the management node
- state
- The general availability of the object. If the value is pending, the object is created but not activated. If the value is available, the object is active in the system.
- target_result
- The result of the state change of the management node
- target_state
- The user-modified desired state of the management node. Valid states are available, quiesced, or maintenance.
- type
- The type of the management node, either "virt_mgmt_node" virt_mgmt_node to indicate it is a virtual management node or sys_mgmt_node to indicate it is a system management node.
- uefi_level
- The UEFI level on the management node
- updated_time
- The time at which the object was last updated.
- vdcs
- The Virtual Data Center (VDC) of the management node
- vms_id
- The virtual management system ID for the management node
- vms_uuid
- The virtual management system UUID for the management node
Parent: Compute node chassis
Children:
- Physical CPUs
- Physical memory
- Physical I/O adapters
- LEDs
- Vendor information
- Locations
- Energy statistics
- Health statistics
- Networks
- Events
- Temperature statistics
Get a specific management node
Returns a single management node identified by {id}.
URI /admin/resources/management_nodes/{id} Method GET Returns 200 The management node was returned. 404 The management node was not found. 500 The PureSystems Manager encountered an internal error while processing the request. You can use optional parameters to modify the response from the REST API call. For more information, see Optional parameters for get calls.
3.26. Media Trays
Get all Media Trays
URI /admin/resources/media_trays Method GET Returns 200 Returns a list of all Media Trays 404 The Media Tray list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Media Trays.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- compute_node_chassis
- The compute node chassis that the media tray is associated with
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the media tray
- name
- The name of the media tray
- power_supplies
- The power supply that the fan is associated with
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
Parents:
Children:
vendor_informations, locations, events
Get a specific Media Tray
URI /admin/resources/media_trays/{id} Method GET Returns 200 The Media Tray was returned. 404 The Media Tray was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Media Tray identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.27. Networks
Get all Networks
URI /admin/resources/networks Method GET Returns 200 Returns a list of all Networks 404 The Network list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Networks.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:04:09 GMT" "name": "MERION" "network_type": "link_state": "available" "parent_type": "state": "available" "updated_time": "Wed, 18 Apr 2012 14:04:09 GMT" "label_key": "pure2301" "location": "label_user": "VLAN" "label_text": "VLAN" "type": "vlan" "id": "/admin/resources/networks/4a5af54b-7e13-46be-8f8b-988348e666eb" "description": "portgroup_key": "vlanid": "4091" } ]
- created_time
- The time at which the object is created
- description
- A description of the network
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the network
- label_text
- Default translated message text
- label_user
- User modified message text
- link_state
- The state of the newtork link
- location
- The location of the network
- name
- A descriptive name of the network
- network_type
- The type of the network
- parent_type
- The type of the parent that the network belongs to
- portgroup_key
- the portgroup that's associated with this network
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- type
- The type of this network. This is commonly VLAN.
- updated_time
- The time at which the object was last updated
- vlanid
- The unique number of the network on the system
- parent_type
- The type of the generic parent
Parents:
racks, management_nodes, switches
Get a specific Network
URI /admin/resources/networks/{id} Method GET Returns 200 The Network was returned. 404 The Network was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Network identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.28. Physical core stats
Get all physical core stats
URI /admin/resources/physical_core_stats Method GET Returns 200 Returns a list of all physical core stats 404 The physical core stat list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of physical core stats.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving the label for the physical core statistical object
- lable_text
- Default label for the physical core statistical object
- name
- The name of the physical core statistical object
- physical_cpu_modules
- The physical compute module that the physical core statistical object belongs to
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- temperature
- The temperature of the physical core statistical object
- units
- The units used with the physical core statistical object
- updated_time
- The time at which the object was last updated
- warning
- The warning message for the physical core statistical object
Parents:
Get a specific physical core stat
URI /admin/resources/physical_core_stats/{id} Method GET Returns 200 The physical core stat was returned. 404 The physical core stat was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single physical core stat identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.29. Physical cpu history
Get all physical cpu history
URI /admin/resources/physical_cpu_history Method GET Returns 200 Returns a list of all physical cpu history 404 The physical cpu history list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of physical cpu history.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:54:25 GMT" "total": 16 "allocated": 0.2 "name": "SN#FBI0538" "cpu_utilization": 1 "units": "cores" "state": "available" "updated_time": "Wed, 18 Apr 2012 21:08:29 GMT" "physical_cpus": "/admin/resources/physical_cpus/5aa67ea6-c56b-4931-a5f9-7c90360feaac" "label_key": "pure0525" "label_text": "Physical CPU History" "id": "/admin/resources/physical_cpu_history/78210ff5-0f86-4569-853a-3ef1861a9d45" "cpu_utilization_units": "%" } ]
- allocated
- Allocated number of physical cpus
- cpu_utilization
- The utilization of the physical cpu
- cpu_utilization_units
- The units used with the physical cpu utilization
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving the label for the physical cpu history
- label_text
- Default translated message text
- name
- The name of the physical cpu history
- physical_cpus
- The physical cpu that the physical cpu history belongs to
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- total
- Total number of physical cpus
- units
- The units used with the physical cpu history
- updated_time
- The time at which the object was last updated
Parents:
Get a specific physical cpu history
URI /admin/resources/physical_cpu_history/{id} Method GET Returns 200 The physical cpu history was returned. 404 The physical cpu history was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single physical cpu history identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.30. Physical cpu modules
Get all physical cpu modules
URI /admin/resources/physical_cpu_modules Method GET Returns 200 Returns a list of all physical cpu modules 404 The physical cpu module list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of physical cpu modules.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:04:51 GMT" "physical_core_stats": [ ] "name": "CPU 1" "state": "available" "updated_time": "Wed, 18 Apr 2012 21:02:29 GMT" "physical_cpus": "/admin/resources/physical_cpus/ff5445f7-19c1-4d35-bd3f-70ab3bb224a9" "label_key": "pure0526" "cores": 8 "capabilities": "64-bit Capable" "current_frequency": "8.0 GHz/2.00 GHz" "threads_per_core": 2 "label_text": "Physical CPU Modules" "id": "/admin/resources/physical_cpu_modules/ca5244e7-53bb-4bdc-8a47-286475bd334c" "vendor_informations": [ "/admin/resources/vendor_informations/64f0aa13-78be-4786-8bb4-98a678f784be" ] } ]
- capabilities
- The capabilities associated with the physical cpu module
- cores
- The number of cores of the physical cpu module
- created_time
- The time at which the object is created
- current_frequency
- The current frequency of the physical cpu module
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving the label for the physical cpu module
- label_text
- Default translated message text
- name
- The name of the cpu module
- physical_cpus
- The physical cpu that the physical cpu module belongs to
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- threads_per_core
- The number of threads per core of the physical cpu module
- updated_time
- The time at which the object was last updated
Parents:
Children: vendor_informations
Get a specific physical cpu module
URI /admin/resources/physical_cpu_modules/{id} Method GET Returns 200 The physical cpu module was returned. 404 The physical cpu module was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single physical cpu module identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.31. Physical cpus
Get all physical cpus
URI /admin/resources/physical_cpus Method GET Returns 200 Returns a list of all physical cpus 404 The physical cpu list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of physical cpus.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:04:15 GMT" "total": 8 "allocated": "physical_cpu_modules": [ "/admin/resources/physical_cpu_modules/ca5244e7-53bb-4bdc-8a47-286475bd334c" ] "name": "SN#10F4DAA" "cpu_utilization": 0 "units": "cores" "parent_type": "management_nodes" "max_cpu_utilization": 0 "state": "available" "updated_time": "Wed, 18 Apr 2012 21:08:26 GMT" "label_key": "pure0524" "management_nodes": "/admin/resources/management_nodes/95bd7cf5-50cd-48aa-8aec-8774a080e4a6" "physical_cpu_history": [ "/admin/resources/physical_cpu_history/423adbc6-1b49-4100-bef1-b2e6daf76450" "/admin/resources/physical_cpu_history/56ac7318-cef7-4529-b1e4-983044848e1e" "/admin/resources/physical_cpu_history/0a190b64-6333-4bf5-9d75-b11b580b4cb6" "/admin/resources/physical_cpu_history/da11ae70-2745-4cde-be38-e52a9ca6bafe" "/admin/resources/physical_cpu_history/61414afe-0230-4b02-9359-1b7065b85a39" "/admin/resources/physical_cpu_history/84a07455-2361-42ca-84f6-4e8b68922870" "/admin/resources/physical_cpu_history/6a7b2fff-29e9-4f11-bf2b-726c7d6bbe8c" "/admin/resources/physical_cpu_history/286ada55-4db3-47cf-ac68-02aac004cc2b" "/admin/resources/physical_cpu_history/c5c12c86-3c6c-4301-9c86-f7d3d7818259" "/admin/resources/physical_cpu_history/57fe2688-3560-4abf-99e9-80b6bdaca635" "/admin/resources/physical_cpu_history/48580daf-263c-405a-b0b1-4ed02672f3e7" "/admin/resources/physical_cpu_history/f10e8800-7224-40bb-bc32-3b7720b5cfd6" "/admin/resources/physical_cpu_history/ecc25ae0-a710-4aef-aac0-652401244ef1" "/admin/resources/physical_cpu_history/cce1752d-7b87-46bb-811f-ecddbf61106b" "/admin/resources/physical_cpu_history/a0e0356d-d8a4-40f1-ba51-2eb19c8fcd05" "/admin/resources/physical_cpu_history/c7b80f0c-4238-4b8b-8d87-57b20d75b83e" "/admin/resources/physical_cpu_history/00240932-e245-443f-9b7a-9810b2fd4991" "/admin/resources/physical_cpu_history/8c9b3610-0ef2-4fc7-88f9-a262f0147065" "/admin/resources/physical_cpu_history/3b4e9177-635c-406e-ad56-844fcec0a467" "/admin/resources/physical_cpu_history/5ec63ba4-b435-4aa7-a9cf-7c0c83d3b416" "/admin/resources/physical_cpu_history/7ee36311-01be-4700-ad93-8a9f93268f43" "/admin/resources/physical_cpu_history/0bf49031-ebdc-4a37-90bb-0591d2fa9481" "/admin/resources/physical_cpu_history/c2343608-47a5-4ea0-80da-98dd43cd0fa2" "/admin/resources/physical_cpu_history/d7d17861-198e-4841-8413-9fc39991390f" "/admin/resources/physical_cpu_history/93cbbf1e-fc8c-4bb4-9bb3-73b1c2ab81b9" "/admin/resources/physical_cpu_history/b0aeca50-74d2-44d0-aa81-befff3d3cf52" "/admin/resources/physical_cpu_history/df0eaa83-6f9b-4c21-b46e-8914fd0bbc95" "/admin/resources/physical_cpu_history/23bd7020-846b-4b16-b6c9-a8c41a961b7c" "/admin/resources/physical_cpu_history/7d4b19f7-293f-4000-9f98-7cd7970b9d3d" "/admin/resources/physical_cpu_history/99cdd9e1-27d4-4066-b7a8-4450f91e19b9" "/admin/resources/physical_cpu_history/fd6e5d92-516b-4a0d-adb5-6398e52b4478" "/admin/resources/physical_cpu_history/cc23fcb4-9788-4b65-9645-d5cfcf081f7e" "/admin/resources/physical_cpu_history/d678db67-b5f4-478e-8dce-8daa4462c5b8" "/admin/resources/physical_cpu_history/7f766370-bf3a-42ac-b24b-eab6175e903e" "/admin/resources/physical_cpu_history/4f4dde6f-4423-4109-ae4a-3d2b13a84f67" "/admin/resources/physical_cpu_history/f199a316-9f6e-45b1-9ffb-80d58af95fe7" "/admin/resources/physical_cpu_history/f3721a0a-eb90-4d9d-8480-1ab734767074" "/admin/resources/physical_cpu_history/b80efbfb-1da9-4310-b4bf-03aedcd7b510" "/admin/resources/physical_cpu_history/10587fbd-df20-4b22-942f-ecc8e3206f47" "/admin/resources/physical_cpu_history/59e69c5e-7bdc-4432-bde4-e89d5fea559b" "/admin/resources/physical_cpu_history/380ae96d-1d0e-4ddb-b060-b052fddb1a47" ] "label_text": "Physical CPU" "events": [ ] "cpu_utilization_units": "%" "id": "/admin/resources/physical_cpus/ff5445f7-19c1-4d35-bd3f-70ab3bb224a9" } ]
- allocated
- Allocated number of physical cpus
- cpu_utilization
- The utilization of the physical cpu
- cpu_utilization_units
- The units used with the physical cpu utilization
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving the label for the physical cpu
- label_text
- Default translated message text
- max_cpu_utilization
- The maximum utilization of the physical cpu
- name
- The name of the physical cpu
- parent_type
- The type of parent of the physical cpu
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- total
- Total number of physical cpus
- units
- The units used with the physical cpu
- updated_time
- The time at which the object was last updated
- parent_type
- The type of the generic parent
Parents: compute_nodes
Children: physical_cpu_history, events
Get a specific physical cpu
URI /admin/resources/physical_cpus/{id} Method GET Returns 200 The physical cpu was returned. 404 The physical cpu was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single physical cpu identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.32. Physical I/O Adapter History
Get all Physical I/O Adapter History
URI /admin/resources/physical_io_adapter_history Method GET Returns 200 Returns a list of all Physical I/O Adapter History 404 The Physical I/O Adapter History list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Physical I/O Adapter History.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- eth_broadcast_pkts_recvd
- The number of ethernet broadcast packets received
- eth_broadcast_pkts_sent
- The number of ethernet broadcast packets sent
- eth_bytes_recvd
- The number of ethernet bytes received
- eth_bytes_sent
- The number of ethernet bytes sent
- eth_multicast_pkts_recvd
- The number of ethernet multicast packets received
- eth_multicast_pkts_sent
- The number of ethernet multicast packets sent
- eth_pkts_recvd
- The number of ethernet packets received
- eth_pkts_recvd_bad
- The number of bad ethernet packets received
- eth_pkts_recvd_dropped
- The number of ethernet packet receive drops
- eth_pkts_recvd_error
- The number of ethernet packet receive errors
- eth_pkts_sent
- The number of ethernet packets sent
- eth_pkts_sent_dropped
- The number of ethernet packet send drops
- eth_pkts_sent_error
- The number of ethernet packet send errors
- eth_recvd_interrupts
- The number of ethernet receive interrupts
- eth_sent_interrupts
- The number of ethernet send interrupts
- fc_dumped_frames
- The number of fiber channel dumped frames
- fc_error_frames
- The number of fiber channel error frames
- fc_input_bytes
- The number of fiber channel input bytes
- fc_input_requests
- The number of fiber channel input requests
- fc_output_bytes
- The number of fiber channel output bytes
- fc_output_requests
- The number of fiber channel output requests
- fc_received_frames
- The number of fiber channel frames received
- fc_transmitted_frames
- The number of fiber channel frames transmitted
- id
- The unique id of the object in the system
- label_key
- The key for retrieving the label for the I/O adapter
- name
- A descriptive name of the I/O adapter
- parent
- The parent that the I/O adapter belongs to
- physical_io_adapters
- The id of the I/O adapter with which the history is associated
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- type
- The type of the Physical I/O adapter
- updated_time
- The time at which the object was last updated
Parents:
Get a specific Physical I/O Adapter History
URI /admin/resources/physical_io_adapter_history/{id} Method GET Returns 200 The Physical I/O Adapter History was returned. 404 The Physical I/O Adapter History was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Physical I/O Adapter History identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.33. Physical I/O Adapter Modules
Get all Physical I/O Adapter Modules
URI /admin/resources/physical_io_adapter_modules Method GET Returns 200 Returns a list of all Physical I/O Adapter Modules 404 The Physical I/O Adapter Module list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Physical I/O Adapter Modules.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "firmware_level": "0.1" "physical_io_ports": [ "/admin/resources/physical_io_ports/77021adc-1d99-4046-a5d1-6dc7e4891e39" "/admin/resources/physical_io_ports/1f098c46-87ef-49b8-9903-8053c5c0cdcb" "/admin/resources/physical_io_ports/4ee588cc-206b-4f1d-90f6-b4c7f0cb1ae4" "/admin/resources/physical_io_ports/f31646c4-d929-45ba-bcb5-039112fcc3e2" ] "created_time": "Wed, 18 Apr 2012 14:04:58 GMT" "name": "SN#23EWD31A1" "updated_time": "Wed, 18 Apr 2012 14:04:58 GMT" "state": "available" "label_key": "pure2311" "physical_io_adapters": "/admin/resources/physical_io_adapters/f50d8f9a-be8c-45d6-b0a0-bfea6763b626" "label_user": "Physical I/O Adapter Module" "label_text": "Physical I/O Adapter Module" "adapter_number": 1 "type": "ethernet" "id": "/admin/resources/physical_io_adapter_modules/4870112c-b516-4f50-b132-c99144null" "vendor_informations": [ "/admin/resources/vendor_informations/dc63450a-32fe-4fb9-98a6-89863d92e810" ] } ]
- adapter_number
- The number of the adapter module
- created_time
- The time at which the object is created
- firmware_level
- The level of firmware installed on the module
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the module
- label_text
- Default translated message text
- label_user
- User modified message text
- name
- A descriptive name for the module
- physical_io_adapters
- The id of the I/O adapter associated with the module
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- type
- The type of the module
- updated_time
- The time at which the object was last updated
Parents:
Children: vendor_informations
Get a specific Physical I/O Adapter Module
URI /admin/resources/physical_io_adapter_modules/{id} Method GET Returns 200 The Physical I/O Adapter Module was returned. 404 The Physical I/O Adapter Module was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Physical I/O Adapter Module identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.34. Physical I/O Adapters
Get all Physical I/O Adapters
URI /admin/resources/physical_io_adapters Method GET Returns 200 Returns a list of all Physical I/O Adapters 404 The Physical I/O Adapter list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Physical I/O Adapters.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "fc_output_requests": "fc_received_frames": "fc_transmitted_frames": "eth_bytes_recvd": "created_time": "Wed, 18 Apr 2012 14:04:15 GMT" "eth_multicast_pkts_recvd": "name": "SN#10F4DAA" "eth_multicast_pkts_sent": "fc_dumped_frames": "eth_sent_interrupts": "state": "available" "updated_time": "Wed, 18 Apr 2012 21:01:57 GMT" "eth_bytes_sent": "label_key": "pure2309" "eth_pkts_sent": "label_text": "Physical I/O Adapter" "eth_pkts_sent_dropped": "events": [ ] "eth_broadcast_pkts_sent": "fc_input_requests": "id": "/admin/resources/physical_io_adapters/d57c4a61-34e4-4fd9-9e74-1cae7d7b0649" "eth_broadcast_pkts_recvd": "eth_pkts_recvd": "eth_pkts_sent_error": "eth_pkts_recvd_dropped": "eth_pkts_recvd_bad": "physical_io_adapter_modules": [ ] "eth_pkts_recvd_error": "fc_output_bytes": "parent_type": "management_nodes" "physical_io_adapter_history": [ ] "fc_input_bytes": "management_nodes": "/admin/resources/management_nodes/95bd7cf5-50cd-48aa-8aec-8774a080e4a6" "label_user": "Physical I/O Adapter" "eth_recvd_interrupts": "type": "physical_io_adapters" "fc_error_frames": } ]
- created_time
- The time at which the object is created
- eth_broadcast_pkts_recvd
- The number of ethernet broadcast packets received
- eth_broadcast_pkts_sent
- The number of ethernet broadcast packets sent
- eth_bytes_recvd
- The number of ethernet bytes received
- eth_bytes_sent
- The number of ethernet bytes sent
- eth_multicast_pkts_recvd
- The number of ethernet multicast packets received
- eth_multicast_pkts_sent
- The number of ethernet multicast packets sent
- eth_pkts_recvd
- The number of ethernet packets received
- eth_pkts_recvd_bad
- The number of bad ethernet packets received
- eth_pkts_recvd_dropped
- The number of ethernet packet receive drops
- eth_pkts_recvd_error
- The number of ethernet packet receive errors
- eth_pkts_sent
- The number of ethernet packets sent
- eth_pkts_sent_dropped
- The number of ethernet packet send drops
- eth_pkts_sent_error
- The number of ethernet packet send errors
- eth_recvd_interrupts
- The number of ethernet receive interrupts
- eth_sent_interrupts
- The number of ethernet send interrupts
- fc_dumped_frames
- The number of fiber channel dumped frames
- fc_error_frames
- The number of fiber channel error frames
- fc_input_bytes
- The number of fiber channel input bytes
- fc_input_requests
- The number of fiber channel input requests
- fc_output_bytes
- The number of fiber channel output bytes
- fc_output_requests
- The number of fiber channel output requests
- fc_received_frames
- The number of fiber channel frames received
- fc_transmitted_frames
- The number of fiber channel frames transmitted
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the I/O adapter
- label_text
- Default translated message text
- label_user
- User modified message text
- name
- A descriptive name of the I/O adapter
- parent_type
- The type of the parent that the I/O adapter belongs to
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- type
- The type of object returned, "phyical_io_adapters"
- updated_time
- The time at which the object was last updated
- parent_type
- The type of the generic parent
Parents: compute_nodes
Children: physical_io_adapter_modules, events
Get a specific Physical I/O Adapter
URI /admin/resources/physical_io_adapters/{id} Method GET Returns 200 The Physical I/O Adapter was returned. 404 The Physical I/O Adapter was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Physical I/O Adapter identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.35. Physical I/O Ports
Get all Physical I/O Ports
URI /admin/resources/physical_io_ports Method GET Returns 200 Returns a list of all Physical I/O Ports 404 The Physical I/O Port list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Physical I/O Ports.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "vlan": "created_time": "Wed, 18 Apr 2012 14:04:58 GMT" "mac_address": "00:00:C9:C2:6E:86" "physical_io_adapter_modules": "/admin/resources/physical_io_adapter_modules/4870112c-b516-4f50-b132-c99144null" "port_number": 1 "speed": 8 "name": "00:00:C9:C2:6E:86" "link_state": "units": "Gb" "updated_time": "Wed, 18 Apr 2012 21:02:34 GMT" "state": "available" "label_key": "pure2312" "label_text": "Physical I/O Port" "type": "id": "/admin/resources/physical_io_ports/77021adc-1d99-4046-a5d1-6dc7e4891e39" "wwpn": } ]
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the port
- label_text
- Default translated message text
- link_state
- The link state of the port
- mac_address
- The MAC address of the port
- name
- The unique name of the port
- physical_io_adapter_modules
- The id of the physical I/O adapter module associated with the port
- port_number
- The number of the port
- speed
- The speed of the port
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- type
- The type of the port
- units
- The units for the port speed
- updated_time
- The time at which the object was last updated
- vlan
- The vlan number associated with this port
- wwpn
- The World Wide Port Name of the port
Parents:
Get a specific Physical I/O Port
URI /admin/resources/physical_io_ports/{id} Method GET Returns 200 The Physical I/O Port was returned. 404 The Physical I/O Port was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Physical I/O Port identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.36. Physical memory
Get all physical memory
URI /admin/resources/physical_memory Method GET Returns 200 Returns a list of all physical memory 404 The physical memory list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of physical memory.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:04:15 GMT" "total": 32746 "allocated": "name": "SN#10F4DAA" "units": "MB" "parent_type": "management_nodes" "physical_memory_modules": [ "/admin/resources/physical_memory_modules/9f997102-3a0e-4d82-a7af-4992dc32c3null" "/admin/resources/physical_memory_modules/42855c9c-c227-482f-9fc6-73e56bce14null" "/admin/resources/physical_memory_modules/761c15b1-ca50-463b-95f8-660dc00819null" "/admin/resources/physical_memory_modules/1b46a132-937f-421b-8ed8-3c604c7ccenull" "/admin/resources/physical_memory_modules/5427d704-a181-4cbf-a229-20d8da4ce2null" "/admin/resources/physical_memory_modules/c28e344c-e8ac-4f3b-8362-2994b02bf2null" "/admin/resources/physical_memory_modules/b712cffb-9f58-4f35-90c8-b7a472142fnull" "/admin/resources/physical_memory_modules/6fc8d8f6-2294-45e8-9594-6d743d68a9null" ] "state": "available" "updated_time": "Wed, 18 Apr 2012 21:08:26 GMT" "label_key": "pure0521" "management_nodes": "/admin/resources/management_nodes/95bd7cf5-50cd-48aa-8aec-8774a080e4a6" "label_text": "Physical Memory" "events": [ ] "id": "/admin/resources/physical_memory/ff61f44f-c119-4bb5-8722-5ca890b3ca1f" "used": "physical_memory_history": [ "/admin/resources/physical_memory_history/478d74f0-6f06-44dd-8733-6f8e9140bcnull" "/admin/resources/physical_memory_history/a7aa0f71-9fed-459e-aaf7-07e343a5cfnull" "/admin/resources/physical_memory_history/db3d1cf0-f67d-4578-9639-3b366837f0null" "/admin/resources/physical_memory_history/1a39f3f5-9524-412f-8b49-3693d725bfnull" "/admin/resources/physical_memory_history/ac0c46df-fdb0-4544-a5ba-7dcb23f45bnull" "/admin/resources/physical_memory_history/466cb074-191f-4f9b-b0bd-c8ecb72504null" "/admin/resources/physical_memory_history/c13c0dee-90cd-407d-8ba2-9ae1745f2cnull" "/admin/resources/physical_memory_history/46f1c9ec-2b6f-484e-841a-7e36a3a41cnull" "/admin/resources/physical_memory_history/9bbe355d-20cc-4bc2-a63f-dc2b4c714anull" "/admin/resources/physical_memory_history/309c99cd-9a4f-4b46-bf23-a8294403ddnull" "/admin/resources/physical_memory_history/37ff088f-23aa-4331-b619-6eac97d549null" "/admin/resources/physical_memory_history/e695c11b-095e-4360-a432-101460d5dbnull" "/admin/resources/physical_memory_history/a267c673-0b4f-4851-a61d-27ed3dabcbnull" "/admin/resources/physical_memory_history/6f1c356a-f4ae-4a29-b6ce-2cb59bb587null" "/admin/resources/physical_memory_history/762b4062-f4e3-44dd-8990-a2a452bb27null" "/admin/resources/physical_memory_history/46ba06e0-4b63-40a7-8490-1adb636543null" "/admin/resources/physical_memory_history/5b55765a-bcf1-4f20-92ad-0d9940b600null" "/admin/resources/physical_memory_history/6901c625-25bd-4456-a0e2-08d67df872null" "/admin/resources/physical_memory_history/4849c337-5f6b-4f86-8afc-ef04c1845anull" "/admin/resources/physical_memory_history/6385bd91-283f-42b8-a572-67c2354613null" "/admin/resources/physical_memory_history/64af58fc-8098-435b-a888-995485a1canull" "/admin/resources/physical_memory_history/4cf76699-c6a7-4f38-9077-97da59333bnull" "/admin/resources/physical_memory_history/c9afaa29-bb80-465d-901b-580cfe70a0null" "/admin/resources/physical_memory_history/141adebc-559d-47d9-97b2-fb218ebc85null" "/admin/resources/physical_memory_history/fcefbe67-984d-4a3d-ae2c-35dc9e0546null" "/admin/resources/physical_memory_history/81d00552-9651-4332-819b-b362118ec8null" "/admin/resources/physical_memory_history/79b7e774-f604-49ea-b651-776bd22f46null" "/admin/resources/physical_memory_history/aae30d6c-9c6a-4101-a05d-29d5df62f0null" "/admin/resources/physical_memory_history/826d6395-0987-47aa-8cc7-37b4a6a493null" "/admin/resources/physical_memory_history/a409bed6-688d-40f4-b4cb-202b03f2e7null" "/admin/resources/physical_memory_history/0b9f5558-2e40-483c-a1b5-7ffa5fe6bcnull" "/admin/resources/physical_memory_history/e51348ba-3aae-41d0-a868-43648e6fdbnull" "/admin/resources/physical_memory_history/9ddeb200-3558-4471-8b8a-35e54cccd7null" "/admin/resources/physical_memory_history/a6c22bb4-f9a5-4862-957a-ca52601ee7null" "/admin/resources/physical_memory_history/ed03c21e-e33d-4ef4-a6df-5fe9576e47null" "/admin/resources/physical_memory_history/fde7e8e8-c3d9-4c1c-8cd1-a4371893ccnull" "/admin/resources/physical_memory_history/72552b05-31e9-473a-985f-0d86ec3ba2null" "/admin/resources/physical_memory_history/fa08df45-797b-40c0-b70c-be1908545anull" "/admin/resources/physical_memory_history/dd35db66-8349-4914-8e6d-c93211044enull" "/admin/resources/physical_memory_history/3ea8fac5-1bfc-4525-9590-2426c6ca66null" "/admin/resources/physical_memory_history/8c9c95d8-a769-44d1-acc6-609003f5afnull" ] } ]
- allocated
- Allocated amount of physical memory
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving the label for the physical memory
- label_text
- Default translated message text
- name
- The name of the physical memory
- parent_type
- The type of parent of the physical memory
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- total
- Total amount of physical memory
- units
- The units used with the physical memory
- updated_time
- The time at which the object was last updated
- Used
- Used amount of physical memory
- parent_type
- The type of the generic parent
Parents: compute_nodes
Children: physical_memory_history, events
Get a specific physical memory
URI /admin/resources/physical_memory/{id} Method GET Returns 200 The physical memory was returned. 404 The physical memory was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single physical memory identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.37. Physical memory history
Get all physical memory history
URI /admin/resources/physical_memory_history Method GET Returns 200 Returns a list of all physical memory history 404 The physical memory history list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of physical memory history.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "available" "updated_time": "Wed, 18 Apr 2012 21:08:29 GMT" "created_time": "Wed, 18 Apr 2012 14:54:25 GMT" "label_key": "pure0523" "total": 196586 "allocated": 9216 "label_text": "Physical Memory History" "physical_memory": "/admin/resources/physical_memory/198a7ff7-4dee-437c-8fd8-1f130344befe" "id": "/admin/resources/physical_memory_history/fbbe5ffa-1438-4394-bc9c-df863deaeenull" "name": "SN#FBI0538" "used": 5357 "units": "MB" } ]
- allocated
- Allocated amount of physical memory
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving the label for the physical memory history
- label_text
- Default translated message text
- name
- The name of the physical memory history
- physical_memory
- The physical memory that the physical memory history belongs to
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- total
- Total amount of physical memory
- units
- The units used with the physical memory
- updated_time
- The time at which the object was last updated
- Used
- Used amount of physical memory
Parents:
Get a specific physical memory history
URI /admin/resources/physical_memory_history/{id} Method GET Returns 200 The physical memory history was returned. 404 The physical memory history was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single physical memory history identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.38. Physical memory modules
Get all physical memory modules
URI /admin/resources/physical_memory_modules Method GET Returns 200 Returns a list of all physical memory modules 404 The physical memory module list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of physical memory modules.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "available" "updated_time": "Wed, 18 Apr 2012 14:04:31 GMT" "size": "4" "created_time": "Wed, 18 Apr 2012 14:04:31 GMT" "label_key": "pure0522" "leds": [ "/admin/resources/leds/71e9702d-c17c-4e22-ad3e-6c00a790419b" ] "label_text": "Physical Memory Module" "physical_memory": "/admin/resources/physical_memory/ff61f44f-c119-4bb5-8722-5ca890b3ca1f" "id": "/admin/resources/physical_memory_modules/9f997102-3a0e-4d82-a7af-4992dc32c3null" "name": "DIMM 1" "vendor_informations": [ "/admin/resources/vendor_informations/98912f28-f82d-4a9d-8431-505fd7ae3e18" ] "units": "GB" } ]
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving the label for the physical memory module
- label_text
- Default translated message text
- name
- The name of the physical memory module
- physical_memory
- The physical memory object that is associated with the physical memory module
- size
- The size of the physical memory module
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- units
- The units used with the physical memory module
- updated_time
- The time at which the object was last updated
Parents:
Children: leds
Get a specific physical memory module
URI /admin/resources/physical_memory_modules/{id} Method GET Returns 200 The physical memory module was returned. 404 The physical memory module was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single physical memory module identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.39. Power Supplies
Get all Power Supplies
URI /admin/resources/power_supplies Method GET Returns 200 Returns a list of all Power Supplies 404 The Power Supply list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Power Supplies.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "available" "updated_time": "Wed, 18 Apr 2012 14:03:17 GMT" "compute_node_chassis": "/admin/resources/compute_node_chassis/ddbc2af5-ebc9-4a2e-92fc-aabd88bac3c1" "created_time": "Wed, 18 Apr 2012 14:03:17 GMT" "label_key": "pure0513" "power_supply_fans": [ "/admin/resources/power_supply_fans/4bc4bc46-adae-4286-baf0-f2b81841b414" ] "leds": [ ] "label_text": "2980W Power Module" "events": [ ] "id": "/admin/resources/power_supplies/32d2d21f-c186-450f-9f12-5e073ce60084" "name": "SN#23EWD31P1" "vendor_informations": [ "/admin/resources/vendor_informations/df4f5f93-c7c7-439d-8cb5-af2abd448e36" ] } ]
- compute_node_chassis
- The compute node chassis the power supply is associated with
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the power supply
- label_text
- Default translated message text
- name
- The name of the power supply
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
Parents:
Children: vendor_informations, events, power_supply_fans
Get a specific Power Supply
URI /admin/resources/power_supplies/{id} Method GET Returns 200 The Power Supply was returned. 404 The Power Supply was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Power Supply identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.40. Power Supply Fans
Get all Power Supply Fans
URI /admin/resources/power_supply_fans Method GET Returns 200 Returns a list of all Power Supply Fans 404 The Power Supply Fan list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Power Supply Fans.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "available" "updated_time": "Wed, 18 Apr 2012 21:07:25 GMT" "created_time": "Wed, 18 Apr 2012 14:07:21 GMT" "label_key": "pure0515" "speed": "29%" "power_supplies": "/admin/resources/power_supplies/32d2d21f-c186-450f-9f12-5e073ce60084" "leds": [ ] "label_text": "2980W Power Module Fan" "events": [ ] "id": "/admin/resources/power_supply_fans/4bc4bc46-adae-4286-baf0-f2b81841b414" "name": "SN#23EWD31P2F1" "health_state": "ok" } ]
- created_time
- The time at which the object is created
- health_state
- The health state of the power supply fan, either �normal� or �warning�
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the power supply fan
- label_text
- Default translated message text
- name
- The name of the power supply fan
- power_supplies
- The power supply that the fan is associated with
- speed
- The speed of the power supply fan in revolutions per minute
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
Parents:
Children: events
Get a specific Power Supply Fan
URI /admin/resources/power_supply_fans/{id} Method GET Returns 200 The Power Supply Fan was returned. 404 The Power Supply Fan was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Power Supply Fan identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.41. Problems
Get all problems
URI /admin/resources/problems Method GET Returns 200 Returns a list of all problems 404 The problem list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of problems.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "service_request_number": "Disabled" "error_code": "created_time": "Wed, 18 Apr 2012 14:10:45 GMT" "event_failing_machine_serial": "10A368A" "eed_location": "RemoteCollectionDisabled" "state": "pending" "updated_time": "Wed, 18 Apr 2012 14:10:46 GMT" "event_failing_machine_model": "6E4" "event_failing_machine_type": "7028" "label_key": "pure1106" "label_text": "Problems called home" "origin_address": "fd8c:215d:178e:c0de:5ef3:fcff:fe5f:390" "id": "/admin/resources/problems/792d15e0-316d-4a09-9af1-e0f2dcc4b0c1" "event_id": "9b2392e8-450b-49b0-a830-675b697dbab5" "event_customer_defined_details": "com.ibm.purescale.global.GlobalException: One Networking record was expected but 0 where found in table global_config : PureApplication FSM Leader Database inconull" "event_text": "com.ibm.purescale.global.GlobalException: One Networking record was expected butnull" "status": "open" "additional_data_1": "additional_data_2": "additional_data_3": "additional_data_4": "additional_data_5": "additional_data_6": "additional_data_7": "additional_data_8": "additional_data_9": "additional_data_10": "component": "com.ibm.purescale.global.database.Database" "additional_data_11": "additional_data_12": } ]
- additional_data_1
- Additional details for the problem
- additional_data_10
- Additional details for the problem
- additional_data_11
- Additional details for the problem
- additional_data_12
- Additional details for the problem
- additional_data_2
- Additional details for the problem
- additional_data_3
- Additional details for the problem
- additional_data_4
- Additional details for the problem
- additional_data_5
- Additional details for the problem
- additional_data_6
- Additional details for the problem
- additional_data_7
- Additional details for the problem
- additional_data_8
- Additional details for the problem
- additional_data_9
- Additional details for the problem
- component
- Software component associated with the problem
- created_time
- The time at which the object is created
- eed_location
- The location of any extended error data
- error_code
- The error code of the problem
- event_customer_defined_details
- Customer defined details for the problem
- event_failing_machine_model
- The model of the failing machine associated with the problem
- event_failing_machine_serial
- The serial number of the failing machine associated with the problem
- event_failing_machine_type
- The type of the failing machine associated with the problem
- event_id
- The identifier of the problem
- event_text
- The text description of the problem
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the problem
- label_text
- Default translated message text
- origin_address
- Original IP address associated with the problem
- service_request_number
- The service request number for the problem
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- status
- The status of the problem
- updated_time
- The time at which the object was last updated
Get a specific problem
URI /admin/resources/problems/{id} Method GET Returns 200 The problem was returned. 404 The problem was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single problem identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.42. Rack history
Get all rack history
URI /admin/resources/rack_history Method GET Returns 200 Returns a list of all rack history 404 The rack history list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of rack history.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "storage_total": 0 "virtual_cpus_total": 16 "total_input_power_units": "W" "network_fc_total_bytes_in": 0 "number_of_expansions": 0 "virtual_memory_used": 2534 "name": "8283/12345" "state": "available" "average_chassis_ambient_temperature": 21 "label_key": "pure0509" "label_text": "Rack History" "physical_memory_units": "MB" "id": "/admin/resources/rack_history/52ac5d0c-6ddc-4782-a2fd-59e6d6edb213" "physical_cpus_utilization_percent": 4 "average_compute_node_temperature": 44 "average_chassis_exhaust_temperature": 31 "number_of_controllers": 0 "total_pvu_value": 3360 "storage_temperature": 0 "storage_free": 0 "network_ethernet_total_bytes_errors": 0 "storage_time_interval": 1000 "number_of_hdd": 0 "rack_stats": "/admin/resources/rack_stats/500936dc-6191-454c-9326-3891fa9d7299" "physical_cpus_total": 48 "type": "rack_stats" "virtual_memory_total": 85248 "physical_cpus_allocated": 0.7 "created_time": "Wed, 18 Apr 2012 14:54:49 GMT" "network_ethernet_total_bytes_out": 0 "network_fc_total_bytes_errors": 0 "number_of_instances": 13 "updated_time": "Wed, 18 Apr 2012 21:08:55 GMT" "number_of_ssd": 0 "physical_memory_used": 11167 "total_input_power": 1757 "storage_avg_latency_in": 0.0 "storage_total_bytes_in": 0 "storage_avg_latency_out": 0.0 "physical_cpus_units": "cores" "number_of_compute_node_chassis": 3 "temperature_units": "C" "virtual_memory_units": "MB" "number_of_volumes": 0 "virtual_cpus_utilization_percent": 0 "network_ethernet_total_bytes_in": 0 "physical_memory_total": 589758 "network_fc_total_bytes_out": 0 "physical_memory_allocated": 9472 "number_of_compute_nodes": 3 "storage_total_bytes_out": 0 } ]
- average_chassis_ambient_temperature
- Average chassis ambient temperature
- average_chassis_exhaust_temperature
- Average chassis exhaust temperature
- average_compute_node_temperature
- Average compute node temperature
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the rack history
- label_text
- Default translated message text
- name
- The name of the rack history
- network_ethernet_total_bytes_errors
- Total bytes errors for ethernet network
- network_ethernet_total_bytes_in
- Total bytes in for ethernet network
- network_ethernet_total_bytes_out
- Total bytes out for ethernet network
- network_fc_total_bytes_errors
- Total bytes errors for FC network
- network_fc_total_bytes_in
- Total bytes in for FC network
- network_fc_total_bytes_out
- Total bytes out for FC network
- number_of_compute_node_chassis
- Number of compute node chassis
- number_of_compute_nodes
- Number of compute nodes
- number_of_controllers
- Number of controllers
- number_of_expansions
- Number of expansions
- number_of_hdd
- Number of HDD
- number_of_instances
- Number of instances
- number_of_ssd
- Number of SSD
- number_of_volumes
- Number of volumes
- physical_cpus_allocated
- Number of allocated cpus
- physical_cpus_total
- Total number of physical cpus
- physical_cpus_units
- Unit for physical cpus
- physical_cpus_utilization_percent
- Percent of physical cpu utilization
- physical_memory_allocated
- Physical memory allocated
- physical_memory_total
- Total physical memory
- physical_memory_units
- Unit for physical memory
- physical_memory_used
- Physical memory used
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- storage_avg_latency_in
- The average latency in
- storage_avg_latency_out
- The average latency out
- storage_free
- Free storage
- storage_temperature
- Storage temperature
- storage_time_interval
- The time interval for the averages
- storage_total
- Total storage
- storage_total_bytes_in
- Total bytes in for the storage controllers
- storage_total_bytes_out
- Total bytes out for the storage controllers
- temperature_units
- Unit for temperature
- total_input_power
- Total input power
- total_input_power_units
- Unit for input power
- total_pvu_value
- Total pvu value
- type
- The type of the rack history
- updated_time
- The time at which the object was last updated
- virtual_cpus_total
- Number of total virtual cpus
- virtual_cpus_utilization_percent
- Percent of virtual cpu utilization
- virtual_memory_total
- Total virtual memory
- virtual_memory_units
- Unit for virtual memory
- virtual_memory_used
- Virtual memory used
Parents:
Get a specific rack history
URI /admin/resources/rack_history/{id} Method GET Returns 200 The rack history was returned. 404 The rack history was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single rack history identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.43. Rack stats
Get all rack stats
URI /admin/resources/rack_stats Method GET Returns 200 Returns a list of all rack stats 404 The rack stat list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of rack stats.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "storage_total": 0 "virtual_cpus_total": 16 "total_input_power_units": "W" "network_fc_total_bytes_in": 0 "number_of_expansions": 0 "virtual_memory_used": 2534 "name": "8283/12345" "state": "available" "average_chassis_ambient_temperature": 21 "label_key": "pure0508" "label_text": "Rack Stats" "physical_memory_units": "MB" "id": "/admin/resources/rack_stats/500936dc-6191-454c-9326-3891fa9d7299" "totalstoragein": "physical_cpus_utilization_percent": 4 "average_compute_node_temperature": 44 "average_chassis_exhaust_temperature": 31 "number_of_controllers": 0 "total_pvu_value": 3360 "rack_history": [ "/admin/resources/rack_history/52ac5d0c-6ddc-4782-a2fd-59e6d6edb213" "/admin/resources/rack_history/646538c7-8f4d-47a2-ab17-c9d5161e2855" "/admin/resources/rack_history/124970b8-8314-4525-a6c1-8d7da8c823e4" "/admin/resources/rack_history/eff5d1b1-1838-4732-a64f-6481a4dffbee" "/admin/resources/rack_history/81a8b9a4-884b-4492-8c94-67070127799f" "/admin/resources/rack_history/0439f85d-4fff-4e73-bc4b-ba59db227235" "/admin/resources/rack_history/7a16844c-7a38-4f1b-ba0a-3c843174f815" "/admin/resources/rack_history/ce52cf57-a75c-401b-997e-7c59418b521f" "/admin/resources/rack_history/9261914f-d5ff-4a30-9aed-ae17037bbb0b" "/admin/resources/rack_history/4987a7d3-c546-496c-ad68-20e4743d3827" "/admin/resources/rack_history/e746d9a3-b0c9-4fd6-b9c1-d6bb20159462" "/admin/resources/rack_history/b7dfcdc1-be0c-4e16-9e53-52f41f618279" "/admin/resources/rack_history/d16e93bc-5994-4b75-ae3a-44903e00642e" "/admin/resources/rack_history/4ab15df6-a6ec-4855-8ee0-1f547f7d9c6f" "/admin/resources/rack_history/bc023d25-f530-4f79-bcf3-298298d80937" "/admin/resources/rack_history/5eec3c5a-030d-4d46-82c4-6aeb4c359327" "/admin/resources/rack_history/7e3c11c1-dfc0-431c-9689-0d135ab3d7a4" "/admin/resources/rack_history/ee64e7fd-d29c-4540-9ccf-0574f427d5b4" "/admin/resources/rack_history/95781add-508d-41c3-81a0-ea41250c836e" "/admin/resources/rack_history/a7643124-b6d3-4614-9924-77662ae46289" "/admin/resources/rack_history/5294fb4b-7dcb-4b15-81d2-263b58d6a64f" "/admin/resources/rack_history/c1266973-e5b2-4d81-893d-aa81feac4bcc" "/admin/resources/rack_history/c98d7275-6bfa-4479-9392-1f3819f1065c" "/admin/resources/rack_history/e49cc56f-c56e-4cbc-9220-cabec14fc77a" "/admin/resources/rack_history/f6e1b359-b594-45a0-8324-f6d0fcc6755b" "/admin/resources/rack_history/5c97bea2-0f73-4bda-8a88-3990ff90df3c" "/admin/resources/rack_history/879e7e15-2a33-408a-8aba-c7cad7a3eca1" "/admin/resources/rack_history/c902c235-870a-40ec-ad35-f5da81d2cd65" "/admin/resources/rack_history/58220a2a-f766-4814-ac00-c6a7ea5ecee3" "/admin/resources/rack_history/1a11612c-6ee6-4259-b0ae-96cb511063b4" "/admin/resources/rack_history/67f7912e-e81a-470b-967c-922723b457de" "/admin/resources/rack_history/c14a2e21-5859-4f21-981f-c09bea3cd422" "/admin/resources/rack_history/035b466e-af8d-4e4d-b2b3-24041a580708" "/admin/resources/rack_history/1d58f642-3223-4ea5-813f-b0785ecbf19c" "/admin/resources/rack_history/5fd95a99-b71f-4a79-8212-19b621b48775" "/admin/resources/rack_history/3ca84ea2-9f22-4da1-ad3e-f14d3c68f95f" "/admin/resources/rack_history/7dcf0566-4337-41b0-af61-b5e25b9ecb04" "/admin/resources/rack_history/1819abbe-d66b-475c-a5ff-93295fd5e1f4" "/admin/resources/rack_history/584c3c03-6503-4684-8e34-6f0b7e6ec0e5" "/admin/resources/rack_history/9d746c88-b73f-4ea7-b0bd-2ef0812b23d1" "/admin/resources/rack_history/d5113ea3-99cd-47d1-86a9-d15539cfc539" ] "storage_temperature": 0 "storage_free": 0 "network_ethernet_total_bytes_errors": 0 "storage_time_interval": 1000 "number_of_hdd": 0 "totalstorageout": "physical_cpus_total": 48 "type": "rack_stats" "virtual_memory_total": 85248 "physical_cpus_allocated": 0.7 "created_time": "Wed, 18 Apr 2012 14:12:12 GMT" "network_ethernet_total_bytes_out": 0 "network_fc_total_bytes_errors": 0 "number_of_instances": 13 "updated_time": "Wed, 18 Apr 2012 21:08:55 GMT" "number_of_ssd": 0 "physical_memory_used": 11167 "total_input_power": 1757 "storage_avg_latency_in": 0.0 "storage_total_bytes_in": 0 "storage_avg_latency_out": 0.0 "totalstorageerrors": "physical_cpus_units": "cores" "number_of_compute_node_chassis": 3 "temperature_units": "C" "virtual_memory_units": "MB" "number_of_volumes": 0 "virtual_cpus_utilization_percent": 0 "network_ethernet_total_bytes_in": 0 "network_fc_total_bytes_out": 0 "physical_memory_total": 589758 "physical_memory_allocated": 9472 "number_of_compute_nodes": 3 "storage_total_bytes_out": 0 "racks": "/admin/resources/racks/fa455378-b6a3-466f-8e36-21659e9cc64b" } ]
- average_chassis_ambient_temperature
- Average chassis ambient temperature
- average_chassis_exhaust_temperature
- Average chassis exhaust temperature
- average_compute_node_temperature
- Average compute node temperature
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the rack stats
- label_text
- Default translated message text
- name
- The name of the rack stats
- network_ethernet_total_bytes_errors
- Total bytes errors for ethernet network
- network_ethernet_total_bytes_in
- Total bytes in for ethernet network
- network_ethernet_total_bytes_out
- Total bytes out for ethernet network
- network_fc_total_bytes_errors
- Total bytes errors for FC network
- network_fc_total_bytes_in
- Total bytes in for FC network
- network_fc_total_bytes_out
- Total bytes out for FC network
- number_of_compute_node_chassis
- Number of compute node chassis
- number_of_compute_nodes
- Number of compute nodes
- number_of_controllers
- Number of controllers
- number_of_expansions
- Number of expansions
- number_of_hdd
- Number of HDD
- number_of_instances
- Number of instances
- number_of_ssd
- Number of SSD
- number_of_volumes
- Number of volumes
- physical_cpus_allocated
- Number of allocated cpus
- physical_cpus_total
- Total number of physical cpus
- physical_cpus_units
- Unit for physical cpus
- physical_cpus_utilization_percent
- Percent of physical cpu utilization
- physical_memory_allocated
- Physical memory allocated
- physical_memory_total
- Total physical memory
- physical_memory_units
- Unit for physical memory
- physical_memory_used
- Physical memory used
- racks
- Racks that the rack stats belongs to
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- storage_avg_latency_in
- The average latency in
- storage_avg_latency_out
- The average latency out
- storage_free
- Free storage
- storage_temperature
- Storage temperature
- storage_time_interval
- The time interval for the averages
- storage_total
- Total storage
- storage_total_bytes_in
- Total bytes in for the storage controllers
- storage_total_bytes_out
- Total bytes out for the storage controllers
- temperature_units
- Unit for temperature
- total_input_power
- Total input power
- total_input_power_units
- Unit for input power
- total_pvu_value
- Total pvu value
- totalstorageerrors
- Total storage errors for the storage controllers
- totalstoragein
- Total messages in for the storage controllers
- totalstorageout
- Total messages out for the storage controllers
- type
- The type of the rack stats
- updated_time
- The time at which the object was last updated
- virtual_cpus_total
- Number of total virtual cpus
- virtual_cpus_utilization_percent
- Percent of virtual cpu utilization
- virtual_memory_total
- Total virtual memory
- virtual_memory_units
- Unit for virtual memory
- virtual_memory_used
- Virtual memory used
Parents:
Children:
Get a specific rack stat
URI /admin/resources/rack_stats/{id} Method GET Returns 200 The rack stat was returned. 404 The rack stat was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single rack stat identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.44. Racks
Get all racks
URI /admin/resources/racks Method GET Returns 200 Returns a list of all racks 404 The rack list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of racks.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "switches": [ ] "primary_sys_mgmt_node_kickstart_status": "complete" "created_time": "Wed, 18 Apr 2012 14:03:02 GMT" "networks": [ ] "name": "8283/12345" "state": "available" "updated_time": "Wed, 18 Apr 2012 14:09:52 GMT" "secondary_sys_mgmt_node_kickstart_status": "pending" "compute_node_chassis": [ "/admin/resources/compute_node_chassis/ddbc2af5-ebc9-4a2e-92fc-aabd88bac3c1" "/admin/resources/compute_node_chassis/802a9892-0d89-4b4c-b2a5-6a6efc1e88f1" "/admin/resources/compute_node_chassis/3200c8db-69e2-4350-80b2-0fc640e3ee6a" ] "storage_controllers": [ ] "label_key": "pure0507" "label_user": "Rack" "rack_stats": [ "/admin/resources/rack_stats/500936dc-6191-454c-9326-3891fa9d7299" ] "label_text": "Rack" "clusters": "/admin/resources/clusters/b5307af2-3890-4a8d-bfe2-bcd6c4d9a6c5" "events": [ ] "type": "rack" "id": "/admin/resources/racks/fa455378-b6a3-466f-8e36-21659e9cc64b" "vendor_informations": [ "/admin/resources/vendor_informations/6b69da52-d7b8-496f-b56d-6a8abc34a1a4" ] "locations": [ "/admin/resources/locations/f3d9e0cd-0d18-4741-b3d3-819c4be65d8c" ] } ]
- clusters
- The clusters that the rack belongs to
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the rack
- label_text
- Default translated message text
- label_user
- User modified message text
- name
- The name of the rack
- primary_sys_mgmt_node_kickstart_status
- The kickstart status of the primary system management node
- secondary_sys_mgmt_node_kickstart_status
- The kickstart status of the secondary system management node
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- type
- The type of the rack
- updated_time
- The time at which the object was last updated
Parents:
Children: storage_controllers, vendor_informations, locations, networks, events, switches, rack_stats
Get a specific rack
URI /admin/resources/racks/{id} Method GET Returns 200 The rack was returned. 404 The rack was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single rack identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.45. Role permissions
Get all role permissions
URI /admin/resources/role_permissions Method GET Returns 200 Returns a list of all role permissions 404 The role permissions list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of role permissions.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "available" "updated_time": "Wed, 18 Apr 2012 14:09:44 GMT" "created_time": "Wed, 18 Apr 2012 14:09:44 GMT" "label_key": "pure8505" "permissions": 4 "label_text": "Security Role Permission" "id": "/admin/resources/role_permissions/83e7493c-ec43-4788-96f8-87c3ce99e65e" "resource_type": "rack_history" "roles": "/admin/resources/roles/cc7efbf7-31f3-4897-a324-d1364c7b1af7" "is_hidden": "F" } ]
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- is_hidden
- Flag indicating if the user groups role is hidden or not
- label_key
- Key for retrieving label for the role permission
- label_text
- Default translated message text
- permissions
- The actions that may be performed on resource
- resource_type
- The type of the resource within the system
- roles
- The URI of an existing role in the system
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
Parents:
Get a specific role permissions
URI /admin/resources/role_permissions/{id} Method GET Returns 200 The role permissions was returned. 404 The role permissions was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single role permissions identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.46. Roles
Get all roles
URI /admin/resources/roles Method GET Returns 200 Returns a list of all roles 404 The role list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of roles.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "available" "updated_time": "Wed, 18 Apr 2012 14:09:43 GMT" "created_time": "Wed, 18 Apr 2012 14:09:43 GMT" "label_key": "pure8503" "role_id": 1 "users": [ "/admin/resources/users/086688ae-7e92-42f6-8470-d416360611ed" "/admin/resources/users/50ce127a-4ee2-4553-b8e8-e7214d13f971" "/admin/resources/users/18bcd293-058b-4663-a724-d869f04c63c3" ] "label_text": "Security Role" "id": "/admin/resources/roles/c2e48bab-6e3f-43ad-a609-d7f34c5e99fd" "name": "SUPER_USER" "role_permissions": [ "/admin/resources/role_permissions/b301cb7f-1947-45e6-8acd-394a564589be" "/admin/resources/role_permissions/1c6339f5-3f35-480d-86ce-4e8e7c63f60f" "/admin/resources/role_permissions/abeebd6c-dd47-486b-9aac-82906e613389" "/admin/resources/role_permissions/c9ac926d-e901-4844-8c54-6d39cdce574b" "/admin/resources/role_permissions/5a446dd5-9a14-4b01-ada7-8c3120abf186" "/admin/resources/role_permissions/d4235900-4295-4df2-9463-af818d1f4aa0" ] "is_hidden": "F" } ]
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- is_hidden
- Flag indicating if the role is hidden or not
- label_key
- Key for retrieving label for the role
- label_text
- Default translated message text
- name
- The name of the role
- role_id
- Role's identifier
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- Users
- The users in this role
Children:
Get a specific role
URI /admin/resources/roles/{id} Method GET Returns 200 The role was returned. 404 The role was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single role identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.47. Secure keys
Get all secure keys
URI /admin/resources/secure_keys Method GET Returns 200 Returns a list of all secure keys 404 The secure key list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of secure keys.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "available" "updated_time": "Wed, 18 Apr 2012 14:09:48 GMT" "created_time": "Wed, 18 Apr 2012 14:09:48 GMT" "label_key": "pure8511" "secure_key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiUzFQ1fXe2iMgqhVS4ZvgQ9L+LbEuPSm4WUc 1AmkFXq+NbSpFlXUasxQGoo9+6xdSrzu7fyAS4z4IO279+TAUu6OoLbCO9N9jr8sfWmLz+ZsbuJ1U/Ww 1BPxCx/I+c0FMoHOV2QpsznBfGY8cbTzZcQADfshfgBFAx1puXre9sHPj5cR+0Qcu3x5RPJX9Tfluzhp xZOEyXp3+8vds7rZv8hWL1LHkmRaLHX6v4JtlVitjjaaKYXV/u3sjdw9Q+ODNDZ9bSu+0HO0JepcFso8null" "label_text": "Secure Key" "key_type": "public" "id": "/admin/resources/secure_keys/baa56ade-f3fd-42bb-9db5-5a93cf39ce55" "name": "IPAS" } ]
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- key_type
- The type of the security key
- label_key
- Key for retrieving label for the security key
- label_text
- Default translated message text
- name
- The name of the security key
- secure_key
- The security key
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
Get a specific secure key
URI /admin/resources/secure_keys/{id} Method GET Returns 200 The secure key was returned. 404 The secure key was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single secure key identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.48. Secure tokens
Get all secure tokens
URI /admin/resources/secure_tokens Method GET Returns 200 Returns a list of all secure tokens 404 The secure tokens list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of secure tokens.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- is_deletable
- Flag indicating if the security token can be deleted or not
- is_hidden
- Flag indicating if the security token is hidden or not
- label_key
- Key for retrieving label for the security token
- lable_text
- Default label for the security token
- name
- The name of the security token
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- token
- The security token
- token_type
- The type of the security token
- updated_time
- The time at which the object was last updated
Get a specific secure tokens
URI /admin/resources/secure_tokens/{id} Method GET Returns 200 The secure tokens was returned. 404 The secure tokens was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single secure tokens identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.49. Security configs
Get all security configs
URI /admin/resources/security_configs Method GET Returns 200 Returns a list of all security configs 404 The security config list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of security configs.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "available" "updated_time": "Wed, 18 Apr 2012 14:09:47 GMT" "created_time": "Wed, 18 Apr 2012 14:09:47 GMT" "label_key": "pure8508" "label_text": "Security Configuration" "ldap_configs": "/admin/resources/ldap_configs/10cd8d86-a6b9-4af6-91f2-d588caec98f6" "auth_mode": "internal" "id": "/admin/resources/security_configs/9ed5c0b6-0681-4fc4-be74-a524edf565c5" } ]
- auth_mode
- Authentication mode of the security configuration
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the security configuration
- label_text
- Default translated message text
- ldap_configs
- The LDAP configuration associated with security configuration
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
Parents:
Get a specific security config
URI /admin/resources/security_configs/{id} Method GET Returns 200 The security config was returned. 404 The security config was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single security config identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.50. Storage controller ports
Get all storage controller ports
URI /admin/resources/storage_controller_ports Method GET Returns 200 Returns a list of all storage controller ports 404 The storage controller port list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of storage controller ports.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the storage controller port
- lable_text
- Default label for the storage controller port
- name
- The name of the storage controller port
- parent
- The parent that the the storage controller port belongs to
- parent_type
- The type of the parent that the storage controller port belongs to
- portnum
- Storage controller port number
- speed
- The speed of the storage controller port
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- wwpn
- World Wide Port Name
- parent_type
- The type of the generic parent
Parents:
storage_controllers, storage_expansions
Children:
storage_port_statistics, events
Get a specific storage controller port
URI /admin/resources/storage_controller_ports/{id} Method GET Returns 200 The storage controller port was returned. 404 The storage controller port was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single storage controller port identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.51. Storage controllers
Get all storage controllers
URI /admin/resources/storage_controllers Method GET Returns 200 Returns a list of all storage controllers 404 The storage controller list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of storage controllers.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- capacity
- Total amount of storage in the storage controller
- created_time
- The time at which the object is created
- enclosure_id
- The id of the enclosure
- firmware_level
- The current firmware edition of the storage controller
- free_capacity
- Total amount of free or unused storage in the storage controller
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the storage controller
- label_user
- User modified message text
- lable_text
- Default label for the storage controller
- max_flash_copies
- The maximum number of flash copies that this storage controller can make
- name
- The name of the storage controller
- ongoing_flash_copies
- The number of copies that this storage controller is currently making
- racks
- The rack which holds this storage controller
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- units
- The units of measurement used for sizes with this storage controller
- updated_time
- The time at which the object was last updated
- vms_id
- The Virtualization Management System ID for the storage controller
- vms_uuid
- The Virtualization Management System UUID for the storage controller
Parents:
Children:
disk_drives, storage_expansions, storage_pools, storage_controller_ports, vendor_informations, locations, leds, temperature_stats, events, storage_node_statistics, storage_mdisks
Get a specific storage controller
URI /admin/resources/storage_controllers/{id} Method GET Returns 200 The storage controller was returned. 404 The storage controller was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single storage controller identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.52. Storage expansions
Get all storage expansions
URI /admin/resources/storage_expansions Method GET Returns 200 Returns a list of all storage expansions 404 The storage expansion list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of storage expansions.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- capacity
- Total amount of storage in the storage controller
- created_time
- The time at which the object is created
- enclosure_id
- The id of the enclosure
- firmware_level
- The current firmware edition of the storage expansion
- free_capacity
- Total amount of free or unused storage in the storage controller
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the storage expansion
- label_user
- User modified message text
- lable_text
- Default label for the storage expansion
- max_flash_copies
- The maximum number of flash copies that this storage controller can make
- name
- The name of the storage expansion
- ongoing_flash_copies
- The number of flash copies that this storage controller is currently making
- serial_number
- The unique serial number of this storage expansion
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- storage_controllers
- The storage controller associated with the storage expansion
- units
- The units of measurement used for sizes with this storage expansion
- updated_time
- The time at which the object was last updated
Parents:
Children:
disk_drives, storage_controller_ports, vendor_informations, locations, leds, temperature_stats
Get a specific storage expansion
URI /admin/resources/storage_expansions/{id} Method GET Returns 200 The storage expansion was returned. 404 The storage expansion was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single storage expansion identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.53. Storage mdisk statistics
Get all storage mdisk statistics
URI /admin/resources/storage_mdisk_statistics Method GET Returns 200 Returns a list of all storage mdisk statistics 404 The storage mdisk statistic list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of storage mdisk statistics.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the storage mdisk statistical object
- lable_text
- Default label for the storage mdisk statistical object
- latency_in
- The latency of bytes passing into this storage mdisk in the given time interval
- latency_out
- The latency of bytes passing out of this storage mdisk in the given time interval
- length_of_time
- Sampling interval for the storage mdisk statistical object
- parent_type
- The type of parent for the storage mdisk statistical object
- read_ops
- The number of read operations by the storage mdisk in the given time interval
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- total_bytes_in
- The total number of bytes passing into this storage mdisk
- total_bytes_out
- The total number of bytes passing out of this storage mdisk
- total_latency_in
- The total latency of bytes passing into this storage mdisk
- total_latency_out
- The total latency of bytes passing out of this storage mdisk
- total_read_ops
- The total number of read operations by the storage mdisk
- total_write_ops
- The total number of write operations by the storage mdisk
- units
- The units of measurement used for length of time
- updated_time
- The time at which the object was last updated
- write_ops
- The number of write operations by the storage mdisk in the given time interval
- parent_type
- The type of the generic parent
Parents:
Get a specific storage mdisk statistic
URI /admin/resources/storage_mdisk_statistics/{id} Method GET Returns 200 The storage mdisk statistic was returned. 404 The storage mdisk statistic was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single storage mdisk statistic identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.54. Storage mdisks
Get all storage mdisks
URI /admin/resources/storage_mdisks Method GET Returns 200 Returns a list of all storage mdisks 404 The storage mdisk list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of storage mdisks.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- capacity
- The capacity of the storage mdisk
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- mdisk_grp_name
- The group name of the storage mdisk
- sc_id
- The management id for this storage mdisk
- sc_name
- The management name for this storage mdisk
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- storage_controllers
- The storage controllers associated with the storage mdisk
- tier_type
- The tier type of the storage mdisk
- updated_time
- The time at which the object was last updated
Parents:
Children:
Get a specific storage mdisk
URI /admin/resources/storage_mdisks/{id} Method GET Returns 200 The storage mdisk was returned. 404 The storage mdisk was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single storage mdisk identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.55. Storage node statistics
Get all storage node statistics
URI /admin/resources/storage_node_statistics Method GET Returns 200 Returns a list of all storage node statistics 404 The storage node statistic list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of storage node statistics.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- bytes_in
- The number of bytes passing into this storage node in the given interval
- bytes_out
- The number of bytes passing out of this storage node in the given interval
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the storage node statistical object
- lable_text
- Default label for the storage node statistical object
- latency_in
- The latency of bytes passing into this storage node in the given interval
- latency_out
- The latency of bytes passing out of this storage node in the given interval
- length_of_time
- Sampling interval for the storage node statistical object
- num_of_mes_in
- The number of messages passing into this storage node in the given interval
- num_of_mes_out
- The number of messages passing out of this storage node in the given interval
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- storage_controllers
- The storage controllers associated with the storage node statistical object
- total_bytes_in
- The total number of bytes passing into this storage node
- total_bytes_out
- The total number of bytes passing out of this storage node
- total_latency_in
- The total latency of bytes passing into this storage node
- total_latency_out
- The total latency of bytes passing out of this storage node
- total_num_of_mes_in
- The total number of messages passing into this storage node
- total_num_of_mes_out
- The total number of messages passing out of this storage node
- units
- The units of measurement used for length of time
- updated_time
- The time at which the object was last updated
Parents:
Get a specific storage node statistic
URI /admin/resources/storage_node_statistics/{id} Method GET Returns 200 The storage node statistic was returned. 404 The storage node statistic was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single storage node statistic identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.56. Storage pools
Get all storage pools
URI /admin/resources/storage_pools Method GET Returns 200 Returns a list of all storage pools 404 The storage pool list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of storage pools.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- free_capacity
- The amount of free space currently on this storage pool
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the storage pool
- label_user
- User modified message text
- lable_text
- Default label for the storage pool
- name
- The name of the storage pool
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- storage_controllers
- The storage controller associated with the storage pool
- total_capacity
- The total amount of data that can be held by this storage pool
- units
- The units of measurement used for sizes with the storage pool
- updated_time
- The time at which the object was last updated
- Used_capacity
- The amount of used space currently on this storage pool
Parents:
Children:
Get a specific storage pool
URI /admin/resources/storage_pools/{id} Method GET Returns 200 The storage pool was returned. 404 The storage pool was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single storage pool identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.57. Storage port statistics
Get all storage port statistics
URI /admin/resources/storage_port_statistics Method GET Returns 200 Returns a list of all storage port statistics 404 The storage port statistic list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of storage port statistics.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 15:17:26 GMT" "switch_ports": "78c31108-fd5f-40e6-bb79-5f27bfc02d54" "parent_type": "switch_ports" "updated_time": "Wed, 18 Apr 2012 21:09:08 GMT" "state": "available" "total_bytes_in": "frames_out": 837020406 "bytes_in": 2527011537 "bytes_out": 1631926017 "id": "/admin/resources/storage_port_statistics/49196682-fd72-417e-a343-afb43b6aa0null" "length_of_time": "frames_in": 41690856 "total_bytes_out": } ]
- bytes_in
- The number of bytes passing into this storage controller port in the given interval
- bytes_out
- The number of bytes passing out of this storage controller port in the given interval
- created_time
- The time at which the object is created
- frames_in
- The number of frames passing into this storage controller port in the given interval
- frames_out
- The number of frames passing out of this storage controller port in the given interval
- id
- The unique id of the object in the system.
- length_of_time
- Sampling interval for the storage port statistical object
- parent_type
- The type of the parent that the storage port statistical object belongs to
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- total_bytes_in
- The total number of bytes passing into this storage controller port
- total_bytes_out
- The total number of bytes passing out of this storage controller port in
- updated_time
- The time at which the object was last updated
- parent_type
- The type of the generic parent
Parents: storage_switch_ports
Get a specific storage port statistic
URI /admin/resources/storage_port_statistics/{id} Method GET Returns 200 The storage port statistic was returned. 404 The storage port statistic was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single storage port statistic identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.58. Storage switch ports
Get all storage switch ports
URI /admin/resources/storage_switch_ports Method GET Returns 200 Returns a list of all storage switch ports 404 The storage switch port list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of storage switch ports.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- leds
- The LEDs associated with the storage switch port
- name
- The name of the storage switch port
- portnum
- The port number of the storage switch port
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- switches
- The switch associated with the storage switch port
- updated_time
- The time at which the object was last updated
- wwpn
- World Wide Port Name
Children:
storage_port_statistics, events
Get a specific storage switch port
URI /admin/resources/storage_switch_ports/{id} Method GET Returns 200 The storage switch port was returned. 404 The storage switch port was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single storage switch port identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.59. Storage volume statistics
Get all storage volume statistics
URI /admin/resources/storage_volume_statistics Method GET Returns 200 Returns a list of all storage volume statistics 404 The storage volume statistic list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of storage volume statistics.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- avg_read_resp_time
- The average amount of time it takes for this storage volume to read it's data in the given interval
- avg_write_resp_time
- The average amount of time it takes for this storage volume to write it's data in the given interval
- created_time
- The time at which the object is created
- cum_read_resp_time
- The cumulative amount of time taken for this storage volume to read it's data in the given interval
- cum_write_resp_time
- The cumulative amount of time taken it takes for this storage volume to write it's data in the given interval
- id
- The unique id of the object in the system.
- key
- The key of the storage volume statistical object
- label_key
- Key for retrieving label for the storage volume statistical object
- lable_text
- Default label for the storage volume statistical object
- length_of_time
- Sampling interval for the storage volume statistical object
- parent_type
- The type of parent for the storage volume statistical object
- read_ops
- The number of read operations by this storage volume in the given interval
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- total_cum_read_resp_time
- The cumulative amount of time it takes for this storage volume to read it's data
- total_cum_write_resp_time
- The cumulative amount of time it takes for this storage volume to write it's data
- total_read_ops
- The total number of ops read by this storage volume
- total_write_ops
- The total number of ops written by this storage volume
- units
- The units of measurement used for length of time
- updated_time
- The time at which the object was last updated
- worst_read_resp_time
- The longest amount of time it takes for this storage volume to read it's data in the given interval
- worst_write_resp_time
- The longest amount of time it takes for this storage volume to write it's data in the given interval
- write_ops
- The number of write operations by this storage volume in the given interval
- parent_type
- The type of the generic parent
Parents:
Get a specific storage volume statistic
URI /admin/resources/storage_volume_statistics/{id} Method GET Returns 200 The storage volume statistic was returned. 404 The storage volume statistic was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single storage volume statistic identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.60. Storage volumes
Get all storage volumes
URI /admin/resources/storage_volumes Method GET Returns 200 Returns a list of all storage volumes 404 The storage volume list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of storage volumes.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- admin_name
- The administrative name for the storage volume
- capacity
- The amount of data that can be held by this storage volume
- created_time
- The time at which the object is created
- description
- The description of the storage volume
- fc_id
- The flash copy management id
- fc_state
- The flash copy state of this storage volume
- formats
- The formats of the storage volume
- free_capacity
- Free capacity
- id
- The unique id of the object in the system.
- is_detachable
- Determines if this volume is an OS volume or not
- label_key
- Key for retrieving label for the storage volume
- lable_text
- Default label for the storage volume
- management
- Depricated
- name
- The name of the storage volume
- size
- Size of the storage volume
- size_target
- The user modifiable desired size of the storage volumes
- size_target_result
- The result of the state change of the storage volumes
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- storage_controller_volume_id
- The management identification for this storage volumes
- storage_controller_volume_uid
- The management unique identification for this storage volumes
- storage_pools
- The storage pools associated with the storage volume
- tier_hdd
- The amount of storage this storage volume has on hard disk drive
- tier_ssd
- The amount of storage this storage volume has on solid state drive
- type
- The type of the storage volume
- units
- The units used by this storage volume for its data
- updated_time
- The time at which the object was last updated
- vdcs
- The VDCS associated with the storage volumes
- vms_id
- The Virtualization Management System ID for the storage volumes
- vms_uuid
- The Virtualization Management System UUID for the storage volumes
Parents:
Children:
storage_volume_statistics, events
Get a specific storage volume
URI /admin/resources/storage_volumes/{id} Method GET Returns 200 The storage volume was returned. 404 The storage volume was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single storage volume identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.61. Stored pvus
Get all stored pvus
URI /admin/resources/stored_pvus Method GET Returns 200 Returns a list of all stored pvus 404 The stored pvu list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of stored pvus.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "available" "updated_time": "Wed, 18 Apr 2012 14:00:40 GMT" "pvu_value": 50 "created_time": "Wed, 18 Apr 2012 14:00:40 GMT" "label_key": "pure2414" "brand": "POWER5+ QCM" "vendor": "IBM" "label_text": "Stored PVU" "model": "" "pvu_type": 4 "id": "/admin/resources/stored_pvus/b23c4a38-7de6-4691-8033-0f38f50f81e2" "description": "IBM(R) POWER5(TM) QCM Quad-core Module All Existing" } ]
- brand
- PVU brand
- created_time
- The time at which the object is created
- description
- The description pf the PVU
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving the label for the cluster
- label_text
- Default translated message text
- model
- PVU model
- pvu_type
- PVU type
- pvu_value
- PVU value
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- vendor
- PVU vendor
Get a specific stored pvu
URI /admin/resources/stored_pvus/{id} Method GET Returns 200 The stored pvu was returned. 404 The stored pvu was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single stored pvu identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.62. Switch Fans
Get all Switch Fans
URI /admin/resources/switch_fans Method GET Returns 200 Returns a list of all Switch Fans 404 The Switch Fan list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Switch Fans.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the fan
- module
- The module number of the fan
- number
- The number of the fan
- pwm
- The PWM of the fan
- rpm
- The RPM of the fan
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- switches
- The id of the switch the fan is associated with
- updated_time
- The time at which the object was last updated
Parents:
Get a specific Switch Fan
URI /admin/resources/switch_fans/{id} Method GET Returns 200 The Switch Fan was returned. 404 The Switch Fan was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Switch Fan identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.63. Switch Port History
Get all Switch Port History
URI /admin/resources/switch_port_history Method GET Returns 200 Returns a list of all Switch Port History 404 The Switch Port History list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Switch Port History.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "ttl_pckts_in": 0 "created_time": "Wed, 18 Apr 2012 14:08:39 GMT" "mac_address": "08:17:f4:8a:26:00" "rate_pckts_out": 0 "switch_ports": "9f53574e-8168-4bc2-ac5f-3692e5b46d5a" "name": "MGT1" "rate_pckts_in": 0 "link_state": "available" "rate_pckt_errors": 0 "state": "pending" "updated_time": "Wed, 18 Apr 2012 20:34:52 GMT" "ttl_pckts_out": 0 "label_key": "pure2304" "label_text": "Switch Port History" "ttl_pckt_errors": 0 "id": "/admin/resources/switch_port_history/82d65116-52b4-4e69-acb0-e1dc4d32df9e" "wwpn": } ]
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the port history
- label_text
- Default translated message text
- link_state
- The state of this port's link, either available, unavailable or down
- mac_address
- The MAC address of this port
- name
- A descriptive name for this port
- rate_pckt_errors
- The rate of packet errors on the port
- rate_pckts_in
- The rate of packets flowing into the port
- rate_pckts_out
- The rate of packets flowing out of the port
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- switch_ports
- The ID of the switch port this history is associated with
- ttl_pckt_errors
- The total number of packet errors on the port
- ttl_pckts_in
- The total number of packets flowing into the port
- ttl_pckts_out
- The total number of packets flowing out of the port
- updated_time
- The time at which the object was last updated
- wwpn
- The World Wide Port Name of this port
Get a specific Switch Port History
URI /admin/resources/switch_port_history/{id} Method GET Returns 200 The Switch Port History was returned. 404 The Switch Port History was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Switch Port History identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.64. Switch Ports
Get all Switch Ports
URI /admin/resources/switch_ports Method GET Returns 200 Returns a list of all Switch Ports 404 The Switch Port list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Switch Ports.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "duplex": "full" "ttl_pckts_in": 0 "mac_address": "08:17:f4:8a:26:00" "created_time": "Wed, 18 Apr 2012 14:08:04 GMT" "lacp_aggregator": "port_number": 43 "speed": 1000 "rate_pckts_out": 0 "leds": "name": "MGT1" "link_state": "available" "rate_pckts_in": 0 "rate_pckt_errors": 0 "state": "available" "updated_time": "Wed, 18 Apr 2012 20:52:07 GMT" "ttl_pckts_out": 0 "label_key": "pure2303" "label_text": "Ethernet Switch Port" "ttl_pckt_errors": 0 "id": "/admin/resources/switch_ports/9f53574e-8168-4bc2-ac5f-3692e5b46d5a" "link_aggregation": "wwpn": "lacp_mode": "tx_flow_ctrl": "no" "switches": "/admin/resources/switches/c472414c-30fc-4b0f-8e31-a96087d2bc93" "rx_flow_ctrl": "no" "units": "" "lacp_state": "trunk_group": "pna_port_id": } ]
- created_time
- The time at which the object is created
- duplex
- The duplex of this port, either full or half
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the virtual link aggregation
- label_text
- Default translated message text
- lacp_aggregator
- The Link Aggregation Control Protocol aggregator of this port
- lacp_mode
- The Link Aggregation Control Protocol mode of this port, either active or passive
- lacp_state
- The Link Aggregation Control Protocol state of this port
- leds
- The ID of the LED associated with this port.
- link_aggregation
- The link aggregation of this port
- link_state
- The state of this port's link, either available, unavailable or down
- mac_address
- The MAC address of this port
- name
- A descriptive name for this port
- pna_port_id
- The PNA ID of this port
- port_number
- The number of this port
- rate_pckt_errors
- The rate of packet errors on the port
- rate_pckts_in
- The rate of packets flowing into the port
- rate_pckts_out
- The rate of packets flowing out of the port
- rx_flow_ctrl
- Whether or not RX (receive) flow control is enabled on this port?
- speed
- The speed of this port
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- switches
- The ID of the switch associated with this port
- trunk_group
- The trunk group of this port
- ttl_pckt_errors
- The total number of packet errors on the port
- ttl_pckts_in
- The total number of packets flowing into the port
- ttl_pckts_out
- The total number of packets flowing out of the port
- tx_flow_ctrl
- Whether or not TX (transmit) flow control is enabled on this port
- units
- The units of this port speed
- updated_time
- The time at which the object was last updated
- wwpn
- The World Wide Port Name of this port
Parents:
Get a specific Switch Port
URI /admin/resources/switch_ports/{id} Method GET Returns 200 The Switch Port was returned. 404 The Switch Port was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Switch Port identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.65. Switch Power Supplies
Get all Switch Power Supplies
URI /admin/resources/switch_power_supplies Method GET Returns 200 Returns a list of all Switch Power Supplies 404 The Switch Power Supply list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Switch Power Supplies.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the power supply
- number
- The number of the power supply
- service_state
- The current service state of the power supply
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- switches
- The id of the switch the power supply is associated with
- updated_time
- The time at which the object was last updated
Parents:
Get a specific Switch Power Supply
URI /admin/resources/switch_power_supplies/{id} Method GET Returns 200 The Switch Power Supply was returned. 404 The Switch Power Supply was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Switch Power Supply identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.66. Switches
Get all Switches
URI /admin/resources/switches Method GET Returns 200 Returns a list of all Switches 404 The Switch list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Switches.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "software_version": "6.9.1.10 (FLASH image2), active configuration." "firmware_level": "5.0" "created_time": "Wed, 18 Apr 2012 14:04:16 GMT" "networks": [ ] "switch_ports": [ "/admin/resources/switch_ports/9f53574e-8168-4bc2-ac5f-3692e5b46d5a" ] "vlag_system_id": "08:17:f4:c3:dd:5a" "name": "SN#23EWD31S1" "switchid": "1" "power_target_result": "done" "state": "available" "updated_time": "Wed, 18 Apr 2012 21:06:56 GMT" "last_boot_time": "label_key": "pure2300" "power_state": "pending" "label_text": "Network Switch" "events": [ ] "id": "/admin/resources/switches/c472414c-30fc-4b0f-8e31-a96087d2bc93" "power_target_state": "pending" "vendor_informations": [ "/admin/resources/vendor_informations/6623fef7-7ade-41aa-b7f2-810ce83d11f9" ] "locations": [ "/admin/resources/locations/3c11cbdd-ee69-4043-b6c8-94ee82c58d46" ] "switch_model": "Ethernet ScSE" "stacking_group_id": "Disabled" "advanced_managers": [ "/admin/resources/advanced_managers/0ebacdcf-fd6c-42ca-86de-a6eb89b321b7" "/admin/resources/advanced_managers/09909648-797a-4f88-b015-0efcca272506" ] "switch_type": "chassis_network_switch" "switch_fans": [ ] "parent_type": "compute_node_chassis" "compute_node_chassis": "/admin/resources/compute_node_chassis/ddbc2af5-ebc9-4a2e-92fc-aabd88bac3c1" "switch_power_supplies": [ ] "label": "IBM Flex System EN4093 10Gb Virtual Fabric Scalable Switch" "temperature": "vlag_tier_id": 91 "label_user": "Network Switch" "trunk_groups": [ ] } ]
- created_time
- The time at which the object is created
- firmware_level
- The level of firmware on the switch
- id
- The unique id of the object in the system.
- label
- A descriptive label for the switch
- label_key
- The key for retrieving the label for the subnet
- label_text
- Default translated message text
- label_user
- User modified message text
- last_boot_time
- The time (in milliseconds) the switch was last booted
- name
- A descriptive name of the switch
- parent_type
- The type of the parent that the switch belongs to
- power_state
- The current power state of the switch (off or on)
- power_target_result
- The result state of the switch in the event of powering the switch on or off
- power_target_state
- The target state of the switch in the event of powering the switch on or off
- software_version
- The version of software on the switch
- stacking_group_id
- The stacking group associated with the switch
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- switch_model
- The model of the switch
- switch_type
- The type of the switch
- switchid
- The number of the switch's I/O bay
- temperature
- The temperature of the switch at the point of last contact with the switch
- updated_time
- The time at which the object was last updated
- vlag_system_id
- The unique identifier of the switch units in the customer network
- vlag_tier_id
- The unique identifier of the switch units in the customer network
- parent_type
- The type of the generic parent
Parents:
Children:
locations, switch_ports, vendor_informations, events, switch_fans, switch_power_supplies, networks
Get a specific Switch
URI /admin/resources/switches/{id} Method GET Returns 200 The Switch was returned. 404 The Switch was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Switch identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.67. System Logs
Get all System Logs
URI /admin/resources/systemlogs Method GET Returns 200 Returns a list of all System Logs 404 The System Log list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of System Logs.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- collection_set
- The type of the set of logs collected.
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- packaged_log_url
- The URL of the packaged log
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- start_period
- The long value of the start time of the collection period. This value is in millseconds from 1/1/70. For example: 1363185596186
- end_period
- The long value of the end time of the collection period.
Note: If only the start value is provided an attempt is made to collect logs from 12 hours either side of that time If both start and end period are provided, an attempt is made to use those values, but the actual collection range is rounded to the closest 60 minutes.
Get a specific System Log
URI /admin/resources/systemlogs/{id} Method GET Returns 200 The System Log was returned. 404 The System Log was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single System Log identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.68. Temperature history
Get all temperature history
URI /admin/resources/temperature_history Method GET Returns 200 Returns a list of all temperature history 404 The temperature history list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of temperature history.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "available" "updated_time": "Wed, 18 Apr 2012 21:09:05 GMT" "created_time": "Wed, 18 Apr 2012 14:48:52 GMT" "label_key": "pure0531" "temperature_stats": "/admin/resources/temperature_stats/9cb07f54-3f4b-4b03-b001-d995b7f0cf66" "label_text": "Temperature History" "id": "/admin/resources/temperature_history/11cb16f6-c7f1-408d-8445-53c8c64fdaa1" "name": "SN#FBI0538" "ambient_temperature": 18 "exhaust_temperature": 45 "units": "C" } ]
- ambient_temperature
- The ambient temperature of the parent object
- created_time
- The time at which the object is created
- exhaust_temperature
- The exhaust temperature of the parent object
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving the label for the temperature history
- label_text
- Default translated message text
- name
- The name of the temperature history
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- temperature_stats
- The temperature statistical objects for the temperature history
- units
- The units used with the temperature history
- updated_time
- The time at which the object was last updated
Parents:
Get a specific temperature history
URI /admin/resources/temperature_history/{id} Method GET Returns 200 The temperature history was returned. 404 The temperature history was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single temperature history identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.69. Temperature stats
Get all temperature stats
URI /admin/resources/temperature_stats Method GET Returns 200 Returns a list of all temperature stats 404 The temperature stat list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of temperature stats.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:03:22 GMT" "max_exhaust_temperature": 31 "exhaust_warning_threshold_temperature": "temperature_history": [ "/admin/resources/temperature_history/86bc3f14-2e0f-490e-b3a3-41638bb226e5" "/admin/resources/temperature_history/357d6dc7-a47d-47f3-b305-00b73f59388a" "/admin/resources/temperature_history/06d5c379-db95-4e75-848f-021d70c8f2b0" "/admin/resources/temperature_history/8e2c4577-2b4d-4b04-9bfe-ad9be1873bad" "/admin/resources/temperature_history/b5981dbb-c021-4fe7-930e-52447b322848" "/admin/resources/temperature_history/3690ba85-c530-4b41-9401-46f583cd1aae" "/admin/resources/temperature_history/3bcdefa4-66e4-463b-a911-91fdc9610d65" "/admin/resources/temperature_history/ad538bda-a22a-4d1c-bac7-973e18b727af" "/admin/resources/temperature_history/59ed6ae8-f83f-4686-afee-5e7021faf963" "/admin/resources/temperature_history/66801898-ea6f-4ccb-97c8-63bb27800ca7" ] "name": "SN#23EWD31" "ambient_temperature": 21 "units": "C" "parent_type": "compute_node_chassis" "compute_node_chassis": "/admin/resources/compute_node_chassis/ddbc2af5-ebc9-4a2e-92fc-aabd88bac3c1" "state": "available" "updated_time": "Wed, 18 Apr 2012 21:08:14 GMT" "max_ambient_temperature": 22 "label_key": "pure0530" "ambient_warning_threshold_temperature": 40 "label_text": "Temperature Stats" "id": "/admin/resources/temperature_stats/6bbc5b50-8563-42e3-a739-6bfd72192717" "exhaust_temperature": 30 } ]
- ambient_temperature
- The ambient temperature of the parent object
- ambient_warning_threshold_temperature
- The ambient warning threshold temperature of the parent object
- created_time
- The time at which the object is created
- exhaust_temperature
- The exhaust temperature of the parent object
- exhaust_warning_threshold_temperature
- The exhaust warning threshold temperature of the parent object
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving the label for the temperature statistical object
- label_text
- Default translated message text
- max_ambient_temperature
- The maximum ambient temperature of the parent object
- max_exhaust_temperature
- The maximum exhaust temperature of the parent object
- name
- The name of the temperature statistical object
- parent_type
- The type of the parent object that the temperature statistical object belongs to
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- units
- The units used with the temperature history
- updated_time
- The time at which the object was last updated
- parent_type
- The type of the generic parent
Parents:
compute_node_chassis, management_nodes, storage_controllers, storage_expansions, compute_nodes
Children:
Get a specific temperature stat
URI /admin/resources/temperature_stats/{id} Method GET Returns 200 The temperature stat was returned. 404 The temperature stat was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single temperature stat identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.70. Traces
Get all Traces
URI /admin/resources/traces Method GET Returns 200 Returns a list of all Traces 404 The Trace list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Traces.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "successful" "updated_time": "Wed, 18 Apr 2012 14:10:11 GMT" "level": "FINEST" "created_time": "Wed, 18 Apr 2012 14:10:11 GMT" "version": "1.0.0.0" "id": "/admin/resources/traces/7f42ee2e-353c-4043-a336-e1cbbbb868e5" "component": "rest" } ]
- component
- The component traced
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- level
- The level tracing was set at
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- version
- REST API version number
Get a specific Trace
URI /admin/resources/traces/{id} Method GET Returns 200 The Trace was returned. 404 The Trace was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Trace identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.71. User groups
Get all user groups
URI /admin/resources/user_groups Method GET Returns 200 Returns a list of all user groups 404 The user group list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of user groups.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- description
- The description of the user group
- id
- The unique id of the object in the system.
- is_modifiable
- Flag indicating if the user group can be modified or not
- label_key
- Key for retrieving label for the user group
- lable_text
- Default label for the user group
- member_location
- Indicates whether the user is defined in LDAP "ldap" or the local database "internal"
- name
- User group's name
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
Children:
Get a specific user group
URI /admin/resources/user_groups/{id} Method GET Returns 200 The user group was returned. 404 The user group was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single user group identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.72. User groups roles
Get all user groups roles
URI /admin/resources/user_groups_roles Method GET Returns 200 Returns a list of all user groups roles 404 The user groups role list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of user groups roles.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- is_deletable
- Flag indicating if the user groups role can be deleted or not
- is_hidden
- Flag indicating if the user groups role is hidden or not
- label_key
- Key for retrieving label for the user groups role
- lable_text
- Default label for the user groups role
- roles
- The URI of an existing role in the system
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- User_groups
- The URI of an existing user group in the system
Get a specific user groups role
URI /admin/resources/user_groups_roles/{id} Method GET Returns 200 The user groups role was returned. 404 The user groups role was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single user groups role identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.73. User groups users
Get all user groups users
URI /admin/resources/user_groups_users Method GET Returns 200 Returns a list of all user groups users 404 The user groups user list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of user groups users.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the user group user
- lable_text
- Default label for the user group user
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- User_groups
- The URI of an existing user group in the system
- Users
- The URI of an existing user in the system
Get a specific user groups user
URI /admin/resources/user_groups_users/{id} Method GET Returns 200 The user groups user was returned. 404 The user groups user was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single user groups user identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.74. Users
Get all users
URI /admin/resources/users Method GET Returns 200 Returns a list of all users 404 The user list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of users.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "current_message": "created_time": "Wed, 18 Apr 2012 14:09:47 GMT" "deployment_options": "F" "acls": [ ] "public_key": "name": "Default Admin" "user_id": "admin" "is_disabled": "F" "updated_time": "Wed, 18 Apr 2012 14:09:47 GMT" "state": "available" "is_internal": "F" "label_key": "pure8500" "current_status": "label_text": "User" "auth_mode": "internal" "id": "/admin/resources/users/18bcd293-058b-4663-a724-d869f04c63c3" "email": "roles": [ "/admin/resources/roles/c2e48bab-6e3f-43ad-a609-d7f34c5e99fd" "/admin/resources/roles/cc7efbf7-31f3-4897-a324-d1364c7b1af7" "/admin/resources/roles/5802e62a-aa52-449f-a168-5ae285490ea0" "/admin/resources/roles/2b2bc8b7-d61d-4f87-a65b-fbd370e355b0" "/admin/resources/roles/7dbb6f58-69da-4fe8-b0c7-74aa06d53acd" "/admin/resources/roles/58fd2cf8-ce70-4403-a894-b035cb30377b" "/admin/resources/roles/252cf328-a13d-4f37-893e-1defe2c4df61" "/admin/resources/roles/c723bf6f-0808-4f8e-a111-d6156fa2f371" "/admin/resources/roles/0d83a2e4-0d0e-474c-b765-ee587e9ebd29" "/admin/resources/roles/92722449-2d05-4f6b-bde8-f2dae7e4feba" "/admin/resources/roles/9a8a41d2-ef10-48fa-ae40-bfaad050fb0a" "/admin/resources/roles/600c23d8-52d5-442d-aecc-d70c77d085ed" "/admin/resources/roles/ac3aad3d-448d-4c21-9f52-189b53cdedad" "/admin/resources/roles/9c951d3d-9865-4b05-a22a-f64abed2d967" "/admin/resources/roles/acb22073-130a-4bc8-8296-5883aaf561ae" "/admin/resources/roles/c99747fb-2ddf-4e14-8609-9a5b74f2cc4c" "/admin/resources/roles/0c049685-25ba-44b9-a63c-f1abd6cce779" "/admin/resources/roles/0b68bedd-e3da-4b64-a105-275e318a7f77" "/admin/resources/roles/390d706d-ee8a-49fd-b11c-4e5927c5f57b" "/admin/resources/roles/142030b7-f88d-40f5-bf13-c13cef18ef8b" "/admin/resources/roles/8d7c6af5-8909-481f-99dd-c17c6fa3459b" "/admin/resources/roles/ef6a5e32-6c73-476f-b3c5-2fce3ab10dba" "/admin/resources/roles/c6323ae3-4c91-401c-8fe6-e4024374b669" ] } ]
- auth_mode
- Authentication mode of the user, either ldap or internal user repository
- created_time
- The time at which the object is created
- current_message
- The current message for the user
- current_status
- The current status of the user
- deployment_options
- Flag indicating the scope of users' deployment capabilities range from Cloud only, Environment profile only, to All.
- User's email address
- id
- The unique id of the object in the system.
- is_disabled
- Flag indicating if the user is disabled or not
- is_internal
- Flag indicating if the user is an internal one or not
- label_key
- Key for retrieving label for the user
- label_text
- Default translated message text
- name
- User's name
- public_key
- The public key for the user
- roles
- The roles of the user
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- User_id
- The ID of the user. The user ID must be unique within the system
Children:
Get a specific user
URI /admin/resources/users/{id} Method GET Returns 200 The user was returned. 404 The user was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single user identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Create a user
URI /admin/resources/users/{id} Method POST 201 The user has been defined and is included in the response body. The URL of the new user is included in the Location header of the response. Returns 400 This code is returned if there are problems parsing the JSON data in the request 403 This code is returned if the requester does not have sufficient permission to define a new user 500 This code is returned if the IBM PureApplication System encountered an internal error while processing the request. Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Request body
{ "auth_mode": "internal", "name": "testNewE", "email": "testNewE@us.ibm.com", "user_id": "testNewE", "password": "mypassword" }
Response body
{ "currentmessage": "RM02013", "currentmessage_text": "User has not logged in yet", "currentstatus": "RM01062", "currentstatus_text": "Inactive", "email": "testNewE@us.ibm.com", "fullname": "New User", "groups": [ "/resources/groups/1" ], "id": 3, "patterns": [ ], "user_id": "newuser", "virtualsystems": [ ] }
3.75. Users roles
Get all users roles
URI /admin/resources/users_roles Method GET Returns 200 Returns a list of all users roles 404 The user role list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of users roles.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "state": "available" "updated_time": "Wed, 18 Apr 2012 14:09:47 GMT" "created_time": "Wed, 18 Apr 2012 14:09:47 GMT" "label_key": "pure8504" "users": "/admin/resources/users/18bcd293-058b-4663-a724-d869f04c63c3" "label_text": "Security Role Member" "id": "/admin/resources/users_roles/6f16179b-5e8e-4549-b455-64ae964d3c72" "roles": "/admin/resources/roles/c2e48bab-6e3f-43ad-a609-d7f34c5e99fd" } ]
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- Key for retrieving label for the user role
- label_text
- Default translated message text
- roles
- The URI of an existing role in the system
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- updated_time
- The time at which the object was last updated
- Users
- The URI of an existing user in the system
Get a specific user role
URI /admin/resources/users_roles/{id} Method GET Returns 200 The user role was returned. 404 The user role was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single user role identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.76. Vendor Information
Get all Vendor Information
URI /admin/resources/vendor_informations Method GET Returns 200 Returns a list of all Vendor Information 404 The Vendor Information list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Vendor Information.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "created_time": "Wed, 18 Apr 2012 14:00:56 GMT" "vendor": "IBM" "model": "8283-3C2" "fru_serial": "name": "8283/12345" "parent_type": "racks" "state": "available" "updated_time": "Wed, 18 Apr 2012 14:03:02 GMT" "label_key": "pure0505" "serial": "12345" "label_text": "Vendor Information" "type": "racks" "id": "/admin/resources/vendor_informations/6b69da52-d7b8-496f-b56d-6a8abc34a1a4" "racks": "/admin/resources/racks/fa455378-b6a3-466f-8e36-21659e9cc64b" } ]
- created_time
- The time at which the object is created
- fru_serial
- The Field Replacement Unit serial number of the resource
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the vendor information
- label_text
- Default translated message text
- model
- The model number of the resource
- name
- The name of the vendor information
- parent_type
- The type of the parent (resource) of the vendor information
- serial
- The serial number of the resource
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- type
- The type of resource the vendor information represents
- updated_time
- The time at which the object was last updated
- vendor
- The name of the vendor
- parent_type
- The type of the generic parent
Parents:
compute_node_chassis, disk_drives, management_endpoints, physical_io_adapter_modules, clusters, physical_cpu_modules, chassis_management_modules, power_supplies, racks, management_nodes, chassis_fans, hypervisors, physical_memory_modules, media_trays, storage_controllers, switches, storage_expansions, compute_nodes
Get a specific Vendor Information
URI /admin/resources/vendor_informations/{id} Method GET Returns 200 The Vendor Information was returned. 404 The Vendor Information was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Vendor Information identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.77. Virtual Data Center Statistics
Get all Virtual Data Center Statistics
URI /admin/resources/vdc_stats Method GET Returns 200 Returns a list of all Virtual Data Center Statistics 404 The Virtual Data Center Statistics list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Virtual Data Center Statistics.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "virtual_cpus_total": 0 "created_time": "Wed, 18 Apr 2012 14:12:13 GMT" "storage_avg_read_resp_time": 0.0 "total_input_power_units": "W" "virtual_memory_used": 0 "vdc_history": [ "/admin/resources/vdc_history/6aedc262-1d5d-4ee8-8f9f-35ab0839ff53" "/admin/resources/vdc_history/5a1e3574-93ca-42f9-9fcc-f9f26289cbd7" "/admin/resources/vdc_history/c48ff203-e246-403c-85fe-0cdcd1d75558" "/admin/resources/vdc_history/90cf3bd1-af08-44ce-b3d9-7a7ecca87f99" "/admin/resources/vdc_history/4b56058a-4a8d-40c9-8d4c-fea804993c2d" "/admin/resources/vdc_history/fe626769-a21a-44be-a9a3-15ca207ee2b4" "/admin/resources/vdc_history/4cc50a1f-dd99-47a7-bacb-265c25823cde" "/admin/resources/vdc_history/f4639e35-e211-416f-b753-a86888cfb6ac" "/admin/resources/vdc_history/c1e8c48e-2885-4984-9f98-d81c7a5a4c6c" "/admin/resources/vdc_history/50bc7485-1815-47bf-8002-3446ffd48891" "/admin/resources/vdc_history/881e609c-a925-40ff-b5c6-b578e55225e9" "/admin/resources/vdc_history/953c71ab-31e3-417d-8419-32df71d12cb2" "/admin/resources/vdc_history/da65740a-c0ea-4c90-b204-a55bae875728" "/admin/resources/vdc_history/24a79257-2d99-4c62-8f06-c588dee2c737" "/admin/resources/vdc_history/fe43f22f-6c70-476d-ac2d-d17b11ea994f" "/admin/resources/vdc_history/ef375ee8-0c08-4f41-8f2f-d6bc85f7e072" "/admin/resources/vdc_history/d7dc0acb-1418-42b4-8244-401ce108d6bf" "/admin/resources/vdc_history/9a7502f1-b891-44b4-a761-f9c4bf5a6710" "/admin/resources/vdc_history/948f2dfd-ee6a-4208-80eb-73de43ac08d0" "/admin/resources/vdc_history/7407f83c-235e-4895-b68c-726687c6a08d" "/admin/resources/vdc_history/a79ea71a-3217-43fd-a614-3b1599de140c" "/admin/resources/vdc_history/bc5b8c5d-9be3-43d9-bb9d-ee6c5fd3904c" "/admin/resources/vdc_history/a1f7c9e8-39d0-4683-9206-5136247d2a3f" "/admin/resources/vdc_history/618e6012-ec7a-420a-ad92-5d9442400e2d" "/admin/resources/vdc_history/99c6540f-8dd8-4503-baa0-c109b85ef940" "/admin/resources/vdc_history/c520b3f6-ae14-4ec9-a408-4dadfb0ebb63" "/admin/resources/vdc_history/53e644cf-5ab9-4501-a21c-7c1a2cb82648" "/admin/resources/vdc_history/462fdb65-1d2e-4af3-85d8-c8a573e3a7fc" "/admin/resources/vdc_history/100dcb5a-5a09-4ed3-ae83-cb03accb0f0a" "/admin/resources/vdc_history/93803078-26aa-4502-b91b-4d58ac26b24d" "/admin/resources/vdc_history/7f611186-1a1a-4584-ac04-e774f37b6251" "/admin/resources/vdc_history/a4f22ea4-1ef8-496e-b353-cb1b7c3a381c" "/admin/resources/vdc_history/eedb7806-ffc1-44ee-bc3f-fec505efba62" "/admin/resources/vdc_history/37fad4a1-fa5f-4112-8a36-5f3d29fdcb07" "/admin/resources/vdc_history/2cdccf62-dfd9-47b3-8eca-63bf05ab4628" "/admin/resources/vdc_history/af6d94e4-b258-41dc-9e64-c216dd2adcc3" "/admin/resources/vdc_history/6c654f9c-a385-449f-b0ff-6fed2b8628a7" "/admin/resources/vdc_history/d8bdbef5-2151-4b1e-896d-3875c10f4d76" "/admin/resources/vdc_history/ab14cbf0-e28e-4654-adc2-733d317e1bd6" "/admin/resources/vdc_history/6bdb4261-28a9-42bf-9248-370bcbc39b54" "/admin/resources/vdc_history/67d8b79c-583c-4322-89de-720e57ce8ab8" ] "name": "VirtualManagement" "storage_avg_write_resp_time": 0.0 "number_of_instances": 0 "storage_read_ops": 0.0 "storage_write_ops": 0.0 "state": "available" "updated_time": "Wed, 18 Apr 2012 21:08:56 GMT" "physical_memory_used": 0 "label_key": "pure0501" "total_input_power": 0 "label_text": "Default PureApplication Cloud Group Stats" "physical_memory_units": "MB" "id": "/admin/resources/vdc_stats/a6b1fd09-4c4b-4286-90fc-42738915561d" "physical_cpus_utilization_percent": 0 "vdcs": "/admin/resources/vdcs/7bce8f28-4885-4c14-be1a-ec52e3825198" "average_compute_node_temperature": "physical_cpus_units": "cores" "temperature_units": "C" "virtual_memory_units": "MB" "number_of_volumes": 0 "virtual_cpus_utilization_percent": 0 "storage_units": "ms" "physical_memory_total": 0 "physical_memory_allocated": 0 "storage_time_interval": 1000.0 "storage_cum_write_resp_time": 0.0 "storage_worst_write_resp_time": 0.0 "number_of_compute_nodes": 0 "physical_cpus_total": 0 "virtual_memory_total": 0 "type": "vdc_stats" "physical_cpus_allocated": 0.0 "storage_cum_read_resp_time": 0.0 "storage_worst_read_resp_time": 0.0 } ]
- average_compute_node_temperature
- The average temperature of the compute nodes in the VDC
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the VDC statistics
- label_text
- Default translated message text
- name
- The name of the VDC
- number_of_compute_nodes
- The number of compute nodes in the VDC
- number_of_instances
- The number of instances deployed in the VDC
- number_of_volumes
- The number of volumes in the VDC
- physical_cpus_allocated
- The number of physical CPUs allocated in the VDC
- physical_cpus_total
- The total number of physical CPUs in the VDC
- physical_cpus_units
- The units used for physical CPU statistics
- physical_cpus_utilization_percent
- The percent utilization of the physical CPUs in the VDC
- physical_memory_allocated
- The total amount of physical memory allocated in the VDC
- physical_memory_total
- The total amount of physical memory in the VDC
- physical_memory_units
- The units used for physical memory statistics
- physical_memory_used
- The total amount of physical memory in use in the VDC
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- storage_avg_read_resp_time
- The average read response time of VDC storage
- storage_avg_write_resp_time
- The average response time of storage write operations
- storage_cum_read_resp_time
- The cumulative response time of storage read operations
- storage_cum_write_resp_time
- The cumulative repsonse time of storage write operations
- storage_read_ops
- The number of VDC storage read operations
- storage_time_interval
- The time interval over which storage statistics are aggregated
- storage_units
- The units used for storage statistics
- storage_worst_read_resp_time
- The worst (maximum) response time of storage read operations
- storage_worst_write_resp_time
- The worst (maximum) response time of storage write operations
- storage_write_ops
- The number of VDC storage write operations
- temperature_units
- The units used for temperature statistics
- total_input_power
- The total input power consumed by the VDC
- total_input_power_units
- The units used for total input power statistics
- type
- The type of data contained in the object, "vdc_stats"
- updated_time
- The time at which the object was last updated
- vdcs
- The id of the VDC
- virtual_cpus_total
- The total number of virtual CPUs in the VDC
- virtual_cpus_utilization_percent
- The percent utilization of the virtual CPUs in the VDC
- virtual_memory_total
- The total amount of virtual memory in the VDC
- virtual_memory_units
- The units used for virtual memory statistics
- virtual_memory_used
- The total amount of virtual memory in use in the VDC
Children:
Get a specific Virtual Data Center Statistics
URI /admin/resources/vdc_stats/{id} Method GET Returns 200 The Virtual Data Center Statistics was returned. 404 The Virtual Data Center Statistics was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Virtual Data Center Statistics identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
3.78. Virtual Data Center Statistics History
Get all Virtual Data Center Statistics History
URI /admin/resources/vdc_history Method GET Returns 200 Returns a list of all Virtual Data Center Statistics History 404 The Virtual Data Center Statistics History list was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a list of Virtual Data Center Statistics History.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Response body
[ { "virtual_cpus_total": 0 "created_time": "Wed, 18 Apr 2012 14:12:13 GMT" "storage_avg_read_resp_time": 0.0 "total_input_power_units": "W" "virtual_memory_used": 0 "name": "VirtualManagement" "storage_avg_write_resp_time": 0.0 "number_of_instances": 0 "storage_read_ops": 0.0 "storage_write_ops": 0.0 "state": "available" "updated_time": "Wed, 18 Apr 2012 20:25:59 GMT" "physical_memory_used": 0 "label_key": "pure0502" "vdc_stats": "/admin/resources/vdc_stats/a6b1fd09-4c4b-4286-90fc-42738915561d" "total_input_power": 0 "label_text": "Default PureApplication Cloud Group History" "physical_memory_units": "MB" "id": "/admin/resources/vdc_history/6aedc262-1d5d-4ee8-8f9f-35ab0839ff53" "physical_cpus_utilization_percent": 0 "average_compute_node_temperature": "physical_cpus_units": "cores" "temperature_units": "C" "virtual_memory_units": "MB" "number_of_volumes": 0 "virtual_cpus_utilization_percent": 0 "storage_units": "ms" "physical_memory_total": 0 "physical_memory_allocated": 0 "storage_time_interval": 1000.0 "storage_cum_write_resp_time": 0.0 "storage_worst_write_resp_time": 0.0 "number_of_compute_nodes": 0 "physical_cpus_total": 0 "virtual_memory_total": 0 "type": "vdc_stats" "physical_cpus_allocated": 0.0 "storage_cum_read_resp_time": 0.0 "storage_worst_read_resp_time": 0.0 } ]
- average_compute_node_temperature
- The average temperature of the compute node
- created_time
- The time at which the object is created
- id
- The unique id of the object in the system.
- label_key
- The key for retrieving the label for the VDC statistics history
- label_text
- Default translated message text
- name
- The name of the VDC
- number_of_compute_nodes
- The number of compute nodes in the VDC
- number_of_instances
- The number of instances deployed in the VDC
- number_of_volumes
- The number of volumes in the VDC
- physical_cpus_allocated
- The number of physical CPUs allocated in the VDC
- physical_cpus_total
- The total number of physical CPUs in the VDC
- physical_cpus_units
- The units used for physical CPU statistics
- physical_cpus_utilization_percent
- The percent utilization of the physical CPUs in the VDC
- physical_memory_allocated
- The total amount of physical memory allocated in the VDC
- physical_memory_total
- The total amount of physical memory in the VDC
- physical_memory_units
- The units used for physical memory statistics
- physical_memory_used
- The total amount of physical memory in use in the VDC
- state
- The general availability of the object. If "pending" the object has been created but not activated. If "available" the object is active in the system.
- storage_avg_read_resp_time
- The average read response time of VDC storage
- storage_avg_write_resp_time
- The average response time of storage write operations
- storage_cum_read_resp_time
- The cumulative response time of storage read operations
- storage_cum_write_resp_time
- The cumulative repsonse time of storage write operations
- storage_read_ops
- The number of VDC storage read operations
- storage_time_interval
- The time interval over which storage statistics are aggregated
- storage_units
- The units used for storage statistics
- storage_worst_read_resp_time
- The worst (maximum) response time of storage read operations
- storage_worst_write_resp_time
- The worst (maximum) response time of storage write operations
- storage_write_ops
- The number of VDC storage write operations
- temperature_units
- The units used for temperature statistics
- total_input_power
- The total input power consumed by the VDC
- total_input_power_units
- The units used for total input power statistics
- type
- The type of data contained in the object, "vdc_stats"
- updated_time
- The time at which the object was last updated
- vdc_stats
- The id of the VDC stats
- virtual_cpus_total
- The total number of virtual CPUs in the VDC
- virtual_cpus_utilization_percent
- The percent utilization of the virtual CPUs in the VDC
- virtual_memory_total
- The total amount of virtual memory in the VDC
- virtual_memory_units
- The units used for virtual memory statistics
- virtual_memory_used
- The total amount of virtual memory in use in the VDC
Parents:
Get a specific Virtual Data Center Statistics History
URI /admin/resources/vdc_history/{id} Method GET Returns 200 The Virtual Data Center Statistics History was returned. 404 The Virtual Data Center Statistics History was not found 500 PureSystems Manager encountered an internal error while processing the request. Returns a single Virtual Data Center Statistics History identified by {id}.
Optional parameters can be used to modify the response from the REST API call. See Optional Parameters for Get Calls.
Use the REST API for databases
You can use the REST API to create and manage your database patterns, database instances, database images, database workloads, pattern types, and system plug-ins.
Note: . After successfully authentication, the server will return two cookies, zsessionid and SimpleToken, that should be included with subsequent HTTP requests that are part of the same session.
Use the accept-language header on your HTTP request to specify which supported system language should be used when generating the response data.
See REST API reference for further details.
The following tasks can be completed using the REST API:
Database pattern type REST interface
List pattern type information
GET /resources/patternTypes/{dbaas_patterntype}/{version}Note: The value of {dbaas_patterntype} could be dbaas, dbaas.std.oltp or dbaas.std.datamart
List pattern type information details.
Example URL https://localhost/resources/patternTypes/dbaas/1.1 Response content-type application/json Response example { "status": "avail", "shortname": "dbaas", "prereqs": { "foundation": "2.0.0.0" }, "version": "1.1", "builder": false, "name": "IBM Database Patterns", "description": "IBM Database Patterns", "url": "https://172.16.65.27:9444/storehouse/admin/patterntypes/dbaas/1.1/" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Update database pattern type
PUT /resources/patternTypes/{dbaas_patterntype}/{version_vrmf}Note:
- The value of {dbaas_patterntype} could be dbaas.std.oltp or dbaas.std.datamart
- {version_vrmf} should be the format of .vrmf., eg: 1.1.0.0
Update database pattern type details.
Example URL https://localhost/resources/patternTypes/ dbaas.std.oltp/1.1.0.0 Response content-type application/json Response example { "status": "accepted" } Valid status includes .accepted., .avail., .deprecated. .accepted. will accept the license agreement. .avail. will enable the pattern type .unavail. will disable the pattern typeResponse body { "status": "accepted" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Show list of plug-ins for a pattern type
GET /resources/patternTypes/{dbaas_patterntype}/{version}/pluginsNote: The value of {dbaas_patterntype} could be dbaas, dbaas.std.oltp or dbaas.std.datamart
Show list of plug-ins for a pattern type details.
Example URL https://localhost/resources/patternTypes/dbaas/1.1/plugins Response content-type application/json Response example [ "firewall/1.1.0.0", "tsm/1.1.0.0", "deployinlet/1.1.0.0", "iaas.WCA/1.1.0.0", "db2/1.1.0.0", "activator/1.1.0.0", "jaqlserver/1.1.0.0", "autoscaling/1.1.0.0", "troubleshooting/1.1.0.0", . ]Response header location https://localhost/resources/applicationPatterns/a-4e21f6e9-2ca7-4a3a-a5cc-00f04f7b7f08 Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Plug-in Configuration REST interface
Retrieve plug-in configuration information
GET /resources/plugins/{dbaas_plugin}/{version_ vrmf }/config
Retrieve plug-in configuration information details.
Example URL https://localhost/resources/plugins/tsm/1.1.0.0/config Response content-type application/json Response example { "config": { "parms": { "tcpserveraddress": "172.16.33.251", "tcpport": "1500", "adminusername": "admin", "db2domain": "DB2DOMAIN", "adminpassword": "<xor>bm1s" }, "files": [ "tsm/tsm_client-6.2.2.0-linuxx86-20110402.tgz" ], "version": "1.1.0.0", "patterntypes": { "primary": { "dbaas": "1.1" }, "secondary": [ { "webapp": "1.1" } ] }, "name": "tsm", . }Response code 201 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The Plug-in is not found. 500 Unexpected error
Database Pattern REST interface
List all database patterns
GET /resources/applicationPatterns/?app_type=database
List all database patterns details.
Example URL https://localhost/resources/applicationPatterns/?app_type=database Response content-type application/json Response example [ { "last_modifier": "cbadmin", "content_type": "application/json", "app_storehouse_base_url": "https://172.16.33.106:9444/storehouse/user/applications/a-4393478a-53b3-4eff-8245-340a7c232070/", "app_name": "db_pattern1", "locked": "false", "creator": "cbadmin", "create_time": "2011-09-01T01:57:02Z", "last_modified": "2011-09-01T01:57:26Z", "app_mgmtserver_url": "https://172.16.33.106:9443/services/applications/a-4393478a-53b3-4eff-8245-340a7c232070", "access_rights": { "cbadmin": "F" }, "content_md5": "23AC9B1C16C7417BD6009133CA3BD50A", "app_type": "database", "app_id": "a-4393478a-53b3-4eff-8245-340a7c232070", "description": "Blank Database", "Collection": "." }, ... ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Create a database pattern
POST /resources/applicationPatterns
Create a database pattern details.
Example URL https://localhost/resources/applicationPatterns/ Request Body Content-type Content-Type - application/json (body is the application model json file) Content-Type - application/zip (body is zip file, including the application model and artifacts files)
Request body example { "model":{ "app_type":"database", "patterntype":"dbaas", "version":"1.1", "name":"dbp_default", "description":"", "nodes":[{ "attributes":{ "purpose":"production", "source":"defaultWorkloadStandardApproach", "dbDiskSize":30, "workloadStandard":"departmental_OLTP", "sqlType":"DB2", "dbTerritory":"US", "dbCodeset":"UTF-8", "dbCollate":"SYSTEM", "versionName":"V97Linux", "fixpackName":"db2_hybrid_en-9.7.0.5-linuxx64-20120112.tgz" }, "type":"DB2", "id":"database" } ] } }"app_type:" This must be .database. "patterntype:" This must be .dbaas. purpose: retrieve the value from Get resources/databaseProvisionPurposes "source:" This may be .workloadStandardApproach. .defaultworkloadStandardApproach. or .cloneApproach. Response content-type application/json Response body example { "content_type": "application/json", "last_modifier": "cbadmin", "create_time": "2012-05-14T01:54:48Z", "last_modified": "2012-05-14T01:55:53Z", "access_rights": { "cbadmin": "F" }, "content_md5": "3EB002BE6EB3CE941FDE95668B283E35", "app_type": "database", "app_name": "dbp_default", "app_id": "a-2f6df81b-9fd3-48c7-b230-d7ea3cb1e005", "locked": "false", "creator": "cbadmin", "Collection": "." }Response header location https://localhost/resources/resources/applicationPatterns/a-2f6df81b-9fd3-48c7-b230-d7ea3cb1e005 Response code 201 Created 401 The user is not authorized to perform this action. 403 Access forbidden 412 Invalid parameter supplied, for example, the JSON file is invalid. 415 Invalid content type 500 Unexpected error
Upload a sql file for database pattern specified by Database Pattern ID
PUT /resources/applicationPatterns/{db_pattern_id}/artifacts/{filename}Note: The file is overwritten if it already exists.
Upload a sql file for database pattern specified by Database Pattern ID details.
Example URL https://localhost/resources/applicationPatterns/a-8f076605-2201-4461-b80c-635ccc18af1d/artifacts/test.sql Request content-type application/octet-stream Request body sql file Response content-type application/json Response body example { "fileName": "test.sql", "file": "artifacts/test.sql", "file_name": "test.sql" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The application specified by {dbid} is not found. 500 Unexpected error
Update a database pattern specified by Database Pattern ID
PUT /resources/applicationPatterns/{db_pattern_id}
Update a database pattern specified by Database Pattern ID details.
Example URL https://localhost/resources/applicationPatterns/a-cdaac959-672c-4df7-a648-b333a3843422 Request content-type and body Content-Type - application/json (body is the application model json file) Content-Type - application/zip (body is compressed file, including the application model and artifacts files)
Request body example { "model":{ "app_type":"database", "patterntype":"dbaas", "version":"1.1", "name":"db_pattern1", "description":"", "nodes":[{ "attributes":{ "purpose":"production", "source":"defaultWorkloadStandardApproach", "dbDiskSize":30, "workloadStandard":"departmental_OLTP", "sqlType":"DB2", "dbTerritory":"US", "dbCodeset":"UTF-8", "dbCollate":"SYSTEM", "versionName":"V97Linux", "fixpackName":" db2_hybrid_en-9.7.0.5-linuxx64-20120112.tgz", "dbSQLFile":"artifacts/test.sql" }, "type":"DB2", "id":"database" } ] } }Response content-type application/json Response body example { "content_type": "application/json", "last_modifier": "cbadmin", "create_time": "2012-05-14T01:54:48Z", "last_modified": "2012-05-14T01:55:53Z", "access_rights": { "cbadmin": "F" }, "content_md5": "3EB002BE6EB3CE941FDE95668B283E35", "app_type": "database", "app_name": "db_pattern1", "app_id": "a-2f6df81b-9fd3-48c7-b230-d7ea3cb1e005", "locked": "false", "creator": "cbadmin", "Collection": "." }Response code 200 OK Note: If an application specified by {dbid} is not found, the 200 response code returns, response body: {"success": "false"})
401 The user is not authorized to perform this action. 403 Access forbidden 404 The application specified by { db_pattern_id } is not found. 412 Invalid parameter supplied, for example, the json file is invalid. 500 Unexpected error
Update database pattern access rights for specified user name or group name
PUT /resources/applicationPatterns/{db_pattern_id}/accessRights/{name}?{user or group }
Update database pattern access rights for specified user name or group name details.
Example URL https://localhost/resources/applicationPatterns/a-cdaac959-672c-4df7-a648-b333a3843422/accessRights/Everyone?group Response content type application/json Response example { "access_rights": "F"}Response code 200 OK 401 The user is not authorized to perform this action 403 Access forbidden 404 The application specified by {dbid} is not found. 412 Invalid parameter supplied, for example, the json file is invalid. 500 Unexpected error
Delete a database pattern specified by Database Pattern ID
DELETE /resources/applicationPatterns/{db_pattern_id}
Table 10. Delete a database pattern specified by Database Pattern ID details.
Example URL https://localhost/resources/applicationPatterns/a-cdaac959-672c-4df7-a648-b333a3843422 Response content-type application/json Response body example { "success": "true" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict 500 Unexpected error
Database Instance REST interface
List all databases
GET /resources/databases
Table 11. List all databases details.
Response content-type application/json Response body example [ { "status": "RUNNING", "dbname": "db01", "start_time": "2011-03-11T01:52:56.752Z", "id": "d-481b6a1e-3771-4d1a-914e-4ad5c392166e" }, { "status": "RUNNING", "dbname": "db02", "start_time": "2011-03-10T02:19:30.688Z", "id": "d-57a630bc-5f23-48ae-a525-7fbfd11d035a" }, ... ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Deploy a database specified by Database Pattern ID
POST /resources/applicationPatterns/{db_pattern_id}/virtualApplications
Table 12. Deploy a database specified by Database Pattern ID details.
Request content-type application/json Request body Deploy by cloud group: { "deployment_name": "restdb", "cloud_group": "1", "ip_version": "IPv4", "ssh_keys":[""], "parameters":{ "database.dbname":"restdb" } }Or deploy by environment profile:
{ "deployment_name": "restdb", "environment_profile_id": "1", "cloud_group": "1", "ip_group": "1", "ssh_keys":[""], "parameters":{ "database.dbname":"restdb" } }.deployment_name. is an optional parameter for virtual application name. By default, it will be the name of application. .cloud_group. is required for deployment.
.ssh_keys. is an optional parameter for deployment.
.ip_version. is required for deployment.
.environment_profile_id. is required for deployment.
.ip_group. is required for deployment.
Response content-type application/json Response header location https://localhost/resources/applicationPatterns/a-bd0b540c-d285-4413-9095-cbbccc180261/virtualApplicationsd-7dadcdcc-d448-45e0-9103-1f3582aca870 Response example { "status": "LAUNCHING", "deployment_name": "defdb", "deployment_url": "https://172.16.65.62:9443/services/deployments/d-c021e8c1-3d1a-4ac4-bdf9-f7312918cc5d", "deployment_id": "d-c021e8c1-3d1a-4ac4-bdf9-f7312918cc5d", "app_type": null, "app_id": "a-2f6df81b-9fd3-48c7-b230-d7ea3cb1e005", "creator": "cbadmin", "instances": [ ], "creator_name": "cbadmin", "role_error": false }Response code 201 Created 401 The user is not authorized to perform this action. 404 Application specified by {dbid} is not found. 412 Precondition failed (unable to deploy, such as template) 500 Unexpected error
Retrieve database information specified by Database ID
GET /resources/databases/{dbid}
Table 13. Retrieve database details specified by Database ID details.
Example URL https://localhost/resources/databases/d-4db8c121-58c4-400b-80da-a2e0f916d83f Response content-type application/json Response body example { "port": "50000", "status": "RUNNING", "appdba": { "jdbcurl": "jdbc:db2://10.102.163.32:50000/mydb:user=appdba;password=8ga0AOQ79dkk1VwCQh;";, "dbpassword": "8ga0AOQ79dkk1VwCQh" }, "host": "10.102.163.32", "dbname": "mydb", "id": "d-4db8c121-58c4-400b-80da-a2e0f916d83f", "description": "test", "appuser": { "jdbcurl": "jdbc:db2://10.102.163.32:50000/mydb:user=appuser;password=NQitXSzfpcZ6L3;";, "dbpassword": "NQitXSzfpcZ6L3" }, "disksize": 4, "sqlType": "DB2", "creator":"cbadmin" }For admin:{ "port": "50000", "status": "RUNNING", "host": "10.102.163.32", "dbname": "mydb", "id": "d-4db8c121-58c4-400b-80da-a2e0f916d83f", "description": "test", "disksize": 4, "sqlType": "DB2", "creator":"cbadmin" }Response code 200 OK 401 The user is not authorized to perform this action. 404 Application specified by {dbid} is not found. 500 Unexpected error
Destroy a database specified by Database ID
PUT: /resources/virtualApplications/{dbid}Note: In request body, the values of the operation are stop and terminate.
Table 14. Destroy a database specified by Database ID details.
Example URL https://localhost/resources/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4 Response content-type application/json Request body { "operation": "kill" }Response code 202 Accepted 401 The user is not authorized to perform this action. 403 Access forbidden 404 Application specified by {dbid} is not found. 409 Conflict 412 Precondition failed (invalid operation) 500 Unexpected error
Delete a database specified by Database ID
DELETE: /resources/virtualApplications/{dbid}
Table 15. Delete a database specified by Database ID details.
Example URL https://localhost/resources/virtualApplications/d-7956c64e-0fac-49f2-b04e-efbc131a4cc4 Response content-type application/json Request body {"success":"true"}Response code 200 OK Note: If the deployment specified by {dbid } is not found, a 200 response code returns, response body: {"success": "false"} 401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict (same action is already in process) 500 Unexpected error
Database Image REST interface
List all database images
GET: /resources/dbimages
Table 16. List all database images details.
Example URL https://172.16.65.27/resources/dbimages Response content-type application/json Response body example [ { "imagedescription": "test", "imagename": "myimage", "timestamp": "20070201194742", "host": "10.102.195.22", "dbname": "mydb", "id": "maunal_172.16.37.180_mydb_20110824034523.json", "platformtype": "x64", "ostype": "linux" }, . ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
List database images by dbaasversionge
GET: /resources/dbimages?dbaasversionge={version}
Table 17. List database images by dbaasversionge details.
Example URL https://172.16.65.27/resources/dbimages?dbaasversionge=1.0.0.2 Response content-type application/json Response body example [ { "imagedescription": "test", "imagename": "myimage", "timestamp": "20070201194742", "host": "10.102.195.22", "dbname": "mydb", "id": "maunal_172.16.37.180_mydb_20110824034523.json", "platformtype": "x64", "ostype": "linux" }, . ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Create a database image specified by Database ID
Post: /resources/virtualApplications/{dbid}/operationsNote: Create a database image includes two parts: 1) create a database image manually 2) automatically create a database image
Table 18. Create a database image specified by Database ID manually details.
Request content-type application/json Request body { "role": "database-db2.DB2", "type": "backup", "global": false, "parameters": { "imageName": "zjimage", "imageDescription": "zjimage1" }, "script": "backup.py", "method": "", "roleType": "DB2" }.imageName. is a required parameter for creating a database image.imageDescription. is an optional parameter.
Response content-type application/json Response header location https://localhost/resources/virtualApplications/d-38751eb2-c965-4526-b4f8-3b8d5896b473/operations/o-df8f696a-24a3-41cd-9148-f29c3146ea4d Response body example { "method": "", "artifacts": [ ], "operationId": "o-df8f696a-24a3-41cd-9148-f29c3146ea4d", "global": false, "role": "database-db2.DB2", "type": "backup", "parameters": { "imageDescription": "test", "imageName": "image1" }, "locale": "en,zh;q=0.7,en-us;q=0.3", "script": "backup.py", "result": { "database-db2.11305274949390.DB2": "PENDING" } }Response code 201 Created 401 The user is not authorized to perform this action. 404 The application specified by {dbid} is not found 412 Precondition failed (unable to deploy, such as template) 500 Unexpected error
Table 19. Create a database image specified by Database ID automatically details.
Request content-type application/json Request body { "role":"database-db2.DB2", "type":"auto-backup", "parameters":{ "frequency":"daily" } }.frequency. : required parameter, the value could be daily, weekly or offResponse content-type application/json Response header location https://localhost/resources/virtualApplications/d-38751eb2-c965-4526-b4f8-3b8d5896b473/operations/o-df8f696a-24a3-41cd-9148-f29c3146ea4d Response body example { "artifacts": [ ], "global": false, "operation_id": "o-ed9ad4a7-101d-4625-95da-df2b4e6dc33c", "role": "database-db2.DB2", "locale": [ "en", "zh" ], "parameters": { "frequency": "daily" }, "type": "auto-backup", "script": "change_backup.py", "result": { "database-db2.11318932306120.DB2": "PENDING" } }Response code 201 Created 401 The user is not authorized to perform this action. 404 The application specified by {dbid} is not found 412 Precondition failed (unable to deploy, such as template) 500 Unexpected error
Retrieve database image information specified by Database Image ID
Get: /resources/virtualApplications/{db_imageid}
Table 20. Retrieve database image information specified by Database Image ID details.
Example URL https://localhost/resources/dbimages/maunal_172.16.37.180_mydb_20110824034523.json Request content-type application/json Request body { "imagedescription": "test", "imagename": "myimage", "timestamp": "20070201194742", "host": "10.102.195.22", "dbname": "mydb", "id": "maunal_172.16.37.180_mydb_20110824034523.json", "platformtype": "x64", "ostype": "linux" }Response code 200 OK 401 The user is not authorized to perform this action. 404 The application specified by {db_imageid } is not found 500 Unexpected error
Database Configuration REST interface
Change appuser/appdba password specified by Database ID
Post: /resources/virtualApplications/{dbid}/operations
Table 21. Change appuser/appdba password specified by Database ID details.
Request content-type application/json Request body { "role": "database-db2.DB2", "type": "configuration", "global": false, "parameters": { "DB2.APPDBAPASSWORD": newpassword1", "DB2.APPUSERPASSWORD": newpassword2" }, "script": "change.py", "method": "", "depends": [ ] }Response content-type application/json Response header location https://localhost/resources/virtualApplications/d-38751eb2-c965-4526-b4f8-3b8d5896b473/operations/o-d640dcfc-5339-4f37-bfd2-a67c1780e3e0 Response example { "method": "", "artifacts": [ ], "operationId": "o-d640dcfc-5339-4f37-bfd2-a67c1780e3e0", "global": false, "role": "database-db2.DB2", "depends": [ ], "type": "configuration", "parameters": { "DB2.APPDBAPASSWORD": newpassword1", "DB2.APPUSERPASSWORD": newpassword2" }, "locale": "en,zh;q=0.7,en-us;q=0.3", "script": "change.py", "result": { "database-db2.11305181893569.DB2": "PENDING" } }Response code 201 Created 401 The user is not authorized to perform this action. 404 The application specified by {dbid} is not found 412 Precondition failed (unable to deploy, such as template) 500 Unexpected error
Database Workload REST interface
Get database workload list
Get: /resources/databaseWorkloads
Table 22. Get database workload list details.
Response content-type application/json Request body [ { "rate": "3", "workload_type": "Departmental OLTP", "workload_file": "customized_oltp.tgz", "is_system": "false", "version": "1.1.0.0", "initial_disk_size": "1", "name": "customerized_workload", "description": "This is the customized workload" }, ... ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Retrieve database workload detail specified by Database Workload ID
Get: /resources/databaseWorkloads/{db_workloadid}
Table 23. Retrieve database workload detail specified by Database Workload ID details.
Response content-type application/json Request body { "rate": "3", "workload_type": "Departmental OLTP", "workload_file": "customized_oltp.tgz", "is_system": "false", "version": "1.1.0.0", "initial_disk_size": "1", "name": "customerized_workload", "description": "This is the customized workload" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Database VM Logging REST interface
Get log list from a database VM specified by Database ID and Virtual Machine ID
Get: /log/virtualApplications/{dbid} /virtualMachines/{vmid}
Table 24. Get log list from a database VM specified by Database ID and Virtual Machine ID details.
Example URL https://localhost/log/virtualApplications/d-f8ac5627-a14e-417a-a56e-7084475ab704/virtualMachines/database-db2.11315462912266 Response content-type application/json Response body example { "OS":["/var/log/messages", "/var/log/spooler", "/var/log/dmesg", "/var/log/brcm-iscsi.log", "/var/log/maillog", "/var/log/rpmpkgs", "/var/log/secure", "/var/log/cron", "/var/log/wtmp", "/var/log/yum.log", "/var/log/boot.log", "/var/log/acpid" ], "DB2":["/home/db2inst1/sqllib/log/instance.log", "/home/db2inst1/sqllib/db2dump/db2diag.log", "/home/db2inst1/sqllib/db2dump/db2inst1.nfy", "/home/db2inst1/sqllib/db2dump/stmmlog/stmm.0.log" ], "IWD Agent":["/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/database-db2.11315462912266.AGENT/trace.log", "/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/database-db2.11315462912266.AGENT/console.log", "/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/database-db2.11315462912266.DB2/trace.log", "/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/database-db2.11315462912266.DB2/console.log", "/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/console.log.0", "/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/database-db2.11315462912266.systemupdate/trace.log", "/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/database-db2.11315462912266.systemupdate/console.log", "/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/trace.log.0", "/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/install/trace.log", "/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/install/console.log", "/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/database-db2.11315462912266.SSH/trace.log", "/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/database-db2.11315462912266.SSH/console.log", "/0config/0config.log" ] }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Get log content from a database VM specified by Database ID and Virtual Machine ID and Log File Path
Get: /log/virtualApplications/{dbid} /virtualMachines/{vmid}/{logFilePath}
Table 25. Get log content from a database VM specified by Database ID and Virtual Machine ID and Log File Path details.
Example URL https://locahost/log/virtualApplications/d-f8ac5627-a14e-417a-a56e-7084475ab704/virtualMachines/database-db2.11315462912266/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/database-db2.11315462912266.DB2/console.log Request header Range bytes=4849-484932767 (Range is used to specify the start and end position to get from the log file)
Response content-type text/plain Request body [2011-09-08 06:59:57,572] DB2/install.py 47904813321408 pid=14758 INFO Creating and configuring a DB2 instance
[2011-09-08 06:59:57,618] DB2/install.py 47904813321408 pid=14758 ERROR not find the script:/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/scripts/DB2/workloads/departmental_OLTP/tune_OS.sh
[2011-09-08 07:00:17,967] DB2/install.py 47904813321408 pid=14758 INFO Creating and configuring a DB2 database
[2011-09-08 07:00:17,967] DB2/install.py 47904813321408 pid=14758 ERROR not find the script:/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/scripts/DB2/workloads/departmental_OLTP/tune_inst.sh
[2011-09-08 07:01:17,343] DB2/install.py 47904813321408 pid=14758 ERROR not find the script:/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/scripts/DB2/workloads/departmental_OLTP/tune_db.sh
[2011-09-08 07:01:17,343] DB2/install.py 47904813321408 pid=14758 ERROR not find the script:/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/scripts/DB2/workloads/departmental_OLTP/int_db.sh
Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Download log content from a database VM specified by Database ID and Virtual Machine ID and Log File Path
Get: /log/virtualApplications/{dbid} /virtualMachines/{vmid}/{logFilePath}?action=download
Table 26. Download log content from a database VM specified by Database ID and Virtual Machine ID and Log File Path details.
Example URL https://locahost/log/virtualApplications/d-f8ac5627-a14e-417a-a56e-7084475ab704/virtualMachines/database-db2.11315462912266/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/logs/database-db2.11315462912266.DB2/console.log Response content-type text/plain Response header Content-Disposition attachment; filename="_opt_IBM_WebSphere_AppServer_profiles_AppSrv01_logs_server1_native_stdout.log" Request body example [2011-09-08 06:59:57,572] DB2/install.py 47904813321408 pid=14758 INFO Creating and configuring a DB2 instance
[2011-09-08 06:59:57,618] DB2/install.py 47904813321408 pid=14758 ERROR not find the script:/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/scripts/DB2/workloads/departmental_OLTP/tune_OS.sh
[2011-09-08 07:00:17,967] DB2/install.py 47904813321408 pid=14758 INFO Creating and configuring a DB2 database
[2011-09-08 07:00:17,967] DB2/install.py 47904813321408 pid=14758 ERROR not find the script:/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/scripts/DB2/workloads/departmental_OLTP/tune_inst.sh
[2011-09-08 07:01:17,343] DB2/install.py 47904813321408 pid=14758 ERROR not find the script:/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/scripts/DB2/workloads/departmental_OLTP/tune_db.sh
[2011-09-08 07:01:17,343] DB2/install.py 47904813321408 pid=14758 ERROR not find the script:/opt/IBM/maestro/agent/usr/servers/database-db2.11315462912266/scripts/DB2/workloads/departmental_OLTP/int_db.sh
Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Customized Workload Standards REST interface
Create a customized database workload standard
POST /resources/databaseWorkloads
Table 27. Create a customized database workload standard.
Example URL https://localhost/resources/databaseWorkloads/ Response content-type application/json Request body example { "name":"dwl1", "description":"the first one", "workload_type":"Departmental_OLTP", "initial_disk_size":"1", "rate":"3", "is_system":"false", "version": "1.1.0.1", "workload_file":"customized_oltp.zip" }workload_type: Value must be .Departmental_OLTP. or .Dynamic Data Mart.
initial_disk_size: Value must be from 0 to 500
rate: Value must be from 1 to 3
is_system: Value must be .false.
workload_file: File must be a.zip file and the file name can not start with numbers or an underscore
Response example { "rate": "3", "workload_type": "Departmental_OLTP", "is_system": "false", "workload_file":"customized_oltp.zip", "initial_disk_size": "1", "version": "1.1.0.1", "name": "dwl1", "id": "a82c2322-cd9b-4419-a184-84fec9515f9d ", "description": "the first one" }Response header location https://localhost/resources/databaseWorkloads/a82c2322-cd9b-4419-a184-84fec9515f9d Response code 201 Created 401 The user is not authorized to perform this action. 403 Access forbidden 412 Invalid parameter supplied, for example, the json file is invalid. 415 Invalid content type 500 Unexpected error
Upload a zip file for customized database workload standard specified by Database Workload Standard ID
PUT /resources/workloadFiles/{db_workload_standard_id}?filename={filename}Note: This step is required to create a customized workload standard. If this file already exists, performing this action will overwrite the file.
Table 28. Upload a zip file for customized database workload standard
Example URL https://localhost/resources/workloadFiles/a82c2322-cd9b-4419-a184-84fec9515f9d?filename=customized_oltp.zip {filename} must be the same as the value of "workload_file" in the meta json file. Request content-type application/x-zip-compressed Request body .zip file Response content-type application/json Response body example { "success": "true", "filename": "customized_oltp.zip" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 Database workload standard specified by {db_workload_standard_id} is not found. 500 Unexpected error
List all database workload standards
GET /resources/databaseWorkloads/
Table 29. List all database workload standards.
Example URL https://localhost/resources/databaseWorkloads/ Response content-type application/json Response example [ { "rate": "3", "workload_type": "Departmental OLTP", "workload_file": "departmental_OLTP.zip", "is_system": "true", "version": "1.1.0.1", "initial_disk_size": "1", "name": "Departmental Transactional", "id": "departmental_OLTP", "description": "For databases primarily used for online transaction processing (OLTP). The database will be optimized for transactional applications." }, { "rate": "3", "workload_type": "Dynamic Data Mart", "workload_file": "dynamic_datamart.zip", "is_system": "true", "version": "1.1.0.1", "initial_disk_size": "1", "name": "Data Mart", "id": "dynamic_datamart", "description": "For databases primarily used for data warehousing. The database will be optimized for reporting applications." }, { "rate": "3", "workload_type": "Departmental OLTP", "workload_file": " customized_oltp.zip", "is_system": "false", "version": "1.1.0.1", "initial_disk_size": "1", "name": "dwl1", "id":"a82c2322-cd9b-4419-a184-84fec9515f9d ", "description": "the first one" } ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Update a customized database workload standard specified by Database Workload Standard ID
Note: The two default database workload standards, Departmental Transactional and Data Mart, can not be updated.
PUT /resources/databaseWorkloads/{db_workload_standard_id}
Table 30. Update a customized database workload standard.
Example URL https://localhost/resources/databaseWorkloads/a82c2322-cd9b-4419-a184-84fec9515f9d Request content type application/json Request body example { "rate": "5", "workload_type": "Departmental_OLTP", "is_system": "false", "initial_disk_size": "1", "version": "1.1.0.1", "name": "dwl1", "id": "a82c2322-cd9b-4419-a184-84fec9515f9d ", "description": "the first one", "workload_file":" customized_oltp.zip" }workload_type: Value must be .Departmental_OLTP. or .Dynamic Data Mart.
initial_disk_size: Value must be from 0 to 500
rate: Value must be from 1 to 3
is_system: Value must be .false.
workload_file: File must be a.zip file and the file name can not start with numbers or an underscore
Response content type application/json Response body example { "rate": "5", "workload_type": "Departmental_OLTP", "is_system": "false", "workload_file": "customized_oltp.zip", "initial_disk_size": "1", "version": "1.1.0.1", "name": "dwl1", "id": "a82c2322-cd9b-4419-a184-84fec9515f9d ", "description": "the first one" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 Database workload standard specified by {db_workload_standard_id} is not found. 412 Invalid parameter supplied, for example, the json file is invalid. 500 Unexpected error
Download the zip file of a customized database workload standard specified by Customized Database Workload Standard ID and Zip File Name
GET /resources/dbdownloadzip/{db_workload_standard_id}/artifact/{File Name}
Table 31. Download the zip file of a customized database workload standard.
Example URL https://locahost/resources/dbdownloadzip/a82c2322-cd9b-4419-a184-84fec9515f9d/artifact/customized_oltp.zip Response content type application/octet-stream Response body The zip file of the customized database workload standard Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The zip file of the customized database workload standard specified by {db_workload_standard_id} and {File Name} is not found. 500 Unexpected error
Download the zip file of a default database workload standard specified by default Database Workload Standard ID and Zip File Name
GET /resources/downloadSysZip/{db_workload_standard_id}/artifact/{File Name}
Table 32. Download the zip file of a default database workload standard.
Example URL https://locahost/resources/downloadSysZip/Departmental_OLTP.zip Response content type application/zip Response header Content-Disposition attachment; filename="Departmental_OLTP.zip" Response body The zip file of the pre-defined database workload standard Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Delete a customized database workload standard specified by Customized Database Workload Standard ID
Note: The two default database workload standards, Departmental Transactional and Data Mart, can not be deleted.
DELETE /resources/databaseWorkloads/{db_workload_standard_id}
Table 33. Delete a customized database workload standard.
Example URL https://localhost/resources/ databaseWorkloads/a82c2322-cd9b-4419-a184-84fec9515f9d Request content type application/json Request body example { "success": "true" }Response code 200 OK Note: If a database workload standard specified by {db_workload_standard_id} is not found, the 200 response code returns, response body: {"success": "false"}
401 The user is not authorized to perform this action. 403 Access forbidden 409 Conflict 500 Unexpected error
User Management REST interface
Create a user
POST /resources/virtualApplications/{dbid}/operations
Table 34. Create a user.
Example URL https://localhost:port /resources/virtualApplications/d-0a70a575-4bac-420e-8c7a-e663d2448e10/operations/ Response content-type application/json Request example {"role":"database-db2.DB2", "type":"createDB2User", "parameters":{ "sshAccess":"Deny", "userName":"newuser", "password":"<xor>bm1s", "authLevel":["SYSADM","SYSCTRL","SYSMAINT","SYSMON"]}, "groups":{}}Response body example { "target": "ALL", "artifacts": [ ], "preset_status": "CONFIGURING", "global": false, "operation_id": "o-6562b92e-3a58-42d1-8601-7275543afff3", "rolling": false, "role": "database-db2.DB2", "locale": [ "en", "zh_CN", "en_US" ], "parameters": { "userName": "newuser", "password": "< xor >bm1s", "sshAccess": "Deny", "authLevel": [ "SYSADM", "SYSCTRL", "SYSMAINT", "SYSMON" ] }, "type": "createDB2User", "script": "create_db2_user.py", "result": { "database-db2.11336320285009.DB2": "PENDING" } }Response code 201 Created 401 The user is not authorized to perform this action. 404 The application specified by {dbid} is not found 500 Unexpected error
Change the password of a specified user
POST /resources/virtualApplications/{dbid}/operationsNote: This step is required to create a customized workload standard. If this file already exists, performing this action will overwrite the file.
Table 35. Change a password
Example URL https://localhost:port /resources/virtualApplications/d-0a70a575-4bac-420e-8c7a-e663d2448e10/operations/ Request content-type application/json Request example {"role":"database-db2.DB2","type":"resetPassword","parameters":{"userName":"newuser","newPassword":"<xor>a2pp"},"groups":{}}Response body example { "target": "ALL", "artifacts": [ ], "preset_status": "CONFIGURING", "global": false, "operation_id": "o-97943167-3704-49c5-a332-2aa4bea7f6f3", "rolling": false, "role": "database-db2.DB2", "locale": [ "en", "zh_CN", "en_US" ], "parameters": { "userName": "newuser", "newPassword": "<xor>a2pp" }, "type": "resetPassword", "script": "change_user_password.py", "result": { "database-db2.11336320285009.DB2": "PENDING" } }Response code 201 Created 401 The user is not authorized to perform this action. 404 The application specified by {dbid} is not found 500 Unexpected error
List all users for the specified database
GET /resources/dbusers?deploymentID={dbid}
Table 36. List all users.
Example URL https://localhost:port/resources/dbusers?deploymentID= d-0a70a575-4bac-420e-8c7a-e663d2448e10 Response content-type application/json Response example [ { "userName": "new1", "authLevel": "SYSADM", "sshAccess": "Deny" }, { "userName": "new2", "authLevel": "", "sshAccess": "Deny" }, { "userName": "user2", "authLevel": "SYSADM,SYSMAINT", "sshAccess": "Allow" }, { "userName": "user4", "authLevel": "SYSADM,SYSCTRL,SYSMAINT,SYSMON", "sshAccess": "Allow" }, { "userName": "newuser", "authLevel": "SYSADM,SYSCTRL,SYSMAINT,SYSMON", "sshAccess": "Deny" } ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Delete a specified user
POST /resources/virtualApplications/{dbid}/operations
Table 37. Delete a user.
Example URL https://localhost:port/resources/virtualApplications/d-0a70a575-4bac-420e-8c7a-e663d2448e10/operations Request content type application/json Request body example {"role":"database-db2.DB2","type":"userList","global":false,"role_type":"DB2","parameters":{"userName":"newuser"}}Response body example { "target": "ALL", "artifacts": [ ], "preset_status": "CONFIGURING", "global": false, "operation_id": "o-f8d41175-99f0-4aa4-a8a7-9dbedbe2a4de", "rolling": false, "role": "database-db2.DB2", "locale": [ "en", "zh_CN", "en_US" ], "parameters": { "userName": "newuser" }, "type": "userList", "script": "delete_user.py", "result": { "database-db2.11336320285009.DB2": "PENDING" } }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
DB2 Fix Pack REST interface
Note: The Create, Upload and Update steps are required to create a fix pack.
Create a DB2 fix pack
POST /resources/virtualApplications/{dbid}/operations
Table 38. Create a DB2 fix pack.
Example URL https://localhost/resources/db2Fixes/ Request content-type application/json Request body example {"name":"v97fp6","description":"db2 v97fp6"}Response content-type application/json Response body example { "name": "v97fp6", "id": " cc0c684d-8ca4-4aa3-83e4-8436d5623a16", "description": "db2 v97fp6" }Response header location https://localhost/resources/db2Fixes/cc0c684d-8ca4-4aa3-83e4-8436d5623a16 Response code 201 Created 401 The user is not authorized to perform this action. 403 Access forbidden 412 Invalid parameter supplied; for example, the json file may be invalid. 415 Invalid content type 500 Unexpected error
Upload a package file by DB2 fix pack package name
PUT /resources/fixFiles/{packagename}Note: If this file already exists, performing this action will overwrite the file.
Table 39. Upload a package file by name.
Example URL https://localhost/resources/fixFiles/v9.7fp6_linuxx64_server.tgz Request content-type application/x-compressed Request body The package file Response content-type application/json Response body example { "fileName": "v9.7fp6_linuxx64_server.tgz", "file": "v9.7fp6_linuxx64_server.tgz", "file_name": "v9.7fp6_linuxx64_server.tgz" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Update a package file by DB2 fix pack package name
PUT /resources/db2Fixes/{db_fixpack_id}
Table 40. Update a package file by name.
Example URL https://localhost/resources/db2Fixes/cc0c684d-8ca4-4aa3-83e4-8436d5623a16 Request content-type application/json Request body example {"name":"v97fp6","description":"db2 v97fp6","packageFile":"v9.7fp6_linuxx64_server.tgz","id":"cc0c684d-8ca4-4aa3-83e4-8436d5623a16"}"id:" must be the same as {db2_fixpack_id} in the URL. Response content-type application/json Response body example { "db2level": "9.7.0.6", "packageFile": "v9.7fp6_linuxx64_server.tgz", "platform": "linuxx64", "db2version": "9.7", "id": "cc0c684d-8ca4-4aa3-83e4-8436d5623a16", "name": "v97fp6", "description": "db2 v97fp6" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 404 The db2 fixpack specified by {db2_fixpack_id} is not found. 412 Invalid parameter supplied; for example, the json file may be invalid. 500 Unexpected error
List all DB2 fix packs
GET /resources/db2Fixes /
Table 41. List all DB2 fix packs.
Example URL https://localhost/resources/db2Fixes/ Request content-type application/json Response body example [ { "id": "25b3b7ff-dea8-4e97-8715-2a2d7a37a9a1", "name": "db2v97fp7", "description": "db2 v97fp7", "db2level": "9.7.0.7", "platform": "linuxx64", "db2version": "9.7", "packageFile": "v9.7fp7_linuxx64_server.tgz" }, { "id": "cc0c684d-8ca4-4aa3-83e4-8436d5623a16", "name": "v97fp6", "description": "db2 v97fp6", "db2level": "9.7.0.6", "platform": "linuxx64", "db2version": "9.7", "packageFile": "v9.7fp6_linuxx64_server.tgz" } ]Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
List all fix packs valid for DB2 upgrade
GET /resources/db2FixesKS?forMatadata=true
Table 42. List all fix packs valid for DB2 upgrade.
Example URL https://localhost:port/resources/db2FixesKS?forMetadata=true Response content-type application/json Response body example { "items": [ { "value": " v9.7fp6_linuxx64_server.tgz", "name": " v97fp6" } ], "label": "name", "identifier": "value" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
List all DB2 fix packs valid for creating a database pattern or database instance
GET /resources/db2Fixes/
Table 43. List all DB2 fix packs valid for creating a database pattern or database instance.
Example URL https://localhost/resources/db2Fixes?forUI=true Response content-type application/json Response body example { "items": [ { "value": "db2_hybrid_en-9.7.0.5-linuxx64-20120112.tgz", "platform": "linuxx64", "db2version": "9.7", "name": "DB2 Version 9.7 Fix Pack 5 for Linux" }, { "value": "db2_hybrid_en-9.7.0.5-aix64-20120112.tgz", "platform": "aix64", "db2version": "9.7", "name": "DB2 Version 9.7 Fix Pack 5 for AIX" }, { "value": "db2_hybrid_en-10.1.0.0-linuxx64-20120312.tgz", "platform": "linuxx64", "db2version": "10.1", "name": "DB2 Version 10.1 for Linux" }, { "value": "db2_hybrid_en-10.1.0.0-aix64-20120312.tgz", "platform": "aix64", "db2version": "10.1", "name": "DB2 Version 10.1 for AIX" }, { "value": "v9.7fp6_linuxx64_server.tgz", "platform": "linuxx64", "db2version": "9.7", "name": " v97fp6" } ], "label": "name", "identifier": "value" }Response code 200 OK 401 The user is not authorized to perform this action. 403 Access forbidden 500 Unexpected error
Create a database pattern that uses a DB2 fix pack
POST /resources/applicationPatterns
Table 44. Create a database pattern that uses a DB2 fix pack.
Example URL https://localhost/resources/applicationPatterns/ Request body content type Content-Type - application/json (body is the application model json file) Content-Type - application/zip (body is zip file, including the application model and artifacts files)
Request body example { "model":{ "app_type":"database", "patterntype":"dbaas", "version":"1.1", "name":" respattern ", "description":"", "nodes":[{ "attributes":{ "purpose":"production", "source":"defaultWorkloadStandardApproach", "dbDiskSize":30, "workloadStandard":"departmental_OLTP", "sqlType":"DB2", "dbTerritory":"US", "dbCodeset":"UTF-8", "dbCollate":"SYSTEM", "versionName":"V97Linux", "fixpackName":" v9.7fp6_linuxx64_server.tgz " }, "type":"DB2", "id":"database" } ] } }"app_type:" This must be .database. "patterntype:" This must be .dbaas. purpose: retrieve the value from Get resources/databaseProvisionPurposes "source:" This may be .defaultWorkloadStandardApproach" "workloadStandardApproach" or "cloneApproach. fixpackName: Retrieve this through the "List all DB2 fix packs for creating a database pattern or database instance" operation.
Request content-type application/json Response body example { "content_type": "application/json", "last_modifier": "cbadmin", "create_time": "2012-02-28T07:36:25Z", "last_modified": "2012-02-28T07:36:26Z", "access_rights": { "cbadmin": "F" }, "content_md5": "397A79B87AEA58F5E814014E57CD61C0", "app_type": "database", "app_name": "respattern", "app_id": "a-bd0b540c-d285-4413-9095-cbbccc180261", "locked": "false", "creator": "cbadmin", "Collection": "." }Response header location https://localhost/resources/resources/applicationPatterns/a-bd0b540c-d285-4413-9095-cbbccc180261 Response code 201 Created 401 The user is not authorized to perform this action. 403 Access forbidden 412 Invalid parameter supplied; for example, the json file may be invalid. 415 Invalid content type 500 Unexpected error
Deploy a database with a database pattern that uses a DB2 fix pack
POST /resources/applicationPatterns/{db_pattern_id}/virtualApplications
Table 45. Deploy a database with a database pattern that uses a DB2 fix pack.
Request content-type application/json Request body example { "cloud_group":"1", "ssh_keys":["" ], "parameters":{ "database.dbname":"restdb" }, "deployment_name":"restdb" }"deployment_name:" An optional parameter for database name. By default, it will be the name of database. "cloud_group:" A required parameter for deployment.
Response content-type application/json Response header location https://localhost/resources/applicationPatterns/a-bd0b540c-d285-4413-9095-cbbccc180261/virtualApplicationsd-7dadcdcc-d448-45e0-9103-1f3582aca870 Response example { "status": "LAUNCHING", "deployment_name": "restdb", "deployment_url": "https://172.16.65.196:9443/services/deployments/d-7dadcdcc-d448-45e0-9103-1f3582aca870", "deployment_id": "d-7dadcdcc-d448-45e0-9103-1f3582aca870", "app_type": null, "app_id": "a-bd0b540c-d285-4413-9095-cbbccc180261", "creator": "cbadmin", "instances": [ ], "creator_name": "cbadmin", "role_error": false }Response code 201 Created 401 The user is not authorized to perform this action. 404 The db2 fixpack specified by {db2_fixpack_id} is not found. 412 Invalid parameter supplied; for example, the json file may be invalid. 500 Unexpected error
Upgrade a deployed database
POST /resources/virtualApplications/{dbid}/operations
Table 46. Upgrade a deployed database.
Example URL https://localhost:port /resources/virtualApplications/d-7dadcdcc-d448-45e0-9103-1f3582aca870/operations/ Response content-type application/json Request example {"role":"database-db2.DB2","type":"applyFixpacks","parameters":{"fixpackName":"v9.7fp6_linuxx64_server.tgz"}}fixpackName: Retrieve this through the "List all fix packs valid for DB2 upgrade" operation. Response body example { "method": "", "artifacts": [ ], "global": false, "rolling": false, "parameters": { "fixpackName": " v9.7fp6_linuxx64_server.tgz " }, "script": "upgrade_db2.py", "target": "All", "preset_status": "CONFIGURING", "operation_id": "o-bfd25639-68e6-4945-b58e-61ee06a29d13", "role": "database-db2.DB2", "type": "applyFixpacks", "locale": [ "en", "en_US", "zh_CN" ], "result": { "database-db2.11331028257308.DB2": "PENDING" } }Response code 201 Created 401 The user is not authorized to perform this action. 404 The db2 fixpack specified by {db2_fixpack_id} is not found. 412 Invalid parameter supplied; for example, the json file may be invalid. 500 Unexpected error
Upgrade database application
PUT /resources/virtualApplications/{dbid}
Table 47. Upgrade database application.
Example URL https://localhost /resources/virtualApplications/d-fb6a73e7-f9a2-465f-8357-f26fd7b8a717 Request body content type application/json Request body example {"operation":"upgrade"}Response body example true Response code 202 Accepted 401 The user is not authorized to perform this action. 403 Access forbidden 404 Application specified by {dbid} is not found 409 Conflict 412 Invalid parameter supplied; for example, the json file may be invalid. 500 Unexpected error
Delete a specified DB2 fix pack
DELETE /resources/db2Fixes/{db2_fixpack_id}
Table 48. Delete a specified DB2 fix pack.
Example URL https://localhost/resources/db2Fixes/cc0c684d-8ca4-4aa3-83e4-8436d5623a16 Response content-type application/json Response example { "success": "true" }Response code 200 OK
Note: If a db2 fixpack specified by {db2_fixpack_id} is not found, the 200 response code returns, response body: {"success": "false"})401 The user is not authorized to perform this action. 404 Access forbidden 409 Conflict 500 Unexpected error
IaaS REST API reference
The PureApplication System Infrastructure as a Service (IaaS) REST API layer is broken up into two main processes: one that interacts with users over HTTP and performs short-lived database transactions, and one that operates as a daemon and executes long-lived jobs.
In this document, the former process is called the server, and the latter process is called the job manager. A third component, called the Placement Policy Engine, is used internally when deploying virtual machines and managing placement policies. See Deploy virtual machines for more information.
The typical flow of a IaaS REST interaction depends on the HTTP method, the addressed resource, and the type of requested operation. HTTP methods include:
- HTTP GET
- The server performs database queries to retrieve the requested resources. Next, the retrieved data is encoded in the JavaScript Object Notation (JSON) format according to the IaaS specs and returned to the caller.
- HTTP POST
- The resource is created.
- HTTP PUT
- The resource is updated.
- HTTP DELETE
- The resource is deleted.
The type of resources determine which of the following flows occur:
- If the requested operation only requires interaction with the database, for example the update of the description of a resource, the request data is validated and used to update the corresponding resource into the database. The updated resource is encoded in JSON format and returned to the caller.
- If the requested operation requires one or more long-live jobs, for example the deployment of an instance, the list of jobs gets computed and queued to the job manager. Additionally any attribute that needs to be updated to the database is processed as well. The caller gets back the URIs of the jobs to monitor for checking the outcome of the asynchronous operation.
5.1. IaaS REST APIs
The Infrastructure as a Service (IaaS) API layer is an implementation of the IaaS specification Version 3.0.
Some implementation choices are listed as follows:
- The only supported data format is JavaScript Object Notation (JSON).
- All resources define their IaaS ID as a type-4 Universal Unique Identifier (UUID).
- The API implements some optional features for HTTP GET operations for maximum flexibility when querying system data. Features include paging and filtering capabilities.
- Relationships in resources are resolved in a single HTTP GET operation by using the ?resolvechildren=ALL query parameter. Using this parameter enables clients to get a more complete resource model without multiple requests.
- All GET requests against every resource always interact with the local database and never trigger a job.
- This implementation does not use the tags construct that is described in the specification.
IaaS resources, along with a brief description of implementation, are included in the following list:
- Address
- The address resource is handled through local operations by the database. It enables the user to supply an IP address for linking to a subnet. The address and subnet information can be used later for deployments. The address table must handle both IPv6 and IPv4 addresses.
- Capability
- The capability resource is not used at this time.
- Credential
- The credential resource is handled through local operations by the database. To define the actual content of this resource, use the username and password fields, not the options field.
- Group
- The group resource is used as a grouping mechanism for the instances. The group information should exist as long as the instances that are bound by the group exist. Other objects such as volumes, address, and so on, can also be part of the group but do not impact placement. Groups can also be used to start multiple deployment operations in one POST operation.
- Image
- As with the other resources, GET operations are against the database. A POST operation creates a JOB that saves a copy of the Open Virtualization Format (OVF) and a copy of the binaries in the storage controller. It also drives against FRM to store the image against VIOS. A DELETE operation creates a JOB that removes the image from the LUN and VIOS. This implementation only supports OVF images.
Images are considered to be immutable, according to the IaaS specifications. After an image has been imported into the system, any associated files and configuration cannot be updated. In addition, a periodic job runs in the background to synchronize the images that are stored in the PureApplication System database with the ones that are available in VMControl or VMware. So if someone imports or deletes any image directly using hypervisor, the change gets automatically synchronized into PureApplication System after a few minutes. The frequency of how often the job runs is specified through the /config/recurring/jobs property defined in the PureApplication System.iaas/config/zero.config file.
The general configuration syntax for a recurring job is as follows:
/config/recurring/jobs += [ { action: "name of the job script", type: "resource collection being worked on", interval: time in between executions, in milliseconds }, . ]The section that contains the configuration of the image synch job is the following:
{ "action": "synch", "type": "images", "interval": 300000 }By default this job runs every five minutes. After the configuration has been modified, the job manager must be restarted to apply the changes. The job manager keeps only one instance of the job in the queue at a time, and it will not start the interval timer until the current job is finished. To prevent job starvation and resource latency, each job has a minimum interval of 30 seconds (30000 milliseconds).
- Instance
- As with the other resources, GET operations are against the database. However, there is a background task that queries the back-end system to ensure that new virtual machines have not appeared unexpectedly.
- The POST operation returns a JOB that tracks the creation of the instance.
- PUT operations that change the state of a virtual machine also result in a JOB.
- A periodic job runs in the background to synchronize the state of the instances that are stored in the PureApplication System database with the ones that are available in VMControl or VMware. If an instance gets stopped or started directly from hypervisor, the change gets automatically synchronized into PureApplication System after a few minutes. The frequency of how often the job runs is specified through the /config/recurring/jobs property defined in the PureApplication System.hardware/config/events.config file.
- The section that contains the configuration of the image synch job is the following:
{ "action": "query_compute_nodes", "type": "nodes", "interval": 120000 }By default, this job runs every two minutes. After the configuration has been modified, the job manager must be restarted to apply the changes.
- Instance snapshot
- As with the other resources, GET operations are against the database.
- The POST operation returns a JOB that tracks the creation of the snapshot that is related to an instance.
- PUT operation that change the state of the snapshot also result in a JOB. The revert replaces the instance with the snapshot.
- During the synchronization of the images, the snapshots that are associated to the instances are synchronized as well.
- Location
- The location resource is not used at this time for the IaaS interactions. It is used for Rack and Cluster location, however.
- Job
- The job resource monitors the operations that are triggered in the context of other resources, such as images or instances. A job resource cannot be directly created or updated from a REST invocation. A job is created only as a consequence of another interactions, such as the deployment of an image.
- Subnet
- The subnet resource is handled through local operations by the database. The table stores a subnet definition for later deployment by the user.
- Virtual data center
- The virtual data center resource is handled through local operations by the database. This resource scopes the reach of the cloud groups.
- Virtual machine configuration
- The virtual machine configuration resource is handled through local operations by the database. This resource defines the various virtual machine shapes, sometimes called T-Shirt sizes, that are supported.
- Volume
- The volume resource table interacts with the database for GET requests. A POST operation results in a JOB that drives against the storage controller to create the given volume against the chosen VM. PUT and DELETE operations also result JOBs after a database creation.
- Volume configuration
- The volume configuration resource is handled through local operations by the database. This table holds different configurations of Volumes. The client can define different volume types. PureApplication System provides sample volume types and enables others to be posted and queried.
- Volume snapshot
- The volume snapshot resource is not used at this time
All IaaS REST APIs use application/json for the data format.
All resources that are returned as the result of a GET, POST, or PUT operation always contains the following fields:
- id
- name
- description
- created_time
- updated_time
- options
5.1.1. Specifying queries
HTTP GET requests that are targeted at collections such as images instances can optionally include additional URL-query parameters to specify that only resources that contain properties that match the specified values are to be included in the results.
The general format of a query request is GET /deployment/resources/images?propertyName=value. The object is returned if the property name contains the value that is specified in the request.
To create multiple query expressions, concatenate them with a & separator. For example, to retrieve a list of images that have a state of 'available' and have the word 'WebSphere' in their description property, the request would be GET /deployment/resource/images?state=available&description=websphere. When multiple query expressions are specified, each query expression is ANDed together. ORing that is outside of the ORing that is available within a regular expression for one particular property is not supported. However, requesters can issue separate GET requests and merge the results themselves.
The current implementation does not allow filters for nested attributes, such as referenced fields.
5.1.2. Use HTTP header requests
The X-IaaS-API-Version HTTP header must be present on the request message. If the Infrastructure as a Service (IaaS) specification header is not received, the URIs in the IaaS REST APIs are sent back without the uri: subfield.
Header Value X-IaaS-API-Version 3.0.0 This system matches the simpler method of how URIs are returned for the rest of PureApplication System. If the X-IaaS-API-Version HTTP header is present and equals '3.0.0', the URIs are sent back using the standard IaaS specification version 3 format.
For example, when the IaaS specification header is received, the URI is encoded in this way:
{ ... "virtual data center.: { "uri": "virtual data center./e225d75f-9243-465c-b515-af7c6b1cf7e1"} ... }If the IaaS specification header is not received, the URI is encoded in this way:
{ ... "virtual data center.: "/deployment/resources/virtual data center./e225d75f-9243-465c-b515-af7c6b1cf7e1" ... }This change applies to all IaaS attributes that contain URIs or lists of URIs. The same header also influences the format of the ID field of a resource. When the header is not specified, the general format of the ID field matches the method of how IDs are returned in the rest of PureApplication System: {pluralized-name-of-resource-type}/{uuid}, for example:
{ "id": "/deployment/resources/images/39ed5020-dfcf-4804-8459-36aa2a71a6df", "name": "Imported on: Thursday, September 1, 2011", "description": "PureApplication System Default Image Description" ... }When the header is specified, the format of the ID field is only the UUID of the resource: {uuid}, for example:
{ "id": "39ed5020-dfcf-4804-8459-36aa2a71a6df", "name": "Imported on: Thursday, September 1, 2011", "description": "PureApplication System Default Image Description" ... }
5.1.3. Specifying views
HTTP GET requests may optionally include a URL-query parameter to indicate which properties of the resource are to be included in the response.
This is useful when the requester only needs certain properties and wants to reduce the amount of data returned. To specify the list of properties returned, a requester should use the _view query parameter as follows: GET /deployment/resource/objects?_view=propertyName,propertyName,... . Each property name is separated by a comma.
When the _view query parameter is used, the provider does not return any properties unless specifically asked by the requester. Any propertyName that does not match a field of the returned resource is silently ignored.
5.1.4. Specifying result subsets
When a request targets a collection such as /images and /instances. sometimes the result set can be too large to transfer in one HTTP message exchange. In this case, a requester can optionally include additional URL-query parameters to indicate that a only subset of the complete collection should be returned.
This specification defines two query parameters as follows: GET /deployment/resources/objects?page=xxx,count=yyy.
The page query parameter indicates which page in the group of resources in the collection to return. Each page is a group of count resources. The first page in the collection is denoted by the number '1', which is also the default value not specified. The count query parameter indicates how many resources are to be returned per page. The page parameter is used only when the count parameter is specified, otherwise it is silently ignored.
5.1.5. Partially updating resources
Use HTTP PUT operations to partially update resources and silently ignore attempts to write to read-only fields. These operations may succeed in spite of other errors, but the read-only fields are not modified.
To update an existing resource, a client sends a PUT request to the URI of the resource with only the list of attributes that should be updated. The full updated resource representation is not required.
In response to the PUT request, the HTTP response always contains a full representation of the resource.
As with all operations that can potentially modify the server state, the server can modify any property as needed, for example to ensure that the state of the environment is consistent. This means that the resource that is represented in the PUT response might differ from the resource that is represented in the PUT request message.
Note: The _update parameter that is described in the specifications is currently not used.
5.1.6. Resolve resources
Fully resolve relationships among resources in a single HTTP GET operation by using the resolvechildren=ALL query parameter. Fully resolving resources in a single request allows clients to get a more complete resource model without multiple requests.
When specifying the resolvechildren=ALL query parameter, all the child resources that are referenced through URIs are replaced with their full representation. Shallower portions of the API tree can be requested with the resolvechildren=X query parameter, where X is an integer from 0 to 10.
For example, to retrieve the fully resolved representation of an instance, a requester can use the _resolve query parameter as follows: GET /deployment/resource/instance/<instanceUUID>?resolvechildren=ALL.
5.2. IaaS use cases
Learn about the most important use cases that are exposed by PureApplication System though Infrastructure as a Service (IaaS) REST APIs.
Note: The following use cases provide information about the PureApplication System implementation of the IaaS REST API, including information about extensions and customizations that are not part of the basic IaaS specification. To learn basic concepts and patterns about IaaS resources, see the IBM IaaS specification document.
Related information:
IBM IaaS Specification Version 3
5.2.1. Transitioning instance states
Instances are the fundamental building blocks of the PureApplication System cloud environment.
An instance represents a virtual machine. Instance states can be operational or provisioning. Operational states are assigned to an instance to trigger an action. Provisioning states are reached after a management operation has been completed on that instance.
The following table shows how requested actions impact the state of an instance. Each cell represents the end state of the instance based on its starting state and the action requested. Unsupported transitions are denoted with a hyphen. When unsupported transitions are attempted, an error is returned.
Instance states by requester action
Requester action Capture Deploy Restart Start Stop Store Instance starting state Available - Started - - - - Capturing - - - - - - Delete - - - - - - Restart - - - - - - Pending - - - - - - Started Started - Started Started Stopped Stored Start - - - - Stopped - Stopped Stopped - - Started Stopped Stored Stopping - - - Started Stopped - Stored - - - Started - - Unavailable - - - - - -
5.2.2. Link or unlinking a virtual data center
To attach a virtual data center to a physical_compute_node resource, perform an HTTP PUT operation against the target resource by setting the value of the virtual data center attribute to the desired virtual data center.
Note: A virtual data center is an isolated collection of compute nodes to which a user can deploy workloads or instances. The resources that a user deploys to these compute nodes are automatically moved to a compute node that has sufficient CPU and memory resources available. If the compute node is upgraded for maintenance, or fails, all resources that reside on this compute node are migrated to other compute nodes. In the context of REST APIs, the term "virtual data center" corresponds to the term "Cloud Group" in the user interface.
For example, to link the physical_compute_node resource with UUID=3a576a9f-8a40-4b94-ab5a-731bba132122 to a virtual data center with UUID=e225d75f-9243-465c-b515-af7c6b1cf7e1, issue the following HTTP PUT request:
HTTP PUT /deployment/resources/physical_compute_nodes/3a576a9f-8a40-4b94-ab5a-731bba132122The following example shows the JavaScript Object Notation (JSON) request body:
{ "virtual data center.": { "uri": "virtual data center./e225d75f-9243-465c-b515-af7c6b1cf7e1"} }To unlink a resource from a virtual data center, set the value of the virtual data center field to null.
For example, to unlink the physical_compute_node resource with UUID= 3a576a9f-8a40-4b94-ab5a-731bba132122 from the virtual data center to which it belongs, issue the following HTTP PUT request:
HTTP PUT /deployment/resources/physical_compute_nodes/3a576a9f-8a40-4b94-ab5a-731bba132122The following example shows the JavaScript Object Notation (JSON) request body:
{ "virtual data center.": null }
5.2.3. Remove a virtual data center
You can remove a virtual data center as long as it is longer referenced by any resource in the PureApplication System environment.
URI /deployment/resources/virtual data center./<virtual data center.UID> Method DELETE Request body JSON Returns 204 Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure 500 The system encountered an internal error while processing the request. A successful delete operation returns a 204 HTTP response code to the caller. This indicates that the virtual data center has been successfully removed from the system.
5.2.4. Create a new vm_configuration
Create a new configuration for the virtual machine.
URI /deployment/resources/vm_configurations or
/deployment/resources/vdcs/{uuid}/vm_configurations
Method POST Request body JSON Returns 201 Success 4xx There were problems creating the vm_configuration. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A sample request representation is provided in the following example:
{ "memory": 500.0, "volume_configurations": [ ], "created_time": "Mon 02 Jul 2012 19:00:51 UTC", "pcpu_count": 1.0, "name": "vmcfg1", "created_time_raw": 1341255651199, "updated_time": "Mon 02 Jul 2012 19:00:51 UTC", "label_key": "pure1905", "vdc": "/deployment/resources/vdcs/5ef24b63-c931-46ee-aa0d-14393a9e6f86", "disks": [ ], "label_text": "VM Configuration", "cpu_count": 1, "volumes": [ ], "id": "/deployment/resources/vm_configurations/ea5c7ca3-93fa-42ba-9585-f3b617dcef90", "description": "created by ca-reader for cg1" }The following list provides important attributes to consider:
- cpu_count
- The number of virtual CPUs that are assigned to the virtual machine. This is a required attribute.
- disks
- Unused at this time. PureApplication System virtual servers do not have any local storage. This attribute must always contain an empty list.
- memory
- The amount of memory that is assigned to the virtual machine, specified in megabytes. This is a required attribute.
- pcpu_count
- The number of physical CPUs that are assigned to the virtual machine. This is an optional attribute.
- virtual data center.
- A reference to the virtual data center for this virtual machine configuration. This is a required attribute.
- volumes
- List of volume IDs and mount points that instances of this configuration should be attached to. This is an optional attribute.
- volume_configurations
- The number of volumes and their respective formats, sizes, and mount points that are associated with the virtual machine deployed with this virtual machine configuration. This is an optional attribute.
5.2.5. Create a new volume configuration
Create a new volume configuration.
URI /deployment/resources/volume_configurations or
/deployment/resources/vdcs/{uuid}/volume_configurations
Method POST Request body JSON Returns 201 Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure 500 The system encountered an internal error while processing the request. A successful get operation returns a 200 HTTP response code to the caller and the response body contain the JSON representation of the volume configuration resource just created on the system.
A sample request representation is provided in the following example:
{ "size": 500, "updated_time": 1341255999469, "created_time": 1341255999469, "label_key": "pure1906", "vdc": "5ef24b63-c931-46ee-aa0d-14393a9e6f86", "jobs": [ ], "name": "volcfg1", "id": "7abc4d3f-a8f5-46f6-a4f9-c0cb10e2cae5", "formats": null, "description": "created by ca-reader for cg1" }The following list provides important attributes to consider:
- size
- The size in megabytes. This is a required parameter.
- vdc
- Reference to the virtual data center associated with this Volume Configuration. This is a required parameter
5.2.6. Create a new subnet
Create a new subnet.
URI /deployment/resources/subnets Method POST Request body JSON Returns 201 Success 4xx There were problems creating the subnet. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A sample request representation is provided in the following example:
{ "name": "PureApplication System Subnet 1 ", "description": "IPSAS Demo Subnet 1", "gateway": "172.16.1.1", "dns": "172.16.248.2", "secondary_dns" : "172.16.248.3", "mask": "255.255.248.0", "subnet": "172.16.0.0", "ip_version": "ipv4", "virtual data center.: { "uri": "virtual data center./3a546a9f-9d40-4b94-ab5a-731bba132122" } }A successful GET operation returns a 200 HTTP response code to the caller, and the response body contains the JSON representation of the subnet that is created on the system.
The minimal request to create a new subnet is the following:
{ "name": "PureApplication System Subnet 1 " }Just the name attribute is required.
The following list provides important attributes to consider:
- dns
- The primary DNS server for this subnet. This is an optional attribute.
- secondary_dns
- The secondary DNS server for this subnet. This is an optional attribute.
- gateway
- The gateway address for this subnet. This is an optional attribute.
- ip_version
- The IP version used for this subnet. Allowed values are ipv4 and ipv6. This is an optional attribute.
- mask
- The subnet mask for this subnet. This is an optional attribute.
- subnet
- The TCP/IP subnet that contains IP addresses and related logical resources such as DNS and default gateways. This is an optional attribute.
- virtual data center
- The virtual data center for this subnet. This is an optional attribute.
5.2.7. Delete a subnet
Delete a subnet.
URI /deployment/resources/subnets/<subnetUUID> Method DELETE Request body JSON Returns 204 Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A successful delete operation returns a 204 HTTP response code to the caller that indicates that the subnet was successfully removed from the system.
5.2.8. Create a new address
Create a new address.
URI /deployment/resources/addresses Method POST Request body JSON Returns 201 Success 4xx There were problems creating the address. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A sample request representation is provided in the following example:
{ "name": "Demo Network Address 1", "description": "IPSAS Demo Address 1", "ip_version": "ipv4", "ip": "172.16.98.23", "hostname": "PureApplication System-vm-098-023.purescale.raleigh.ibm.com", "virtual data center.: { "uri": "virtual data center./3a546a9f-9d40-4b94-ab5a-731bba132122" }, "subnet": { "uri": "subnets/d295d75f-9277-465c-b515-af7c6b1cf7b3" } }A successful GET operation returns a 200 HTTP response code to the caller. The response body contains the JSON representation of the address that was created on the system. In the example above, the created address is also attached to the specified subnet.
The minimal request to create a new address is the following:
{ "name": "Demo Network Address 4", "subnet": { "uri": "subnets/d295d75f-9277-465c-b515-af7c6b1cf7b3" } }The name and subnet attributes are required.
The following list provides important attributes to consider:
- ip
- The IP address. This is an optional attribute.
- ip_version
- The IP version used for this subnet. Allowed values include ipv4 and ipv6. This is an optional attribute.
- hostname
- The host name that is associated with this address. This is an optional attribute.
- is_public
- Indicates whether the address is public or private. Allowed values include true or false.
- resources
- The instance to which this address is attached. If this address is not attached to an instance, the value is empty. This is a read-only attribute. To attach or detach an address to or from an instance, update the addresses field of the instance.
- state
- The state of the address. This attribute is read-only. The value is updated by the IaaS implementation, depending on the operations that involve this address. Possible values include:
- unavailable
- This address is currently not available, meaning that the state is not used.
- available
- This address is available but is not currently being used by an instance.
- assigned
- This address is assigned to an instance. Note that this value does not affect the current state of the instance.
- locked
- This address is locked.
- reserved
- This address is reserved.
- subnet
- The subnet that is associated with this address. Required.
- virtual data center
- The virtual data center for this address. This is an optional attribute.
5.2.9. Create a range of addresses attached to a subnet
Create a range of addresses that are attached to a subnet.
An API is available first to create a range of addresses from an IP range or a list of host names and then to attach those addresses to a subnet.
URI /deployment/resources/subnet/<subnetUUID>/addresses Method POST or PUT Request body JSON Returns 201 Success 4xx There were problems creating the addresses. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. You can use either an IP range or a list of host names to specify the list of addresses to create.
To provide an IP range:
{ "address_range": { "from": "100.100.100.0", "to": "100.100.100.10" } }To provide a list of host names:
{ "address_range": { "hostnames": ["hostname1", "hostname2"] } }A successful PUT or POST operation returns a 200 HTTP response code to the caller. The response body contains the JSON representation of the list of addresses that are created and attached to the specified subnet.
Each address that is created inherits the virtual data center field from the subnet to which it is attached, if any.
The ip_version field is automatically set based on the format of the IP range (ipv4 or ipv6), if an IP range is specified. An IP range is not required.
If a list of host names is used to create the range of addresses, the ip_version field is not automatically computed. When the ip_version is not explicitly provided in the response body, the field is set to null.
The two above basic structures are mutually exclusive. It is not possible to specify both the .hostnames. attributes and the .to., .from. ones.
In addition to the hostnames, from, and to attributes, you can also specify the following fields:
- name
- The name that is assigned to the created addresses is built following this rule: name_<counter>, where <counter> starts at 0 and is increased for each new address in the range.
- description
- A general description.
- ip_version
- Allowed values include ipv4 or ipv4.
- is_public
- Allowed values include true or false.
The following example details a complete request body that contains all fields:
{ "address_range": { "name": "My name", "description": "My description", "from": "100.100.100.0", "to": "100.100.100.10", "is_public": "true" } }
5.2.10. Move an address from one subnet to another
You can use the representational state transfer (REST) application programming interface (API) to move an address from one subnet to another.
To move an already created address from a subnet to another subnet you have to issue an HTTP PUT operation against target address specifying the new subnet where the address has to be attached.
URI /deployment/resources/addresses/<addressUUID> Method PUT Request body JSON Returns 201 Success 4xx There were problems updating the address. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A sample request representation is provided in the following example:
{ "subnet": { "uri": "subnets/d295d75f-9277-465c-b515-af7c6b1cf7b3" } }A successful get operation returns a 200 HTTP response code to the caller and the response body contain the JSON representation of the updated address.
5.2.11. Delete an address
You can use the representational state transfer (REST) application programming interface (API) to delete an address.
URI /deployment/resources/addresses/<addressUUID> Method DELETE Request body JSON Returns 204 Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A successful delete operation returns a 204 HTTP response code to the caller. This indicates that a the address has been successfully removed from the system.
5.2.11.1. Reserving addresses in a subnet
You can use the representational state transfer (REST) application programming interface (API) to reserve addresses in a subnet.
URI /deployment/resources/subnets/<subnetUUID>/reserve Method PUT Request body JSON Returns 200 Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. Body for the PUT operation is something like:
{ "options" : { "addr_number": "2", "correlation_id": "9999998888" } }
5.2.11.2. Reserving one specific address in a subnet
You can use the representational state transfer (REST) application programming interface (API) to reserve a specific address in a subnet.
URI /deployment/resources/subnets/<subnetUUID>/reserve Method PUT Request body JSON Returns 200 Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. Body for the PUT operation is something like:
{ "options" : { "addr_number": "1", .address. : ./deployment/resource/addresses/81a5ecb0-50e3-4700-be16-d48869d28c13. "correlation_id": "9999998888" } }
5.2.11.3. Releasing addresses in a subnet
You can use the representational state transfer (REST) application programming interface (API) to release addresses in a subnet.
URI /deployment/resources/subnets/<subnetUUID>/release Method PUT Request body JSON Returns 20o Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. Body for the PUT operation is something like:
{ "options" : { "addr_list" : [ ./deployment/resources/addresses/81a5ecb0-50e3-4700-be16-d48869d28c13., ./deployment/resources/addresses/91b5ecb0-60e3-5600-cd16-g27869d28c878. ] "correlation_id": "9999998888" } }
5.2.11.4. Locking addresses in a subnet
You can use the representational state transfer (REST) application programming interface (API) to lock addresses in a subnet.
URI /deployment/resources/subnets/<subnetUUID>/lock Method PUT Request body JSON Returns 200 Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. Body for the PUT operation is something like:
{ "options" : { "addr_number": "2", "correlation_id": "9999998888" } }
5.2.11.5. Unlocking addresses in a subnet
You can use the representational state transfer (REST) application programming interface (API) to unlock addresses in a subnet.
URI /deployment/resources/subnets/<subnetUUID>/unlock Method PUT Request body JSON Returns 200 Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. Body for the PUT operation is something like:
{ "options" : { "addr_list" : [ ./deployment/resources/addresses/81a5ecb0-50e3-4700-be16-d48869d28c13., ./deployment/resources/addresses/91b5ecb0-60e3-5600-cd16-g27869d28c878. ] "correlation_id": "9999998888" } }
5.2.12. Create a new credential
You can use the representational state transfer (REST) application programming interface (API) to create a new credential.
URI /deployment/resources/credentials Method POST Request body JSON Returns 201 Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A successful get operation returns a 200 HTTP response code to the caller and the response body contain the JSON representation of the credential resource just created on the system.
A sample request representation is provided in the following example:
{ "name": "myUserCredentials", "description": "Credential info for myUser", "username": "myUser", "password": "myPwd" }The most important attributes to consider (besides name and description) are the following:
- password
- The password associated to this credential. This is a required parameter.
- Username
- The name of the user this credential refers to. This is a required parameter.
When credentials are queried, the password attribute is never returned in clear-text but it is hidden and its value is replaced with .********..
A typical response from a GET on /deployment/resources/credentials is the following:
{ "updated_time": "Tue, 23 Aug 2011 07:42:35 GMT", "state": "available", "created_time": "Tue, 23 Aug 2011 07:42:35 GMT", "username": "pippo", "password": "********", "name": "test", "id": "/deployment/resources/credentials/e1381604-06e8-4ba9-a271-92b3adf7457e", "description": "Credentail info for myUser" }
5.2.13. Delete a credential
You can use the representational state transfer (REST) application programming interface (API) to delete a credential.
URI /deployment/resources/credentials/<credentialUUID> Method DELETE Request body JSON Returns 204 Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A successful delete operation returns a 204 HTTP response code to the caller. This indicates that a the credential has been successfully removed from the system.
5.2.14. Delete images from the system
You can use the representational state transfer (REST) application programming interface (API) to delete images from the system.
URI /deployment/resources/images/<imageID> Method DELETE Request body JSON Returns 202 Success 4xx There were problems deleting the resource. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A successful delete operation returns a 202 HTTP response code to the caller. This indicates that a job for deleting the image resource was successfully created and the "X-Job-URI" header is returned containing the relative URL to the job that is going to delete the image from the system. The state of the image is also set to .deleting..
Once the DELETE call has been successfully accomplished the caller should monitor the job for checking the file outcome of the operation.
5.2.15. Deploy virtual machines
Deployments of virtual machines is the main use case provided by the IaaS specifications.
Besides what is described in the IaaS specifications, related to how to deploy a virtual machine, the PureApplication System implementation is adding new capabilities to this functionality that can be summarized by the following items:
- Single deployment of an image
- Multiple deployment of a set of images in one attempt
- Single and multiple deployments of images in one attempt with placement hints for co-location or anti-collocation and license information
One important aspect related to the deployment flow is the management of the placement policies. The user that requests a deployment of a set of virtual machines is not required to specify a specific compute node in which the virtual machines are located. It is the deployment system that interacts with the Placement Engine that automatically determines the best suitable node where the virtual machines are located. This is determined by taking into account the placement hints specified at deployment time.
5.2.16. Create a group
You can use the representational state transfer (REST) application programming interface (API) to create a group.
URI /deployment/resources/groups Method POST Request body JSON Returns 201 Success 4xx There were problems creating the group. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A sample request representation is provided in the following example:
{ "name": "My test group 1", "description": "My demo group of instances", "members": [ {"resource_type": "instances", "uri": "instances/9b26bd6e-7ad4-4d01-a27c-95064151507c"}, {"resource_type": "instances", "uri": "instances/4587b2ad-fc59-42f4-9c06-ef25cf50ce5a"} ] }A successful get operation returns a 200 HTTP response code to the caller and the response body contain the JSON representation of the group just created on the system.
The following list provides important attributes to consider:
- members
- This optional structure contains a list of references to the resources that are contained within this Group. Each reference has an additional property that indicates the type of resource that is being referenced. This "type" property is the resource type in all lower-case letters - e.g. "instance".
- state
- This attribute contains the state of the group. Valid values are:
- available - The group is ready.
- deploy - When set to this value, the group will be deployed, and if successful, will eventually go into the "started" state. This state makes sense only for group containing instances.
- started - The instances contained in this group have been successfully deployed. This state makes sense only for group containing instances.
- unavailable - The deployment of the instances contained in this group failed. This state makes sense only for groups containing instances.
Only the name attribute is required when creating a group.
The minimal request structure for creating an empty group is the following:
{ "name": "My test group 2" }
5.2.17. Update a group
You can use the representational state transfer (REST) application programming interface (API) to update a group.
URI /deployment/resources/groups/<groupUUID> Method PUT Request body JSON Returns 200/202 Success/Accepted 4xx There were problems updating the group. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. Update a group for changing its name, description, policy and members attributes can be done through the usual pattern of updating a resource. So for example to add a new member to the empty group created with the previous request and to add a description the following request body could be used in the context of a PUT call:
{ "name": "My test group 2", "description": "Description for my test group 2 of instances", "members": [ {"resource_type": "instances", "uri": "instances/9b26bd5f-7ad4-5e01-a27c-950641542307c"} ] }As another example, to remove all the members of a group the following request body could be used in the context of a PUT call:
{ "members": [ ] }There are two special kind of updates that have to be highlighted, besides the .standard. ones:
- Updates to the state of a group
- Updates to the state of a group is the way for performing multiple deploy operations. The next section in this document describes in details how to run such scenarios
- Addition/removal of group members
- As already described below, adding/removing members to a group is just a matter of issuing a PUT operation to the group resource providing the new members list of the group. This way of updating the group members may not be very efficient if a group contains thousands of members and the requestor would just add or remove one element from the group. So to make such kind of patterns more efficient and easy to do this implementation provides an additional capability for adding/removing members to a group based on a new IaaS resource called .grp_member.
- Use the grp_member resource it is possible to directly query and/or modify groups members.
- To get the members of a group the following GET operation could be used:
URI /deployment/resources/grp_members?group=<groupUUID> Method GET Request body JSON Returns 200 Success 4xx There were problems processing the request. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A typical response is the following:
{ "updated_time": "Tue, 19 Jul 2011 09:18:07 GMT", "state": "available", "created_time": "Tue, 19 Jul 2011 09:18:07 GMT", "resource_type": "instances", "id": "/deployment/resources/grp_members/8de3255b-bbab-4652-80b9-a4516dd78dfb", "uri": "9b26bd6e-7ad4-4d01-a27c-95064151507c", "options": { }, "group": { "uri": "groups/f0f8c5e9-ba9f-4472-a8cc-86a1205a1716" } }, { "updated_time": "Tue, 19 Jul 2011 09:18:07 GMT", "state": "available", "created_time": "Tue, 19 Jul 2011 09:18:07 GMT", "resource_type": "instances", "id": "/deployment/resources/grp_members/b2d6a8e4-2e7a-4432-ad6a-c84ab5907ac8", "uri": "4587b2ad-fc59-42f4-9c06-ef25cf50ce5a", "options": { }, "group": { "uri": "groups/f0f8c5e9-ba9f-4472-a8cc-86a1205a1716" } } ]To add a new member to a group the following request can be used:
URI /deployment/resources/grp_members Method POST Request body JSON Returns 201 Success 4xx There were problems creating the group. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A sample request representation is provided in the following example:
{ "resource_type": "instances", "uri": "4587b2ad-fc59-42f4-9c06-ef25cf50ce5a", "group": { "uri": "groups/f0f8c5e9-ba9f-4472-a8cc-86a1205a1716" } }With the above request a new instance, with UUID= 4587b2ad-fc59-42f4-9c06-ef25cf50ce5a gets added to the group with UUID= f0f8c5e9-ba9f-4472-a8cc-86a1205a1716
To remove a member from a group the following request can be used:
URI /deployment/resources/grp_members/<memberUUID> Method POST Request body JSON Returns 200 Success 4xx There were problems creating the group. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request.
5.2.18. Delete a group
You can use the representational state transfer (REST) application programming interface (API) to delete a group.
URI /deployment/resources/groups/<groupUUID> Method POST Request body JSON Returns 204 Success 4xx There were problems deleting the group. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. To delete a group a DELETE operation has to be issued against the selected group. This operation will remove the group definition from the database.
5.2.19. Retrieve master groups
You can use the representational state transfer (REST) application programming interface (API) to retrieve master groups.
URI /deployment/resources/groups?isMaster=true Method GET Request body JSON Returns 200 Success 4xx There were problems retrieving the group. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. This API will show only the "master groups" (groups without parent groups).
5.2.20. Retrieve nested and parent groups
You can use the representational state transfer (REST) application programming interface (API) to retrieve nested and parent groups.
URI /deployment/resources/groups/group<UUID>?showNested=true Method GET Request body JSON Returns 200 Success 4xx There were problems retrieving the group. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. This API will show all the members (also the nested ones) for the specific group. In order to show the nested members for a .Master Group., the API defined in section 6.9.1.3 must be run. This is an example of result:
... "members": [ { "is_direct": false, "resource_type": "instances", "uri": "instances/515ca361-8e01-4d99-ab51-dd3bdef6b9fe" }, { "is_direct": true, "resource_type": "instances", "uri": "instances/ce640c4f-d2e8-44f9-ac66-c7608d361fd7" } ], .The attribute .is_direct. is used to understand if the Instance is a direct member of the group or if it is a member of a child one.
URI /deployment/resources/groups?showNested=true Method GET Request body JSON Returns 200 Success 4xx There were problems retrieving the group. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. This API will show the complete list of groups with all the members (also the nested ones). By Adding to the last query the filter .&isMaster=true. is possible to filter the the list of groups by reporting only the master ones. This API will show only the "master groups" (groups without parent groups).
Retrieve parent groups
URI /deployment/resources/instances/<instanceUUID>?resolveparents=1 Method GET Request body JSON Returns 200 Success 4xx There were problems retrieving the group. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. This API will show the selected instance including a section containing the parent groups and its direct/indirect membership.
This is an example of result:
... "master_groups": [ { "is_direct": false, "uri": "groups/0eb3554c-b0e1-42b6-91a6-ffe9c111ddad" } ], ...
URI /deployment/resources/instances?resolveparents=1 Method GET Request body JSON Returns 200 Success 4xx There were problems retrieving the group. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. This API will show all the instances including a section containing the parent groups and its direct/indirect membership.
5.2.21. Stopping, starting, or and restarting virtual machines
You can use the representational state transfer (REST) application programming interface (API) to stop, start, or restart a virtual machine.
URI /deployment/resources/instances/<instanceUUID> Method PUT Request body JSON Returns 202 Accepted 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A sample request representation is provided in the following example:
{ "state": "stop" }To stop/start a virtual machine a PUT operation has to be issued against the selected virtual machine by updating its state to an appropriate value.
The following values may be used for the .state. attribute for triggering a stop/start/restart operation:
- stop - To power off the instance
- start - To power on (if it is in .stopped. state) or restart (if it is in .started. state) the instance
A successful operation returns a 202 HTTP response code to the caller. This indicates that a job for updating the power state of the instance was successfully created and the "X-Job-URI" header is returned containing the relative URL to the job that is going to update the instance.
The caller should monitor the job for checking the final outcome of the operation. At the end of the operation the state of the instance gets updated to .stopped. or .started. depending on the requested operation.
5.2.22. View currently deployed virtual machines
You can use the representational state transfer (REST) application programming interface (API) to view currently deployed virtual machines.
URI /deployment/resources/instances Method GET Request body JSON Returns 200 Success 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A successful get operation returns a 200 HTTP response code to the caller and the response body contains the list of instances defined on the system.
A sample response body is the following:
[ { "memory": null, "created_time": "Fri, 15 Jul 2011 09:33:01 GMT", "vmc_host_oid": null, "pcpu_count": null, "name": "Demo deploy for PureApplication System-vm-098-023", "last_boot_time": null, "updated_time": "Fri, 15 Jul 2011 09:33:01 GMT", "state": "pending", "mounted_volumes": [ ], "vmc_virtual_server_oid": null, "jobs": [ { "uri": "jobs/6ca4372e-b9da-4fa6-b4b4-d5af44e6b701" } ], "hypervisors": { "uri": "resources/hypervisors/d8a0e764-2814-487c-b124-b33827e5f7a1" }, "volumes": [ ], "id": "/deployment/resources/instances/22e005ac-b21b-4028-80ef-e01ddad00d74", "image": { "uri": "images/cc6f2774-aea3-4a97-837b-700c42f0bd21" }, "expiration_time": null, "options": { }, "addresses": [ ], "PureApplication System_vmc_instance_id": null, "vm_configuration": null, "address": null, "virtual data center.: null, "disks": [ ], "cpu_count": null, "credentials": [ ], "description": "Demo deployment for Linux image" }, { "memory": null, "created_time": "Fri, 15 Jul 2011 09:33:03 GMT", "vmc_host_oid": null, "pcpu_count": null, "name": "Demo deploy for PureApplication System-vm-098-023", "last_boot_time": null, "updated_time": "Fri, 15 Jul 2011 09:33:03 GMT", "state": "started", "mounted_volumes": [ ], "vmc_virtual_server_oid": null, "jobs": [ { "uri": "jobs/6b7d5a2b-6253-40b8-a59b-4151ea07579d" } ], "hypervisors": null, "volumes": [ ], "id": "/deployment/resources/instances/fee4c4dc-0037-43a3-99b7-c3dba598a4ab", "image": { "uri": "images/cc6f2774-aea3-4a97-837b-700c42f0bd21" }, "expiration_time": null, "options": { }, "addresses": [ ], "PureApplication System_vmc_instance_id": null, "vm_configuration": null, "address": null, "virtual data center.: null, "disks": [ ], "cpu_count": null, "credentials": [ ], "description": "Demo deployment for Linux image" } .. ]To retrieve a single instance the following request can be performed:
URI /deployment/resources/instances/<instanceUUID> Method GET Request body JSON Returns 200 Success 4xx There were problems retrieving the requested instance. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A successful get operation returns a 200 HTTP response code to the caller and the response body contains the requested instance.
5.2.23. Delete currently deployed virtual machines
You can use the representational state transfer (REST) application programming interface (API) to delete virtual machines that are currently deployed.
URI /deployment/resources/instances/<instanceUUID> Method DELETE Request body JSON Returns 202 Accepted 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. To delete a virtual machine a DELETE operation has to be issued against the selected VM. This operation will remove the virtual machine from the system calling the hypervisor (VMControl or Vmware) for performing the operation.
A successful operation returns a 202 HTTP response code to the caller. This indicates that a job for deleting the instance was successfully created and the "X-Job-URI" header is returned containing the relative URL to the job that is going to delete the instance. The state of the instance is also set to .deleting..
The caller should monitor the job for checking the final outcome of the operation. At the end of the operation the instance gets removed from the local database as well.
5.2.24. Capturing a currently deployed virtual machine
You can use the representational state transfer (REST) application programming interface (API) to capture a virtual machine that is currently deployed.
URI /deployment/resources/instances/<instanceUUID> Method PUT Request body JSON Returns 202 Accepted 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A sample request representation is provided in the following example:
{ "state": "stop" }To capture a virtual machine a PUT operation has to be issued against the selected virtual machine by updating its state to an appropriate value.
The following value has be used for the .state. attribute for triggering a capture operation:
- capture
A successful operation returns a 202 HTTP response code to the caller. This indicates that a job for capturing the instance was successfully created and the "X-Job-URI" header is returned containing the relative URL to the job that is going to update the instance. The caller should monitor the job for checking the final outcome of the operation. During the capture operation the state of the instance is set to .capturing.. At the end of the operation the state of the instance gets updated back to the previous state before triggering the capture (i.e. started or stopped). Only instances in .started. or .stopped. state can be captured. At the end of the capture operation a new image resource gets created on the system having a default name equals to : .Captured from . + .<instance name>" It is possible to explicitly specify the name for the captured image by adding the following parameter in the context of the POST operation:
- _capturedImageName
For example:
POST /deployment/resources/instances/fee4c4dc-0037-43a3-99b7-c3dba598a4ab?_capturedImageName=MyCapturedImageIf the capture operation succeed (the image is successfully generated), the onformation related to the image UUIG and job id is stored in the instance options:
"options": { "capturing.job.<jobUUID>" : "captured.image.<imageUUID>" }
5.2.25. Get a new address
You can use the representational state transfer (REST) application programming interface (API) to get a new address.
URI /deployment/resources/addresses Method GET Request body JSON Returns 200 Success 4xx There were problems getting the new address. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A successful get operation returns a 200 HTTP response code to the caller and the response body contains the list of addresses defined on the system.
A sample response body is the following:
[ { "ip_version": "ipv4", "created_time": "Fri, 15 Jul 2011 13:50:39 GMT", "resources": [ ], "ip": "172.16.98.23", "name": "Demo Network Address 1", "mac": null, "state": "available", "updated_time": "Fri, 15 Jul 2011 13:50:39 GMT", "hostname": "PureApplication System-vm-098-023", "instance": null, "virtual data center.: { "uri": "virtual data center./1d00862b-9817-4c1f-86fa-c4a86a70b7bd" }, "id": "/deployment/resources/addresses/319b806a-fdd5-4e20-a300-c0080fa85f89", "description": "IPSAS Demo Address 1", "subnet": { "uri": "subnets/b21abc16-1489-4982-a596-373c17001f6e" }, "options": { }, "is_public": "true" }, { "ip_version": "ipv4", "created_time": "Fri, 15 Jul 2011 13:50:39 GMT", "resources": [ ], "ip": "172.16.98.24", "name": "Demo Network Address 2", "mac": null, "state": "available", "updated_time": "Fri, 15 Jul 2011 13:50:39 GMT", "hostname": "PureApplication System-vm-098-024", "instance": null, "virtual data center.: { "uri": "virtual data center./1d00862b-9817-4c1f-86fa-c4a86a70b7bd" }, "id": "/deployment/resources/addresses/43e18b9c-d20f-4c03-ac98-eccbd57b2ce9", "description": "IPSAS Demo Address 2", "subnet": { "uri": "subnets/b21abc16-1489-4982-a596-373c17001f6e" }, "options": { }, "is_public": "true" }The state of an address determines its availability for being used for a deployment. Possible values include:
- unavailable - This Address is currently not available to be used.
- assigned - This Address is assigned to an Instance. Note that this value makes no statement as to the current state of the Instance.
- available - This Address is not currently being used by an Instance, but is available for use.
5.2.26. Create a storage volume
You can use the representational state transfer (REST) application programming interface (API) to create a storage volume.
URI /deployment/resources/volumes Method POST Request body JSON Returns 202 Accepted 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A sample request representation is provided in the following example:
{ "name": "virtual data center.", "description": "My sample virtual data center., "virtual data center.: {"uri": "virtual data center./73500d85-bd68-46ce-ab01-eb67e19ba055" }, "volume_configuration": {"uri": "volume_configurations/216a6133-6f16-483a-862b-c58b8f7531da" }, "instances": [ { "uri": "instances/e7473cd2-aa78-4195-94ae-e2deb75ccc32" } ] }To create a new volume a POST operation has to be issued against the .volumes. URL. This operation will contact the V7000 storage controller and will create the requested volume on it.
A successful operation returns a 202 HTTP response code to the caller. This indicates that a job for creating the volume was successfully created and the "X-Job-URI" header is returned containing the relative URL to the job.
The caller should monitor the job for checking the final outcome of the operation. At the end of the operation the state of the volume gets updated to either .available. or .unavailable..
The following list provides important attributes to consider:
- formats
- Describes file system formatting. This is an optional parameter. Unused at this time.
- instances
- Array of references to Instances using this Volume. This is a read-only attribute.
- is_detachable
- size
- state
- virtual data center
- volume_configuration
- storage_controller_volume_id
- storage_controller_volume_uid (VMControl)
5.2.27. Delete a storage volume
You can use the representational state transfer (REST) application programming interface (API) to delete a storage volume.
URI /deployment/resources/volumes/<volumeUUID> Method DELETE Request body JSON Returns 202 Accepted 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. To delete a volume a DELETE operation has to be issued against the selected VM. This operation will remove the volume from the V7000 storage controller.
Only volumes not assigned to any instance can be removed from the system (i.e. volumes having the .instances. attribute containing an empty list )
A successful operation returns a 202 HTTP response code to the caller. This indicates that a job for deleting the volume was successfully created and the "X-Job-URI" header is returned containing the relative URL to the job that is going to delete the instance. The state of the volume is also set to .deleting..
The caller should monitor the job for checking the final outcome of the operation. At the end of the operation the volume gets removed from the local database as well.
5.2.28. Attaching or detaching storage volumes
You can use the representational state transfer (REST) application programming interface (API) to attach or detach storage volumes.
To attach/detach a storage volume to/from a virtual machine an update operation has to be issued against the target instance by setting an appropriate value for the .volume. field. In particular the update operation should specify the new list of volumes linked to the instance. The system will compare the new list of volumes with the current one and generates the necessary attach/detach actions to reach the new state.
URI /deployment/resources/volumes Method POST Request body JSON Returns 202 Accepted 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. The request body consists of a JSON representation of the instance with the new list of volumes to be linked to it.
A successful invocation returns a 202 HTTP response code to the caller meaning that the request to update the list of addresses attached to the instance has been successfully queued.
The "X-Job-URI" header is also returned containing the relative URL to the job that is going to update the instance through VMControl/VMware. Only when the update job completes the operation can be considered done. Right after the PUT operation returns the content of the instance is immediately updated with the new list of volumes depending on the kind of requested operation: attach or detach. Anyway the actual final state may change depending on the outcome of the queued jobs that have to perform the actual operation. In particular, in case of failure during the execution of the job, some rollback actions are taken: if the attach job fails, the volume already attached (in the context of the PUT operation) gets removed from the instance. While in case of failure during the detach job the volume that was removed from the instance (in the context of the PUT operation) gets re-attached again. So it is important to poll the state of the job and wait for its completion before considering the state of the instance .committed..
As an example, let's assume to have an instance with no volumes attached to it, described by the following JSON structure:
{ "name": "My Instance" , "state": "started", ... "volumes": [ ] . }To add a volume to such instance the following JSON request structure can be used (through a PUT to /deployment/resources/instances/<instanceUUID>):
{ "volumes": [ { "uri": "volumes/7a1a6133-7f16-4faa-862b-d38c8f7e319e" } ] }After a successful completion of this operation the specified volume will be attached to the instance and the state of the mounted volume will be updated to .attached.. Notice that the virtual data center of the volume must match the virtual data center of the instance. Now let's assume to add an volume to the same instance; the following JSON request has to be used (through a PUT to /deployment/resources/instances/<instanceUUID>):
{ "volumes": [ { "uri": "volumes/7a1a6133-7f16-4faa-862b-d38c8f7e319e" }, { "uri": "volumes/8be16133-19ad-4faa-862b-1cac8f7e31a1"} ] }The new list of volumes has to include both the one already attached (i.e. 7a1a6133-7f16-4faa-862b-d38c8f7e319e ) and the new volume to add (i.e. 8be16133-19ad-4faa-862b-1cac8f7e31a1 ).
To remove a volume from an instance a similar approach has to be used; the JSON request should always contain the entire list of volumes attached to the instance, so in this case the volume to be removed should not be part of the entries in the list.
For example, still considering the sample instance mentioned before, to remove the first volume we initially added to the instance (i.e. 7a1a6133-7f16-4faa-862b-d38c8f7e319e ) the following JSON request has to be used (through a PUT to /deployment/resources/instances/<instanceUUID>):
{ "volumes": [ { "uri": "volumes/8be16133-19ad-4faa-862b-1cac8f7e31a1" } ] }
5.2.29. Attaching or detaching addresses
You can use the representational state transfer (REST) application programming interface (API) to attach or detach addresses.
To attach or detach an address to or from a virtual machine, issue an update operation against the target instance by setting an appropriate value for the Address field. In particular, specify the new list of addresses linked to the instance as part of the update operation. The system compares the new list of addresses with the current one and generates the necessary attach or detach actions to reach the new state.
Note: The addition of addresses to a virtual machine applies at the hardware level only, meaning that a new virtual network adapter is attached to the instance. No network configuration takes place at this stage, even if the attached address resource contains an IP address and the other network related parameters, such as host name, subnet, and so on.
URI /deployment/resources/instances/<instanceUUID> Method PUT Request body JSON Returns 202 Accepted 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. The request body consists of a JSON representation of the instance with the new list of addresses to be linked to it.
A successful invocation returns a 202 HTTP response code to the caller meaning that the request to update the list of addresses attached to the instance has been successfully queued.
The "X-Job-URI" header is also returned containing the relative URL to the job that is going to update the instance through VMControl or VMware. The operation can be considered finished only when the update job completes. Immediately after the PUT operation returns, the content of the instance is immediately updated with the new list of addresses depending on the kind of requested operation: attach or detach. The actual final state might change depending on the outcome of the queued jobs that have to perform the actual operation. In particular, in the case of failure during the operation of the job, some rollback actions are taken: if the attach job fails, the address already attached, in the context of the PUT operation, is removed from the instance. While in the case of failure during the detach job, the address that is removed from the instance, in the context of the PUT operation, is reattached again. It is important to poll the state of the job and wait for its completion before considering the instance is in the committed state.
As an example, consider a scenario in which an instance has no addresses attached to it, described by the following JSON structure:
{ "name": "My Instance" , "state": "started", ... "addresses": [ ] ... }To add an address to such instance, the following JSON request structure can be used through the use of a PUT operation to /deployment/resources/instances/<instanceUUID>:
{ "addresses": [ {"uri": "addresses/526a6133-7f16-483a-862b-c58c8f7d31da" } ] }After the operation completes, the specified address is attached to the instance and the state of the address is updated to assigned.To add an additional address to the same instance, the following JSON request must be used through the use of a PUT operation to /deployment/resources/instances/<instanceUUID>:
{ "addresses": [ {"uri": "addresses/526a6133-7f16-483a-862b-c58c8f7d31da" }, {"uri": "addresses/3a9a6173-7f1c-41aa-512a-c58387abdc3a" }, ] }The new list of addresses must include both the one already attached, 526a6133-7f16-483a-862b-c58c8f7d31da, and the new address to add, 3a9a6173-7f1c-41aa-512a-c58387abdc3a.
Use a similar approach to remove an address from an instance. The JSON request must always contain the entire list of addresses attached to the instance. In other words, the address to be removed should not be included in the entries in the list.
For example, to remove the 526a6133-7f16-483a-862b-c58c8f7d31da address that was initially added to the instance, the following JSON request must be used through the use of a PUT operation to /deployment/resources/instances/<instanceUUID>:
{ "addresses": [ {"uri": "addresses/3a9a6173-7f1c-41aa-512a-c58387abdc3a" } ] }During the attach operation, the logical_network or vlan_id attributes of the address are used to determine the actual virtual network that the new network adapter is bound to. In the case of a VMControl environment, only the logical_network parameter is used. The parameter must contain the name of the VMControl logical network to bind to the new network adapter.
In the case of VMware environments, both the logical_network and the vlan_id attributes are used. If the logical_network attribute is specified, it is directly used to bind the new adapter to it, assuming that a corresponding virtual network, or distributed port group, exists in the VMware environment. The vlan_id attribute is ignored. If a logical_network attribute is not specified but a vlan_id attribute is specified, the vlan_id attribute is used to search among the available virtual networks, and distributed port groups, in the vCenter environment to select the first network that has a default VLAN ID assigned to the address. If neither attributes are specified, a default binding is performed, which creates a new default virtual network that is local to the host when the virtual machine is running.
5.2.30. Store a previously deployed virtual machine
You can use the representational state transfer (REST) application programming interface (API) to store a virtual machine that has previously been deployed.
URI /deployment/resources/instances/<instanceUUID> Method PUT Request body JSON Returns 202 Accepted 4xx There were problems triggering the operation. The returned error message contains details about the cause of the failure. 500 The system encountered an internal error while processing the request. A sample request representation is provided in the following example:
{ "state": "store" }To store(hibernate) an virtual machine a PUT operation has to be issued against the selected virtual machine by updating its state to the .store. value. This operation just shutdowns the virtual machine to release CPU/Memory to the system and notifies the Placement Engine to told him that its state is .stored. so that it can allow someone else to use the CPU/Memory.
A successful operation returns a 202 HTTP response code to the caller. This indicates that a job for storing the instance was successfully created and the "X-Job-URI" header is returned containing the relative URL to the job that is going to store the instance.
The caller should monitor the job for checking the final outcome of the operation. At the end of the operation the state of the instance gets updated to .stored..