Endpoint URL
The Power Virtual Server service uses regional endpoints over a public network. To target your region, replace {region}
with the prefix that represents the geographic area where your service instance is located. Currently, the us-east
, us-south
, eu-de
, lon
, tor
, syd
, and tok
regions are supported.
https://{region}.power-iaas.cloud.ibm.com
The Power Virtual Server service uses regional endpoints over a private network. To target your region, replace {region}
with the prefix that represents the geographic area where your service instance is located. Currently, the us-east
, us-south
, eu-de
, eu-gb
, ca-tor
, au-syd
, jp-tok
, jp-osa
, br-sao
, and ca-mon
regions are supported.
https://private.{region}.power-iaas.cloud.ibm.com
Authentication
To work with the Power Virtual Server API, you must include your IBM Cloud IAM access token and the Power Virtual Server instance ID, also known as your Cloud Resource Name (CRN), in every 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.
Example
API endpoint
https://{region}.power-iaas.cloud.ibm.com
Replace {region}
with the prefix that represents the geographic area where your Power Virtual Server service instance resides.
To retrieve your access token:
ibmcloud iam oauth-tokens
To retrieve your instance ID:
ibmcloud resource service-instance {instance_name} --id
Replace {instance_name}
with the unique alias that you assigned to your Power Virtual Server instance.
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 |
---|---|---|
200 |
Success | The request was successful. |
400 |
Bad Request | The input parameters in the request body are either incomplete or in the wrong format. Be sure to include all of the required parameters in your request. |
401 |
Unauthorized | You are not authorized to make this request. Log in to the IBM Cloud website and try again. If this error persists, contact the account owner to check your permissions. |
403 |
Forbidden | The supplied authentication is not authorized to access this resource. |
404 |
Not Found | The requested resource could not be found. |
408 |
Request Timeout | The connection to the server timed out. Wait a few minutes, then try again. |
409 |
Conflict | The entity is already in the requested state. |
500 |
Internal Server Error | Power Virtual Server is currently unavailable. Your request could not be processed. Wait a few minutes and try again. |
September 2023
- 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
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
Cloud Instance Capabilities
Status Code
OK
Bad Request
Unauthorized
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
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
]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)
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
type of service the gateway is attached to
Network References
Status Code
OK
Created
Accepted
Bad Request
Unauthorized
Not Found
Request Timeout
Conflict
Unprocessable Entity
Internal Server Error
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
indicates if vpc uses classic architecture
name for the vpc
status of this vpc
virtual private cloud id
virtualPrivateClouds
Status Code
OK
Bad Request
Unauthorized
Request Timeout
Internal Server Error
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..." } ] }
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
type of service the gateway is attached to
Network References
Status Code
OK
Bad Request
Unauthorized
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
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
]
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
type of service the gateway is attached to
Network References
Status Code
OK
Accepted
Bad Request
Unauthorized
Not Found
Method Not Allowed
Request Timeout
Conflict
Unprocessable Entity
Internal Server Error
No Sample Response
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}"
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
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" }
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}"
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
create timestamp for the job
Status Code
OK
Unauthorized
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
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
Storage pool where the image will be loaded, if provided then storageType and storageAffinity will be ignored
Type of storage; will be ignored if storagePool or storageAffinity is provided. If only using storageType for storage selection then the storage pool with the most available space will be selected
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
Conflict
Unprocessable Entity
Internal Server Error
{ "href": "pcloud/v1/jobs/c113467d-8419-449c-8d83-259dda713d9e", "id": "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
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-04", "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-03", "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; will be ignored if storagePool or affinityPolicy is provided; 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.
Storage pool where the image will be loaded; if provided then storageAffinity and diskType 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
Image Name
Image Size
Storage pool where the image resides
Storage type for image
Description
List of Servers that have deployed the image
Image State
Image Volumes
Status Code
OK
Created
Bad Request
Unauthorized
Conflict
Unprocessable Entity
Internal Server Error
No Sample Response
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
Image Name
Image Size
Storage pool where the image resides
Storage type for image
Description
List of Servers that have deployed the image
Image State
Image Volumes
Status Code
OK
Bad Request
Unauthorized
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-03", "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 } ] }
Delete an Image from a Cloud Instance
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}
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
Image Name
Image Size
Storage pool where the image resides
Storage type for image
Description
List of Servers that have deployed the image
Image State
Image Volumes
Status Code
OK
Bad Request
Unauthorized
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
Image Name
Image Size
Storage pool where the image resides
Storage type for image
Description
List of Servers that have deployed the image
Image State
Image Volumes
Status Code
OK
Bad Request
Unauthorized
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
create timestamp for the job
Status Code
OK
Unauthorized
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
image id 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", "id": "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
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
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
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
create timestamp for the job
Status Code
OK
Bad Request
Unauthorized
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
Unauthorized
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
Internal Server Error
{ "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/networks/392913e3-e8ac-406b-a061-b431ee4bd239", "jumbo": false, "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
Type of Network - 'vlan' (private network) 'pub-vlan' (public network)
Allowable values: [
vlan
,pub-vlan
]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
Enable MTU Jumbo Network
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
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]
ipAddressMetrics
IP Address Ranges
MTU Jumbo Network enabled
Network Name
Unique Network ID
Type of Network {vlan, pub-vlan}
Possible values: [
vlan
,pub-vlan
]VLAN ID
(currently not available) cloud connections this network is attached
the cloud connection id
link to the cloud connection resource
cloudConnections
DHCP Managed Network
Gateway IP Address
Public IP Address Ranges (for pub-vlan networks)
Status Code
OK
Created
Bad Request
Unauthorized
Conflict
Unprocessable Entity
Internal Server 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
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]
ipAddressMetrics
IP Address Ranges
MTU Jumbo Network enabled
Network Name
Unique Network ID
Type of Network {vlan, pub-vlan}
Possible values: [
vlan
,pub-vlan
]VLAN ID
(currently not available) cloud connections this network is attached
the cloud connection id
link to the cloud connection resource
cloudConnections
DHCP Managed Network
Gateway IP Address
Public IP Address Ranges (for pub-vlan networks)
Status Code
OK
Bad Request
Unauthorized
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, "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
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]
ipAddressMetrics
IP Address Ranges
MTU Jumbo Network enabled
Network Name
Unique Network ID
Type of Network {vlan, pub-vlan}
Possible values: [
vlan
,pub-vlan
]VLAN ID
(currently not available) cloud connections this network is attached
the cloud connection id
link to the cloud connection resource
cloudConnections
DHCP Managed Network
Gateway IP Address
Public IP Address Ranges (for pub-vlan networks)
Status Code
OK
Bad Request
Unauthorized
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
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
Link to pvm-instance resource
The attahed pvm-instance ID
pvmInstance
Status Code
Created
Bad Request
Unauthorized
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
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
Link to pvm-instance resource
The attahed pvm-instance ID
pvmInstance
Status Code
OK
Unauthorized
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
Link to pvm-instance resource
The attahed pvm-instance ID
pvmInstance
Status Code
OK
Bad Request
Unauthorized
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
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
Conflict
Unprocessable Entity
Internal Server Error
{ "id": "7a3583cc-85ec-4589-b5b5-b5d7af58354f", "members": [], "name": "MyAffinity-servergroup-1620150831", "policy": "affinity" }
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
Not Found
Internal Server Error
{ "id": "7a3583cc-85ec-4589-b5b5-b5d7af58354f", "members": [ "541c1cda-a8da-4081-8020-3a0ce9850ca0" ], "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'
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
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" }
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
Not Found
Conflict
Unprocessable Entity
Internal Server Error
{ "id": "7a3583cc-85ec-4589-b5b5-b5d7af58354f", "members": [], "name": "MyAffinity-servergroup-1620150831", "policy": "affinity" }
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
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 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
The storage affinity data; ignored if storagePool is provided; Only valid when you deploy one of the IBM supplied stock images. Storage type and pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage type and pool the image was created in
The storage connection type
Allowable values: [
vSCSI
]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 type and pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage type and pool the image was created in
Storage type for server deployment; will be ignored if storagePool or storageAffinity is provided; Only valid when you deploy one of the IBM supplied stock images. Storage type and pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage type and pool the image was created in
System type used to host the instance
Cloud init user defined data
The pvm instance virtual CPU information
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
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
The shared processor pool of the server
The shared processor pool id
The pvm instance Software 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
Date/Time of PVM last update
The pvm instance virtual CPU information
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" ] }
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
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
The shared processor pool of the server
The shared processor pool id
The pvm instance Software 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
Date/Time of PVM last update
The pvm instance virtual CPU information
Status Code
OK
Bad Request
Unauthorized
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)
New name of the server
The pvm instance Software 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
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
New 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)
Status Code
Accepted (this is a long running operation)
Bad Request
Unauthorized
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" ] }
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'
Perform an action (start stop reboot immediate-shutdown reset) on a PVMInstance
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
Allowable values: [
start
,stop
,immediate-shutdown
,hard-reboot
,soft-reboot
,reset-state
]
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" }'
Update PVMInstance console laguage code
PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console
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'
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
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
Conflict
Unprocessable Entity
Internal Server Error
No Sample Response
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
Unauthorized
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 } ] }
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' \
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
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
a volume snapshot ID
volumeSnapshots
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
Conflict
Internal Server Error
{ "action": "action", "creationDate": "2000-01-23T04:56:07.000+00:00", "description": "snapshot restore", "lastUpdateDate": "2000-01-23T04:56:07.000+00:00", "name": "name", "percentComplete": 0, "pvmInstanceID": "pvmInstanceID", "snapshotID": "snapshotID", "status": "status", "volumeSnapshots": { "key": "volumeSnapshots" } }
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
create timestamp for the job
Status Code
OK
Unauthorized
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
pvm instance id 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", "id": "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
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 } ] }
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
Indicates if the volume is boot capable
Consistency Group Name if volume is a part of volume group
Indicates if the volume should be deleted when the server terminates
Type of Disk
Volume Group ID
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
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 }
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" }'
Attach a volume to a PVMInstance
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'
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'
Set the PVMInstance volume as the boot volume
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} -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
Not Found
Internal Server Error
[ { "bootVolume": false, "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, "bootVolume": 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, required if affinityPolicy and volumePool not provided, otherwise ignored
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 diskType and affinityPolicy values 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
Indicates if the volume is boot capable
Consistency Group Name if volume is a part of volume group
Indicates if the volume should be deleted when the server terminates
Type of Disk
Volume Group ID
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
Conflict
Unprocessable Entity
Internal Server Error
{ "bootVolume": false, "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": null }
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", ...
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" }'
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
Indicates if the volume is boot capable
Consistency Group Name if volume is a part of volume group
Indicates if the volume should be deleted when the server terminates
Type of Disk
Volume Group ID
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
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
Indicates if the volume is boot capable
Consistency Group Name if volume is a part of volume group
Indicates if the volume should be deleted when the server terminates
Type of Disk
Volume Group ID
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
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" }
Delete a cloud instance volume
DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}
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
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": "0001-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": "0001-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 a set of volumes to a PVMInstance
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"] }'
Response
status summary for volume attachment to a PVM Instance
Status Code
Accepted
Bad Request
Unauthorized
Not Found
Conflict
Internal Server Error
{ "summary": "request to attach volumes to the server 2b58493-9344-46b0-8765-6b54ddbe1234 has been submitted successfully. Please check the server details for the status of the volume attachment request." }
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, required if affinityPolicy and volumePool not provided, otherwise ignored
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 diskType and affinityPolicy values 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
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": null }, { "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": null } ] }
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
Not Found
Internal Server Error
[ { "action": "prepare", "creationDate": "2020-09-28T15:09:33.829-05:00", "lastUpdateDate": "2020-09-28T15:09:50.749-05:00", "name": "test2-Sep28", "percentComplete": 70, "status": "preparing", "volumesCloneID": "a4945ba6-5b4c-45b5-8312-485e3ac1ec3d" }, { "action": "start", "creationDate": "2020-09-28T14:42:38.618-05:00", "lastUpdateDate": "2020-09-28T14:44:52.386-05:00", "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-28T14:42:38.618-05:00", "lastUpdateDate": "2020-09-28T14:42:38.618-05:00", "name": "test1-Sep28", "percentComplete": 0, "status": "preparing", "volumesCloneID": "8553bb63-7eac-405c-af8c-ccfe71186ca8" }
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
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-28T14:42:38.618-05:00", "lastUpdateDate": "2020-09-28T14:49:03.914-05:00", "name": "test1-Sep28", "percentComplete": 100, "status": "completed", "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' \
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
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "action": "cancel", "creationDate": "2020-09-28T15:09:33.829-05:00", "lastUpdateDate": "2020-09-28T15:16:31.950-05:00", "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", ...
default False, Execute failure rolls back clone activity but leaves prepared snapshot True, Execute failure rolls back clone activity and removes the prepared snapshot
target storage tier, optional, used if cloning a set of volumes from one storage tier to another. Cloning volumes still required to be in the same storage pool.
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-28T14:42:38.618-05:00", "lastUpdateDate": "2020-09-28T14:47:04.309-05:00", "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
Unauthorized
Forbidden
Not Found
Internal Server Error
{ "action": "start", "creationDate": "2020-09-28T14:42:38.618-05:00", "lastUpdateDate": "2020-09-28T14:44:52.386-05:00", "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", ...
List of volumes to be cloned
target storage tier, optional, used if cloning a set of volumes from one storage tier to another. Cloning volumes still required to be in the same storage pool.
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
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
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
Internal Server Error
{ "profiles": [ { "certified": true, "cores": 1, "memory": 4, "profileID": "test-1x4", "type": "compute" }, { "certified": false, "cores": 16, "memory": 1600, "profileID": "test-16x1600", "type": "balanced" }, { "certified": false, "cores": 20, "memory": 2000, "profileID": "test-20x2000", "type": "balanced" } ] }
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
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 type and pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage type and pool the image was created in
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 type and pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage type and pool the image was created in
Storage type for server deployment; will be ignored if storagePool or storageAffinity is provided; Only valid when you deploy one of the IBM supplied stock images. Storage type and pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage type and pool the image was created in
System type used to host the instance. Only e880, e980, e1080 are supported
Cloud init user defined data
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 '{ "serverName": "server-name" "imageID": "image-id" "placementGroup": "7a3583cc-85ec-4589-b5b5-b5d7af58354f" "processors" "number-of-processors" "procType": "dedicated" "memory": "amount-of-memory" "instances": { "affinityPolicy": "affinity", "count": 0, "numerical": "prefix/suffix"} "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
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
The shared processor pool of the server
The shared processor pool id
The pvm instance Software 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
Date/Time of PVM last update
The pvm instance virtual CPU information
Status Code
OK
Created
Accepted
Bad Request
Unauthorized
Conflict
Unprocessable Entity
Internal Server Error
[ { "addresses": [ { "networkID": "26038c24-fdde-4982-8d86-eaf01ab0cf7d" } ], "creationDate": "0001-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": null, "status": "BUILDING", "storagePool": "Tier1-Flash-2", "storageType": "tier1", "sysType": "e980", "updatedDate": "0001-01-01T00:00:00.000Z", "volumeIDs": [] } ]
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 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
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”" }
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
Status Code
OK
Bad Request
Unauthorized
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" }
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' \
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
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" } } ] }
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
a volume snapshot ID
volumeSnapshots
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
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" }'
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 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
Conflict
Unprocessable Entity
Internal Server Error
{ "id": "95445036-ee96-454d-869e-535ddc45c4a1", "memberSharedProcessorPools": [], "name": "Tim_Anti", "policy": "anti-affinity" }
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
Not Found
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}
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" }
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" }
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
Storage pool capacity
Status Code
OK
Unauthorized
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
Unauthorized
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'
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
Advertised capacity cores and memory (GB)
Processor to Memory (GB) Ratio
Maximum configurable cores and memory (GB) (aggregated from all hosts)
Maximum configurable cores available combined with available memory of that host
Maximum configurable memory available combined with available cores of that host
min-max-default allocation percentage of shared core per vCPU
The DataCenter list of servers and their available resources
Type of system hardware
any property
Status Code
OK
Unauthorized
Internal Server Error
No Sample Response
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
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
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
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": [] } ] }
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
The name of consistencyGroup at storage host level
Replication status of volume group
Status of the volume group
Status details of the volume group
Status Code
OK
Bad Request
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”] }'
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'
Perform an action (start stop reset ) on a volume group
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
The name of volume group at storage host level
Replication status of volume group
Status of the volume group
Status details of the volume group
List of volume IDs,member of VolumeGroup
Status Code
OK
Bad Request
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
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
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
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
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
List of volumes which are onboarded successfully
results
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
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 auxilary 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 }
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
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 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
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 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
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 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:View
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:ViewIP address of the Peer Gateway attached to this VPNConnection
Example:
192.168.1.1
an array of strings containing CIDR of peer subnets
Examples:View
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:Viewstatus 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
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" }
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:Viewstatus 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:Viewstatus 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" }
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 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' \
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 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 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' \
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" }'
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> }'
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
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 '{ "sshKeys": { "name": "sshkey-name" "sshKey": "ssh-rsa-key" } }'
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
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" }'
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
The Datacenter status
Possible values: [
active
,maintenance
,down
]The Datacenter type
Possible values: [
off-premises
,on-premises
]Link to Datacenter Region
Status Code
OK
Bad Request
Unauthorized
Forbidden
Internal Server Error
Request
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
Workspace ID
The Workspace location
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