Endpoint URLs
The Power Virtual Server service uses regional endpoints over both public and private network.
Automatically generated regional API endpoints (service URL) will default to IBM Cloud Regions which may cause your request to fail. You should always use the Power Virtual Server regions in the service URL.
The following table shows the IBM Cloud® regions and their corresponding Power Virtual Server region where the APIs are available:
Country | Power Virtual Server region | Location | Public end-point (service URL) |
---|---|---|---|
Australia | Sydney | syd04 syd05 |
https://syd.power-iaas.cloud.ibm.com |
Brazil | Sao Paulo | sao01 sao04 |
https://sao.power-iaas.cloud.ibm.com |
Canada | Montreal | mon01 | https://mon.power-iaas.cloud.ibm.com |
Toronto | tor01 | https://tor.power-iaas.cloud.ibm.com | |
Germany | Frankfurt | eu-de-1 eu-de-2 |
https://eu-de.power-iaas.cloud.ibm.com |
UK/Great Britain | London | lon04 lon06 |
https://lon.power-iaas.cloud.ibm.com |
India | Chennai | che01 | https://che.power-iaas.cloud.ibm.com |
Japan | Tokyo | tok04 | https://tok.power-iaas.cloud.ibm.com |
Osaka | osa21 | https://osa.power-iaas.cloud.ibm.com | |
Spain | Madrid | mad02 mad04 |
https://mad.power-iaas.cloud.ibm.com |
United States | Washington DC | us-east wdc06 wdc07 |
https://us-east.power-iaas.cloud.ibm.com |
Dallas | dal10 dal12 us-south |
https://us-south.power-iaas.cloud.ibm.com |
Curl service URL intro
To call the API, select the service URL that corresponds to the region of your choice and add a method path to form the complete request URL. For example, to list all the workspaces available in the us-south
region, make a GET
request to https://us-south.iaas.cloud.ibm.com/v1/workspaces
.
Example request to call the us-south
service URL:
curl -H "Authorization: Bearer {token}" -X {http_method} "https://us-south.iaas.cloud.ibm.com/v1{path}"
Replace {token}
, {http_method}
, and {path}
in this example with the values for your particular request.
Authentication
The Power Virtual Server API uses Identity and Access Management (IAM) to authenticate requests. To call each API method, you must be assigned a role that includes the required IAM actions. Each method has an Authorization section that lists the required actions and, if applicable, the conditions under which each action is required. Check your access on the IBM Cloud console by navigating to Users > User > Access.
For more information about IAM actions and how they map to roles, see Assigning access to account management services and Managing IAM access for Power Virtual Server.
Learn about obtaining an IAM token for an authenticated user or service ID in the IAM Identity Services API. If you first create an API key, you can use it to generate an IAM token.
To use the API, add a valid IAM token to the HTTP Authorization
request header. For example, -H 'Authorization: Bearer {token}'
.
For specific APIs you must need to include your IBM Cloud IAM access token and the Power Virtual Server instance ID, also known as your Cloud Resource Name (CRN), in each request. The first part of your CRN contains your Tenant ID and the second part contains your Cloud Instance ID.
The following example shows a typical CRN:
crn:v1:staging:public:power-iaas:us-east:a/abcdefghijklmnopqrstuvwxyzabcdef:121d5ee5-b87d-4a0e-86b8-aaff422135478::
Tenant ID {tenant_id} = abcdefghijklmnopqrstuvwxyzabcdef
Cloud Instance ID {cloud_instance_id} = 121d5ee5-b87d-4a0e-86b8-aaff422135478
You can retrieve an access token by first creating an API key, and then exchanging your API key for a IBM Cloud IAM token. For more information, see Retrieving an access token programmatically and Retrieving your instance ID.
To retrieve your access token:
curl -X POST "https://iam.cloud.ibm.com/identity/token" --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' --data-urlencode 'apikey={api_key}'
To use the API, replace {token}
with the token obtained above from IAM, replace {http_method}
with an HTTP method such as POST
, and replace {url}
with a request URL such as https://us-south.iaas.cloud.ibm.com/v1/workspaces/{workspace_id}
:
curl -H "Authorization: Bearer {token}" -X {http_method} "{url}"
-H "CRN"
Auditing
Monitor API activity within your account by using the IBM Cloud Activity Tracker service. Each time you make an API call, one or more events are generated that you can track and audit from within Activity Tracker. Specific auditing event types are listed for each individual method. For more information about Power Virtual Server activity tracking, see Activity Tracker events.
Error handling
This API uses standard HTTP response codes to indicate whether a method completed successfully. A 200
response indicates success. A 400
type response indicates a failure, and a 500
type response indicates an internal system error.
HTTP Error Code | Description | Recovery |
---|---|---|
400 |
Bad Request | The input parameters in the request body are either incomplete, malformed, or too large. Be sure to include all required parameters in your request. |
401 |
Unauthorized | You are not authorized to make this request. Log in to IBM Cloud and try submitting the request again. If this error persists, contact the account owner to check your permissions. |
403 |
Forbidden | The supplied authentication is not authorized to perform the requested operation. Either you do not have valid access through IAM access policies or your request is denied. If this error persists, contact the account owner to check your permissions. |
404 |
Not Found | The requested resource could not be found but may be available in the future. |
405 |
Method Not Allowed | The requested resource does not support the request method. |
406 |
Not Acceptable | The resource the client requested is not available in a format allowed by the Accept header supplied by the client. |
408 |
Request Timeout | The connection to the server timed out. Wait a few minutes, and try submitting the request again. |
409 |
Conflict | The request cannot be completed because of a conflict between the request and the current state of the resource. |
412 |
Precondition Failed | The client specified one or more preconditions in its headers, and the server cannot meet those preconditions. |
426 |
Upgrade Required | The server refuses to perform the request using the current protocol but might perform the request after the client upgrades to a different protocol. |
500 |
Internal Server Error | The request cannot be processed because the client encountered an unexpected condition on the server. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support. |
501 |
Not Implemented | The server either does not recognize the request method, or it lacks the ability to fulfill the request. |
502 |
Bad Gateway | The server was acting as a gateway or proxy and received an invalid response from the upstream server. |
503 |
Service Unavailable | The server cannot process the request. Generally, this condition is temporary, such as when a server is overloaded or down for scheduled maintenance. This condition could also be due to an unplanned outage of a service that is needed to process the request. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support. |
504 |
Gateway Timeout | The server was acting as a gateway or proxy and did not receive a timely response from the upstream server. |
505 |
HTTP Version Not Supported | The server does not support the HTTP protocol version that is used in the request. |
Release notes
Use the release notes to learn about the latest changes to the Power Virtual Server API.
The following APIs are availavle:
- New API List all supported storage tiers for this cloud instance is available.
- Added parameters
availableCapacity
,maxAllocationSize
,replicationEnabled
,storageHost
in the Storage capacity for a storage pool in a region (GET).
September 2022
-
Added the following APIs associated with shared processor pool:
-
Added the following APIs associated with global recovery service:
- Disaster recovery
- Volume
- Volume onboarding
- Volume groups
- Get all volume groups
- Create a new volume group
- Get all volume groups with details
- Get volume Group
- updates the volume group
- Delete a cloud instance volume group
- Perform an action (start stop reset ) on a volume group
- Get volume Group details
- Get remote copy relationships of the volume belonging to volume group
- Get storage details of volume group
May 2021
- Added the following APIs associated with Cloud connections:
- Create a new Cloud connection
- Get all Cloud connections in a specific cloud instance
- Get a Cloud connection's state or information
- Update a Cloud connection
- Delete a Cloud connection
- Get information about a Cloud connections attached network
- Add a network to the Cloud connection
- Delete a network from a Cloud connection
February 2021
- Added the following APIs associated with volume clone requests:
- Create a new volumes clone request and initiate the Prepare action
- Get the list of volumes-clone request for a cloud instance
- Get the details for a volumes-clone request
- Delete a volumes-clone request
- Initiate the Start action for a volume-clone request
- Initiate the Execute action for a volumes-clone request
- Cancel a volume-clone request and initiate the Cleanup action
- Added the following APIs for requests related to storage capacity:
Methods
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Cloud Instance ID
Indicates if the cloud instance is enabled
Indicates if the cloud instance is initialized and ready for use
Limits on the cloud instance
- limits
Number of power instances allowed
Amount of memory allowed
Number of processor units allowed
Number of processors allowed
Amount of storage allowed (TB)
Maximum memory (in GB) per PVMInstance
Maximum proc units per PVMInstance
Maximum network bandwidth to GCP Mbps
Amount of peering networks allowed
Amount of SSD storage allowed (TB)
Amount of standard (HDD) storage allowed (TB)
Cloud Instance Name
The open stack ID that controls this cloud instance
PVM instances owned by the Cloud Instance
The region the cloud instance lives
The tenant ID that owns this cloud instance
Current usage on the cloud instance
- usage
Number of power instances allowed
Amount of memory allowed
Number of processor units allowed
Number of processors allowed
Amount of storage allowed (TB)
Maximum memory (in GB) per PVMInstance
Maximum proc units per PVMInstance
Maximum network bandwidth to GCP Mbps
Amount of peering networks allowed
Amount of SSD storage allowed (TB)
Amount of standard (HDD) storage allowed (TB)
Cloud Instance Capabilities
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
No Sample Response
Get all cloud connections in this cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cloud-connections --header "Authorization: Bearer ${TOKEN}" --header "Content-Type: application/json" --header "crn: ${CRN}"
Response
Cloud Connections
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Request Timeout
Internal Server Error
{ "cloudConnections": [ { "cloudConnectionID": "fc010e03-4a07-4bd0-aec9-571fcac5f17f", "creationDate": "2021-02-26T20:39:53.696Z", "globalRouting": false, "ibmIPAddress": "1.2.3.4/5", "linkStatus": "connect", "metered": false, "name": "powervs-cloud-connection-1", "port": 0, "speed": 1000, "userIPAddress": "1.2.3.4/5" }, { "cloudConnectionID": "ec610e13-4a07-4bd0-aec9-571fcac5f17d", "creationDate": "2021-02-26T20:40:52.100Z", "globalRouting": false, "ibmIPAddress": "1.2.3.4/5", "linkStatus": "connect", "metered": false, "name": "powervs-cloud-connection-2", "port": 0, "speed": 1000, "userIPAddress": "1.2.3.4/5" } ] }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a new cloud connection
name of the cloud connection
speed of the cloud connection (speed in megabits per second)
Allowable values: [
50
,100
,200
,500
,1000
,2000
,5000
,10000
]- classic
enable classic endpoint destination (default=false)
- gre
gre network in CIDR notation (192.168.0.0/24)
gre destination IP address
enable global routing for this cloud connection (default=false)
enable metered for this cloud connection (default=false)
list of subnets to attach to cloud connection
enable transit gateway for this cloud connection (default=false)
- vpc
enable vpc for this cloud connection (default=false)
vpc connections
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cloud-connections --header "Authorization: Bearer ${TOKEN}" --header "Content-Type: application/json" --header "crn: ${CRN}" --data-raw '{ "classic": { "enabled": true, "gre": { "cidr": "string", "destIPAddress": "string" } }, "globalRouting": true, "metered": true, "name": "string", "speed": 50, "subnets": [ "string" ], "transitEnabled": true, "vpc": { "enabled": true, "vpcs": [ { "name": "string", "vpcID": "string" } ] } }'
Response
cloud connection ID
creation date
enable global routing for this cloud connection (default=false)
IBM IP address
link status
metered
name of the cloud connection
port
speed of the cloud connection (speed in megabits per second)
user IP address
- classic
enable classic endpoint destination (default=false)
- gre
gre destination IP address
gre auto-assigned source IP address
type of service the gateway is attached to
Network References
- vpc
enable vpc for this cloud connection (default=false)
vpc connections
Status Code
OK
Created
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Method Not Allowed
Request Timeout
Conflict
Unprocessable Entity
Internal Server Error
Service Unavailable
Gateway Timeout
{ "cloudConnectionID": "fc010e03-4a07-4bd0-aec9-571fcac5f17f", "creationDate": "2021-02-28T22:42:54.574Z", "globalRouting": true, "ibmIPAddress": "1.2.3.4/5", "linkStatus": "idle", "metered": true, "name": "powervs-cloud-connection", "port": 0, "speed": 5000, "userIPAddress": "1.2.3.4/5" }
Get all virtual private cloud connections in this cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cloud-connections-virtual-private-clouds -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
list of available virtual private clouds
- virtualPrivateClouds
indicates if vpc uses classic architecture
name for the vpc
status of this vpc
virtual private cloud id
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Request Timeout
Internal Server Error
Service Unavailable
Gateway Timeout
{ "virtualPrivateClouds": [ { "classicAccess": false, "name": "datacenter1-powervs-virtual-private-cloud", "status": "available", "vpcID": "crn:v1..." }, { "classicAccess": false, "name": "datacenter2-powervs-virtual-private-cloud", "status": "available", "vpcID": "crn:v1..." } ] }
Delete a Cloud Connection
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Cloud Connection ID
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cloud-connections/${CLOUD_CONNECTION_ID} --header "Authorization: Bearer ${TOKEN}" --header "Content-Type: application/json" --header "crn: ${CRN}"
Get a cloud connection's state/information
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Cloud Connection ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cloud-connections/${CLOUD_CONNECTION_ID} --header "Authorization: Bearer ${TOKEN}" --header "Content-Type: application/json" --header "crn: ${CRN}"
Response
cloud connection ID
creation date
enable global routing for this cloud connection (default=false)
IBM IP address
link status
metered
name of the cloud connection
port
speed of the cloud connection (speed in megabits per second)
user IP address
- classic
enable classic endpoint destination (default=false)
- gre
gre destination IP address
gre auto-assigned source IP address
type of service the gateway is attached to
Network References
- vpc
enable vpc for this cloud connection (default=false)
vpc connections
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Request Timeout
Internal Server Error
{ "classic": { "enabled": true, "gre": { "destIPAddress": "1.2.3.4", "sourceIPAddress": "10.0.0.1" } }, "cloudConnectionID": "fc010e03-4a07-4bd0-aec9-571fcac5f17f", "creationDate": "2021-02-28T22:42:54.574Z", "globalRouting": true, "ibmIPAddress": "1.2.3.4/5", "linkStatus": "idle", "metered": false, "name": "powervs-cloud-connection-1", "networks": [ { "href": "/pcloud/v1/cloud-instances/9f7b1c66a7bc6404908dd5e0c2e24ec8/networks/295784b0-a7d2-4752-8ad5-e894529895b2", "jumbo": false, "name": "powervs-cloud-connections-network", "networkID": "295784b0-a7d2-4752-8ad5-e894529895b2", "type": "vlan", "vlanID": 3254 } ], "port": 0, "speed": 5000, "userIPAddress": "1.2.3.4/5", "vpc": { "enabled": true, "vpcs": [ { "name": "vpc-fc010e03-4a07-4bd0-aec9-571fcac5f17f-0", "vpcID": "crn:v1..." } ] } }
Update a Cloud Connection
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Cloud Connection ID
Parameters to update a Cloud Connection
- classic
enable classic endpoint destination (default=false)
- gre
gre network in CIDR notation (192.168.0.0/24)
gre destination IP address
enable global routing for this cloud connection (default=false)
enable metered for this cloud connection (default=false)
name of the cloud connection
speed of the cloud connection (speed in megabits per second)
Allowable values: [
50
,100
,200
,500
,1000
,2000
,5000
,10000
]- vpc
enable vpc for this cloud connection (default=false)
vpc connections
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cloud-connections/${CLOUD_CONNECTION_ID} --header "Authorization: Bearer ${TOKEN}" --header "Content-Type: application/json" --header "crn: ${CRN}" --data-raw '{ "classic": { "enabled": true, "gre": { "cidr": "10.0.0.0/24", "destIPAddress": "1.2.3.4" } }, "globalRouting": true, "metered": false, "name": "powervs-cloud-connection-1", "speed": 5000, "vpc": { "enabled": true, "vpcs": [ { "vpcID": "crn:v1..." }, { "vpcID": "crn:v1..." } ] } }'
Response
cloud connection ID
creation date
enable global routing for this cloud connection (default=false)
IBM IP address
link status
metered
name of the cloud connection
port
speed of the cloud connection (speed in megabits per second)
user IP address
- classic
enable classic endpoint destination (default=false)
- gre
gre destination IP address
gre auto-assigned source IP address
type of service the gateway is attached to
Network References
- vpc
enable vpc for this cloud connection (default=false)
vpc connections
Status Code
OK
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Method Not Allowed
Request Timeout
Conflict
Unprocessable Entity
Internal Server Error
Service Unavailable
No Sample Response
Detach a network from a Cloud Connection
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Cloud Connection ID
Network ID
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cloud-connections/${CLOUD_CONNECTION_ID}/networks/${NETWORK_ID} --header "Authorization: Bearer ${TOKEN}" --header "Content-Type: application/json" --header "crn: ${CRN}"
Response
Status Code
OK
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Request Timeout
Gone
Internal Server Error
{ "href": "pcloud/v1/cloud-instances/d234578e-9520-408g-9e94-259dda713d9e/jobs/c113467d-8419-449c-8d83-259dda713d9e", "id": "c113467d-8419-449c-8d83-259dda713d9e" }
Attach a network to the cloud connection
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Cloud Connection ID
Network ID
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cloud-connections/${CLOUD_CONNECTION_ID}/networks/${NETWORK_ID} --header "Authorization: Bearer ${TOKEN}" --header "Content-Type: application/json" --header "crn: ${CRN}"
Response
Status Code
OK
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Request Timeout
Unprocessable Entity
Internal Server Error
{ "href": "pcloud/v1/cloud-instances/d234578e-9520-408g-9e94-259dda713d9e/jobs/c113467d-8419-449c-8d83-259dda713d9e", "id": "c113467d-8419-449c-8d83-259dda713d9e" }
Get detail of last cos-image import job
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cos-images -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
id of a job
- operation
current action of the operation
ID of an operation
target resource of the operation
- status
progress of a job
state of a job
message detailing current state
create timestamp for the job
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "createTimestamp": "2021-08-09T20:17:39.827Z", "id": "c113467d-8419-449c-8d81-259dda713d9f", "operation": { "action": "imageImport", "id": "b81ea020-bb47-452e-af96-8523c68e", "target": "image" }, "status": { "message": "download of <imageFileName>.ova.gz from <bucketname> is in progress", "progress": "imageDownloadMonitor", "state": "running" } }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a new cos-image import job
Cloud Object Storage bucket name; bucket-name[/optional/folder]
Cloud Object Storage image filename
Name for the image that will be loaded into the boot image catalog
Cloud Object Storage region
Cloud Object Storage access key; required for buckets with private access
indicates if the bucket has public or private access public access require no authentication keys private access requires hmac authentication keys (access,secret)
Allowable values: [
public
,private
]Default:
private
Import details for SAP images
- importDetails
Origin of the license of the product
Allowable values: [
byol
]Product within the image
Allowable values: [
Hana
,Netweaver
]Vendor supporting the product
Allowable values: [
SAP
]
Image OS Type, required if importing a raw image; raw images can only be imported using the command line interface
Allowable values: [
aix
,ibmi
,rhel
,sles
]Cloud Object Storage secret key; required for buckets with private access
Storage affinity data used for storage pool selection
- storageAffinity
PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and affinityVolume is not provided
Affinity policy for storage pool selection; ignored if storagePool provided; for policy 'affinity' requires one of affinityPVMInstance or affinityVolume to be specified; for policy 'anti-affinity' requires one of antiAffinityPVMInstances or antiAffinityVolumes to be specified
Allowable values: [
affinity
,anti-affinity
]Volume (ID or Name) to base storage affinity policy against; required if requesting storage affinity and affinityPVMInstance is not provided
List of pvmInstances to base storage anti-affinity policy against; required if requesting storage anti-affinity and antiAffinityVolumes is not provided
List of volumes to base storage anti-affinity policy against; required if requesting storage anti-affinity and antiAffinityPVMInstances is not provided
Storage pool where the image will be loaded, if provided then storageAffinity will be ignored
Type of storage; If only using storageType for storage selection then the storage pool with the most available space will be selected if storageType is not provided the storage type will default to 'tier3'.
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cos-images -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "imageName": "my-image-catalog-name", "region": "us-east", "imageFilename": "my-os-image-file.ova.gz", "bucketName": "my-cos-bucket-name", "accessKey": "my-cos-bucket-access-key", "secretKey": "my-cos-bucket-secret-key", "storageType": "tier3" "storagePool": "StoragePool-3" "storageAffinity": { "affinityPolicy": "affinity", "affinityPVMInstance": "testVM3", } }'
Response
Link to job resource
id of a job used to get status of long running operation
Status Code
Accepted, cos-image import successfully added to the jobs queue
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "href": "pcloud/v1/jobs/c113467d-8419-449c-8d83-259dda713d9e", "jobID": "c113467d-8419-449c-8d83-259dda713d9e" }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/images -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Images
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "images": [ { "creationDate": "2019-12-04T19:45:48.000Z", "description": "", "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/938b1104-18bc-4666-a384-b205793aab86", "imageID": "938b1104-18bc-4666-a384-b205793aab86", "lastUpdateDate": "2019-12-04T19:46:19.000Z", "name": "7100-05-04T00:00:00.000Z", "specifications": { "architecture": "ppc64", "containerFormat": "bare", "diskFormat": "raw", "endianness": "big-endian", "hypervisorType": "phyp", "imageType": "stock", "operatingSystem": "aix" }, "state": "active", "storageType": "tier3-gen2" }, { "creationDate": "2019-09-11T16:10:00.000Z", "description": "", "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/b39f1013-6d26-4585-856d-8aa4ea5e9ee9", "imageID": "b39f1013-6d26-4585-856d-8aa4ea5e9ee9", "lastUpdateDate": "2019-09-11T16:10:17.000Z", "name": "7200-03-03T00:00:00.000Z", "specifications": { "architecture": "ppc64", "containerFormat": "bare", "diskFormat": "raw", "endianness": "big-endian", "hypervisorType": "phyp", "imageType": "stock", "operatingSystem": "aix" }, "state": "active", "storageType": "tier3-gen2" }, { "creationDate": "2020-01-08T20:35:36.000Z", "description": "", "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/e3c453a9-40b0-4fd6-89f9-3b71273446b0", "imageID": "e3c453a9-40b0-4fd6-89f9-3b71273446b0", "lastUpdateDate": "2020-01-08T20:45:09.000Z", "name": "COS-import-7100-05-04-img", "specifications": { "architecture": "ppc64", "containerFormat": "bare", "diskFormat": "raw", "endianness": "big-endian", "hypervisorType": "phyp", "imageType": "import", "operatingSystem": "aix" }, "state": "active", "storageType": "standard" }, { "creationDate": "2019-12-05T18:13:27.000Z", "description": "", "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/affa57fc-493d-4599-bfb6-755f99c9cab6", "imageID": "affa57fc-493d-4599-bfb6-755f99c9cab6", "lastUpdateDate": "2019-12-05T18:14:14.000Z", "name": "IBMi-72-09-002", "specifications": { "architecture": "ppc64", "containerFormat": "bare", "diskFormat": "raw", "endianness": "big-endian", "hypervisorType": "phyp", "imageType": "stock", "operatingSystem": "ibmi" }, "state": "active", "storageType": "standard" }, { "creationDate": "2019-09-17T10:55:13.000Z", "description": "", "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/8105a084-0360-478f-bfe8-c5a2af98f690", "imageID": "8105a084-0360-478f-bfe8-c5a2af98f690", "lastUpdateDate": "2019-09-17T10:55:41.000Z", "name": "IBMi-73-06-001", "specifications": { "architecture": "ppc64", "containerFormat": "bare", "diskFormat": "raw", "endianness": "big-endian", "hypervisorType": "phyp", "imageType": "stock", "operatingSystem": "ibmi" }, "state": "active", "storageType": "tier3-gen2" }, { "creationDate": "2019-11-04T22:26:04.000Z", "description": "", "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/75be671c-9e45-49c0-b462-7672e28fc80c", "imageID": "75be671c-9e45-49c0-b462-7672e28fc80c", "lastUpdateDate": "2019-11-04T22:27:14.000Z", "name": "IBMi-74-00-001", "specifications": { "architecture": "ppc64", "containerFormat": "bare", "diskFormat": "raw", "endianness": "big-endian", "hypervisorType": "phyp", "imageType": "stock", "operatingSystem": "ibmi" }, "state": "active", "storageType": "tier3-gen2" } ] }
Create a new Image (from available images)
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a new image from available images
Source of the image
Note: url option is deprecated, this option is supported till Oct 2022
Allowable values: [
root-project
,url
]Cloud Storage access key; required for import image
Cloud Storage bucket name; bucket-name[/optional/folder]; required for import image
Type of Disk; if diskType is not provided the disk type will default to 'tier3'. Used only when importing an image from cloud storage.
Cloud Storage image filename; required for import image
Image ID of existing source image; required for copy image
Name to give created image; required for import image
(deprecated - replaced by region, imageFilename and bucketName) Path to image starting with service endpoint and ending with image filename
Image OS Type, required if importing a raw image; raw images can only be imported using the command line interface
Allowable values: [
aix
,ibmi
,rhel
,sles
]Cloud Storage Region; only required to access IBM Cloud Storage
Cloud Storage secret key; required for import image
The storage affinity data; ignored if storagePool is provided; Used only when importing an image from cloud storage.
- storageAffinity
PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and affinityVolume is not provided
Affinity policy for storage pool selection; ignored if storagePool provided; for policy 'affinity' requires one of affinityPVMInstance or affinityVolume to be specified; for policy 'anti-affinity' requires one of antiAffinityPVMInstances or antiAffinityVolumes to be specified
Allowable values: [
affinity
,anti-affinity
]Volume (ID or Name) to base storage affinity policy against; required if requesting storage affinity and affinityPVMInstance is not provided
List of pvmInstances to base storage anti-affinity policy against; required if requesting storage anti-affinity and antiAffinityVolumes is not provided
List of volumes to base storage anti-affinity policy against; required if requesting storage anti-affinity and antiAffinityPVMInstances is not provided
Storage pool where the image will be loaded; if provided then storageAffinity will be ignored; Used only when importing an image from cloud storage.
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/images -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "source": "root-project", "imageID": "b39f1013-6d26-4585-856d-8aa4ea5e9ee9" }'
Response
Creation Date
Image ID
Last Update Date
Maximum image volume size for multi-volume image
Image Name
Image Size
Storage pool where the image resides
Storage type for image
Description
List of Servers that have deployed the image
- specifications
Architecture
Container Format
Disk Format
Endianness
Hypervisor Type
Image Type
Operating System
Image State
- taskref
Link to Task resource
ID of Task used to get status of long running operation
Image Volumes
Status Code
OK
Created
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
No Sample Response
Delete an Image from a Cloud Instance
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Image ID of a image
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/images/{image_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Creation Date
Image ID
Last Update Date
Maximum image volume size for multi-volume image
Image Name
Image Size
Storage pool where the image resides
Storage type for image
Description
List of Servers that have deployed the image
- specifications
Architecture
Container Format
Disk Format
Endianness
Hypervisor Type
Image Type
Operating System
Image State
- taskref
Link to Task resource
ID of Task used to get status of long running operation
Image Volumes
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "creationDate": "2019-09-11T16:10:00.000Z", "imageID": "b39f1013-6d26-4585-856d-8aa4ea5e9ee9", "lastUpdateDate": "2019-09-11T16:10:17.000Z", "name": "7200-03-03T00:00:00.000Z", "servers": [ "kylej-pointer-test", "dl02-test", "nni-vm01", "gre-vm02" ], "size": 20, "specifications": { "architecture": "ppc64", "containerFormat": "bare", "diskFormat": "raw", "endianness": "big-endian", "hypervisorType": "phyp", "imageType": "stock", "operatingSystem": "aix" }, "state": "active", "storageType": "standard", "volumes": [ { "bootable": true, "name": "volume-969afb22cb00-23977--cf758b7d-e30b", "size": 20 } ] }
Export an image
This API is deprecated for /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export.
Note: Support for this API is available till Oct 2022.
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Image ID of a image
Parameters for exporting an image
Cloud Object Storage Access key
Cloud Object Storage Bucket name
Cloud Object Storage Region; required for IBM COS
Cloud Object Storage Secret key
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/images/{image_id}/export -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "bucketName": "cloud-object-storage-bucket" "accessKey": "347aa3a4b34344f8bc7c7cccdf856e4c" }'
Detailed info of an available stock image
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}
Response
Creation Date
Image ID
Last Update Date
Maximum image volume size for multi-volume image
Image Name
Image Size
Storage pool where the image resides
Storage type for image
Description
List of Servers that have deployed the image
- specifications
Architecture
Container Format
Disk Format
Endianness
Hypervisor Type
Image Type
Operating System
Image State
- taskref
Link to Task resource
ID of Task used to get status of long running operation
Image Volumes
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
No Sample Response
List all the images in the image-catalog
This API is deprecated for /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images.
Note: Support for this API will be available till 31st March 2023.
GET /pcloud/v1/images
Detailed info of an image in the image-catalog
This API is deprecated for /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}.
Note: Support for this API will be available till 31st March 2023.
GET /pcloud/v1/images/{image_id}
Request
Path Parameters
Image ID of a image
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/images/{image_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Creation Date
Image ID
Last Update Date
Maximum image volume size for multi-volume image
Image Name
Image Size
Storage pool where the image resides
Storage type for image
Description
List of Servers that have deployed the image
- specifications
Architecture
Container Format
Disk Format
Endianness
Hypervisor Type
Image Type
Operating System
Image State
- taskref
Link to Task resource
ID of Task used to get status of long running operation
Image Volumes
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
No Sample Response
Get detail of last image export job
GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Image ID of a image
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/images/{image_id}/export -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
id of a job
- operation
current action of the operation
ID of an operation
target resource of the operation
- status
progress of a job
state of a job
message detailing current state
create timestamp for the job
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "createTimestamp": "2021-08-09T20:17:39.827Z", "id": "c113467d-8419-449c-8d81-259dda713d9f", "operation": { "action": "imageExport", "id": "b81ea020-bb47-452e-af96-8523c68f", "target": "image" }, "status": { "message": "compression of image ova file is in progress", "progress": "imageCompress", "state": "running" } }
Add image export job to the jobs queue
POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Image ID of a image
Parameters for the export
Cloud Object Storage Access key
Cloud Object Storage Bucket name
Cloud Object Storage Region; required for IBM COS
Cloud Object Storage Secret key
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/images/{image_id}/export -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "bucketName": "cloud-object-storage-bucket" "accessKey": "347aa3a4b34344f8bc7c7cccdf856e4c" }
Response
Link to job resource
id of a job used to get status of long running operation
Status Code
Accepted, image export successfully added to the jobs queue
Bad Request
Unauthorized
Forbidden
Not Found
Conflict, a conflict has prevented adding image export job
Unprocessable Entity
Internal Server Error
{ "href": "pcloud/v1/jobs/c113467d-8419-449c-8d81-259dda713d9f", "jobID": "c113467d-8419-449c-8d81-259dda713d9fcreate" }
Get events from this cloud instance since a specific timestamp
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events
Request
Custom Headers
The language requested for the return document
Path Parameters
Cloud Instance ID of a PCloud Instance
Query Parameters
(deprecated - use from_time) A time in either ISO 8601 or unix epoch format
A from query time in either ISO 8601 or unix epoch format
A to query time in either ISO 8601 or unix epoch format
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/events -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Events
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "events": [ { "action": "create", "eventID": "d20d80f7-c87c-4ab7-bea2-2bc4736e7c2e", "level": "info", "message": "Power virtual server instance 'stg-provision-test-eu-de' has been created successfully.", "metadata": { "pvmInstanceID": "27380612-2062-46ec-ae5b-9e723ede304d" }, "resource": "pvm-instance", "time": "2020-04-20T00:17:40.772Z", "timestamp": 1587341860, "user": { "email": "unknown@us.ibm.com", "name": "Unknown User", "userID": "1234567890" } } ] }
Request
Custom Headers
The language requested for the return document
Path Parameters
Cloud Instance ID of a PCloud Instance
Event ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/events/${EVENT_ID} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Type of action for this event
ID of the Activity
Level of the event (notice, info, warning, error)
Possible values: [
notice
,info
,warning
,error
]The (translated) message of the event
Type of resource for this event
Time of activity in ISO 8601 - RFC3339
Time of activity in unix epoch
Any metadata associated with the event
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "action": "create", "eventID": "d20d80f7-c87c-4ab7-bea2-2bc4736e7c2e", "level": "info", "message": "Power virtual server instance 'stg-provision-test-eu-de' has been created successfully.", "metadata": { "pvmInstanceID": "27380612-2062-46ec-ae5b-9e723ede304d" }, "resource": "pvm-instance", "time": "2020-04-20T00:17:40.772Z", "timestamp": 1587341860, "user": { "email": "unknown@us.ibm.com", "name": "Unknown User", "userID": "1234567890" } }
List up to the last 5 jobs initiated by the cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Query Parameters
Operation ID to filter jobs (optional)
Operation target to filter jobs (optional)
Allowable values: [
cloudConnection
,pvmInstance
,image
,vpnConnection
]Operation action to filter jobs (optional) vmCapture - includes operation action value (vmCapture) imageExport - includes operation action value (imageExport) imageImport - includes operation action value (imageImport) storage - includes operation action values (vmCapture,imageExport,imageImport)
Allowable values: [
vmCapture
,imageExport
,imageImport
,storage
]
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/jobs -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Jobs
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "createTimestamp": "2022-04-27T09:48:44.620Z", "id": "3f09ffff-7d95-480b-b5ff-e2ba6ac3699c", "operation": [ { "action": "imageImport", "id": "testImg", "target": "image" } ], "status": [ { "message": "imageImport operation::import of image file testImg.ova.gz to image testImg has completed successfully", "progress": "imageImportMonitor", "state": "completed" } ] }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud Job ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/jobs/{job_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
id of a job
- operation
current action of the operation
ID of an operation
target resource of the operation
- status
progress of a job
state of a job
message detailing current state
create timestamp for the job
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "createTimestamp": "2021-08-09T20:17:39.827Z", "id": "c113467d-8419-449c-8d81-259dda713d9f", "operation": [ { "action": "vmCapture", "id": "b81ea020-bb47-452e-af96-8523c68e", "target": "pvmInstance" } ], "status": [ { "message": "capturing VM to an image file", "progress": "capture", "state": "running" } ] }
Get the disaster recovery site details for the current location
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery
Get all disaster recovery locations supported by Power Virtual Server
GET /pcloud/v1/locations/disaster-recovery
Request
No Request Parameters
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/locations/disaster-recovery -H 'Authorization: Bearer <>' -H 'Content-Type: application/json'
Response
The list of Disaster Recovery Locations
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "disasterRecoveryLocations": [ { "location": "dal12", "replicationSites": [ { "isActive": true, "location": "us-east" } ] }, { "location": "us-east", "replicationSites": [ { "isActive": true, "location": "dal12" } ] } ] }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Query Parameters
A filter expression that filters resources listed in the response
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/networks -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Network References
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/networks/392913e3-e8ac-406b-a061-b431ee4bd239", "jumbo": false, "mtu": 1450, "name": "test-ibm-network", "networkID": "392913e3-e8ac-406b-a061-b431ee4bd239", "type": "vlan", "vlanID": 3314 }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a new network
{
"accessConfig": "internal-only",
"cidr": "192.168.1.0/24",
"gateway": "192.168.1.1",
"ipAddressRanges": [
{
"endingIPAddress": "192.168.1.254",
"startingIPAddress": "192.168.1.2"
}
],
"mtu": 1450,
"name": "sample-network",
"type": "vlan"
}
Type of Network - 'vlan' (private network) 'pub-vlan' (public network) 'dhcp-vlan' (for satellite locations only)
Allowable values: [
vlan
,pub-vlan
,dhcp-vlan
]Network communication configuration (for satellite locations only)
internal-only
- network is only used for internal host communicationoutbound-only
- network will be capable of egress trafficbidirectional-static-route
- network will be capable of ingress and egress traffic via static routesbidirectional-bgp
- network will be capable of ingress and egress traffic via bgp configurationbidirectional-l2out
- network will be capable of ingress and egress traffic via l2out ACI configuration
Allowable values: [
internal-only
,outbound-only
,bidirectional-static-route
,bidirectional-bgp
,bidirectional-l2out
]Network in CIDR notation (192.168.0.0/24)
DNS Servers. If not specified, default is 127.0.0.1 for 'vlan' (private network) and 9.9.9.9 for 'pub-vlan' (public network)
Gateway IP Address
IP Address Ranges
(deprecated - replaced by mtu) Enable MTU Jumbo Network (for multi-zone locations only)
Maximum transmission unit
Possible values: 1450 ≤ value ≤ 9000
Network Name
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/networks -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "type": "vlan" }'
Response
Network in CIDR notation (192.168.0.0/24)
DNS Servers
IP Address Metrics
- ipAddressMetrics
Number of available IP addresses
Total number of all IP addresses in all ipAddressRanges
Number of IP addresses currently in use
Utilization of IP addresses in percent form (used / total) [0 - 100]
IP Address Ranges
Network Name
Unique Network ID
Type of Network - 'vlan' (private network) 'pub-vlan' (public network) 'dhcp-vlan' (for satellite locations only)
Possible values: [
vlan
,pub-vlan
,dhcp-vlan
]VLAN ID
Network communication configuration (for satellite locations only)
internal-only
- network is only used for internal host communicationoutbound-only
- network will be capable of egress trafficbidirectional-static-route
- network will be capable of ingress and egress traffic via static routesbidirectional-bgp
- network will be capable of ingress and egress traffic via bgp configurationbidirectional-l2out
- network will be capable of ingress and egress traffic via l2out ACI configuration
Possible values: [
internal-only
,outbound-only
,bidirectional-static-route
,bidirectional-bgp
,bidirectional-l2out
](currently not available) cloud connections this network is attached
- cloudConnections
the cloud connection id
link to the cloud connection resource
DHCP Managed Network
Gateway IP Address
(deprecated - replaced by mtu) Enable MTU Jumbo Network (for multi-zone locations only)
Maximum transmission unit
Possible values: 1450 ≤ value ≤ 9000
Public IP Address Ranges (for pub-vlan networks)
Status Code
OK
Created
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
Workspace Status Error
No Sample Response
Get a network's current state/information
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Network ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/networks/{network_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Network in CIDR notation (192.168.0.0/24)
DNS Servers
IP Address Metrics
- ipAddressMetrics
Number of available IP addresses
Total number of all IP addresses in all ipAddressRanges
Number of IP addresses currently in use
Utilization of IP addresses in percent form (used / total) [0 - 100]
IP Address Ranges
Network Name
Unique Network ID
Type of Network - 'vlan' (private network) 'pub-vlan' (public network) 'dhcp-vlan' (for satellite locations only)
Possible values: [
vlan
,pub-vlan
,dhcp-vlan
]VLAN ID
Network communication configuration (for satellite locations only)
internal-only
- network is only used for internal host communicationoutbound-only
- network will be capable of egress trafficbidirectional-static-route
- network will be capable of ingress and egress traffic via static routesbidirectional-bgp
- network will be capable of ingress and egress traffic via bgp configurationbidirectional-l2out
- network will be capable of ingress and egress traffic via l2out ACI configuration
Possible values: [
internal-only
,outbound-only
,bidirectional-static-route
,bidirectional-bgp
,bidirectional-l2out
](currently not available) cloud connections this network is attached
- cloudConnections
the cloud connection id
link to the cloud connection resource
DHCP Managed Network
Gateway IP Address
(deprecated - replaced by mtu) Enable MTU Jumbo Network (for multi-zone locations only)
Maximum transmission unit
Possible values: 1450 ≤ value ≤ 9000
Public IP Address Ranges (for pub-vlan networks)
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "cidr": "172.16.5.0/24", "dnsServers": [ "9.9.9.9", "127.0.0.3" ], "gateway": "172.16.5.1", "ipAddressMetrics": { "available": 250, "total": 251, "used": 1, "utilization": 0 }, "ipAddressRanges": [ { "endingIPAddress": "172.16.5.254", "startingIPAddress": "172.16.5.4" } ], "jumbo": false, "mtu": 1450, "name": "testMangala1", "networkID": "392913e3-e8ac-406b-a061-b431ee4bd239", "type": "vlan", "vlanID": 3314 }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Network ID
Parameters to update a Network
Replaces the current DNS Servers
Replaces the current Gateway IP Address
Replaces the current IP Address Ranges
Replaces the current Network Name
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/networks/{network_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "ipAddressRanges": { "startingIPAddress": "192.168.100.4" "endingIPAddress": "192.168.103.254" } }'
Response
Network in CIDR notation (192.168.0.0/24)
DNS Servers
IP Address Metrics
- ipAddressMetrics
Number of available IP addresses
Total number of all IP addresses in all ipAddressRanges
Number of IP addresses currently in use
Utilization of IP addresses in percent form (used / total) [0 - 100]
IP Address Ranges
Network Name
Unique Network ID
Type of Network - 'vlan' (private network) 'pub-vlan' (public network) 'dhcp-vlan' (for satellite locations only)
Possible values: [
vlan
,pub-vlan
,dhcp-vlan
]VLAN ID
Network communication configuration (for satellite locations only)
internal-only
- network is only used for internal host communicationoutbound-only
- network will be capable of egress trafficbidirectional-static-route
- network will be capable of ingress and egress traffic via static routesbidirectional-bgp
- network will be capable of ingress and egress traffic via bgp configurationbidirectional-l2out
- network will be capable of ingress and egress traffic via l2out ACI configuration
Possible values: [
internal-only
,outbound-only
,bidirectional-static-route
,bidirectional-bgp
,bidirectional-l2out
](currently not available) cloud connections this network is attached
- cloudConnections
the cloud connection id
link to the cloud connection resource
DHCP Managed Network
Gateway IP Address
(deprecated - replaced by mtu) Enable MTU Jumbo Network (for multi-zone locations only)
Maximum transmission unit
Possible values: 1450 ≤ value ≤ 9000
Public IP Address Ranges (for pub-vlan networks)
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
No Sample Response
Get all ports for this network
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Network ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/networks/{network_id}/ports -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Network Ports
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "ports": [ { "description": "", "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/networks/4d8713c5-123d-4662-8f58-8578c79d6814/ports/10890e8a-158b-49b5-8d05-96efd9f44824", "ipAddress": "192.168.140.28", "macAddress": "fa:16:3e:6a:35:cd", "portID": "10890e8a-158b-49b5-8d05-96efd9f44824", "pvmInstance": { "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/08490a29-ce61-4064-9a3b-ca051e005cf7", "pvmInstanceID": "08490a29-ce61-4064-9a3b-ca051e005cf7" }, "status": "DOWN" }, { "description": "", "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/networks/4d8713c5-123d-4662-8f58-8578c79d6814/ports/6a863b69-aa0c-48fa-8ce7-b69051f844ee", "ipAddress": "192.168.140.26", "macAddress": "fa:68:11:17:77:20", "portID": "6a863b69-aa0c-48fa-8ce7-b69051f844ee", "pvmInstance": { "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/ad2f6b96-9063-456c-a1a7-725eebdc86c1", "pvmInstanceID": "ad2f6b96-9063-456c-a1a7-725eebdc86c1" }, "status": "ACTIVE" } ] }
Perform port addition, deletion, and listing
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Network ID
Create a Network Port
Description of the port (not unique or indexable)
The requested ip address of this port
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/networks/{network_id}/ports -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Description of the port (not unique or indexable)
The ip address of this port
The mac address of the network interface
The unique Port ID
Te
The external ip address (for pub-vlan networks)
Link to port resource
The attached pvm-instance to this port
- pvmInstance
Link to pvm-instance resource
The attached pvm-instance ID
Status Code
Created
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "ports": [ { "description": "", "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/networks/4d8713c5-123d-4662-8f58-8578c79d6814/ports/10890e8a-158b-49b5-8d05-96efd9f44824", "ipAddress": "192.168.140.28", "macAddress": "fa:16:3e:6a:35:cd", "portID": "10890e8a-158b-49b5-8d05-96efd9f44824", "pvmInstance": { "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/08490a29-ce61-4064-9a3b-ca051e005cf7", "pvmInstanceID": "08490a29-ce61-4064-9a3b-ca051e005cf7" }, "status": "DOWN" }, { "description": "", "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/networks/4d8713c5-123d-4662-8f58-8578c79d6814/ports/6a863b69-aa0c-48fa-8ce7-b69051f844ee", "ipAddress": "192.168.140.26", "macAddress": "fa:68:11:17:77:20", "portID": "6a863b69-aa0c-48fa-8ce7-b69051f844ee", "pvmInstance": { "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/ad2f6b96-9063-456c-a1a7-725eebdc86c1", "pvmInstanceID": "ad2f6b96-9063-456c-a1a7-725eebdc86c1" }, "status": "ACTIVE" } ] }
Get a port's information
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}
Request
Custom Headers
Allowable values: [
application/json
,applicaton/json
]
Path Parameters
Cloud Instance ID of a PCloud Instance
Network ID
Port ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/networks/{network_id}/ports/{port_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Description of the port (not unique or indexable)
The ip address of this port
The mac address of the network interface
The unique Port ID
Te
The external ip address (for pub-vlan networks)
Link to port resource
The attached pvm-instance to this port
- pvmInstance
Link to pvm-instance resource
The attached pvm-instance ID
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
Update a port's information
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Network ID
Port ID
Parameters for updating a Port
Description of the port (not unique or indexable)
If supplied populated it attaches to the PVMInstanceID, if empty detaches from PVMInstanceID
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/networks/{network_id}/ports/{port_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ description: "port-description" pvmInstanceID: "pvm-instance-id" }'
Response
Description of the port (not unique or indexable)
The ip address of this port
The mac address of the network interface
The unique Port ID
Te
The external ip address (for pub-vlan networks)
Link to port resource
The attached pvm-instance to this port
- pvmInstance
Link to pvm-instance resource
The attached pvm-instance ID
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{ "examples": { "description": "", "ipAddress": "192.168.140.28", "macAddress": "fa:16:3e:6a:35:cd", "portID": "10890e8a-158b-49b5-8d05-96efd9f44824", "pvmInstance": { "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/08490a29-ce61-4064-9a3b-ca051e005cf7", "pvmInstanceID": "08490a29-ce61-4064-9a3b-ca051e005cf7" }, "status": "DOWN" } }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/placement-groups -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
List of Server Placement Groups
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "placementGroups": [ { "id": "7a3583cc-85ec-4589-b5b5-b5d7af58354f", "members": [], "name": "MyAffinity-servergroup-1620150831", "policy": "affinity" }, { "id": "7af58354f-85ec-4589-b5b5-b5d77a3583cc", "members": [], "name": "MyAnti-Affinity-servergroup", "policy": "anti-affinity" } ] }
Create a new Server Placement Group
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a new Server Placement Group
The name of the Placement Group
The Placement Group Policy
Allowable values: [
affinity
,anti-affinity
]
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/placement-groups -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "name": "MyAffinity-servergroup-1620150831", "policy": "affinity" }'
Response
The id of the Placement Group
The List of PVM Instance IDs associated with the Placement Group
The name of the Placement Group
The Placement Group Policy
Possible values: [
affinity
,anti-affinity
]
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "id": "7a3583cc-85ec-4589-b5b5-b5d7af58354f", "members": [], "name": "MyAffinity-servergroup-1620150831", "policy": "affinity" }
Delete Server Placement Group
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Placement Group ID
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/placement-groups/{placement_group_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Get Server Placement Group detail
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Placement Group ID
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/placement-groups{placement_group_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
The id of the Placement Group
The List of PVM Instance IDs associated with the Placement Group
The name of the Placement Group
The Placement Group Policy
Possible values: [
affinity
,anti-affinity
]
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "id": "7a3583cc-85ec-4589-b5b5-b5d7af58354f", "members": [ "541c1cda-a8da-4081-8020-3a0ce9850ca0" ], "name": "MyAffinity-servergroup-1620150831", "policy": "affinity" }
Remove Server from Placement Group
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Placement Group ID
Parameters for removing a Server in a Placement Group
The ID of the Server
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/placement-groups/{placementGroupID}/members -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "id": "541c1cda-a8da-4081-8020-3a0ce9850ca0", }'
Response
The id of the Placement Group
The List of PVM Instance IDs associated with the Placement Group
The name of the Placement Group
The Placement Group Policy
Possible values: [
affinity
,anti-affinity
]
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "id": "7a3583cc-85ec-4589-b5b5-b5d7af58354f", "members": [], "name": "MyAffinity-servergroup-1620150831", "policy": "affinity" }
Add Server to Placement Group
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Placement Group ID
Parameters for adding a server to a Server Placement Group
The ID of the Server
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/placement-groups/{placementGroupID}/members -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "id": "541c1cda-a8da-4081-8020-3a0ce9850ca0", }'
Response
The id of the Placement Group
The List of PVM Instance IDs associated with the Placement Group
The name of the Placement Group
The Placement Group Policy
Possible values: [
affinity
,anti-affinity
]
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "id": "7a3583cc-85ec-4589-b5b5-b5d7af58354f", "members": [ "541c1cda-a8da-4081-8020-3a0ce9850ca0" ], "name": "MyAffinity-servergroup-1620150831", "policy": "affinity" }
List of available resources within a particular Pod
Applicable to satellite locations only.
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity
Response
List of available resources within a Pod
Description of a PPCaaS Pod
List of available storage controllers within a particular DataCenter
- StorageControllers
Description of a Storage Controller
List of available system pools within a Pod
- SystemPools
Description of a System Pool's Capacity
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
No Sample Response
Get all the pvm instances for this cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
PVM Instance References
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Request Timeout
Internal Server Error
{ "addresses": { "externalIP": "172.70.134.153", "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/6da0fd14-f7d3-4142-96f5-078df36c2539/networks/testMangala", "ip": "172.16.5.168", "ipAddress": "172.16.5.168", "macAddress": "fa:a0:34:00:14:20", "networkID": "8838dcff-d423-4490-aa95-7bfed54adbae", "networkName": "ibm-test-network", "type": "fixed", "version": 4 }, "creationDate": "2019-11-21T10:41:33.000Z", "health": { "lastUpdate": "2019-11-21T16:31:09.443Z", "status": "WARNING" }, "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/6da0fd14-f7d3-4142-96f5-078df36c2539", "imageID": "732a5136-10b0-4c65-8882-7dc46601f3d5", "storagePool": "StoragePool-2", "storagePoolAffinity": true, "storageType": "tier1" }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Query Parameters
Option to skip host validation on PVMInstance Create API
Parameters for the creation of a new Power VM Instance
Image ID of the image to use for the server
Amount of memory allocated (in GB)
Processor type (dedicated, shared, capped)
Allowable values: [
dedicated
,shared
,capped
]Number of processors allocated
Name of the server to create
The deployment of a dedicated host
- deploymentTarget
The uuid of the host group or host
specify if deploying to a host group or a host
Allowable values: [
hostGroup
,host
]
The custom deployment type
The name of the SSH key pair provided to the server for authenticating users (looked up in the tenant's list of keys)
The VTL license repository capacity TB value
(deprecated - replaced by pinPolicy) Indicates if the server is allowed to migrate between hosts
Default:
true
(deprecated - replaced by networks) List of Network IDs
The pvm instance networks information
Specify PVM pin policy
Allowable values: [
none
,soft
,hard
]The placement group for the server
Affinity policy for replicants being created; affinity for the same host, anti-affinity for different hosts, none for no preference
Allowable values: [
affinity
,anti-affinity
,none
]Default:
none
How to name the created vms
Allowable values: [
prefix
,suffix
]Default:
suffix
Number of duplicate instances to create in this request
The shared processor pool for server deployment
The pvm instance Software Licenses
- softwareLicenses
IBMi Cloud Storage Solution
Default:
false
IBMi Cloud Storage Solution
Default:
false
IBMi Power High Availability
Default:
false
IBMi Rational Dev Studio
Default:
false
IBMi Rational Dev Studio Number of User Licenses
The storage affinity data; ignored if storagePool is provided; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage pool the image was created in
- storageAffinity
PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and affinityVolume is not provided
Affinity policy for storage pool selection; ignored if storagePool provided; for policy 'affinity' requires one of affinityPVMInstance or affinityVolume to be specified; for policy 'anti-affinity' requires one of antiAffinityPVMInstances or antiAffinityVolumes to be specified
Allowable values: [
affinity
,anti-affinity
]Volume (ID or Name) to base storage affinity policy against; required if requesting storage affinity and affinityPVMInstance is not provided
List of pvmInstances to base storage anti-affinity policy against; required if requesting storage anti-affinity and antiAffinityVolumes is not provided
List of volumes to base storage anti-affinity policy against; required if requesting storage anti-affinity and antiAffinityPVMInstances is not provided
The storage connection type
Allowable values: [
vSCSI
,maxVolumeSupport
]Storage Pool for server deployment; if provided then storageAffinity will be ignored; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage pool the image was created in
Storage type for server deployment; if storageType is not provided the storage type will default to 'tier3'.
System type used to host the instance
Cloud init user defined data; For FLS, only cloud-config instance-data is supported and data must not be compressed or exceed 63K
The pvm instance virtual CPU information
- virtualCores
The active virtual Cores
Possible values: value ≥ 1
The maximum DLPAR range for virtual Cores (Display only support)
The minimum DLPAR range for virtual Cores (Display only support)
List of volume IDs
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "serverName": "server-name" "imageID": "image-id" "placementGroup": "7a3583cc-85ec-4589-b5b5-b5d7af58354f" "processors" "number-of-processors" "procType": "dedicated" "memory": "amount-of-memory" "networkIDs": "list-network-ids" "sysType": "s922" "volumeIDs": ["data-volume-1", “data-volume-2”] "storageType": "tier1" "storagePool": "StoragePool-3" "storageAffinity": { "affinityPolicy": "affinity", "affinityPVMInstance": "testVM3", } { "affinityPolicy": "anti-affinity", "antiAffinityPVMInstances": ["testVM1", “testVM2”] } }'
Response
A list of PVMInstances
Size of allocated disk (in GB)
The ImageID used by the server
Amount of memory allocated (in GB)
(deprecated - replaced by networks) List of Network IDs
Type of the OS [aix, ibmi, rhel, sles, vtl, rhcos]
Processor type (dedicated, shared, capped)
Possible values: [
dedicated
,shared
,capped
,]
Number of processors allocated
PCloud PVM Instance ID
Name of the server
The status of the instance
Storage type where server is deployed
List of volume IDs
(deprecated - replaced by networks) The list of addresses and their network information
Console language and code
- consoleLanguage
language code
language description
Date/Time of PVM creation
The custom deployment type
Fault information (if occurred)
PVM's health status details
The PVM Instance Host ID (Internal Use Only)
The VTL license repository capacity TB value
Maximum amount of memory that can be allocated (in GB, for resize)
Maximum number of processors that can be allocated (for resize)
whether the instance can be migrated
Minimum amount of memory that can be allocated (in GB, for resize)
Minimum number of processors that can be allocated (for resize)
The pvm instance networks information
OS system information (usually version and build)
VM pinning policy to use [none, soft, hard]
The placement group of the server
The progress of an operation
If this is an SAP pvm-instance the profile reference will link to the SAP profile
- sapProfile
Link to SAP profile resource
SAP Profile ID
The shared processor pool of the server
The shared processor pool id
The pvm instance Software Licenses
- softwareLicenses
IBMi Cloud Storage Solution
IBMi Cloud Storage Solution
IBMi Power High Availability
IBMi Rational Dev Studio
IBMi Rational Dev Studio Number of User Licenses
The pvm instance SRC lists
Storage Pool where server is deployed
Indicates if all volumes attached to the server must reside in the same storage pool; Defaults to true when initially deploying a PVMInstance
System type used to host the instance
Represents the task state of a virtual machine (VM).
Date/Time of PVM last update
The pvm instance virtual CPU information
- virtualCores
The active virtual Cores
Possible values: value ≥ 1
The maximum DLPAR range for virtual Cores (Display only support)
The minimum DLPAR range for virtual Cores (Display only support)
Status Code
OK
Created
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
Gateway Timeout. Request is still processing and taking longer than expected.
{ "addresses": [ { "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/35c0e26c-e51f-4230-b556-49ada44d8831/networks/64782dfc-820f-45e7-9975-7320a548f116", "ip": "192.168.2.153", "ipAddress": "192.168.2.153", "macAddress": "fa:f2:5f:3c:86:20", "networkID": "64782dfc-820f-45e7-9975-7320a548f116", "networkName": "MoyTest", "type": "fixed", "version": 4 } ], "creationDate": "2020-01-17T05:55:28.000Z", "diskSize": 80, "health": { "lastUpdate": "2020-01-17T17:23:04.070Z", "status": "OK" }, "imageID": "8105a084-0360-478f-bfe8-c5a2af98f690", "maxmem": 4, "maxproc": 0.5, "memory": 2, "migratable": false, "minmem": 2, "minproc": 0.25, "networkIDs": [ "64782dfc-820f-45e7-9975-7320a548f116" ], "networks": [ { "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/35c0e26c-e51f-4230-b556-49ada44d8831/networks/64782dfc-820f-45e7-9975-7320a548f116", "ip": "192.168.2.153", "ipAddress": "192.168.2.153", "macAddress": "fa:f2:5f:3c:86:20", "networkID": "64782dfc-820f-45e7-9975-7320a548f116", "networkName": "MoyTest", "type": "fixed", "version": 4 } ], "procType": "shared", "processors": 0.25, "pvmInstanceID": "35c0e26c-e51f-4230-b556-49ada44d8831", "serverName": "MoyMetadataTest3", "status": "ACTIVE", "storageType": "standard", "sysType": "s922", "updatedDate": "2020-01-17T05:55:28.000Z", "volumeIDs": [ "3a40ee8a-e80c-49bc-9db4-b09687c38bd1" ] }
Delete a PCloud PVM Instance
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Query Parameters
Indicates if all data volumes attached to the PVMInstance should be deleted when deleting the PVMInstance. Shared data volumes will be deleted if there are no other PVMInstances attached.
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Get a PVM Instance's current state or information
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Size of allocated disk (in GB)
The ImageID used by the server
Amount of memory allocated (in GB)
(deprecated - replaced by networks) List of Network IDs
Type of the OS [aix, ibmi, rhel, sles, vtl, rhcos]
Processor type (dedicated, shared, capped)
Possible values: [
dedicated
,shared
,capped
,]
Number of processors allocated
PCloud PVM Instance ID
Name of the server
The status of the instance
Storage type where server is deployed
List of volume IDs
(deprecated - replaced by networks) The list of addresses and their network information
Console language and code
- consoleLanguage
language code
language description
Date/Time of PVM creation
The custom deployment type
Fault information (if occurred)
PVM's health status details
The PVM Instance Host ID (Internal Use Only)
The VTL license repository capacity TB value
Maximum amount of memory that can be allocated (in GB, for resize)
Maximum number of processors that can be allocated (for resize)
whether the instance can be migrated
Minimum amount of memory that can be allocated (in GB, for resize)
Minimum number of processors that can be allocated (for resize)
The pvm instance networks information
OS system information (usually version and build)
VM pinning policy to use [none, soft, hard]
The placement group of the server
The progress of an operation
If this is an SAP pvm-instance the profile reference will link to the SAP profile
- sapProfile
Link to SAP profile resource
SAP Profile ID
The shared processor pool of the server
The shared processor pool id
The pvm instance Software Licenses
- softwareLicenses
IBMi Cloud Storage Solution
IBMi Cloud Storage Solution
IBMi Power High Availability
IBMi Rational Dev Studio
IBMi Rational Dev Studio Number of User Licenses
The pvm instance SRC lists
Storage Pool where server is deployed
Indicates if all volumes attached to the server must reside in the same storage pool; Defaults to true when initially deploying a PVMInstance
System type used to host the instance
Represents the task state of a virtual machine (VM).
Date/Time of PVM last update
The pvm instance virtual CPU information
- virtualCores
The active virtual Cores
Possible values: value ≥ 1
The maximum DLPAR range for virtual Cores (Display only support)
The minimum DLPAR range for virtual Cores (Display only support)
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "addresses": [ { "externalIP": "xxx.xxx.xxx.xxx", "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/8ab7ede5-540e-44bc-99cf-9c8bf1ac6297/networks/8838dcff-d423-4490-aa95-7bfed54adbae", "ip": "192.168.140.38", "ipAddress": "192.168.140.38", "macAddress": "fa:38:e6:a8:19:20", "networkID": "8838dcff-d423-4490-aa95-7bfed54adbae", "networkName": "public-192_168_140_32-29-VLAN_3305", "type": "fixed", "version": 4 } ], "creationDate": "2020-04-22T17:12:41.000Z", "diskSize": 20, "health": { "lastUpdate": "2020-04-22T17:16:28.099Z", "status": "WARNING" }, "imageID": "dd04bafb-fda2-49c5-825b-1c1d274a8a99", "maxmem": 4, "maxproc": 0.5, "memory": 2, "migratable": false, "minmem": 2, "minproc": 0.25, "networkIDs": [ "8838dcff-d423-4490-aa95-7bfed54adbae" ], "networks": [ { "externalIP": "161.156.179.134", "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/8ab7ede5-540e-44bc-99cf-9c8bf1ac6297/networks/8838dcff-d423-4490-aa95-7bfed54adbae", "ip": "192.168.140.38", "ipAddress": "192.168.140.38", "macAddress": "fa:38:e6:a8:19:20", "networkID": "8838dcff-d423-4490-aa95-7bfed54adbae", "networkName": "public-192_168_140_32-29-VLAN_3305", "type": "fixed", "version": 4 } ], "pinPolicy": "none", "placementGroup": "none", "procType": "shared", "processors": 0.25, "pvmInstanceID": "8ab7ede5-540e-44bc-99cf-9c8bf1ac6297", "serverName": "stg-provision-test-eu-de-1", "status": "ACTIVE", "storagePool": "StoragePool-1", "storagePoolAffinity": true, "storageType": "tier3", "sysType": "s922", "updatedDate": "2020-04-22T17:12:41.000Z", "volumeIDs": [ "d2c0e860-bceb-48a1-aa54-e8c5af9bdefc" ] }
Update a PCloud PVM Instance
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Parameters to update a PCloud PVM Instance
The VTL license repository capacity TB value
Amount of memory allocated (in GB)
(deprecated - replaced by pinPolicy) Indicates if the server is allowed to migrate between hosts
Default:
true
Specify PVM pin policy
Allowable values: [
none
,soft
,hard
]Processor type (dedicated, shared, capped)
Allowable values: [
dedicated
,shared
,capped
]Number of processors allocated
If an SAP pvm-instance, the SAP profile ID to switch to (only while shutdown)
Name of the server to create
The pvm instance Software Licenses
- softwareLicenses
IBMi Cloud Storage Solution
Default:
false
IBMi Cloud Storage Solution
Default:
false
IBMi Power High Availability
Default:
false
IBMi Rational Dev Studio
Default:
false
IBMi Rational Dev Studio Number of User Licenses
Indicates if all volumes attached to the server must reside in the same storage pool; If set to false then volumes from any storage type and pool can be attached to the PVMInstance; Impacts PVMInstance snapshot, capture, and clone, for capture and clone - only data volumes that are of the same storage type and in the same storage pool of the PVMInstance's boot volume can be included; for snapshot - all data volumes to be included in the snapshot must reside in the same storage type and pool. Once set to false, cannot be set back to true unless all volumes attached reside in the same storage type and pool.
Default:
true
The pvm instance virtual CPU information
- virtualCores
The active virtual Cores
Possible values: value ≥ 1
The maximum DLPAR range for virtual Cores (Display only support)
The minimum DLPAR range for virtual Cores (Display only support)
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "serverName": server-name "processors": number-of-processors "procType": "dedicated" "memory": "4" "migratable": "false" "softwareLicenses": "software-licenses" "pinPolicy": "soft" "storagePoolAffinity": true }'
Response
The VTL license repository capacity TB value
Amount of memory allocated (in GB)
Specify PVM pin policy
Possible values: [
none
,soft
,hard
]Processor type (dedicated, shared, capped)
Possible values: [
dedicated
,shared
,capped
]Number of processors allocated
Name of the server
URL to check for status of the operation (for now, just the URL for the GET on the server, which has status information from powervc)
Indicates if all volumes attached to the server must reside in the same storage pool; If set to false then volumes from any storage type and pool can be attached to the PVMInstance; Impacts PVMInstance snapshot, capture, and clone, for capture and clone - only data volumes that are of the same storage type and in the same storage pool of the PVMInstance's boot volume can be included; for snapshot - all data volumes to be included in the snapshot must reside in the same storage type and pool. Once set to false, cannot be set back to true unless all volumes attached reside in the same storage type and pool.
The pvm instance virtual CPU information
- virtualCores
The active virtual Cores
Possible values: value ≥ 1
The maximum DLPAR range for virtual Cores (Display only support)
The minimum DLPAR range for virtual Cores (Display only support)
Status Code
Accepted (this is a long running operation)
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{ "addresses": [ { "externalIP": "xxx.xxx.xxx.xxx", "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/8ab7ede5-540e-44bc-99cf-9c8bf1ac6297/networks/8838dcff-d423-4490-aa95-7bfed54adbae", "ip": "192.168.140.38", "ipAddress": "192.168.140.38", "macAddress": "fa:38:e6:a8:19:20", "networkID": "8838dcff-d423-4490-aa95-7bfed54adbae", "networkName": "public-192_168_140_32-29-VLAN_3305", "type": "fixed", "version": 4 } ], "creationDate": "2020-04-22T17:12:41.000Z", "diskSize": 20, "health": { "lastUpdate": "2020-04-22T17:16:28.099Z", "status": "WARNING" }, "imageID": "dd04bafb-fda2-49c5-825b-1c1d274a8a99", "maxmem": 4, "maxproc": 0.5, "memory": 4, "migratable": false, "minmem": 2, "minproc": 0.25, "networkIDs": [ "8838dcff-d423-4490-aa95-7bfed54adbae" ], "networks": [ { "externalIP": "xxx.xxx.xxx.xxx", "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/8ab7ede5-540e-44bc-99cf-9c8bf1ac6297/networks/8838dcff-d423-4490-aa95-7bfed54adbae", "ip": "192.168.140.38", "ipAddress": "192.168.140.38", "macAddress": "fa:38:e6:a8:19:20", "networkID": "8838dcff-d423-4490-aa95-7bfed54adbae", "networkName": "public-192_168_140_32-29-VLAN_3305", "type": "fixed", "version": 4 } ], "pinPolicy": "soft", "procType": "dedicated", "processors": 0.25, "pvmInstanceID": "8ab7ede5-540e-44bc-99cf-9c8bf1ac6297", "serverName": "stg-provision-test-eu-de-1", "status": "ACTIVE", "storageType": "tier1", "sysType": "s922", "updatedDate": "2020-04-22T17:12:41.000Z", "volumeIDs": [ "d2c0e860-bceb-48a1-aa54-e8c5af9bdefc" ] }
Perform an action on a PVMInstance
Corresponding actions are 'start', 'stop', 'reboot', 'immediate-shutdown', 'reset'
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Parameters for the desired action
Name of the action to take; can be start, stop, hard-reboot, soft-reboot, immediate-shutdown, reset-state, dhcp-ip-sync (on-prem only)
Allowable values: [
start
,stop
,immediate-shutdown
,hard-reboot
,soft-reboot
,reset-state
,dhcp-ip-sync
]
curl -X POST https://< Cloud IP>/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/${PVM_Instance_ID}/action -H "authorization: <AuthToken>" -H "content-type: application/json" -H 'crn: <CRN>' -d '{ "action":"immediate-shutdown" }'
Capture a PVMInstance and create a deployable image
This API is deprecated for /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture.
Note: Support for this API is available till Oct 2022.
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Parameters for the capture PVMInstance
Destination for the deployable image
Allowable values: [
image-catalog
,cloud-storage
,both
]Name of the deployable image created for the captured PVMInstance
List of Data volume IDs to include in the captured PVMInstance
Cloud Storage Access key
Cloud Storage Image Path (bucket-name [/folder/../..])
Cloud Storage Region
Cloud Storage Secret key
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/capture -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "captureName": "deployable-image-name" "captureDestination": "deployable-image-destination" }'
Generate the noVNC Console URL
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/console -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Update PVMInstance console laguage code
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console
Get all networks for this PVM Instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/networks -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
PVM Instance Networks
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "networks": [ { "externalIP": "xxx.xxx.xxx.xxx", "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/8ab7ede5-540e-44bc-99cf-9c8bf1ac6297/networks/8838dcff-d423-4490-aa95-7bfed54adbae", "ip": "192.168.140.38", "ipAddress": "192.168.140.38", "macAddress": "fa:38:e6:a8:19:20", "networkID": "8838dcff-d423-4490-aa95-7bfed54adbae", "networkName": "public-192_168_140_32-29-VLAN_3305", "type": "fixed", "version": 4 } ] }
Perform network addition
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Add network to PVM Instance parameters
ID of the network
The requested ip address of this network interface
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/networks -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "networkID": "network-ID" }'
Response
A map containing information about a network address
The external ip address (for pub-vlan networks)
Link to PVM Instance Network
(deprecated - replaced by ipAddress)
The ip address of this network interface
The mac address of the network interface
ID of the network
The name of the network the address is on
The address type (fixed or dynamic)
The version of the information provided
Status Code
Created
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
No Sample Response
Remove all Address of Network from a PVM Instance
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Network ID
Remove a network from PVM Instance parameters
The mac address of the network interface to be removed
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/networks/{network_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Get a PVM Instance's network information
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Network ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/networks/{network_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
PVM Instance Networks
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "networks": [ { "externalIP": "xxx.xxx.xxx.xxx", "ip": "192.168.140.38", "ipAddress": "192.168.140.38", "macAddress": "fa:38:e6:a8:19:20", "networkID": "8838dcff-d423-4490-aa95-7bfed54adbae", "networkName": "public-192_168_140_32-29-VLAN_3305", "type": "fixed", "version": 4 } ] }
Perform an operation on a PVMInstance
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Parameters for the desired operations
Name of the operation to execute; can be job or boot
Allowable values: [
job
,boot
]
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/<PVMInstance_ID>/operations -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "operationType":"boot" "operation": { "bootMode": "a", (Possible values: a, b, c, d) "operatingMode": "manual", (Possible values: normal or manual) "task":"iopresent (Possible values: dston, retrydump, consoleservice, iopreset, remotedstoff, remotedston, iopdump, dumprestart) } }'
Get all snapshots for this PVM Instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/snapshots -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
List of PVM instance snapshots
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "snapshots": [ { "action": "snapshot", "creationDate": "2022-08-16T08:02:05.000Z", "description": "test", "lastUpdateDate": "2022-08-16T08:02:14.000Z", "name": "test-abcd-snap", "percentComplete": 100, "pvmInstanceID": "2eee5ae2-66d2-435d-8e8b-32f80a65df23", "snapshotID": "4f37a134-4822-4e86-b56b-d95e82cb056c", "status": "available", "volumeSnapshots": { "f57e242f-203d-4678-bde5-a8f1792e9117": "fa62198c-f614-4750-983a-671b67a38ef3" } }, { "action": "snapshot", "creationDate": "2022-08-16T08:13:25.000Z", "description": "test", "lastUpdateDate": "2022-08-16T08:13:34.000Z", "name": "test-abcd-snap1", "percentComplete": 100, "pvmInstanceID": "2eee5ae2-66d2-435d-8e8b-32f80a65df23", "snapshotID": "59cadf8d-e553-4509-81f4-2889f2a21104", "status": "available", "volumeSnapshots": { "f57e242f-203d-4678-bde5-a8f1792e9117": "c37a50dc-cda3-4cba-8254-2cc8b8ee806" } } ] }
Create a PVM Instance snapshot
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
PVM Instance snapshot create parameters
Name of the PVM instance snapshot to create
Description of the PVM instance snapshot
List of volumes to include in the PVM instance snapshot
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/snapshots -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "name": "VM1-SS", "description": "Snapshot for VM1", "volumeIDs":["VM1-7397dc00-0000035b-boot-0"] }'
Restore a PVM Instance snapshot
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
PVM Instance snapshot id
Query Parameters
Action to take on a failed snapshot restore
Allowable values: [
retry
,rollback
]
PVM Instance snapshot restore parameters
By default the VM must be shutoff during a snapshot restore, force set to true will relax the VM shutoff pre-condition.
Default:
false
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "force": "true" }'
Response
Name of the PVM instance snapshot
PCloud PVM Instance ID
ID of the PVM instance snapshot
A map of volume snapshots included in the PVM instance snapshot
- volumeSnapshots
a volume snapshot ID
Action performed on the instance snapshot
Creation Date
Description of the PVM instance snapshot
Last Update Date
Snapshot completion percentage
Status of the PVM instancesnapshot
Status Code
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Internal Server Error
{ "action": "action", "creationDate": "2000-01-23T04:56:07.000Z", "description": "snapshot restore", "lastUpdateDate": "2000-01-23T04:56:07.000Z", "name": "name", "percentComplete": 0, "pvmInstanceID": "pvmInstanceID", "snapshotID": "snapshotID", "status": "status", "volumeSnapshots": { "key": "volumeSnapshots" } }
Get all the pvm instances for this cloud instance
GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances
Response
PVM Instance References
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Request Timeout
Internal Server Error
{ "pvminstances": [ { "configuration": { "licenseRepositoryCapacity": 1, "systemReferenceCodes": [] }, "cores": { "assigned": 0.5, "maximum": 0.75, "minimum": 0.25 }, "creationDate": "2019-11-21T10:41:33.000Z", "deployment": { "machineType": "s922", "pinPolicy": "soft", "processorMode": "shared" }, "health": { "status": "ATTENTION" }, "host": { "id": 82 }, "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/6da0fd14-f7d3-4142-96f5-078df36c2539", "id": "6da0fd14-f7d3-4142-96f5-078df36c2539", "memory": { "assigned": 16, "maximum": 24, "minimum": 12 }, "name": "Test_VTL", "networkPorts": { "id": "c4af3a74-0852-4b1c-95d6-4b4b9bc040a7", "ipProtocol": "IPv4", "macAddress": "fa:f2:a4:c3:9e:a3", "privateIP": "192.168.0.0", "type": "static" }, "operatingSystem": { "type": "vtl", "version": "Linux/CentOS Linux 3.10.0-957.27.2.el7.ppc647 (AltArch), 7 (AltArch)" }, "placementGroup": { "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" }, "status": "ACTIVE", "virtualCores": { "assigned": 15, "maximum": 20, "minimum": 10 } }, { "configuration": { "softwareLicenses": { "ibmiCSS": false, "ibmiDBQ": true, "ibmiPHA": false, "ibmiRDS": false }, "systemReferenceCodes": [] }, "cores": { "assigned": 0.5, "maximum": 0.75, "minimum": 0.25 }, "creationDate": "2020-01-17T05:55:28.000Z", "deployment": { "machineType": "s922", "pinPolicy": "none", "processorMode": "shared" }, "health": { "status": "WARNING" }, "host": { "id": 29 }, "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/35c0e26c-e51f-4230-b556-49ada44d8831", "id": "35c0e26c-e51f-4230-b556-49ada44d8831", "memory": { "assigned": 16, "maximum": 24, "minimum": 12 }, "name": "Test_IBMI", "networkPorts": { "id": "1d57c166-d982-43a5-8487-f59e48632u2a", "ipProtocol": "IPv4", "macAddress": "fa:f2:5f:ea:15:20", "privateIP": "", "type": "dhcp" }, "operatingSystem": { "type": "ibmi", "version": "V7R3M0 410 9" }, "placementGroup": { "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" }, "status": "ACTIVE", "virtualCores": { "assigned": 15, "maximum": 20, "minimum": 10 } }, { "configuration": { "sapProfile": { "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/sap/saptest-1x4", "profileID": "saptest-1x4" }, "systemReferenceCodes": [] }, "cores": { "assigned": 4, "maximum": 4, "minimum": 4 }, "creationDate": "2021-09-26T02:55:28.000Z", "deployment": { "machineType": "s922", "pinPolicy": "none", "processorMode": "dedicated", "type": "SAP-RISE" }, "health": { "status": "OK" }, "host": { "id": 37 }, "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/35c0e26c-e51f-4230-b556-49adac4d8838", "id": "35c0e26c-e51f-4230-b556-49adac4d8838", "memory": { "assigned": 16, "maximum": 24, "minimum": 12 }, "name": "Test_RHEL", "networkPorts": { "id": "64782dfc-820f-45e7-9975-7320a548f116", "ipProtocol": "IPv4", "macAddress": "fa:f2:5f:3c:86:20", "privateIP": "192.168.2.153", "type": "static" }, "operatingSystem": { "type": "rhel", "version": "Linux/Red Hat Enterprise Linux 4.16.0-305.45.1.el8_4.ppc8.4 (Ootpa), 8.4 (Ootpa)" }, "placementGroup": { "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" }, "status": "ACTIVE", "virtualCores": { "assigned": 15, "maximum": 20, "minimum": 10 } } ] }
Get detail of last capture job
GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/capture -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
id of a job
- operation
current action of the operation
ID of an operation
target resource of the operation
- status
progress of a job
state of a job
message detailing current state
create timestamp for the job
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "createTimestamp": "2021-08-09T20:17:39.827Z", "id": "c113467d-8419-449c-8d81-259dda713d9f", "operation": [ { "action": "vmCapture", "id": "b81ea020-bb47-452e-af96-8523c68e", "target": "pvmInstance" } ], "status": [ { "message": "capturing VM to an image file", "progress": "capture", "state": "running" } ] }
Add a capture pvm-instance to the jobs queue
POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Parameters for the capture
Destination for the deployable image
Allowable values: [
image-catalog
,cloud-storage
,both
]Name of the deployable image created for the captured PVMInstance
List of Data volume IDs to include in the captured PVMInstance
Cloud Storage Access key
Cloud Storage Image Path (bucket-name [/folder/../..])
Cloud Storage Region
Cloud Storage Secret key
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/capture -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "captureName": "deployable-image-name" "captureDestination": "deployable-image-destination" }'
Response
Link to job resource
id of a job used to get status of long running operation
Status Code
Accepted, pvm-instance capture successfully added to the jobs queue
Bad Request
Unauthorized
Forbidden
Not Found
Conflict, a conflict has prevented adding the pvm-instance capture job
Unprocessable Entity
Internal Server Error
{ "href": "pcloud/v1/jobs/c113467d-8419-449c-8d81-259dda713d9f", "jobID": "c113467d-8419-449c-8d81-259dda713d9f" }
List all volumes attached to a PVM Instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/volumes -H 'Authorization: Bearer <>' -H 'Content-Type: application/json'
Response
Volumes
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "volumes": [ { "bootVolume": true, "bootable": true, "creationDate": "2020-04-22T16:16:08.000Z", "diskType": "tier1", "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/volumes/22f701a6-81a5-4df9-8c0b-eaec1c5e8bc7", "lastUpdateDate": "2020-04-22T16:16:21.000Z", "name": "testVolume", "pvmInstanceIDs": [ "6c98be83-bc60-441d-bd37-9894b58ec98c" ], "shareable": false, "size": 20, "state": "in-use", "volumeID": "22f701a6-81a5-4df9-8c0b-eaec1c5e8bc7", "volumePool": "Tier1-Flash-1", "volumeType": "Tier1-Flash-1", "wwn": 9.00507640081029e+31 } ] }
Detach a volume from a PVMInstance
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Volume ID
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/volumes/{volume_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Detailed info of a volume attached to a PVMInstance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Volume ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/volumes/{volume_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Creation Date
Last Update Date
Volume Name
Volume Size
Volume ID
Auxiliary volume name at storage host level
true if volume is auxiliary otherwise false
Indicates if the volume is the server's boot volume. Only returned when querying a server's attached volumes
Indicates if the volume is boot capable
Consistency Group Name if volume is a part of volume group
Type of Disk
Freeze time of remote copy relationship
Volume Group ID
Amount of iops assigned to the volume
Master volume name at storage host level
Mirroring state for replication enabled volume
true if volume does not exist on storage controller, as volume has been deleted by deleting its paired volume from the mapped replication site.
indicates whether master/aux volume is playing the primary role
Possible values: [
master
,aux
]List of PCloud PVM Instance attached to the volume
True if volume is replication enabled otherwise false
Replication status of a volume
type of replication(metro,global)
Indicates if the volume is shareable between VMs
Volume State
Volume pool, name of storage pool where the volume is located
Volume type, name of storage template used to create the volume
Volume world wide name
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "bootable": true, "creationDate": "2020-04-22T16:16:08.000Z", "diskType": "tier1", "lastUpdateDate": "2020-04-22T16:16:21.000Z", "name": "testVolume", "pvmInstanceIDs": [ "6c98be83-bc60-441d-bd37-9894b58ec98c" ], "shareable": false, "size": 20, "state": "in-use", "volumeID": "22f701a6-81a5-4df9-8c0b-eaec1c5e8bc7", "volumePool": "Tier1-Flash-1", "volumeType": "Tier1-Flash-1", "wwn": 9.00507640081029e+31 }
Attach a volume to a PVMInstance
Attach a volume to a PVMInstance.
Note: Recommended for attaching data volumes. In the case of VMRM, it is recommended to use the 'Attach all volumes to a PVM instance' API for attaching the first boot volume.
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Volume ID
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/volumes/{volume_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Update a volume attached to a PVMInstance
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Volume ID
Parameters to update a volume attached to a PVMInstance
Indicates if the volume should be deleted when the PVMInstance is terminated
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/volumes/{volume_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "deleteOnTermination": "true" }'
Set the PVMInstance volume as the boot volume
Set the PVMInstance volume as the boot volume.
Note: If a non-bootable volume is provided, it will be converted to a bootable volume and then attached.
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Volume ID
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Query Parameters
true or false, limits a volumes list to replication or non replication enabled volumes
A pvmInstance (id or name), limits a volumes list response to only volumes that have affinity to the pvmInstance
true or false, limits a volume list to auxiliary or non auxiliary volumes
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Volumes
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
[ { "bootable": true, "creationDate": "2019-11-21T10:41:38.000Z", "diskType": "tier1", "href": "/pcloud/v1/cloud-instances/969afb22cb004e807ab84b827abfa1b0/volumes/8a78e4b2-fc59-473e-9260-51a753634fd9", "lastUpdateDate": "2019-11-21T10:42:16.000Z", "name": "testr-6da0fd14-00000953-boot-0", "shareable": false, "size": 20, "state": "in-use", "volumeID": "8a78e4b2-fc59-473e-9260-51a753634fd9", "volumePool": "StoragePool-1", "volumeType": "StoragePool-1", "wwn": "wwn-id" }, { "auxVolumeName": "aux_test-vol-1-ff2dd3a6-17ed44275611", "auxiliary": false, "bootable": false, "creationDate": "2022-07-08T12:28:41.000Z", "diskType": "tier1", "href": "/pcloud/v1/cloud-instances/6dc23f8f500f44a180661501eee2d9f8/volumes/ff2dd3a6-17ed-453d-88fc-7f77882c4d81", "lastUpdateDate": "2022-07-08T12:28:47.000Z", "masterVolumeName": "volume-test-vol-1-ff2dd3a6-17ed", "mirroringState": "inconsistent_copying", "name": "test-vol-1", "primaryRole": "master", "pvmInstanceIDs": [], "replicationEnabled": true, "replicationStatus": "enabled", "replicationType": "global", "shareable": false, "size": 2, "state": "available", "volumeID": "ff2dd3a6-17ed-453d-88fc-7f77882c4d66", "volumePool": "Tier1-Flash-1", "volumeType": "Tier1-Flash-1-DR", "wwn": "6005076400810289700000000000B788" } ]
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a new data volume
Volume Name
Volume Size (GB)
PVM Instance (ID or Name) to base volume affinity policy against; required if requesting affinity and affinityVolume is not provided
Affinity policy for data volume being created; ignored if volumePool provided; for policy 'affinity' requires one of affinityPVMInstance or affinityVolume to be specified; for policy 'anti-affinity' requires one of antiAffinityPVMInstances or antiAffinityVolumes to be specified
Allowable values: [
affinity
,anti-affinity
]Volume (ID or Name) to base volume affinity policy against; required if requesting affinity and affinityPVMInstance is not provided
List of pvmInstances to base volume anti-affinity policy against; required if requesting anti-affinity and antiAffinityVolumes is not provided
List of volumes to base volume anti-affinity policy against; required if requesting anti-affinity and antiAffinityPVMInstances is not provided
Type of Disk; if diskType is not provided the disk type will default to 'tier3'.
Indicates if the volume should be replication enabled or not
Indicates if the volume is shareable between VMs
Volume pool where the volume will be created; if provided then affinityPolicy value will be ignored
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "diskType": "tier3", "name": "volume-name", "shareable": false, "size": "volume-size" "volumePool": "StoragePool1" “affinityPolicy”: “anti-affinity” “antiAffinityVolumes”: [“data-volume-1”,”data-volume-2”] }'
Response
Creation Date
Last Update Date
Volume Name
Volume Size
Volume ID
Auxiliary volume name at storage host level
true if volume is auxiliary otherwise false
Indicates if the volume is the server's boot volume. Only returned when querying a server's attached volumes
Indicates if the volume is boot capable
Consistency Group Name if volume is a part of volume group
Type of Disk
Freeze time of remote copy relationship
Volume Group ID
Amount of iops assigned to the volume
Master volume name at storage host level
Mirroring state for replication enabled volume
true if volume does not exist on storage controller, as volume has been deleted by deleting its paired volume from the mapped replication site.
indicates whether master/aux volume is playing the primary role
Possible values: [
master
,aux
]List of PCloud PVM Instance attached to the volume
True if volume is replication enabled otherwise false
Replication status of a volume
type of replication(metro,global)
Indicates if the volume is shareable between VMs
Volume State
Volume pool, name of storage pool where the volume is located
Volume type, name of storage template used to create the volume
Volume world wide name
Status Code
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "bootable": false, "creationDate": "2021-08-31T19:26:55.000Z", "diskType": "tier3", "href": "/pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/volumes/322d6d22-5006-4813-9f9c-92d6acea84ee", "lastUpdateDate": "1970-01-01T00:00:00.000Z", "name": "data-volume-1", "pvmInstanceIDs": [], "replicationStatus": "not-capable", "shareable": false, "size": 2000, "state": "creating", "volumeID": "322d6d22-5006-4813-9f9c-92d6acea84ee", "volumePool": "Tier3-Flash-1", "volumeType": "Tier3-Flash-1", "wwn": "322d6d22-5006-4813-9f9c-92d6acea84ee" }
Create a volume clone for specified volumes
This API is deprecated, use v2 clone API to perform the volume clone.
Note: Support for this API will be available till 31st March 2023.
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the cloning of volumes
Display name for the new cloned volumes. Cloned Volume names will be prefixed with 'clone-'. If multiple volumes cloned they will be suffix with a '-' and an incremental number starting with 1. Example volume names using displayName="volume-abcdef" single volume clone will be named "clone-volume-abcdef" multi volume clone will be named "clone-volume-abcdef-1", "clone-volume-abcdef-2", ... For multiple volume clone, the provided name will be truncated to the first 20 characters.
List of volumes to be cloned
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/clone -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "volumeIDs": ["volume-id-1","volume-id-2"], "displayName": "name-of-clone" }'
Delete a cloud instance volume
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Volume ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/{volume_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Creation Date
Last Update Date
Volume Name
Volume Size
Volume ID
Auxiliary volume name at storage host level
true if volume is auxiliary otherwise false
Indicates if the volume is the server's boot volume. Only returned when querying a server's attached volumes
Indicates if the volume is boot capable
Consistency Group Name if volume is a part of volume group
Type of Disk
Freeze time of remote copy relationship
Volume Group ID
Amount of iops assigned to the volume
Master volume name at storage host level
Mirroring state for replication enabled volume
true if volume does not exist on storage controller, as volume has been deleted by deleting its paired volume from the mapped replication site.
indicates whether master/aux volume is playing the primary role
Possible values: [
master
,aux
]List of PCloud PVM Instance attached to the volume
True if volume is replication enabled otherwise false
Replication status of a volume
type of replication(metro,global)
Indicates if the volume is shareable between VMs
Volume State
Volume pool, name of storage pool where the volume is located
Volume type, name of storage template used to create the volume
Volume world wide name
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "bootable": false, "creationDate": "2020-01-10T16:43:39.000Z", "diskType": "tier3", "lastUpdateDate": "2020-01-13T17:58:45.000Z", "name": "tim-data-vol-4", "shareable": false, "size": 32, "state": "in-use", "volumeID": "e8cc1226-a4d5-46c8-875c-312b8b5bdda6", "volumePool": "StoragePool-1", "volumeType": "StoragePool-1", "wwn": "wwn-id" }
Update a cloud instance volume
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Volume ID
Parameters to update a cloud instance volume
Indicates if the volume is boot capable
Name
Indicates if the volume is shareable between VMs
New Volume size
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/{volume_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "name": "volume-name" "size": "volume-size" "shareable": "true" "bootable": "false" }'
Response
Creation Date
Last Update Date
Volume Name
Volume Size
Volume ID
Auxiliary volume name at storage host level
true if volume is auxiliary otherwise false
Indicates if the volume is the server's boot volume. Only returned when querying a server's attached volumes
Indicates if the volume is boot capable
Consistency Group Name if volume is a part of volume group
Type of Disk
Freeze time of remote copy relationship
Volume Group ID
Amount of iops assigned to the volume
Master volume name at storage host level
Mirroring state for replication enabled volume
true if volume does not exist on storage controller, as volume has been deleted by deleting its paired volume from the mapped replication site.
indicates whether master/aux volume is playing the primary role
Possible values: [
master
,aux
]List of PCloud PVM Instance attached to the volume
True if volume is replication enabled otherwise false
Replication status of a volume
type of replication(metro,global)
Indicates if the volume is shareable between VMs
Volume State
Volume pool, name of storage pool where the volume is located
Volume type, name of storage template used to create the volume
Volume world wide name
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "bootable": false, "creationDate": "2020-01-10T16:43:39.000Z", "diskType": "tier1", "lastUpdateDate": "2020-01-13T17:58:45.000Z", "name": "test-data-vol-4", "shareable": true, "size": 32, "state": "in-use", "volumeID": "e8cc1226-a4d5-46c8-875c-312b8b5bdda6" }
Perform an action on a Volume
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Volume ID
Parameters for the desired action
Indicates if the volume should be replication enabled or not
Target storage tier; used to change a volume's storage tier
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/{volume_id}/action -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "name": "volume-name" "size": "volume-size" "shareable": true "replicationEnabled": true }'
Get a list of flashcopy mappings of a given volume
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Volume ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/{volume_id}/flash-copy-mappings -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Indicates flash copy name of the volume
Indicates the rate of flash copy operation of a volume
Indicates the progress of flash copy operation
Indicates name of the source volume
Indicates the start time of flash copy operation
Copy status of a volume
Indicates name of the target volume
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Too Many Requests
Internal Server Error
[ { "flashCopyName": "fcmap44", "sourceVolumeName": "volume-vol-demo-b52b93df-746c", "startTime": "1901-01-01T00:00:00.000Z", "status": "stopped", "targetVolumeName": "chg_volume-vol-demo-b52b93df-746c" }, { "copyRate": "50,", "flashCopyName": "fcmap45", "sourceVolumeName": "chg_volume-vol-demo-b52b93df-746c", "startTime": "1901-01-01T00:00:00.000Z", "status": "idle_or_copied", "targetVolumeName": "volume-vol-demo-b52b93df-746c" } ]
Get remote copy relationship of a volume
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Volume ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/{volume_id}/remote-copy -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Remote copy relationship name
Remote copy relationship ID
Indicates the minimum period in seconds between multiple cycles
Volume ID
Name of the volume that is acting as the auxiliary change volume for the relationship
Auxiliary volume name at storage host level
Consistency Group Name if volume is a part of volume group
Indicates the copy type.
Indicates the type of cycling mode used.
Freeze time of remote copy relationship
Name of the volume that is acting as the master change volume for the relationship
Master volume name at storage host level
Indicates whether master/aux volume is playing the primary role
Indicates the relationship progress
Indicates the relationship state
Indicates whether the relationship is synchronized
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Too Many Requests
Internal Server Error
{ "auxChangedVolumeName": "chg_aux_volume-vol-demo-b52b93df-746c1210664", "auxVolumeName": "aux_volume-vol-demo-b52b93df-746c1210664", "copyType": "global", "cyclePeriodSeconds": "500,", "cyclingMode": "multi", "freezeTime": "2022-09-14T06:10:42.000Z", "id": "b52b93df-746c-4ff0-9885-292b4be86sdsd", "masterChangedVolumeName": "chg_volume-vol-demo-b52b93df-746c", "masterVolumeName": "volume-vol-demo-b52b93df-746c", "name": "rcrel23", "primaryRole": "master", "progress": "100,", "remoteCopyID": "101", "state": "consistent_copying" }
Attach all volumes to a PVMInstance
Attach all volumes to a PVMInstance.
Note: In the case of VMRM, if a single volume ID is provided in the 'volumeIDs' field, that volume will be converted to a bootable volume and then attached.
POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PCloud PVM Instance ID
Parameter to attach volumes to a PVMInstance
List of volumes to be attached to a PVM instance
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/pvm-instances/{pvm_instance_id}/volumes -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "volumeIDs": ["volID1","volID2"] }'
Create multiple data volumes from a single definition
POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for creating multiple volumes
Base name of the volume(s)
Volume Size (GB)
PVM Instance (ID or Name)to base volume affinity policy against; required if requesting affinity and affinityVolume is not provided
Affinity policy for data volume being created; ignored if volumePool provided; for policy 'affinity' requires one of affinityPVMInstance or affinityVolume to be specified; for policy 'anti-affinity' requires one of antiAffinityPVMInstances or antiAffinityVolumes to be specified
Allowable values: [
affinity
,anti-affinity
]Volume (ID or Name) to base volume affinity policy against; required if requesting affinity and affinityPVMInstance is not provided
List of pvmInstances to base volume anti-affinity policy against; required if requesting anti-affinity and antiAffinityVolumes is not provided
List of volumes to base volume anti-affinity policy against; required if requesting anti-affinity and antiAffinityPVMInstances is not provided
Number of volumes to create
Type of Disk; if diskType is not provided the disk type will default to 'tier3'.
Indicates if the volume should be replication enabled or not
Indicates if the volume is shareable between VMs
Volume pool where the volume will be created; if provided then affinityPolicy value will be ignored
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "diskType": "tier3", "name": "volume-name", "shareable": false, "size": "volume-size" "volumePool": "StoragePool1" “affinityPolicy”: “anti-affinity” “antiAffinityVolumes”: [“data-volume-1”,”data-volume-2”] }'
Response
Volumes
Status Code
Created
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "volumes": [ { "bootVolume": false, "bootable": false, "creationDate": "2020-08-04T15:34:28.000Z", "diskType": "tier3", "href": "/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/{volume_id}", "lastUpdateDate": "2020-08-04T15:34:28.000Z", "name": "base-name-1", "pvmInstanceIDs": [], "shareable": false, "size": 5, "state": "creating", "volumeID": "<uuid>", "volumePool": "Tier3-Flash-1", "volumeType": "Tier3-Flash-1", "wwn": "322d6d22-5006-4813-9f9c-92d6acea84ee" }, { "bootVolume": false, "bootable": false, "creationDate": "2020-08-04T15:34:28.000Z", "diskType": "tier1", "href": "/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/{volume_id}", "lastUpdateDate": "2020-08-04T15:34:28.000Z", "name": "base-name-2", "pvmInstanceIDs": [], "shareable": false, "size": 5, "state": "creating", "volumeID": "<uuid>", "volumePool": "Tier1-Flash-1", "volumeType": "Tier1-Flash-1", "wwn": "322d6d22-5006-4813-9f9c-92d6acea84ee" } ] }
Get the list of volumes-clone request for a cloud instance
GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Query Parameters
volumes-clone filter to limit list items: prepare - includes status values (preparing, prepared) start - includes status values (starting, available) execute - includes status values (executing, available-rollback) cancel - includes status values (cancelling) completed - includes status values (completed) failed - includes status values (failed) cancelled - includes status values (cancelled) finalized - included status values (completed, failed, cancelled)
Allowable values: [
prepare
,start
,execute
,cancel
,completed
,failed
,cancelled
,finalized
]
curl --location --request GET http://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes-clone -H 'Authorization: Bearer <> ' -H 'CRN:' -H 'Content-Type: application/json'
Response
list of volumes-clone requests
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
[ { "action": "prepare", "creationDate": "2020-09-28T20:09:33.829Z", "lastUpdateDate": "2020-09-28T20:09:50.749Z", "name": "test2-Sep28", "percentComplete": 70, "status": "preparing", "volumesCloneID": "a4945ba6-5b4c-45b5-8312-485e3ac1ec3d" }, { "action": "start", "creationDate": "2020-09-28T19:42:38.618Z", "lastUpdateDate": "2020-09-28T19:44:52.386Z", "name": "test1-Sep28", "percentComplete": 100, "status": "available", "volumesCloneID": "8553bb63-7eac-405c-af8c-ccfe71186ca8" } ]
Create a new volumes clone request and initiates the Prepare action
Requires a minimum of two volumes.
Requires a minimum of one volume to be in the in-use
state.
Requires a unique volumes clone name.
Prepare action does the preparatory work for creating the snapshot volumes.
Note: If there is an existing prepare, user cannot trigger another prepare for the same set of volumes. Prepare should be followed by start and execute. If existing prepare does not have to be used then it should be first cancelled before the next prepare operation.
POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for preparing a set of volumes to be cloned
Unique name within a cloud instance used to identify a volumes-clone request name can be used in replace of a volumesCloneID when used as a URL path parameter
List of volumes to be cloned
curl --location --request POST http://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes-clone -H 'Authorization: Bearer <> ' -H 'CRN:' -H 'Content-Type: application/json' --data-raw '{ "name":"test1-Sep28", "volumeIDs": [ "test-vm-capture-1-boot", "test-vm-capture-1-data-1", "test-vm-capture-1-data-2", "test-vm-capture-1-data-3", "test-vm-capture-1-data-4" ] }'
Response
The percent completion for the current action
Current action performed for the volumes-clone request
Creation Date
Failure reason for a failed volumes-clone request
Last Update Date
Name assigned to a volumes-clone request
Current status of the volumes-clone request
ID assigned to a volumes-clone request
Status Code
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "action": "prepare", "creationDate": "2020-09-28T19:42:38.618Z", "lastUpdateDate": "2020-09-28T19:42:38.618Z", "name": "test1-Sep28", "percentComplete": 0, "status": "preparing", "volumesCloneID": "8553bb63-7eac-405c-af8c-ccfe71186ca8" }
Delete a volumes-clone request
DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Volumes Clone ID
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes-clone/{volumes_clone_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Get the details for a volumes-clone request
GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Volumes Clone ID
curl --location --request GET http://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes-clone/{volumes_clone_id} -H 'Authorization: Bearer <>' -H 'CRN:' -H 'Content-Type: application/json'
Response
The percent completion for the current action
Current action performed for the volumes-clone request
List of cloned volumes created from the volumes-clone request
Creation Date
Failure reason for a failed volumes-clone request
Last Update Date
Name assigned to a volumes-clone request
Current status of the volumes-clone request
ID assigned to a volumes-clone request
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "action": "execute", "clonedVolumes": [ { "clone": { "name": "clone-tim-xyz-23222-5", "volumeID": "38809cf7-0c9e-4c21-b4f5-b3b99305bf1a" }, "source": { "name": "tim-vm-capture-1-data-2", "volumeID": "f2e3d534-c2af-4ead-9ba5-54ccb43ead79" } }, { "clone": { "name": "clone-tim-xyz-23222-4", "volumeID": "920863d2-f6c1-4e21-8df5-d016bf6c10ef" }, "source": { "name": "tim-vm-capture-1-data-3", "volumeID": "bfa57ddb-dcfa-4aad-aee2-e63a95519a07" } }, { "clone": { "name": "clone-tim-xyz-23222-1", "volumeID": "67316c07-877f-4e2b-8126-dce1e1d36302" }, "source": { "name": "tim-test-capture-1-boot", "volumeID": "cf367e26-12b7-4870-9cf3-bf9a75e565ca" } }, { "clone": { "name": "clone-tim-xyz-23222-3", "volumeID": "3e2c0def-783d-426b-9121-56c7cfd313bb" }, "source": { "name": "tim-vm-capture-1-data-4", "volumeID": "3b58f6ee-095e-4e95-9c82-615a07e7d661" } }, { "clone": { "name": "clone-tim-xyz-23222-2", "volumeID": "d83b83e0-a8db-4ecd-a660-58fe13a12dba" }, "source": { "name": "tim-vm-capture-1-data-1", "volumeID": "d313abd1-827d-4803-9712-122aa9b667b7" } } ], "creationDate": "2020-09-28T19:42:38.618Z", "lastUpdateDate": "2020-09-28T19:49:03.914Z", "name": "test1-Sep28", "percentComplete": 100, "status": "completed", "volumesCloneID": "8553bb63-7eac-405c-af8c-ccfe71186ca8" }
Cancel a volumes-clone request
Initiates the cleanup action that performs the cleanup of the preparatory clones and snapshot volumes.
POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Volumes Clone ID
Parameters for cancelling a volumes-clone request
default False, Cancel will only be allowed if the status is 'prepared', or 'available' True, Cancel will be allowed when the status is NOT completed, cancelling, cancelled, or failed
curl --location --request POST http://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes-clone/{volumes_clone_id}/cancel -H 'Authorization: Bearer <>' -H 'CRN:' -H 'Content-Type: application/json' -d '{ "force": true }'
Response
The percent completion for the current action
Current action performed for the volumes-clone request
Creation Date
Failure reason for a failed volumes-clone request
Last Update Date
Name assigned to a volumes-clone request
Current status of the volumes-clone request
ID assigned to a volumes-clone request
Status Code
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "action": "cancel", "creationDate": "2020-09-28T20:09:33.829Z", "lastUpdateDate": "2020-09-28T20:16:31.950Z", "name": "test2-Sep28", "percentComplete": 0, "status": "cancelling", "volumesCloneID": "a4945ba6-5b4c-45b5-8312-485e3ac1ec3d" }
Initiate the Execute action for a volumes-clone request
Execute action creates the cloned volumes using the volume snapshots.
POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Volumes Clone ID
Parameters for the cloning of volumes
Base name of the new cloned volume(s). Cloned Volume names will be prefixed with 'clone-' and suffixed with '-#####' (where ##### is a 5 digit random number) If multiple volumes cloned they will be further suffixed with an incremental number starting with 1. Example volume names using name="volume-abcdef" single volume clone will be named "clone-volume-abcdef-83081" multi volume clone will be named "clone-volume-abcdef-73721-1", "clone-volume-abcdef-73721-2", ... For multiple volume clone, the provided name will be truncated to the first 20 characters.
default False, Execute failure rolls back clone activity but leaves prepared snapshot True, Execute failure rolls back clone activity and removes the prepared snapshot
Cloned volume will be non replication enabled if it is set to false. By default, the replication property of the source volume will be used to determine the replication property of the cloned target volume.
Target storage tier for the cloned volumes. Use to clone a set of volumes from one storage tier to a different storage tier. Cloned volumes must remain in the same storage pool as the source volumes.
curl --location --request POST http://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes-clone/{volumes_clone_id}/execute -H 'Authorization: Bearer <>' -H 'CRN:' -H 'Content-Type: application/json' -d '{ "name":"test-volume", "rollbackPrepare": false }'
Response
The percent completion for the current action
Current action performed for the volumes-clone request
Creation Date
Failure reason for a failed volumes-clone request
Last Update Date
Name assigned to a volumes-clone request
Current status of the volumes-clone request
ID assigned to a volumes-clone request
Status Code
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "action": "execute", "creationDate": "2020-09-28T19:42:38.618Z", "lastUpdateDate": "2020-09-28T19:47:04.309Z", "name": "test1-Sep28", "percentComplete": 0, "status": "executing", "volumesCloneID": "8553bb63-7eac-405c-af8c-ccfe71186ca8" }
Initiate the Start action for a volumes-clone request
Start action starts the consistency group to initiate the flash copy.
POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Volumes Clone ID
curl --location --request POST http://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes-clone/{volumes_clone_id}/start -H 'Authorization: Bearer <>' -H 'CRN:' -H 'Content-Type: application/json'
Response
The percent completion for the current action
Current action performed for the volumes-clone request
Creation Date
Failure reason for a failed volumes-clone request
Last Update Date
Name assigned to a volumes-clone request
Current status of the volumes-clone request
ID assigned to a volumes-clone request
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "action": "start", "creationDate": "2020-09-28T19:42:38.618Z", "lastUpdateDate": "2020-09-28T19:44:52.386Z", "name": "test1-Sep28", "percentComplete": 100, "status": "available", "volumesCloneID": "8553bb63-7eac-405c-af8c-ccfe71186ca8" }
Create a volume clone for specified volumes
POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the cloning of volumes
Base name of the new cloned volume(s). Cloned Volume names will be prefixed with 'clone-' and suffixed with '-#####' (where ##### is a 5 digit random number) If multiple volumes cloned they will be further suffixed with an incremental number starting with 1. Example volume names using name="volume-abcdef" single volume clone will be named "clone-volume-abcdef-83081" multi volume clone will be named "clone-volume-abcdef-73721-1", "clone-volume-abcdef-73721-2", ... For multiple volume clone, the provided name will be truncated to the first 20 characters.
List of volumes to be cloned
Cloned volume will be non replication enabled if it is set to false. By default, the replication property of the source volume will be used to determine the replication property of the cloned target volume.
Target storage tier for the cloned volumes. Use to clone a set of volumes from one storage tier to a different storage tier. Cloned volumes must remain in the same storage pool as the source volumes.
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/clone -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "name": "base-name", "volumeIDs": [ "3f3a0c29-d459-4397-920c-10e42eecb658", "my-data-volume"] }'
Response
ID of a long running PowerVC clone task
Link to PowerVC clone task resource
Status Code
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
href:"pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/clone-tasks/fe14b0f3-9027-41c0-b804-760bf95ffc1d" cloneTaskID:"fe14b0f3-9027-41c0-b804-760bf95ffc1d"
Get the status of a volumes clone request for the specified clone task ID
GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}
Request
Custom Headers
Allowable values: [
application/json
,percentComplete
,status
]
Path Parameters
Cloud Instance ID of a PCloud Instance
Volumes Clone Task ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/clone-tasks/{clone_task_id} \
Response
Snapshot completion percentage
Status of the clone volumes task
Possible values: [
running
,completed
,failed
,unknown
]List of cloned volumes created from the clone volumes task
The reason the clone volumes task has failed
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Internal Server Error
{ "clonedVolumes": [ { "clonedVolumeID": "d21f6941-aeb8-467e-9bd1-c11c0c34cd77", "sourceVolumeID": "3a70a152-c097-4892-914f-57e33aa8af10" }, { "clonedVolumeID": "a649a8dc-8191-490b-8a56-c1da40ae0529", "sourceVolumeID": "9af30313-79d5-4e40-bedf-8e4cd30fd3fb" } ] }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/sap -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
SAP Profiles
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "profiles": [ { "certified": true, "cores": 1, "fullSystemProfile": false, "memory": 4, "profileID": "test-1x4", "saps": 12000, "smtMode": 8, "supportedSystems": [ "e980" ], "type": "compute", "workloadTypes": [ "OLAP" ] }, { "certified": false, "cores": 16, "fullSYstemProfile": false, "memory": 1600, "profileID": "test-16x1600", "saps": 24000, "smtMode": 8, "supportedSystems": [ "e980" ], "type": "balanced", "workloadTypes": [ "OLAP" ] }, { "certified": false, "cores": 20, "fullSystemProfile": true, "memory": 2000, "profileID": "test-20x2000", "saps": 24000, "smtMode": 4, "supportedSystems": [ "e980" ], "type": "balanced", "workloadTypes": [ "OLAP", "OLTP" ] } ] }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a new SAP PVM Instance
Image ID of the sap image to use for the server
Name of the sap pvm-instance
The pvm instance networks information
SAP Profile ID for the amount of cores and memory
The deployment of a dedicated host
- deploymentTarget
The uuid of the host group or host
specify if deploying to a host group or a host
Allowable values: [
hostGroup
,host
]
Custom SAP Deployment Type Information (For Internal Use Only)
Specify PVM pin policy
Allowable values: [
none
,soft
,hard
]The placement group for the server
The name of the SSH Key to provide to the server for authenticating
The storage affinity data; ignored if storagePool is provided; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage pool the image was created in
- storageAffinity
PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and affinityVolume is not provided
Affinity policy for storage pool selection; ignored if storagePool provided; for policy 'affinity' requires one of affinityPVMInstance or affinityVolume to be specified; for policy 'anti-affinity' requires one of antiAffinityPVMInstances or antiAffinityVolumes to be specified
Allowable values: [
affinity
,anti-affinity
]Volume (ID or Name) to base storage affinity policy against; required if requesting storage affinity and affinityPVMInstance is not provided
List of pvmInstances to base storage anti-affinity policy against; required if requesting storage anti-affinity and antiAffinityVolumes is not provided
List of volumes to base storage anti-affinity policy against; required if requesting storage anti-affinity and antiAffinityPVMInstances is not provided
Storage Pool for server deployment; if provided then storageAffinity and storageType will be ignored; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage pool the image was created in
Storage type for server deployment; if storageType is not provided the storage type will default to 'tier3'.
System type used to host the instance. Only e880, e980, e1080 are supported
Cloud init user defined data; For FLS, only cloud-config instance-data is supported and data must not be compressed or exceed 63K
List of Volume IDs to attach to the pvm-instance on creation
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/sap -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "imageID": "01234567-abcd-abcd-abcd-012345678901", "name": "test-instance", "networks": [ { "networkID": "01234567-abcd-abcd-abcd-012345678902" } ], "pinPolicy": "none", "placementGroup": "01234567-abcd-abcd-abcd-012345678906", "profileID": "profile-name", "sshKeyName": "ssh-key-name", "storageAffinity": { "affinityPolicy": "anti-affinity", "antiAffinityPVMInstances": null, "antiAffinityVolumes": [ "01234567-abcd-abcd-abcd-012345678903" ] }, "storageType": "tier1", "sysType": "e980", "userData": "encoded-base64-user-data", "volumeIDs": [ "01234567-abcd-abcd-abcd-012345678904", "01234567-abcd-abcd-abcd-012345678905" ] }
Response
A list of PVMInstances
Size of allocated disk (in GB)
The ImageID used by the server
Amount of memory allocated (in GB)
(deprecated - replaced by networks) List of Network IDs
Type of the OS [aix, ibmi, rhel, sles, vtl, rhcos]
Processor type (dedicated, shared, capped)
Possible values: [
dedicated
,shared
,capped
,]
Number of processors allocated
PCloud PVM Instance ID
Name of the server
The status of the instance
Storage type where server is deployed
List of volume IDs
(deprecated - replaced by networks) The list of addresses and their network information
Console language and code
- consoleLanguage
language code
language description
Date/Time of PVM creation
The custom deployment type
Fault information (if occurred)
PVM's health status details
The PVM Instance Host ID (Internal Use Only)
The VTL license repository capacity TB value
Maximum amount of memory that can be allocated (in GB, for resize)
Maximum number of processors that can be allocated (for resize)
whether the instance can be migrated
Minimum amount of memory that can be allocated (in GB, for resize)
Minimum number of processors that can be allocated (for resize)
The pvm instance networks information
OS system information (usually version and build)
VM pinning policy to use [none, soft, hard]
The placement group of the server
The progress of an operation
If this is an SAP pvm-instance the profile reference will link to the SAP profile
- sapProfile
Link to SAP profile resource
SAP Profile ID
The shared processor pool of the server
The shared processor pool id
The pvm instance Software Licenses
- softwareLicenses
IBMi Cloud Storage Solution
IBMi Cloud Storage Solution
IBMi Power High Availability
IBMi Rational Dev Studio
IBMi Rational Dev Studio Number of User Licenses
The pvm instance SRC lists
Storage Pool where server is deployed
Indicates if all volumes attached to the server must reside in the same storage pool; Defaults to true when initially deploying a PVMInstance
System type used to host the instance
Represents the task state of a virtual machine (VM).
Date/Time of PVM last update
The pvm instance virtual CPU information
- virtualCores
The active virtual Cores
Possible values: value ≥ 1
The maximum DLPAR range for virtual Cores (Display only support)
The minimum DLPAR range for virtual Cores (Display only support)
Status Code
OK
Created
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
[ { "addresses": [ { "networkID": "26038c24-fdde-4982-8d86-eaf01ab0cf7d" } ], "creationDate": "1901-01-01T00:00:00.000Z", "diskSize": 100, "imageID": "ed37bc0b-1968-4d88-96a2-30fe4e977e1b", "memory": 4, "networkIDs": [ "26038c24-fdde-4982-8d86-eaf01ab0cf7d" ], "networks": [ { "networkID": "26038c24-fdde-4982-8d86-eaf01ab0cf7d" } ], "osType": "rhel", "pinPolicy": "none", "procType": "dedicated", "processors": 1, "pvmInstanceID": "72820ebc-97fb-4898-a763-4a6ccfc60dff", "sapProfile": { "href": "/pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/sap/tinytest-1x4", "profileID": "tinytest-1x4" }, "serverName": "test-rj-sap", "srcs": [], "status": "BUILDING", "storagePool": "Tier1-Flash-2", "storageType": "tier1", "sysType": "e980", "updatedDate": "1901-01-01T00:00:00.000Z", "volumeIDs": [] } ]
Get the information on an SAP profile
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}
Response
Has certification been performed on profile
Amount of cores
Amount of memory (in GB)
SAP Profile ID
Type of profile
Possible values: [
balanced
,compute
,memory
,non-production
,ultra-memory
,small
,SAP Rise Optimized
]Requires full system for deployment
SAP Application Performance Standard
Required smt mode for that profile
Possible values: [
4
,8
]List of supported systems
List of supported workload types
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
No Sample Response
Get the list of Shared Processor Pools for a cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/shared-processor-pools -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
list of Shared Processor Pools
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "sharedProcessorPools": [ { "allocatedCores": 5, "availableCores": 0, "hostGroup": "s922", "hostID": 308, "id": "5f0e3a10-0a33-4197-bb51-c9db4f530951", "name": "SPP1", "reservedCores": 5, "sharedProcessorPoolPlacementGroups": [ { "id": "ad20e260-b4cd-4d51-aad7-95f75487dc67", "name": "SPPPG4", "policy": "anti-affinity" }, { "id": "402f58c5-bbe5-4d07-9853-8a7bc6522717", "name": "SPPPG3", "policy": "affinity" } ], "status": "active", "statusDetail": "shared processor pool SPP1 is active" }, { "allocatedCores\"": 0, "availableCores": 4, "hostGroup": "e980", "hostID": 408, "id": "4f22601f-28e2-4eb3-b6ef-6d5a6328ea3b", "name": "spp_2", "reservedCores": 4, "sharedProcessorPoolPlacementGroups": [], "status": "active", "statusDetail": "shared processor pool spp_2 is active" } ] }
Create a new Shared Processor Pool
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a new Shared Processor Pool
The host group; a host from the group will be automatically selected based on available resources
The name of the Shared Processor Pool; minumum of 2 characters, maximum of 12, the only special character allowed is the underscore '_'.
The amount of reserved processor cores for the Shared Processor Pool; only integers allowed, no fractional values
The host id of a host in a host group (only available for dedicated hosts)
The ID of the placement group
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/shared-processor-pools -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "hostGroup": "string" "name": "string" "placementGroupID": "string" "reservedCores": 0 }'
Response
The amount of allocated processor cores for the Shared Processor Pool
The amount of available processor cores for the Shared Processor Pool
The id of the Shared Processor Pool
The name of the Shared Processor Pool
The amount of reserved processor cores for the Shared Processor Pool
The host group the host belongs to
The ID of the host where the Shared Processor Pool resides
list of Shared Processor Pool Placement Groups
The status of the Shared Processor Pool
The status details of the Shared Processor Pool
Status Code
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "id": "95e79570-1339-46da-9999-2a49ee141dda", "name": "SPP2", "reservedCores": 3, "status": "configuring", "statusDetail": "“configuration of shared processor pool SPP2 in progress”" }
Delete a Shared Processor Pool from a cloud instance
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Shared Processor Pool ID or Name
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/shared-processor-pools/${SPP_ID} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Get the detail of a Shared Processor Pool for a cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Shared Processor Pool ID or Name
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/shared-processor-pools/${SPP_ID} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
list of servers deployed in the Shared Processor Pool
- sharedProcessorPool
The amount of allocated processor cores for the Shared Processor Pool
The amount of available processor cores for the Shared Processor Pool
The id of the Shared Processor Pool
The name of the Shared Processor Pool
The amount of reserved processor cores for the Shared Processor Pool
The host group the host belongs to
The ID of the host where the Shared Processor Pool resides
list of Shared Processor Pool Placement Groups
The status of the Shared Processor Pool
The status details of the Shared Processor Pool
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "allocatedCores": 5, "availableCores": 0, "hostGroup": "s922", "hostID": 308, "id": "5f0e3a10-0a33-4197-bb51-c9db4f530951", "name": "SPP1", "reservedCores": 5, "sharedProcessorPoolPlacementGroups": [ { "id": "ad20e260-b4cd-4d51-aad7-95f75487dc67", "name": "SPPPG4", "policy": "anti-affinity" }, { "id": "402f58c5-bbe5-4d07-9853-8a7bc6522717", "name": "SPPPG3", "policy": "affinity" } ], "status": "active", "statusDetail": "shared processor pool SPP1 is active" }
Update a Shared Processor Pool for a cloud instance
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Shared Processor Pool ID or Name
Parameters for the update of a Shared Processor Pool
The new name for the Shared Processor Pool; minumum of 2 characters, maximum of 12, the only special character allowed is the underscore '_'.
The amount of reserved processor cores for the Shared Processor Pool; only integers allowed, no fractional values; the amount can be increased (dependent on available resources) or decreased (dependent on currently allocated resources)
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/shared-processor-pools/${SPP_ID} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "name": "string" "reservedCores": 0 }'
Response
The amount of allocated processor cores for the Shared Processor Pool
The amount of available processor cores for the Shared Processor Pool
The id of the Shared Processor Pool
The name of the Shared Processor Pool
The amount of reserved processor cores for the Shared Processor Pool
The host group the host belongs to
The ID of the host where the Shared Processor Pool resides
list of Shared Processor Pool Placement Groups
The status of the Shared Processor Pool
The status details of the Shared Processor Pool
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "allocatedCores": 6, "availableCores": 0, "hostGroup": "s922", "hostID": 308, "id": "5f0e3a10-0a33-4197-bb51-c9db4f530951", "name": "SPP_DB", "reservedCores": 6, "sharedProcessorPoolPlacementGroups": [], "status": "active", "statusDetail": "shared processor pool SPP1 is active" }
List all PVM instance snapshots for this cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/snapshots -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
List of PVM instance snapshots
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "snapshots": [ { "action": "snapshot1", "creationDate": "2022-08-16T08:02:05.000Z", "description": "test1", "lastUpdateDate": "2022-08-16T08:02:14.000Z", "name": "test-abc-snap1", "percentComplete": 100, "pvmInstanceID": "2eee5ae2-66d2-435d-8e8b-32f80a65df23", "snapshotID": "4f37a134-4822-4e86-b56b-d95e82cb056c", "status": "available", "volumeSnapshots": { "f57e242f-203d-4678-bde5-a8f1792e9117": "fa62198c-f614-4750-983a-671b67a38ef3" } }, { "action": "snapshot2", "creationDate": "2022-09-16T08:02:05.000Z", "description": "test2", "lastUpdateDate": "2022-09-16T08:02:14.000Z", "name": "test-abc-snap2", "percentComplete": 100, "pvmInstanceID": "3abc5bf3-66d2-435d-8e8b-33f80a65df24", "snapshotID": "5g48b245-4822-4e86-b56b-d95e82cc167d", "status": "available", "volumeSnapshots": { "g68f353g-203d-4678-bde5-a8f1792f0228": "gb73209d-f614-4750-983a-782c78b49ff4" } } ] }
Delete a PVM instance snapshot of a cloud instance
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PVM Instance snapshot id
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/snapshots/{snapshot_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Get the detail of a snapshot
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PVM Instance snapshot id
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/snapshots/{snapshot_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Name of the PVM instance snapshot
PCloud PVM Instance ID
ID of the PVM instance snapshot
A map of volume snapshots included in the PVM instance snapshot
- volumeSnapshots
a volume snapshot ID
Action performed on the instance snapshot
Creation Date
Description of the PVM instance snapshot
Last Update Date
Snapshot completion percentage
Status of the PVM instancesnapshot
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "snapshots": [ { "action": "snapshot", "creationDate": "2022-08-16T08:02:05.000Z", "description": "test", "lastUpdateDate": "2022-08-16T08:02:14.000Z", "name": "test-abcd-snap", "percentComplete": 100, "pvmInstanceID": "2eee5ae2-66d2-435d-8e8b-32f80a65df23", "snapshotID": "4f37a134-4822-4e86-b56b-d95e82cb056c", "status": "available", "volumeSnapshots": { "f57e242f-203d-4678-bde5-a8f1792e9117": "fa62198c-f614-4750-983a-671b67a38ef3" } }, { "action": "snapshot", "creationDate": "2022-08-16T08:13:25.000Z", "description": "test1", "lastUpdateDate": "2022-08-16T08:13:34.000Z", "name": "test-abcd-snap1", "percentComplete": 100, "pvmInstanceID": "2eee5ae2-66d2-435d-8e8b-32f80a65df23", "snapshotID": "59cadf8d-e553-4509-81f4-2889f2a21104", "status": "available", "volumeSnapshots": { "f57e242f-203d-4678-bde5-a8f1792e9117": "c37a50dc-cda3-4cba-8254-2cc8b8ee806" } } ] }
Update a PVM instance snapshot
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
PVM Instance snapshot id
Parameters for the update of a PVM instance snapshot
Description of the PVM instance snapshot
Name of the PVM instance snapshot
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/snapshots/{snapshot_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "name": "name-change", "description": "eescription-change" }'
Get the list of Shared Processor Pool Placement Groups for a cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups
Response
list of Shared Processor Pool Placement Groups
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "sppPlacementGroups": [ { "id": "95445036-ee96-454d-869e-535ddc45c4a1", "memberSharedProcessorPools": [], "name": "SPG_Anti", "policy": "anti-affinity" }, { "id": "402f58c5-bbe5-4d07-9853-8a7bc6522717", "memberSharedProcessorPools\"": [ "SPP1" ], "name": "SPPPG3", "policy\"": "affinity" } ] }
Create a new Shared Processor Pool Placement Group
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a Shared Processor Pool Placement Group
The name of the Shared Processor Pool Placement Group; minimum of 2 characters, maximum of 12, the only special character allowed is the underscore '_'.
The placement group policy
Allowable values: [
affinity
,anti-affinity
]
Response
The id of the Shared Processor Pool Placement Group
The name of the Shared Processor Pool Placement Group
The Shared Processor Pool Placement Group policy
The list of Shared Processor Pool names that are a member of the Shared Processor Pool Placement Group
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "id": "95445036-ee96-454d-869e-535ddc45c4a1", "memberSharedProcessorPools": [], "name": "Tim_Anti", "policy": "anti-affinity" }
Delete a Shared Processor Pool Placement Group from a cloud instance
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}
Get the detail of a Shared Processor Pool Placement Group for a cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Shared Processor Pool Placement Group ID or Name
Response
The id of the Shared Processor Pool Placement Group
The name of the Shared Processor Pool Placement Group
The Shared Processor Pool Placement Group policy
The list of Shared Processor Pool names that are a member of the Shared Processor Pool Placement Group
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "id": "95445036-ee96-454d-869e-535ddc45c4a1", "memberSharedProcessorPools": [], "name": "Tim_Anti", "policy": "anti-affinity" }
Delete Shared Processor Pool member from a Shared Processor Pool Placement Group
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Shared Processor Pool Placement Group ID or Name
Shared Processor Pool ID or Name
Response
The id of the Shared Processor Pool Placement Group
The name of the Shared Processor Pool Placement Group
The Shared Processor Pool Placement Group policy
The list of Shared Processor Pool names that are a member of the Shared Processor Pool Placement Group
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Internal Server Error
{ "id": "95445036-ee96-454d-869e-535ddc45c4a1", "memberSharedProcessorPools": [], "name": "Tim_Anti", "policy": "anti-affinity" }
Add Shared Processor Pool as a member of a Shared Processor Pool Placement Group
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Shared Processor Pool Placement Group ID or Name
Shared Processor Pool ID or Name
Response
The id of the Shared Processor Pool Placement Group
The name of the Shared Processor Pool Placement Group
The Shared Processor Pool Placement Group policy
The list of Shared Processor Pool names that are a member of the Shared Processor Pool Placement Group
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "id": "95445036-ee96-454d-869e-535ddc45c4a1", "memberSharedProcessorPools": [ "SPP1" ], "name": "Tim_Anti", "policy": "anti-affinity" }
Storage capacity for all available storage pools in a region
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl --location --request GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/storage-capacity/storage-pools -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Storage capacity for all storage pools
maximum storage allocation
- maximumStorageAllocation
Maximum allocation storage size (GB)
Storage pool
Storage type
Storage pool capacity
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "maximumStorageAllocation": { "maxAllocationSize": 147401, "storagePool": "Tier1-Pool-1", "storageType": "tier1" }, "storagePoolsCapacity": [ { "maxAllocationSize": 7680, "poolName": "Tier1-Pool-cp1", "storageType": "tier1", "totalCapacity": 10240 }, { "maxAllocationSize": 147401, "poolName": "Tier1-Pool-1", "storageType": "tier1", "totalCapacity": 182906 }, { "maxAllocationSize": 9214, "poolName": "Tier3-Pool-cp2", "storageType": "tier3", "totalCapacity": 10240 } ] }
Storage capacity for a storage pool in a region
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Storage pool name
curl --location --request GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/storage-capacity/storage-pools/Tier1-Pool-cp1' -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Storage pool capacity
Maximum allocation storage size (GB)
Available/Unused pool capacity (GB)
Pool name
true if storage-pool is replication enabled and can be used to manage replication enabled volumes
Storage host/controller for this storage pool
Storage type of the storage pool
Total pool capacity (GB)
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "maxAllocationSize": 7680, "poolName": "Tier1-Pool-cp1", "storageType": "tier1", "totalCapacity": 10240 }
Storage capacity for all available storage types in a region
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types
Storage capacity for a storage type in a region
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Storage type name
curl --location --request GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/storage-capacity/storage-types/tier3 -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Storage type capacity
maximum storage allocation
- maximumStorageAllocation
Maximum allocation storage size (GB)
Storage pool
Storage type
List of storage pool capacity for storage type
Storage type
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
No Sample Response
List all supported storage tiers for this cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl --location --request GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/storage-tiers -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
An array of of storage tiers supported in a region
Description, storage tier label
Name of the storage tier
State of the storage tier (active or inactive)
Possible values: [
active
,inactive
]
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
[ { "description": "Tier0 - 25 iops/gb", "name": "tier0", "state": "active" }, { "description": "Tier1 - 10 iops/gb", "name": "tier1", "state": "active" }, { "description": "Tier3 - 3 iops/gb", "name": "tier3", "state": "active" }, { "description": "Tier5k - 5000 iops", "name": "tier5k", "state": "active" } ]
List of available system pools within a particular DataCenter
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/system-pools -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
List of available system pools within a particular DataCenter
Hardware platform detailing its limits and statistics
- any property
Advertised capacity cores and memory (GB)
- capacity
The host available Processor units
The host total RAM memory in GiB
The host available Processor units
The host available RAM memory in GiB
The host identifier
The host total usable Processor units
The host total usable RAM memory in GiB
Total number of physical cores in the Pod
Total amount of physical memory in the Pod (GB)
Core allocation increment
Processor to Memory (GB) Ratio
Maximum configurable cores and memory (GB) (aggregated from all hosts)
- maxAvailable
The host available Processor units
The host total RAM memory in GiB
The host available Processor units
The host available RAM memory in GiB
The host identifier
The host total usable Processor units
The host total usable RAM memory in GiB
Total number of physical cores in the Pod
Total amount of physical memory in the Pod (GB)
Maximum configurable cores available combined with available memory of that host
- maxCoresAvailable
The host available Processor units
The host total RAM memory in GiB
The host available Processor units
The host available RAM memory in GiB
The host identifier
The host total usable Processor units
The host total usable RAM memory in GiB
Total number of physical cores in the Pod
Total amount of physical memory in the Pod (GB)
Maximum configurable memory available combined with available cores of that host
- maxMemoryAvailable
The host available Processor units
The host total RAM memory in GiB
The host available Processor units
The host available RAM memory in GiB
The host identifier
The host total usable Processor units
The host total usable RAM memory in GiB
Total number of physical cores in the Pod
Total amount of physical memory in the Pod (GB)
min-max-default allocation percentage of shared core per vCPU
- sharedCoreRatio
default value
max value
min value
The DataCenter list of servers and their available resources
Type of system hardware
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
No Sample Response
List all retained VSNs this cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/virtual-serial-number
Response
An array of retained VSNs
Description of the retained VSN
HostID of the retained VSN
ID of the retained VSN
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
[ { "description": "Retained VSN for VM1", "host": "9040MR9_13032AX", "virtual-serial-number": "VSPVCZ0" }, { "description": "Retained VSN for VM2", "host": "9040MR9_13032AX", "virtual-serial-number": "VSPVCZ1" }, { "description": "Retained VSN for VM3", "host": "9040MR9_13032AX", "virtual-serial-number": "VSPVCZ2" } ]
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volume-groups -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
The list of volume groups
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "volumeGroups": [ { "consistencyGroupName": "rccg-36e8-543wa", "id": "7e34b8a2-5101-43e6-b0cd-906667f2f0as", "name": "VG-Test-1", "replicationStatus": "enabled", "status": "available", "statusDescription": { "errors": [] } }, { "consistencyGroupName": "rccg-987e-1161as", "id": "987e4439-eb01-43c1-b922-7c9d644116112", "name": "VG-Test-2", "replicationStatus": "enabled", "status": "error", "statusDescription": { "errors": [ { "key": "VOL-NOT-IN-GROUP", "message": "Failed to add volume to CG rccg-987e-1161as because volume aaaca558-3dc9-4956-8980-6f4a5496eb03 is already part of CG rccg-36e8-543ui.", "volIDs": [ "aaaca558-3dc9-4956-8980-6f4a5496eb56" ] } ] } } ] }
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a new volume group
List of volume IDs,members of VolumeGroup
The name of consistencyGroup at storage controller level. This is required to onboard existing volume group on the target site for DR set up; name and consistencyGroupName are mutually exclusive.
The name of the volume group. This field is required for creation of new volume group; name and consistencyGroupName are mutually exclusive.
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volume-groups -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "consistencyGroupName": "string", "name": "strin", volumeIDs: [“string-1”,”string-2”] }'
Response
The ID of the volume group
The name of the volume group
Status of the volume group
Status details of the volume group
Status Code
Accepted
Partial Content
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
Gateway Timeout. Request is still processing and taking longer than expected.
{ "id": "83f31c4c-ffdb-4af3-8e19-5a836b6d6634", "name": "test-volume-group-1", "status": "available" }
Get all volume groups with details
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volume-groups/details -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
The list of volume groups with details
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "volumeGroups": [ { "consistencyGroupName": "rccg-36e8-543wa", "id": "36e83257-f7f5-4848-96f6-47a7b4e54323", "name": "VG-Test-1", "replicationStatus": "enabled", "status": "available", "statusDescription": { "errors": [] }, "volumeIDs": [ "1711cbc9-3456-42ef-a9c0-b2373561147b", "4356217e-af84-4579-b419-497b4cddc751" ] }, { "consistencyGroupName": "rccg-987e-1161as", "id": "987e4439-eb01-43c1-b922-7c9d644116112", "name": "VG-Test-2", "replicationStatus": "enabled", "status": "error", "statusDescription": { "errors": [ { "key": "VOL-NOT-IN-GROUP", "message": "Failed to add volume to CG rccg-987e-1161as because volume aaaca558-3dc9-4956-8980-6f4a5496eb03 is already part of CG rccg-36e8-543ui.", "volIDs": [ "aaaca558-3dc9-4956-8980-6f4a5496eb56" ] } ] }, "volumeIDs": [] } ] }
Delete a cloud instance volume group
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
The ID of the volume group
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volume-groups/{VOLUME_GROUP_ID} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
The ID of the volume group
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volume-groups/{VOLUME_GROUP_ID} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
The ID of the volume group
The name of the volume group
Indicates whether the volume group is for auxiliary volumes or master volumes
The name of consistencyGroup at storage host level
Indicates the replication site of the volume group
Replication status of volume group
Status of the volume group
Status details of the volume group
- statusDescription
List of descriptive error messages.
Indicates the storage pool of the volume group
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "consistencyGroupName": "rccg-36e8-543wa", "id": "7e34b8a2-5101-43e6-b0cd-906667f2f0as", "name": "VG-Test-1", "replicationStatus": "enabled", "status": "available", "statusDescription": { "errors": [] } }
updates the volume group
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
The ID of the volume group
Parameters for updating a volume-group
List of volume IDs to add to the volume-group
List of volume IDs to remove from the volume-group
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volume-groups/{VOLUME_GROUP_ID} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "addVolumes": [“string-1”,”string-2”], "removeVolumes": [“string-1”,”string-2”] }'
Perform an action on a volume group
Corresponding actions are 'start', 'stop', 'reset'
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
The ID of the volume group
Parameters for the desire action.
Performs reset action on the volume group to update its status value
Performs start action on a volume group
Performs stop action on a volume group
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volume-groups/{VOLUME_GROUP_ID}/action -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "reset": "status": "available" }'
Get volume Group details
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
The ID of the volume group
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volume-groups/{VOLUME_GROUP_ID}/details -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
The ID of the volume group
The name of the volume group
Indicates whether the volume group is for auxiliary volumes or master volumes
The name of volume group at storage host level
Indicates the replication site of the volume group
Replication status of volume group
Status of the volume group
Status details of the volume group
- statusDescription
List of descriptive error messages.
Indicates the storage pool of the volume group
List of volume IDs,member of VolumeGroup
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "consistencyGroupName": "rccg-36e8-543wa", "id": "36e83257-f7f5-4848-96f6-47a7b4e54323", "name": "VG-Test-1", "replicationStatus": "enabled", "status": "available", "statusDescription": { "errors": [] }, "volumeIDs": [ "1711cbc9-3456-42ef-a9c0-b2373561147b", "4356217e-af84-4579-b419-497b4cddc751" ] }
Get remote copy relationships of the volume belonging to volume group
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
The ID of the volume group
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volume-groups/{VOLUME_GROUP_ID}/remote-copy-relationships -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
The ID of the volume group
List of remote copy relationships
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Too Many Requests
Internal Server Error
{ "id": "af9e9d1c-c8c9-4f44-8dd9-1831d3524333", "remoteCopyRelationships": [ { "auxChangedVolumeName": "chg_aux_volume-test_vg-vol-3-7066e348-cc1c1210664", "auxVolumeName": "aux_volume-test_vg-vol-3-7066e348-cc1c1210664", "consistencyGroupName": "rccg-af9e-243dd", "copyType": "global", "cyclingMode": "multi", "freezeTime": "2022-06-09T14:46:59.000Z", "masterChangedVolumeName": "chg_volume-test_vg-vol-3-7066e348-cc1c", "masterVolumeName": "volume-test_vg-vol-3-7066e348-cc1c", "name": "rcrel490", "primaryRole": "master", "progress": 100, "remoteCopyID": "1050", "state": "consistent_copying" }, { "auxChangedVolumeName": "chg_aux_volume-test_vg-vol-4-0a40be7a-21b31210664", "auxVolumeName": "aux_volume-test_vg-vol-4-0a40be7a-21b31210664", "consistencyGroupName": "rccg-af9e-243dd", "copyType": "global", "cyclingMode": "multi", "freezeTime": "2022-06-09T14:46:59.000Z", "masterChangedVolumeName": "chg_volume-test_vg-vol-4-0a40be7a-21b3", "masterVolumeName": "volume-test_vg-vol-4-0a40be7a-21b3", "name": "rcrel499", "primaryRole": "master", "progress": 100, "remoteCopyID": "1099", "state": "consistent_copying" } ] }
Get storage details of volume group
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
The ID of the volume group
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volume-groups/{VOLUME_GROUP_ID}/storage-details -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
The name of consistency group at storage controller level
Indicates the minimum period in seconds between multiple cycles
Indicates the type of cycling mode used
Number of volumes in volume group
Indicates whether master/aux volume is playing the primary role
List of remote-copy relationship names in a volume group
Type of replication(metro,global)
Indicates the relationship state
Indicates whether the relationship is synchronized
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Too Many Requests
Internal Server Error
{ "consistencyGroupName": "rccg-15da-98ecc", "cyclePeriodSeconds": 500, "cyclingMode": "multi", "numOfvols": 2, "remoteCopyRelationshipNames": [ "rcrel999", "rcrel1100" ], "replicationType": "global", "state": "idling", "sync": "out_of_sync" }
List all volume onboardings for this cloud instance
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/onboarding -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
The list of volume onboardings
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "onboardings": [ { "description": "onboardingDemo1", "id": "845e40d3-035d-499a-a147-02e2adf8123", "inputVolumes": [ "aux_volume-vol-demo15-a608b408-051c", "aux_volume-vol-demo16-a608b408-051c" ], "status": "SUCCESS" }, { "description": "onboardingDemo2", "id": "0bd0c4a7-df48-4b82-8aa2-31e267cdc213", "inputVolumes": [ "aux_volume-vol-demo17-a608b408-051c", "aux_volume-vol-demo10-a608b408-051c" ], "status": "REVERTED" } ] }
Onboard auxiliary volumes to target site
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of volume onboarding
- Volumes
- auxiliaryVolumes
auxiliary volume name at storage host level
display name of auxVolumeName once onboarded,auxVolumeName will be set to display name if not provided.
CRN of source ServiceBroker instance from where auxiliary volumes need to be onboarded
Description of the volume onboarding operation
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/onboarding -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "Volumes": - "auxiliaryVolumes": - "auxVolumeName": "string" "name": "string" "sourceCRN": "string" "description": "string" }'
Get the information of volume onboarding operation
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Indicates volume onboarding operation id
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/onboarding/{VOLUME_ONBOARDING_ID} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Indicates the volume onboarding operation id
Indicates the create-time of volume onboarding operation
Indicates the progress of volume onboarding operation
- results
List of volumes which are onboarded successfully
- volumeOnboardingFailures
The failure reason for the volumes which have failed to be onboarded
List of volumes which have failed to be onboarded
Description of the volume onboarding operation
List of volumes requested to be onboarded
Indicates the status of volume onboarding operation
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "creationTimestamp": "2022-09-03T11:37:42.000Z", "description": "onboardingDemo1", "id": "76ab88a3-8078-4a69-abff-31cafd1f96qq", "inputVolumes": [ "aux_vol-1-80ed3950-ae0044275619", "aux_vol-2-80ed3950-ae0044275619" ], "progress": 100, "results": { "onboardedVolumes": [], "volumeOnboardingFailures": [ { "failureMessage": "Unauthorized onboard of auxiliary volumes.", "volumes": [ "aux_DRVMTest-29e8ee86-000037b0-boot-0-0e71999a-857a44275619", "aux_volume-vol-demo-test-99593-3-5414edfc-e1f144275619" ] } ] }, "status": "REVERTED" }
Get all IKE Policies
List all IKE Policies with all attributes
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/ike-policies -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
IKE Policies array
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "ikePolicies": { "authentication": "sha1", "dhGroup": "19,", "encryption": "3des-cbc", "id": "7edc8988-eb18-4b5c-a594-0d73d8254463", "keyLifetime": 28800, "name": "ikePolicy1", "version": 2 } }
Add IKE Policy
Add a new IKE Policy
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a new IKE Policy
DH group of the IKE Policy
Allowable values: [
1
,2
,5
,14
,19
,20
,24
]Example:
2
encryption of the IKE Policy
Allowable values: [
aes-256-cbc
,aes-192-cbc
,aes-128-cbc
,aes-256-gcm
,aes-128-gcm
,3des-cbc
]Example:
aes-256-cbc
Policy key lifetime
Possible values: 180 ≤ value ≤ 86400
Example:
28800
name of the IKE Policy
Possible values: 1 ≤ length ≤ 47
Example:
ikePolicy1
Preshared key used in this IKE Policy (length of preshared key must be even)
version of the IKE Policy
Allowable values: [
1
,2
]Example:
2
authentication of the IKE policy
Allowable values: [
sha-256
,sha-384
,sha1
,none
]Example:
sha-256
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/vpn/ike-policies -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "authentication": "sha1", "dhGroup": 19, "encryption": "3des-cbc", "keyLifetime": 28800, "name": "ikePolicy1", "presharedKey": "string", "version": 2 }'
Response
IKE Policy object
authentication of the IKE policy
Possible values: [
sha-256
,sha-384
,sha1
,none
]Example:
sha-256
DH group of the IKE Policy
Possible values: [
1
,2
,5
,14
,19
,20
,24
]Example:
2
encryption of the IKE Policy
Possible values: [
aes-256-cbc
,aes-192-cbc
,aes-128-cbc
,aes-256-gcm
,aes-128-gcm
,3des-cbc
]Example:
aes-256-cbc
unique identifier of the IKE Policy object
Example:
7edc8988-eb18-4b5c-a594-0d73d8254463
Policy key lifetime
Possible values: 180 ≤ value ≤ 86400
Example:
28800
name of the IKE Policy
Example:
ikePolicy1
version of the IKE Policy
Possible values: [
1
,2
]Example:
2
Status Code
OK
Bad Request
Unauthorized
Forbidden
Conflict
Unprocessable Entity
Internal Server Error
{ "authentication": "sha1", "dhGroup": 19, "encryption": "3des-cbc", "id": "7edc8988-eb18-4b5c-a594-0d73d8254463", "keyLifetime": 28800, "name": "ikePolicy1", "version": 2 }
Delete IKE Policy
Delete an IKE Policy (by its unique identifier)
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}
Get the specified IKE Policy
Get an IKE Policy (by its unique identifier)
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a IKE Policy
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/ike-policies/{ike_policy_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
IKE Policy object
authentication of the IKE policy
Possible values: [
sha-256
,sha-384
,sha1
,none
]Example:
sha-256
DH group of the IKE Policy
Possible values: [
1
,2
,5
,14
,19
,20
,24
]Example:
2
encryption of the IKE Policy
Possible values: [
aes-256-cbc
,aes-192-cbc
,aes-128-cbc
,aes-256-gcm
,aes-128-gcm
,3des-cbc
]Example:
aes-256-cbc
unique identifier of the IKE Policy object
Example:
7edc8988-eb18-4b5c-a594-0d73d8254463
Policy key lifetime
Possible values: 180 ≤ value ≤ 86400
Example:
28800
name of the IKE Policy
Example:
ikePolicy1
version of the IKE Policy
Possible values: [
1
,2
]Example:
2
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{ "ikePolicies": [ { "authentication": "sha1", "dhGroup": 19, "encryption": "3des-cbc", "id": "7edc8988-eb18-4b5c-a594-0d73d8254463", "keyLifetime": 28800, "name": "ikePolicy1", "version": 2 } ] }
Update IKE Policy
update an IKE Policy (by its unique identifier)
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a IKE Policy
Parameters for updating IKE Policy
authentication of the IKE policy
Allowable values: [
sha-256
,sha-384
,sha1
,none
]Example:
sha-256
DH group of the IKE Policy
Allowable values: [
1
,2
,5
,14
,19
,20
,24
]Example:
2
encryption of the IKE Policy
Allowable values: [
aes-256-cbc
,aes-192-cbc
,aes-128-cbc
,aes-256-gcm
,aes-128-gcm
,3des-cbc
]Example:
aes-256-cbc
Policy key lifetime
Possible values: 180 ≤ value ≤ 86400
Example:
28800
name of the IKE Policy
Possible values: 1 ≤ length ≤ 47
Example:
ikePolicy1
Preshared key used in this IKE Policy (length of preshared key must be even)
version of the IKE Policy
Allowable values: [
1
,2
]Example:
2
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/ike-policies/{ike_policy_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "authentication": "sha1", "dhGroup": 19, "encryption": "3des-cbc", "keyLifetime": 28800, "name": "ikePolicy1", "presharedKey": "string", "version": 2 }'
Response
IKE Policy object
authentication of the IKE policy
Possible values: [
sha-256
,sha-384
,sha1
,none
]Example:
sha-256
DH group of the IKE Policy
Possible values: [
1
,2
,5
,14
,19
,20
,24
]Example:
2
encryption of the IKE Policy
Possible values: [
aes-256-cbc
,aes-192-cbc
,aes-128-cbc
,aes-256-gcm
,aes-128-gcm
,3des-cbc
]Example:
aes-256-cbc
unique identifier of the IKE Policy object
Example:
7edc8988-eb18-4b5c-a594-0d73d8254463
Policy key lifetime
Possible values: 180 ≤ value ≤ 86400
Example:
28800
name of the IKE Policy
Example:
ikePolicy1
version of the IKE Policy
Possible values: [
1
,2
]Example:
2
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{ "authentication": "sha1", "dhGroup": 19, "encryption": "3des-cbc", "id": "7edc8988-eb18-4b5c-a594-0d73d8254463", "keyLifetime": 28800, "name": "ikePolicy1", "version": 2 }
Get all IPSec Policies
Get all IPSec Policies with all their attributes
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/ipsec-policies -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
IPSec Policies array
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "ipSecPolicies": { "authentication": "hmac-md5-96", "dhGroup": 2, "encryption": "3des-cbc", "id": "6edc8988-eb18-4b5c-a594-0d73d8254463", "keyLifetime": 28800, "name": "ipSecPolicy2", "pfs": true } }
Add IPSec Policy
Add a new IPSec Policy
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
Parameters for the creation of a new IPSec Policy
Diffie-Hellman group
Allowable values: [
1
,2
,5
,14
,19
,20
,24
]Example:
2
connection encryption policy
Allowable values: [
aes-256-cbc
,aes-192-cbc
,aes-128-cbc
,aes-256-gcm
,aes-192-gcm
,aes-128-gcm
,3des-cbc
]Example:
aes-256-cbc
Policy key lifetime
Possible values: 180 ≤ value ≤ 86400
Example:
28800
IPSec Policy name
Possible values: 1 ≤ length ≤ 47
Example:
ipSecPolicy2
Perfect Forward Secrecy
Example:
true
authentication for IPSec policy
Allowable values: [
hmac-sha-256-128
,hmac-sha1-96
,none
]Example:
hmac-sha-256-128
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/vpn/ipsec-policies -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "authentication": "hmac-md5-96", "dhGroup": 2, "encryption": "3des-cbc", "keyLifetime": 28800, "name": "ipSecPolicy2", "pfs": true }'
Response
IPSec Policy object
authentication for IPSec policy
Possible values: [
hmac-sha-256-128
,hmac-sha1-96
,none
]Example:
hmac-sha-256-128
Diffie-Hellman group
Possible values: [
1
,2
,5
,14
,19
,20
,24
]Example:
2
connection encryption policy
Possible values: [
aes-256-cbc
,aes-192-cbc
,aes-128-cbc
,aes-256-gcm
,aes-192-gcm
,aes-128-gcm
,3des-cbc
]Example:
aes-256-cbc
unique identifier of the IPSec Policy
Example:
6edc8988-eb18-4b5c-a594-0d73d8254463
Policy key lifetime
Possible values: 180 ≤ value ≤ 86400
Example:
28800
IPSec Policy name
Example:
ipSecPolicy2
Perfect Forward Secrecy
Example:
true
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "authentication": "hmac-md5-96", "dhGroup": 2, "encryption": "3des-cbc", "id": "6edc8988-eb18-4b5c-a594-0d73d8254463", "keyLifetime": 28800, "name": "ipSecPolicy2", "pfs": true }
Delete IPSec Policy
Delete an IPSec Policy (by its unique identifier)
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a IPSec Policy
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/vpn/ipsec-policies/{ipsec_policy_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Get the specified IPSec Policy
Get an IPSec Policy (by its unique identifier)
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a IPSec Policy
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/ipsec-policies/{ipsec_policy_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
IPSec Policy object
authentication for IPSec policy
Possible values: [
hmac-sha-256-128
,hmac-sha1-96
,none
]Example:
hmac-sha-256-128
Diffie-Hellman group
Possible values: [
1
,2
,5
,14
,19
,20
,24
]Example:
2
connection encryption policy
Possible values: [
aes-256-cbc
,aes-192-cbc
,aes-128-cbc
,aes-256-gcm
,aes-192-gcm
,aes-128-gcm
,3des-cbc
]Example:
aes-256-cbc
unique identifier of the IPSec Policy
Example:
6edc8988-eb18-4b5c-a594-0d73d8254463
Policy key lifetime
Possible values: 180 ≤ value ≤ 86400
Example:
28800
IPSec Policy name
Example:
ipSecPolicy2
Perfect Forward Secrecy
Example:
true
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{ "ipSecPolicies": [ { "authentication": "hmac-md5-96", "dhGroup": 2, "encryption": "3des-cbc", "id": "6edc8988-eb18-4b5c-a594-0d73d8254463", "keyLifetime": 28800, "name": "ipSecPolicy2", "pfs": true } ] }
Update IPSec Policy
update an IPSec Policy
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a IPSec Policy
Parameters for the update of an IPSec Policy
authentication for IPSec policy
Allowable values: [
hmac-sha-256-128
,hmac-sha1-96
,none
]Example:
hmac-sha-256-128
Diffie-Hellman group
Allowable values: [
1
,2
,5
,14
,19
,20
,24
]Example:
2
connection encryption policy
Allowable values: [
aes-256-cbc
,aes-192-cbc
,aes-128-cbc
,aes-256-gcm
,aes-192-gcm
,aes-128-gcm
,3des-cbc
]Example:
aes-256-cbc
Policy key lifetime
Possible values: 180 ≤ value ≤ 86400
Example:
28800
IPSec Policy name
Possible values: 1 ≤ length ≤ 47
Example:
ipSecPolicy2
Perfect Forward Secrecy
Example:
true
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/ipsec-policies/{ipsec_policy_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "authentication": "hmac-md5-96", "dhGroup": 2, "encryption": "3des-cbc", "keyLifetime": 28800, "name": "ipSecPolicy2", "pfs": true }'
Response
IPSec Policy object
authentication for IPSec policy
Possible values: [
hmac-sha-256-128
,hmac-sha1-96
,none
]Example:
hmac-sha-256-128
Diffie-Hellman group
Possible values: [
1
,2
,5
,14
,19
,20
,24
]Example:
2
connection encryption policy
Possible values: [
aes-256-cbc
,aes-192-cbc
,aes-128-cbc
,aes-256-gcm
,aes-192-gcm
,aes-128-gcm
,3des-cbc
]Example:
aes-256-cbc
unique identifier of the IPSec Policy
Example:
6edc8988-eb18-4b5c-a594-0d73d8254463
Policy key lifetime
Possible values: 180 ≤ value ≤ 86400
Example:
28800
IPSec Policy name
Example:
ipSecPolicy2
Perfect Forward Secrecy
Example:
true
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "authentication": "hmac-md5-96", "dhGroup": 2, "encryption": "3des-cbc", "id": "6edc8988-eb18-4b5c-a594-0d73d8254463", "keyLifetime": 28800, "name": "ipSecPolicy2", "pfs": true }
Get all VPN Connections
Get all VPN Connections
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/vpn-connections -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
an array of VPN Connections
Examples:[ { "deadPeerDetection": { "action": "restart", "interval": 10, "threshold": 5 }, "id": "123e4567-e89b-12d3-a456-42661475", "ikePolicy": { "id": "7654e321-e89b-12d3-a456-4566447", "name": "IKE Policy 3" }, "ipSecPolicy": { "id": "456f7890-e89b-12d3-a456-4569934", "name": "IPSec Policy 2" }, "localGatewayAddress": "192.168.1.1", "mode": "route", "name": "VPN Connection 2", "peerGatewayAddress": "192.168.44.1", "peerSubnets": [ "128.169.1.0/24", "128.168.1.0/27" ], "status": "Active", "vpnGatewayAddress": "192.168.24.1" } ]
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "vpnConnections": [ { "deadPeerDetection": { "action": "restart", "interval": 10, "threshold": 5 }, "id": "e4111a8eb2374b3eb317a6b8f3fe263d", "ikePolicy": { "id": "d1c0a9508e724cf4b93a06cda0c3a415", "name": "ui-test-updated" }, "ipSecPolicy": { "id": "7ed08c4227284d4cba853c8968f18202", "name": "ipsec-policy-ui-test-1" }, "localGatewayAddress": "169.48.225.198", "mode": "route", "name": "vpn-connection-1", "networkIDs": [ "d603cf33-3d4e-4e2b-b6ed-f846ee6b5831" ], "peerGatewayAddress": "1.1.1.1", "peerSubnets": [ "128.197.11.0/24" ], "status": "active", "vpnGatewayAddress": "169.48.225.198" } ] }
Create VPN Connection
Create a new VPN Connection
POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
VPN Connection object used for creation
unique identifier of IKEPolicy selected for this VPNConnection
Example:
c36723ec-8593-11eb-8dcd-0242ac133853
unique identifier of IPSecPolicy selected for this VPNConnection
Example:
c12345d-8593-11eb-8dcd-0242ac134573
Mode used by this VPNConnection, either policy-based, or route-based, this attribute is set at the creation and cannot be updated later.
Allowable values: [
policy
,route
]Example:
policy
VPN Connection name
Example:
VPN-Connection-1
an array of network IDs to attach to this VPNConnection
Examples:[ "7f950c76-8582-11veb-8dcd-0242ac153", "7f950c76-8582-11veb-8dcd-0242ac144", "7f950c76-8582-11veb-8dcd-0242ac199" ]
IP address of the Peer Gateway attached to this VPNConnection
Example:
192.168.1.1
an array of strings containing CIDR of peer subnets
Examples:[ "128.170.1.0/20", "128.169.1.0/24", "128.168.1.0/27", "128.170.1.0/32" ]
Response
Dead Peer Detection of the VPN Connection
unique identifier for VPN Connection
Example:
123e4567-e89b-12d3-a456-42661475
IKE Policy reference object
IPSec Policy reference object
local Gateway address, only in 'route' mode.
Example:
192.168.1.1
Mode used by this VPNConnection, either policy-based, or route-based, this attribute is set at the creation and cannot be updated later.
Possible values: [
policy
,route
]Example:
policy
VPN Connection name
Example:
VPN-Connection-1
an array of network IDs
IP address of the Peer Gateway attached to this VPNConnection
Example:
192.168.1.1
an array of strings containing CIDR of peer subnets
Examples:[ "128.170.1.0/20", "128.169.1.0/24", "128.168.1.0/27", "128.170.1.0/32" ]
status of the VPN connection
Possible values: [
active
,warning
,disabled
]public IP address of the VPN Gateway (vSRX) attached to this VPNConnection
Example:
192.168.204.1
Status Code
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Method Not Allowed
Conflict
Unprocessable Entity
Internal Server Error
{ "deadPeerDetection": { "action": "restart", "interval": 10, "threshold": 5 }, "id": "123e4567-e89b-12d3-a456-42661475", "ikePolicy": { "id": "6edc8988-ab18-4b5c-b123-0d73e8254463", "name": "IKE Policy 1" }, "ipSecPolicy": { "id": "7abc1234-ab18-4b5c-b123-0d73e8254463", "name": "IPSec Policy 1" }, "jobRef": { "href": "pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/jobs/cb6db5dd-17b9-4236-8754-8b82d1357e74", "id": "cb6db5dd-17b9-4236-8754-8b82d1357e74" }, "localGatewayAddress": "192.168.1.1", "mode": "policy", "name": "VPN-Connection-1", "networkIDs": [ "99b7cf8835eb4c77abdadd9e6ed5009c" ], "peerGatewayAddress": "192.168.1.1", "peerSubnets": [ "128.170.1.0/20", "128.169.1.0/24", "128.168.1.0/27", "128.170.1.0/32" ], "status": "active", "vpnGatewayAddress": "192.168.204.1" }
Delete VPN Connection
Delete VPN Connection (by its identifier)
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a VPN connection
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/vpn/vpn-connections/{vpn_connection_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Link to job resource
id of a job used to get status of long running operation
Status Code
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "href": "pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/jobs/565783da-268a-41df-8742-f4e2929af9e6", "id": "565783da-268a-41df-8742-f4e2929af9e6" }
Get VPN Connection
Get a VPN Connection
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a VPN connection
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/vpn-connections/${vpn_connection_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Dead Peer Detection of the VPN Connection
unique identifier for VPN Connection
Example:
123e4567-e89b-12d3-a456-42661475
IKE Policy reference object
IPSec Policy reference object
local Gateway address, only in 'route' mode.
Example:
192.168.1.1
Mode used by this VPNConnection, either policy-based, or route-based, this attribute is set at the creation and cannot be updated later.
Possible values: [
policy
,route
]Example:
policy
VPN Connection name
Example:
VPN-Connection-1
an array of network IDs
IP address of the Peer Gateway attached to this VPNConnection
Example:
192.168.1.1
an array of strings containing CIDR of peer subnets
Examples:[ "128.170.1.0/20", "128.169.1.0/24", "128.168.1.0/27", "128.170.1.0/32" ]
status of the VPN connection
Possible values: [
active
,warning
,disabled
]public IP address of the VPN Gateway (vSRX) attached to this VPNConnection
Example:
192.168.204.1
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{ "deadPeerDetection": { "action": "restart", "interval": 10, "threshold": 5 }, "id": "1dfb9c031c4145cfa7c696711ba0ef0d", "ikePolicy": { "id": "d1c0a9508e724cf4b93a06cda0c3a415", "name": "ui-test-updated" }, "ipSecPolicy": { "id": "ad1517c55e68450b9a160e0c1e52c0b6", "name": "tbsec" }, "localGatewayAddress": "169.48.225.198", "mode": "route", "name": "cli-test-vpn-connection-new-1", "networkIDs": [ "3a3dffcb-3621-40b4-82c3-ae393d2805ba" ], "peerGatewayAddress": "10.0.0.1", "peerSubnets": [ "1.2.5.0/24" ], "status": "active", "vpnGatewayAddress": "169.48.225.198" }
Update VPN Connection
update a VPN Connection (by its identifier)
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a VPN connection
VPN Connection object used for update
unique identifier of IKEPolicy selected for this VPNConnection
Example:
c36723ec-8593-11eb-8dcd-0242ac133853
unique identifier of IPSecPolicy selected for this VPNConnection
Example:
c12345d-8593-11eb-8dcd-0242ac134573
VPN Connection name
Example:
VPN-Connection-1
IP address of the Peer Gateway attached to this VPNConnection
Example:
192.168.1.1
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/vpn-connections/${vpn_connection_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "ikePolicy": "c36723ec-8593-11eb-8dcd-0242ac133853", "ipSecPolicy": "c12345d-8593-11eb-8dcd-0242ac134573", "name": "VPN-Connection-1", "peerGatewayAddress": "192.188.1.1" }'
Response
Dead Peer Detection of the VPN Connection
unique identifier for VPN Connection
Example:
123e4567-e89b-12d3-a456-42661475
IKE Policy reference object
IPSec Policy reference object
local Gateway address, only in 'route' mode.
Example:
192.168.1.1
Mode used by this VPNConnection, either policy-based, or route-based, this attribute is set at the creation and cannot be updated later.
Possible values: [
policy
,route
]Example:
policy
VPN Connection name
Example:
VPN-Connection-1
an array of network IDs
IP address of the Peer Gateway attached to this VPNConnection
Example:
192.168.1.1
an array of strings containing CIDR of peer subnets
Examples:[ "128.170.1.0/20", "128.169.1.0/24", "128.168.1.0/27", "128.170.1.0/32" ]
status of the VPN connection
Possible values: [
active
,warning
,disabled
]public IP address of the VPN Gateway (vSRX) attached to this VPNConnection
Example:
192.168.204.1
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{ "deadPeerDetection": { "action": "restart", "interval": 10, "threshold": 5 }, "id": "1dfb9c031c4145cfa7c696711ba0ef0d", "ikePolicy": { "id": "d1c0a9508e724cf4b93a06cda0c3a415", "name": "ui-test-updated" }, "ipSecPolicy": { "id": "ad1517c55e68450b9a160e0c1e52c0b6", "name": "tbsec" }, "localGatewayAddress": "169.48.225.198", "mode": "route", "name": "cli-test-vpn-connection-new", "networkIDs": [ "3a3dffcb-3621-40b4-82c3-ae393d2805ba" ], "peerGatewayAddress": "10.0.0.1", "peerSubnets": [ "1.2.5.0/24" ], "status": "active", "vpnGatewayAddress": "169.48.225.198" }
Detach network
Detach network from a specific VPN Connection
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a VPN connection
network to detach
Example:
7f950c76-8582-11qeb-8dcd-0242ac172
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/vpn/vpn-connections/{vpn_connection_id}/networks -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json'
Response
Link to job resource
id of a job used to get status of long running operation
Status Code
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{ "href": "pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/jobs/565783da-268a-41df-8742-f4e2929af9e6", "id": "565783da-268a-41df-8742-f4e2929af9e6" }
Get attached networks
Get a list of network IDs attached to a VPN Connection
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a VPN connection
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/vpn-connections//{vpn_connection_id}/networks -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
an array of network IDs
Examples:[ "7f950c76-8582-11qeb-8dcd-0242ac143", "7f950c76-8582-11veb-8dcd-0242ac153", "7f950c76-8582-11deb-8dcd-0242ac163" ]
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "networkIDs": [ "7f950c76-8582-11qeb-8dcd-0242ac143", "7f950c76-8582-11veb-8dcd-0242ac153", "7f950c76-8582-11deb-8dcd-0242ac163" ] }
Attach network
Attach a network to a VPN Connection
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a VPN connection
network to attach
Example:
7f950c76-8582-11qeb-8dcd-0242ac172
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/vpn-connections/{vpn_connection_id}/networks -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "networkID": "7f950c76-8582-11qeb-8dcd-0242ac172" }'
Response
Link to job resource
id of a job used to get status of long running operation
Status Code
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{ "href": "pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/jobs/565783da-268a-41df-8742-f4e2929af9e6", "id": "565783da-268a-41df-8742-f4e2929af9e6" }
Detach Peer Subnet
Detach peer subnet from a VPN Connection
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a VPN connection
Peer subnet to detach
Example:
128.170.1.0/32
curl -X DELETE https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "cidr": <cidr of peer subnet> }'
Response
an array of strings containing CIDR of peer subnets
Examples:[ "128.170.1.0/20", "128.169.1.0/24", "128.168.1.0/27", "128.170.1.0/32" ]
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{ "peerSubnets": [ "128.170.1.0/20", "128.169.1.0/24", "128.168.1.0/27" ] }
Get Peer Subnets
Get a list of peer subnets attached to a specific VPN Connection
GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a VPN connection
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/vpn-connections//{vpn_connection_id}/peer-subnets -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
an array of strings containing CIDR of peer subnets
Examples:[ "128.170.1.0/20", "128.169.1.0/24", "128.168.1.0/27", "128.170.1.0/32" ]
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "peerSubnets": [ "128.170.1.0/20", "128.169.1.0/24", "128.168.1.0/27", "128.170.1.0/32" ] }
Attach Peer Subnet
Attach peer subnet to a VPN Connection
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets
Request
Path Parameters
Cloud Instance ID of a PCloud Instance
ID of a VPN connection
peer subnet to attach
Example:
128.170.1.0/32
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "cidr": "128.170.1.0/32" }'
Response
an array of strings containing CIDR of peer subnets
Examples:[ "128.170.1.0/20", "128.169.1.0/24", "128.168.1.0/27", "128.170.1.0/32" ]
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{ "peerSubnets": [ "128.170.1.0/20", "128.169.1.0/24", "128.168.1.0/27", "128.170.1.0/32" ] }
Request
Path Parameters
PCloud Task ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/tasks/{task_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Cloud Instance ID of task owner
the component id of the task
the component type of the task
Creation Date
Last Update Date
Task Operation
status code of the task
status detail of the task
Pcloud Task ID
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
No Sample Response
Request
Path Parameters
Tenant ID of a pcloud tenant
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/tenants/{tenant_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
Cloud Instances owned by the Tenant
Date of Tenant creation
Indicates if the tenant is enabled
Tenant ID
IBM Customer Number
Peering Network Information (optional)
Tenant SSH Keys
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "cloudInstances": [ { "cloudInstanceID": "78ea9383b1354924bdf97a3057f50110", "enabled": true, "href": "/pcloud/v1/cloud-instances/78ea9383b1354924bdf97a3057f50110", "initialized": false, "limits": { "instanceMemory": 0, "instanceProcUnits": 0, "instances": 0, "memory": 0, "peeringBandwidth": 0, "peeringNetworks": 0, "procUnits": 0, "processors": 0, "storage": 0, "storageSSD": 0 }, "name": "0d8f8fc5-5975-4e78-b541-aec77672ae51", "region": "us-east" }, { "cloudInstanceID": "7c3d5c3f746c457a95ce3cebba76cf63", "enabled": true, "href": "/pcloud/v1/cloud-instances/7c3d5c3b746c457a95ce3bebba76cf63", "initialized": false, "limits": { "instanceMemory": 0, "instanceProcUnits": 0, "instances": 0, "memory": 0, "peeringBandwidth": 0, "peeringNetworks": 0, "procUnits": 0, "processors": 0, "storage": 0, "storageSSD": 0 }, "name": "37c24ed2-fd6a-4f4b-9119-f6a2817f1d58", "region": "us-east" }, { "cloudInstanceID": "969afb22cb004e808cb84b827abfa1b0", "enabled": true, "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0", "initialized": false, "limits": { "instanceMemory": 0, "instanceProcUnits": 0, "instances": 0, "memory": 0, "peeringBandwidth": 0, "peeringNetworks": 0, "procUnits": 0, "processors": 0, "storage": 0, "storageSSD": 0 } } ], "creationDate": "2019-06-21T16:29:17.670Z", "enabled": true, "name": "781d5ef5-b87c-4a0a-86b8-aaa41213477", "region": "us-east", "sshKeys": [ { "creationDate": "2019-09-20T18:11:04.508Z", "name": "ibm-test", "sshKey": "ssh-rsa AAAAB3NzaC1yc2EAAA..." }, { "creationDate": "2019-11-12T13:16:21.811Z", "name": "default-key-DO_NOT_DELETE", "sshKey": "ssh-rsa AAAAB3NzaC1yc2EAA... a459814@FR-MP144WBV" }, { "creationDate": "2019-11-21T09:40:47.042Z", "name": "e2e1574329171394", "sshKey": "abc" }, { "creationDate": "2019-11-21T10:04:23.684Z", "name": "e2e1574330594605", "sshKey": "abc" } ], "tenantID": "efe5e8b9d3f04b948790fe5499bd18bc" }
Request
Path Parameters
Tenant ID of a pcloud tenant
Parameters for updating a Tenant
IBM Customer Number
Peering Network Information (optional)
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/tenants/{tenant_id} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "icn": "347aa3a4b34344f8bc7c7cccdf856e4d" }'
Response
Cloud Instances owned by the Tenant
Date of Tenant creation
Indicates if the tenant is enabled
Tenant ID
IBM Customer Number
Peering Network Information (optional)
Tenant SSH Keys
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
No Sample Response
Request
Path Parameters
Tenant ID of a pcloud tenant
curl -X GET https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/tenants/{tenant_id}/sshkeys -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' \
Response
SSH Keys
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "sshKeys": [ { "creationDate": "2019-09-20T18:11:04.508Z", "name": "ibm-test", "sshKey": "ssh-rsa AAAAB3..." }, { "creationDate": "2019-11-12T13:16:21.811Z", "name": "default-key-DO_NOT_DELETE", "sshKey": "ssh-rsa AAAAB..." } ] }
Request
Path Parameters
Tenant ID of a pcloud tenant
Parameters for the creation of a new SSH key
User defined name for the SSH key
SSH RSA key
Date of sshkey creation
curl -X POST https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/tenants/{tenant_id}/sshkeys -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "name": "sshkey-name" "sshKey": "ssh-rsa-key" }'
Request
Path Parameters
Tenant ID of a pcloud tenant
SSH key name for a pcloud tenant
Parameters for updating a Tenant's SSH Key
User defined name for the SSH key
SSH RSA key
Date of sshkey creation
curl -X PUT https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name} -H 'Authorization: Bearer <>' -H 'CRN: crn:v1...' -H 'Content-Type: application/json' -d '{ "name": "sshkey-name" "sshKey": "ssh-rsa-key" }'
Response
Reservable host description
- any property
Resource capacities for that system type and configuration
- capacity
Core capacity of the host
- cores
Memory capacity of the host (in GB)
- memory
How many hosts of such type/capacities are available
System type
Status Code
OK
Bad Request
Unauthorized
Forbidden
Internal Server Error
Gateway Timeout. Request is still processing and taking longer than expected.
{ "s1022": { "capacity": { "cores": { "total": 40 }, "memory": { "total": 2048 } }, "count": 1, "sysType": "s1022" }, "s922": { "capacity": { "cores": { "total": 20 }, "memory": { "total": 1024 } }, "count": 2, "sysType": "s922" } }
Response
Description of a host group
Date/Time of host group creation
List of hosts
Host group ID
Name of the host group
ID of the workspace owning the host group
IDs of workspaces the host group has been shared with
Status Code
OK
Bad Request
Unauthorized
Forbidden
Internal Server Error
Gateway Timeout. Request is still processing and taking longer than expected.
[ { "creationDate": "2024-04-17T06:44:49.000Z", "hosts": [ "/v1/hosts/269" ], "id": "2e408848-3b5e-44a6-afcc-4fb929cb15ac", "name": "testHostGroup", "primary": "7c107dc5-4b97-46af-a8b7-32c1aeabfb73", "secondaries": [ "f1ab14fc-b085-4ff0-a053-3e42515c3115" ] }, { "creationDate": "2024-04-18T00:43:17.000Z", "hosts": [ "/v1/hosts/311", "/v1/hosts/408" ], "id": "4434fb0b-3abd-4973-a3bb-65729b16f05f", "name": "anotherHostGroup", "primary": "7c107dc5-4b97-46af-a8b7-32c1aeabfb73" } ]
Request
Parameters for the creation of a new host group
List of hosts to add to the host group
Name of the host group to create
List of workspaces to share the host group with (optional)
Response
Description of a host group
Date/Time of host group creation
List of hosts
Host group ID
Name of the host group
ID of the workspace owning the host group
IDs of workspaces the host group has been shared with
Status Code
Created
Bad Request
Unauthorized
Forbidden
Conflict
Unprocessable Entity
Internal Server Error
Gateway Timeout. Request is still processing and taking longer than expected.
{ "creationDate": "2024-04-17T06:44:49.000Z", "hosts": [ "/v1/hosts/269" ], "id": "2e408848-3b5e-44a6-afcc-4fb929cb15ac", "name": "testHostGroup", "primary": "7c107dc5-4b97-46af-a8b7-32c1aeabfb73", "secondaries": [ "f1ab14fc-b085-4ff0-a053-3e42515c3115" ] }
Response
Description of a host group
Date/Time of host group creation
List of hosts
Host group ID
Name of the host group
ID of the workspace owning the host group
IDs of workspaces the host group has been shared with
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
Gateway Timeout. Request is still processing and taking longer than expected.
{ "creationDate": "2024-04-17T06:44:49.000Z", "hosts": [ "/v1/hosts/269" ], "id": "2e408848-3b5e-44a6-afcc-4fb929cb15ac", "name": "testHostGroup", "primary": "7c107dc5-4b97-46af-a8b7-32c1aeabfb73" }
Request
Path Parameters
Hostgroup ID
Parameters to set the sharing status of the host group
List of workspaces to share the host group with
A workspace ID to stop sharing the host group with
Response
Description of a host group
Date/Time of host group creation
List of hosts
Host group ID
Name of the host group
ID of the workspace owning the host group
IDs of workspaces the host group has been shared with
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Internal Server Error
Gateway Timeout. Request is still processing and taking longer than expected.
{ "creationDate": "2024-04-17T06:44:49.000Z", "hosts": [ "/v1/hosts/269" ], "id": "2e408848-3b5e-44a6-afcc-4fb929cb15ac", "name": "testHostGroup", "primary": "7c107dc5-4b97-46af-a8b7-32c1aeabfb73", "secondaries": [ "f1ab14fc-b085-4ff0-a053-3e42515c3115" ] }
Response
Host description
Capacities of the host
- capacity
Core capacity of the host
- cores
Memory capacity of the host (in GB)
- memory
Name of the host (chosen by the user)
Information about the owning host group
- hostGroup
Whether the host group is a primary or secondary host group
Link to the host group resource
Name of the host group
ID of the host
State of the host (up/down)
Status of the host (enabled/disabled)
System type
Status Code
OK
Bad Request
Unauthorized
Forbidden
Internal Server Error
Gateway Timeout. Request is still processing and taking longer than expected.
[ { "capacity": { "cores": { "available": 15, "reserved": 5, "total": 20, "used": 0 }, "memory": { "available": 940.65, "reserved": 83.35, "total": 1024, "used": 0 } }, "displayName": "s922Host", "hostGroup": { "access": "primary", "href": "/v1/host-groups/f63294c1-642f-4d83-9bdc-221bf2b72674", "name": "testHostGroup" }, "id": 308, "state": "up", "status": "enabled", "sysType": "s922" }, { "capacity": { "cores": { "available": 35, "reserved": 5, "total": 40, "used": 0 }, "memory": { "available": 1924.75, "reserved": 123.25, "total": 2048, "used": 0 } }, "displayName": "s1022Host", "hostGroup": { "access": "primary", "href": "/v1/host-groups/f63294c1-642f-4d83-9bdc-221bf2b72674", "name": "testHostGroup" }, "id": 401, "state": "up", "status": "enabled", "sysType": "s1022" } ]
Request
Parameters to add a host to an existing host group
ID of the host group to which the host should be added
Hosts to be added
Response
Host description
Capacities of the host
- capacity
Core capacity of the host
- cores
Memory capacity of the host (in GB)
- memory
Name of the host (chosen by the user)
Information about the owning host group
- hostGroup
Whether the host group is a primary or secondary host group
Link to the host group resource
Name of the host group
ID of the host
State of the host (up/down)
Status of the host (enabled/disabled)
System type
Status Code
Created
Bad Request
Unauthorized
Forbidden
Unprocessable Entity
Internal Server Error
Gateway Timeout. Request is still processing and taking longer than expected.
{ "capacity": { "cores": { "available": 15, "reserved": 5, "total": 20, "used": 0 }, "memory": { "available": 940.65, "reserved": 83.35, "total": 1024, "used": 0 } }, "displayName": "myHost", "hostGroup": { "access": "primary", "href": "/v1/host-groups/f63294c1-642f-4d83-9bdc-221bf2b72674", "name": "testHostGroup" }, "id": 308, "state": "up", "status": "enabled", "sysType": "s922" }
Response
Host description
Capacities of the host
- capacity
Core capacity of the host
- cores
Memory capacity of the host (in GB)
- memory
Name of the host (chosen by the user)
Information about the owning host group
- hostGroup
Whether the host group is a primary or secondary host group
Link to the host group resource
Name of the host group
ID of the host
State of the host (up/down)
Status of the host (enabled/disabled)
System type
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
Gateway Timeout. Request is still processing and taking longer than expected.
{ "capacity": { "cores": { "available": 15, "reserved": 5, "total": 20, "used": 0 }, "memory": { "available": 940.65, "reserved": 83.35, "total": 1024, "used": 0 } }, "displayName": "myHost", "hostGroup": { "access": "primary", "href": "/v1/host-groups/f63294c1-642f-4d83-9bdc-221bf2b72674", "name": "testHostGroup" }, "id": 308, "state": "up", "status": "enabled", "sysType": "s922" }
Response
Host description
Capacities of the host
- capacity
Core capacity of the host
- cores
Memory capacity of the host (in GB)
- memory
Name of the host (chosen by the user)
Information about the owning host group
- hostGroup
Whether the host group is a primary or secondary host group
Link to the host group resource
Name of the host group
ID of the host
State of the host (up/down)
Status of the host (enabled/disabled)
System type
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
Gateway Timeout. Request is still processing and taking longer than expected.
{ "capacity": { "cores": { "available": 15, "reserved": 5, "total": 20, "used": 0 }, "memory": { "available": 940.65, "reserved": 83.35, "total": 1024, "used": 0 } }, "displayName": "updatedHostName", "hostGroup": { "access": "primary", "href": "/v1/host-groups/f63294c1-642f-4d83-9bdc-221bf2b72674", "name": "testHostGroup" }, "id": 308, "state": "up", "status": "enabled", "sysType": "s922" }
Request
No Request Parameters
curl -X GET https://us-east.power-iaas.cloud.ibm.com/v1/datacenters -H 'Authorization: Bearer <>' -H 'CRN:' -H 'Content-Type: application/json'
Response
Power Systems Virtual Server available Datacenters
Status Code
OK
Bad Request
Unauthorized
Forbidden
Internal Server Error
{ "datacenters": [ { "capabilities": { "cloud-connections": true, "disaster-recovery-site": true, "metrics": true, "power-edge-router": true, "power-vpn-connections": true }, "capabilitiesDetails": { "disasterRecovery": { "asynchronousReplication": { "enabled": true, "targetLocations": [ { "region": "us-east", "status": "active" } ] }, "synchronousReplication": { "enabled": false, "targetLocations": [] } }, "supportedSystems": { "dedicated": [], "general": [ "e1080", "s922" ] } }, "href": "https://dal.power-iaas.test.cloud.ibm.com/v1/datacenters/dal10", "location": { "region": "dal10", "regionDisplayName": "Dallas 10", "type": "datacenter", "url": "https://dal.power-iaas.test.cloud.ibm.com" }, "status": "active", "type": "off-premises" }, { "capabilities": { "cloud-connections": true, "disaster-recovery-site": false, "metrics": true, "power-edge-router": false, "power-vpn-connections": true }, "capabilitiesDetails": { "disasterRecovery": { "asynchronousReplication": { "enabled": true, "targetLocations": [ { "region": "us-east", "status": "active" } ] }, "synchronousReplication": { "enabled": false, "targetLocations": [] } }, "supportedSystems": { "dedicated": [ "e1080" ], "general": [ "e1080", "e980" ] } }, "href": "https://lon.power-iaas.test.cloud.ibm.com/v1/datacenters/lon04", "location": { "region": "lon04", "regionDisplayName": "London 04", "type": "datacenter", "url": "https://lon.power-iaas.test.cloud.ibm.com" }, "status": "active", "type": "off-premises" } ] }
Request
Path Parameters
Datacenter Region
curl -X GET https://us-east.power-iaas.cloud.ibm.com/v1/datacenters/${datacenter_region} -H 'Authorization: Bearer <>' -H 'CRN:' -H 'Content-Type: application/json'
Response
Datacenter Capabilities
- capabilities
The Datacenter location
- location
The Datacenter location region zone
The Datacenter location region display name
The Datacenter location region type
The Datacenter location region url
The Datacenter status
Possible values: [
active
,maintenance
,down
]The Datacenter type
Possible values: [
off-premises
,on-premises
]Additional Datacenter Capabilities Details
- capabilitiesDetails
Disaster Recovery Information
- disasterRecovery
Asynchronous Replication Target Information
- asynchronousReplication
Service Enabled
List of all replication targets
Synchronous Replication Target Information
- synchronousReplication
Service Enabled
List of all replication targets
Datacenter System Types Information
- supportedSystems
List of all available dedicated host types
List of all available host types
Link to Datacenter Region
Status Code
OK
Bad Request
Unauthorized
Forbidden
Internal Server Error
{ "capabilities": { "cloud-connections": true, "dedicated-hosts": true, "disaster-recovery-site": true, "metrics": true, "power-edge-router": true, "power-vpn-connections": true }, "capabilitiesDetails": { "disasterRecovery": { "asynchronousReplication": { "enabled": true, "targetLocations": [ { "region": "dal10", "status": "active" } ] } }, "supportedSystems": { "dedicated": [ "s922", "s1022" ], "general": [ "s922", "e950", "e980", "s1022" ] } }, "location": { "region": "dal12", "regionDisplayName": "Dallas 12", "type": "data-center", "url": "https://dal.power-iaas.test.cloud.ibm.com" }, "status": "active", "type": "off-premises" }
Get the detail of a snapshot
This API is deprecated for /v1/snapshots. The API v1/volume-snapshots has replaced this endpoint.
View the usage of a snapshot. The snapshot may take time sync because the data is cached.
GET /v1/snapshots/{snapshot_id}
Request
Custom Headers
Allowable values: [
application/json
,applicaton/json
]
Path Parameters
PVM Instance snapshot id
Response
The volume snapshot UUID.
The volume snapshot name.
The size of the volume snapshot, in gibibytes (GiB).
The status for the volume snapshot.
The volume UUID associated with the snapshot.
The date and time when the volume snapshot was created.
The date and time when the volume snapshot was last updated.
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
Service Unavailable
Get the detail of a volume snapshot
View the usage of a snapshot. The snapshot may take time sync because the data is cached.
GET /v1/volume-snapshots/{volume_snapshot_uuid}
Request
Custom Headers
Allowable values: [
application/json
,applicaton/json
]
Path Parameters
The volume snapshot UUID
Response
The volume snapshot UUID.
The volume snapshot name.
The size of the volume snapshot, in gibibytes (GiB).
The status for the volume snapshot.
The volume UUID associated with the snapshot.
The date and time when the volume snapshot was created.
The date and time when the volume snapshot was last updated.
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
Service Unavailable
Request
Custom Headers
Allowable values: [
application/json
,applicaton/json
]
Path Parameters
Workspace ID
curl -X GET https://us-east.power-iaas.cloud.ibm.com/v1/workspaces/${workspace_id} -H 'Authorization: Bearer <>' -H 'CRN:' -H 'Content-Type: application/json'
Response
Workspace Capabilities
- capabilities
The Workspace information
- details
Workspace creation date
The Workspace crn
Link to Workspace Resource
The Workspace Power Edge Router information
- powerEdgeRouter
The state of a Power Edge Router
Possible values: [
active
,error
,warning
,configuring
,removing
,inactive
,user-validation
]The Power Edge Router type
Possible values: [
automated
,manual
]The migration status of a Power Edge Router
Possible values: [
intializing
,migrating
,deleted
,completed
]
Workspace ID
The Workspace location
- location
The Workspace location region zone
The Workspace location region type
The Workspace location region url
The Workspace name
The Workspace status
The Workspace type
Possible values: [
off-premises
,on-premises
]
Status Code
OK
Bad Request
Unauthorized
Forbidden
Not Found
Too Many Requests
Internal Server Error