REST API

+

Search Tips   |   Advanced Search

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.

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>

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}

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 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

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
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.


Procedure

  1. Place the scripts in an appropriate working directory.

  2. 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.

    1. Open a browser window and go to https://your_IWD_server/resources/userKeys/.
    2. Type your user name and password in the authentication fields.
    3. Select the directory and provide a file name for storing your keys.
    4. Save the keys as a .json file.

  3. 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:

    1. Open a browser window and go to https://your_IWD_server/resources/rootcacertificate/.
    2. Select the directory and provide a file name for storing the root certificate. Note that the default file name is cert.pem.
    3. Save the root certificate.

  4. 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.

  5. 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_value
      

      Note: If you did not perform Steps 3 - 4, replace the name PureApplicationSystem in the URL with the IP address of your PureApplication System server.

  6. 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" > ArchiveFetchTempFile
    
    Note 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.

  7. 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.

  8. 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 > ArchiveFetchTempFile
    

    If 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}


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-efbc131a4cc4
 
Response 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/healthcheckptypes

This 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/healthcleanptypes

This 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 RUNNING
Response 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:

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.log

Response 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=3

Response 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:

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.
If the environment profile indicates that the person deploying the pattern provides the IP address then the ipaddresses attribute is also needed:

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>

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:

users, user_groups


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:

events


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:

compute_node_chassis

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:

events


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:

compute_node_chassis

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:

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:

compute_nodes

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:

hypervisors

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:


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:

compute_node_chassis

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:

physical_cpu_modules


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:

physical_io_adapters


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:

racks

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:

storage_controllers

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:

storage_mdisks


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:

storage_controllers

Children:

storage_mdisk_statistics


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:

storage_controllers


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:

storage_controllers

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:

storage_volumes


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:

storage_pools

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:

switches


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:

switches


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:

switches


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:

compute_node_chassis, racks

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:

temperature_stats


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:

temperature_history


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:

acls


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.

email

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:

acls


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:

vdc_history


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:

vdc_stats


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:

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 type 
Response 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}/plugins 

Note: 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}/operations

Note: 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 off
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

{
   "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}/operations

Note: 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:


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:

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:


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-731bba132122

The 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-731bba132122

The 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:

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:

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:

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:

For example:

POST /deployment/resources/instances/fee4c4dc-0037-43a3-99b7-c3dba598a4ab?_capturedImageName=MyCapturedImage

If 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:


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..