IBM Cloud API Docs

Introduction

You can use the IBM® Power® Virtual Server to easily deploy and configure virtual servers that are running AIX, IBM i, or Linux (RHEL and SLES) workloads.

To learn about using Power Virtual Server, see:

Endpoint URLs

The Power Virtual Server service uses regional endpoints over both public and private network.

Automatically generated regional API endpoints (service URL) will default to IBM Cloud Regions which may cause your request to fail. You should always use the Power Virtual Server regions in the service URL.

The following table shows the IBM Cloud® regions and their corresponding Power Virtual Server region where the APIs are available:

Table 1. Power Virtual Server public endpoints.
Country Power Virtual Server region Location Public end-point (service URL)
Australia Sydney syd04
syd05
https://syd.power-iaas.cloud.ibm.com
Brazil Sao Paulo sao01
sao04
https://sao.power-iaas.cloud.ibm.com
Canada Montreal mon01 https://mon.power-iaas.cloud.ibm.com
Toronto tor01 https://tor.power-iaas.cloud.ibm.com
Germany Frankfurt eu-de-1
eu-de-2
https://eu-de.power-iaas.cloud.ibm.com
UK/Great Britain London lon04
lon06
https://lon.power-iaas.cloud.ibm.com
India Chennai che01 https://che.power-iaas.cloud.ibm.com
Japan Tokyo tok04 https://tok.power-iaas.cloud.ibm.com
Osaka osa21 https://osa.power-iaas.cloud.ibm.com
Spain Madrid mad02
mad04
https://mad.power-iaas.cloud.ibm.com
United States Washington DC us-east
wdc06
wdc07
https://us-east.power-iaas.cloud.ibm.com
Dallas dal10
dal12
us-south
https://us-south.power-iaas.cloud.ibm.com
Table 2. Power Virtual Server private endpoints.
Country Power Virtual Server region Location Private end-point (service URL)
Australia Sydney syd04
syd05
https://private.au-syd.power-iaas.cloud.ibm.com
Brazil Sao Paulo sao01
sao04
https://private.br-sao.power-iaas.cloud.ibm.com
Canada Montreal mon01 https://private.ca-mon.power-iaas.cloud.ibm.com
Toronto tor01 https://private.ca-tor.power-iaas.cloud.ibm.com
Germany Frankfurt eu-de-1
eu-de-2
https://private.eu-de.power-iaas.cloud.ibm.com
UK/Great Britain London lon04
lon06
https://private.eu-gb.power-iaas.cloud.ibm.com
India Chennai che01 https://private.in-che.power-iaas.cloud.ibm.com
Japan Tokyo tok04 https://private.jp-tok.power-iaas.cloud.ibm.com
Osaka osa21 https://private.jp-osa.power-iaas.cloud.ibm.com
Spain Madrid mad02
mad04
https://private.eu-es.power-iaas.cloud.ibm.com
United States Washington DC us-east
wdc06
wdc07
https://private.us-east.power-iaas.cloud.ibm.com
Dallas dal10
dal12
us-south
https://private.us-south.power-iaas.cloud.ibm.com

Curl service URL intro

To call the API, select the service URL that corresponds to the region of your choice and add a method path to form the complete request URL. For example, to list all the workspaces available in the us-south region, make a GET request to https://us-south.iaas.cloud.ibm.com/v1/workspaces.

Example request to call the us-south service URL:

curl -H "Authorization: Bearer {token}" -X {http_method} "https://us-south.iaas.cloud.ibm.com/v1{path}"

Replace {token}, {http_method}, and {path} in this example with the values for your particular request.

Authentication

The Power Virtual Server API uses Identity and Access Management (IAM) to authenticate requests. To call each API method, you must be assigned a role that includes the required IAM actions. Each method has an Authorization section that lists the required actions and, if applicable, the conditions under which each action is required. Check your access on the IBM Cloud console by navigating to Users > User > Access.

For more information about IAM actions and how they map to roles, see Assigning access to account management services and Managing IAM access for Power Virtual Server.

Learn about obtaining an IAM token for an authenticated user or service ID in the IAM Identity Services API. If you first create an API key, you can use it to generate an IAM token.

To use the API, add a valid IAM token to the HTTP Authorization request header. For example, -H 'Authorization: Bearer {token}'.

For specific APIs you must need to include your IBM Cloud IAM access token and the Power Virtual Server instance ID, also known as your Cloud Resource Name (CRN), in each request. The first part of your CRN contains your Tenant ID and the second part contains your Cloud Instance ID.

The following example shows a typical CRN:

crn:v1:staging:public:power-iaas:us-east:a/abcdefghijklmnopqrstuvwxyzabcdef:121d5ee5-b87d-4a0e-86b8-aaff422135478::

Tenant ID {tenant_id} = abcdefghijklmnopqrstuvwxyzabcdef
Cloud Instance ID {cloud_instance_id} = 121d5ee5-b87d-4a0e-86b8-aaff422135478

You can retrieve an access token by first creating an API key, and then exchanging your API key for a IBM Cloud IAM token. For more information, see Retrieving an access token programmatically and Retrieving your instance ID.

To retrieve your access token:

curl -X POST   "https://iam.cloud.ibm.com/identity/token"   --header 'Content-Type: application/x-www-form-urlencoded'   --header 'Accept: application/json'   --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey'   --data-urlencode 'apikey={api_key}'

To use the API, replace {token} with the token obtained above from IAM, replace {http_method} with an HTTP method such as POST, and replace {url} with a request URL such as https://us-south.iaas.cloud.ibm.com/v1/workspaces/{workspace_id}:

curl -H "Authorization: Bearer {token}" -X {http_method} "{url}"
     -H "CRN"

Auditing

Monitor API activity within your account by using the IBM Cloud Activity Tracker service. Each time you make an API call, one or more events are generated that you can track and audit from within Activity Tracker. Specific auditing event types are listed for each individual method. For more information about Power Virtual Server activity tracking, see Activity Tracker events.

Error handling

This API uses standard HTTP response codes to indicate whether a method completed successfully. A 200 response indicates success. A 400 type response indicates a failure, and a 500 type response indicates an internal system error.

Table 1. HTTP error codes with their descriptions
HTTP Error Code Description Recovery
400 Bad Request The input parameters in the request body are either incomplete, malformed, or too large. Be sure to include all required parameters in your request.
401 Unauthorized You are not authorized to make this request. Log in to IBM Cloud and try submitting the request again. If this error persists, contact the account owner to check your permissions.
403 Forbidden The supplied authentication is not authorized to perform the requested operation. Either you do not have valid access through IAM access policies or your request is denied. If this error persists, contact the account owner to check your permissions.
404 Not Found The requested resource could not be found but may be available in the future.
405 Method Not Allowed The requested resource does not support the request method.
406 Not Acceptable The resource the client requested is not available in a format allowed by the Accept header supplied by the client.
408 Request Timeout The connection to the server timed out. Wait a few minutes, and try submitting the request again.
409 Conflict The request cannot be completed because of a conflict between the request and the current state of the resource.
412 Precondition Failed The client specified one or more preconditions in its headers, and the server cannot meet those preconditions.
426 Upgrade Required The server refuses to perform the request using the current protocol but might perform the request after the client upgrades to a different protocol.
500 Internal Server Error The request cannot be processed because the client encountered an unexpected condition on the server. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support.
501 Not Implemented The server either does not recognize the request method, or it lacks the ability to fulfill the request.
502 Bad Gateway The server was acting as a gateway or proxy and received an invalid response from the upstream server.
503 Service Unavailable The server cannot process the request. Generally, this condition is temporary, such as when a server is overloaded or down for scheduled maintenance. This condition could also be due to an unplanned outage of a service that is needed to process the request. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support.
504 Gateway Timeout The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
505 HTTP Version Not Supported The server does not support the HTTP protocol version that is used in the request.

Release notes

Use the release notes to learn about the latest changes to the Power Virtual Server API.

The following APIs are availavle:

December 2022

  • You can now get new error messages for undefined response codes for new service endpoint response codes.

October 2021

September 2021

Methods

Get a Cloud Instance's current state/information

GET /pcloud/v1/cloud-instances/{cloud_instance_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.cloud-instance.list

Auditing

Calling this method generates the following auditing event.

  • power-iaas.cloud-instance.read

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "capabilities": [
        "cloud-connections",
        "custom-virtualcores",
        "direct-link-transit-gateway",
        "ibmi-software-licenses",
        "linux",
        "pinning",
        "rhel-sap",
        "sap",
        "snapshots",
        "unmetered",
        "volume-clone",
        "vpn-connections",
        "shared-processor-pools"
      ],
      "cloudInstanceID": "a28d8395820185938ef8c9d89a093ef9",
      "enabled": true,
      "initialized": false,
      "limits": {
        "instanceMemory": 0,
        "instanceProcUnits": 0,
        "instances": 0,
        "memory": 0,
        "peeringBandwidth": 0,
        "peeringNetworks": 0,
        "procUnits": 0,
        "processors": 0,
        "storage": 0,
        "storageSSD": 0
      },
      "name": "29394aed-c341-2331-3498-defcd9a8e929",
      "openstackID": "49eabce9-2938-1948-c829-c98bde93819f",
      "pvmInstances": [],
      "region": "dal12",
      "tenantID": "39dace938295718501728475618edfe9",
      "usage": {
        "instances": 0,
        "memory": 0,
        "procUnits": 0,
        "processors": 0,
        "storage": 0,
        "storageSSD": 0,
        "storageStandard": 0
      }
    }

Get all cloud connections in this cloud instance

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.cloud-connection.list

Auditing

Calling this method generates the following auditing event.

  • power-iaas.cloud-connection.list

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Request Timeout

  • Internal Server Error

Example responses
  • {
      "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"
        }
      ]
    }

Create a new cloud connection

POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.cloud-connection.create

Auditing

Calling this method generates the following auditing event.

  • power-iaas.cloud-connection.create

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

Parameters for the creation of a new cloud connection

  • 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

Status Code

  • OK

  • Created

  • Accepted

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Method Not Allowed

  • Request Timeout

  • Conflict

  • Unprocessable Entity

  • Internal Server Error

  • Service Unavailable

  • Gateway Timeout

Example responses
  • {
      "cloudConnectionID": "fc010e03-4a07-4bd0-aec9-571fcac5f17f",
      "creationDate": "2021-02-28T22:42:54.574Z",
      "globalRouting": true,
      "ibmIPAddress": "1.2.3.4/5",
      "jobRef": {
        "href": "pcloud/v1/cloud-instances/a28d8395820185938ef8c9d89a093ef9/jobs/2e456abe-3948-de91-3913-efca59681745",
        "id": "2e456abe-3948-de91-3913-efca59681745"
      },
      "linkStatus": "idle",
      "metered": true,
      "name": "powervs-cloud-connection",
      "port": "2039f9ef-c934-d293-1932-ab56283475ef",
      "speed": 500,
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.cloud-connection-vpc.list

Auditing

Calling this method generates the following auditing event.

  • power-iaas.cloud-connection.list

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Request Timeout

  • Internal Server Error

  • Service Unavailable

  • Gateway Timeout

Example responses
  • {
      "virtualPrivateClouds": [
        {
          "classicAccess": false,
          "name": "datacenter1-powervs-virtual-private-cloud",
          "status": "available",
          "vpcID": "crn:v1..."
        },
        {
          "classicAccess": false,
          "name": "datacenter2-powervs-virtual-private-cloud",
          "status": "available",
          "vpcID": "crn:v1..."
        }
      ]
    }

Delete a Cloud Connection

DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.cloud-connection.delete

Auditing

Calling this method generates the following auditing event.

  • power-iaas.cloud-connection.delete

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

Response

Status Code

  • OK

  • Accepted

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Request Timeout

  • Gone

  • Internal Server Error

No Sample Response

This method does not specify any sample responses.

Get a cloud connection's state/information

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.cloud-connection.read

Auditing

Calling this method generates the following auditing event.

  • power-iaas.cloud-connection.read

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Request Timeout

  • Internal Server Error

Example responses
  • {
      "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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.cloud-connection.update

Auditing

Calling this method generates the following auditing event.

  • power-iaas.cloud-connection.update

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

  • Cloud Connection ID

Parameters to update a Cloud Connection

  • 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

Status Code

  • OK

  • Accepted

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Method Not Allowed

  • Request Timeout

  • Conflict

  • Unprocessable Entity

  • Internal Server Error

  • Service Unavailable

Example responses
  • {
      "href": "pcloud/v1/cloud-instances/a28d8395820185938ef8c9d89a093ef9/jobs/2e456abe-3948-de91-3913-efca59681745",
      "id": "2e456abe-3948-de91-3913-efca59681745"
    }

Detach a network from a Cloud Connection

DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.cloud-connection-network.delete

Auditing

Calling this method generates the following auditing event.

  • power-iaas.cloud-connection.delete

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

  • Cloud Connection ID

  • Network ID

  • curl -X DELETE   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cloud-connections/${CLOUD_CONNECTION_ID}/networks/${NETWORK_ID}   --header "Authorization: Bearer ${TOKEN}"   --header "Content-Type: application/json"   --header "crn: ${CRN}"

Response

Status Code

  • OK

  • Accepted

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Request Timeout

  • Gone

  • Internal Server Error

Example responses
  • {
      "href": "pcloud/v1/cloud-instances/d234578e-9520-408g-9e94-259dda713d9e/jobs/c113467d-8419-449c-8d83-259dda713d9e",
      "id": "c113467d-8419-449c-8d83-259dda713d9e"
    }

Attach a network to the cloud connection

PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.cloud-connection-network.update

Auditing

Calling this method generates the following auditing event.

  • power-iaas.cloud-connection.update

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

  • Cloud Connection ID

  • Network ID

  • curl -X PUT   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/cloud-connections/${CLOUD_CONNECTION_ID}/networks/${NETWORK_ID}   --header "Authorization: Bearer ${TOKEN}"   --header "Content-Type: application/json"   --header "crn: ${CRN}"

Response

Status Code

  • OK

  • Accepted

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Request Timeout

  • Unprocessable Entity

  • Internal Server Error

Example responses
  • {
      "href": "pcloud/v1/cloud-instances/d234578e-9520-408g-9e94-259dda713d9e/jobs/c113467d-8419-449c-8d83-259dda713d9e",
      "id": "c113467d-8419-449c-8d83-259dda713d9e"
    }

Get detail of last cos-image import job

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.cos-image.read

Auditing

Calling this method generates the following auditing event.

  • power-iaas.image.read

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "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"
      }
    }

Create an cos-image import job

POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.cos-image.create

Auditing

Calling this method generates the following auditing event.

  • power-iaas.image.import

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

Parameters for the creation of a new cos-image import job

  • 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

Status Code

  • Accepted, cos-image import successfully added to the jobs queue

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Unprocessable Entity

  • Internal Server Error

Example responses
  • {
      "href": "pcloud/v1/jobs/c113467d-8419-449c-8d83-259dda713d9e",
      "jobID": "c113467d-8419-449c-8d83-259dda713d9e"
    }

List all images for this cloud instance

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.cloud-instance-image.list

Auditing

Calling this method generates the following auditing event.

  • power-iaas.image.list

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "images": [
        {
          "creationDate": "2019-12-04T19:45:48.000Z",
          "description": "",
          "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/938b1104-18bc-4666-a384-b205793aab86",
          "imageID": "938b1104-18bc-4666-a384-b205793aab86",
          "lastUpdateDate": "2019-12-04T19:46:19.000Z",
          "name": "7100-05-04T00:00:00.000Z",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "stock",
            "operatingSystem": "aix"
          },
          "state": "active",
          "storageType": "tier3-gen2"
        },
        {
          "creationDate": "2019-09-11T16:10:00.000Z",
          "description": "",
          "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/b39f1013-6d26-4585-856d-8aa4ea5e9ee9",
          "imageID": "b39f1013-6d26-4585-856d-8aa4ea5e9ee9",
          "lastUpdateDate": "2019-09-11T16:10:17.000Z",
          "name": "7200-03-03T00:00:00.000Z",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "stock",
            "operatingSystem": "aix"
          },
          "state": "active",
          "storageType": "tier3-gen2"
        },
        {
          "creationDate": "2020-01-08T20:35:36.000Z",
          "description": "",
          "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/e3c453a9-40b0-4fd6-89f9-3b71273446b0",
          "imageID": "e3c453a9-40b0-4fd6-89f9-3b71273446b0",
          "lastUpdateDate": "2020-01-08T20:45:09.000Z",
          "name": "COS-import-7100-05-04-img",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "import",
            "operatingSystem": "aix"
          },
          "state": "active",
          "storageType": "standard"
        },
        {
          "creationDate": "2019-12-05T18:13:27.000Z",
          "description": "",
          "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/affa57fc-493d-4599-bfb6-755f99c9cab6",
          "imageID": "affa57fc-493d-4599-bfb6-755f99c9cab6",
          "lastUpdateDate": "2019-12-05T18:14:14.000Z",
          "name": "IBMi-72-09-002",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "stock",
            "operatingSystem": "ibmi"
          },
          "state": "active",
          "storageType": "standard"
        },
        {
          "creationDate": "2019-09-17T10:55:13.000Z",
          "description": "",
          "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/8105a084-0360-478f-bfe8-c5a2af98f690",
          "imageID": "8105a084-0360-478f-bfe8-c5a2af98f690",
          "lastUpdateDate": "2019-09-17T10:55:41.000Z",
          "name": "IBMi-73-06-001",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "stock",
            "operatingSystem": "ibmi"
          },
          "state": "active",
          "storageType": "tier3-gen2"
        },
        {
          "creationDate": "2019-11-04T22:26:04.000Z",
          "description": "",
          "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/images/75be671c-9e45-49c0-b462-7672e28fc80c",
          "imageID": "75be671c-9e45-49c0-b462-7672e28fc80c",
          "lastUpdateDate": "2019-11-04T22:27:14.000Z",
          "name": "IBMi-74-00-001",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "stock",
            "operatingSystem": "ibmi"
          },
          "state": "active",
          "storageType": "tier3-gen2"
        }
      ]
    }

Create a new Image (from available images)

POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.cloud-instance-image.create

Auditing

Calling this method generates the following auditing event.

  • power-iaas.image.import

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

Parameters for the creation of a new image from available images

  • 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

Status Code

  • OK

  • Created

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Unprocessable Entity

  • Internal Server Error

Example responses
  • {
      "creationDate": "2024-10-02T20:16:12.000Z",
      "imageID": "2e456abe-3948-de91-3913-efca59681745",
      "lastUpdateDate": "2024-10-02T20:16:13.000Z",
      "maxImageVolumeSize": 20,
      "name": "7100-05-07T00:00:00.000Z",
      "servers": [],
      "size": 20,
      "specifications": {
        "architecture": "ppc64",
        "containerFormat": "bare",
        "diskFormat": "raw",
        "endianness": "big-endian",
        "hypervisorType": "phyp",
        "imageType": "stock",
        "operatingSystem": "aix"
      },
      "state": "active",
      "storagePool": "",
      "storageType": "",
      "volumes": []
    }

Delete an Image from a Cloud Instance

DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.cloud-instance-image.delete

Auditing

Calling this method generates the following auditing event.

  • power-iaas.image.delete

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

  • Image ID of a image

  • curl -X DELETE   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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Gone

  • Internal Server Error

No Sample Response

This method does not specify any sample responses.

Detailed info of an image

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.cloud-instance-image.read

Auditing

Calling this method generates the following auditing event.

  • power-iaas.image.read

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "creationDate": "2019-09-11T16:10:00.000Z",
      "imageID": "b39f1013-6d26-4585-856d-8aa4ea5e9ee9",
      "lastUpdateDate": "2019-09-11T16:10:17.000Z",
      "name": "7200-03-03T00:00:00.000Z",
      "servers": [
        "kylej-pointer-test",
        "dl02-test",
        "nni-vm01",
        "gre-vm02"
      ],
      "size": 20,
      "specifications": {
        "architecture": "ppc64",
        "containerFormat": "bare",
        "diskFormat": "raw",
        "endianness": "big-endian",
        "hypervisorType": "phyp",
        "imageType": "stock",
        "operatingSystem": "aix"
      },
      "state": "active",
      "storageType": "standard",
      "volumes": [
        {
          "bootable": true,
          "name": "volume-969afb22cb00-23977--cf758b7d-e30b",
          "size": 20
        }
      ]
    }

Export an image

This API is deprecated for /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export.

Note: Support for this API is available till Oct 2022.

POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.image-export.create

Auditing

Calling this method generates the following auditing event.

  • power-iaas.image.export

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

  • Image ID of a image

Parameters for exporting an image

  • 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"
          }'

Response

Status Code

  • Accepted

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Unprocessable Entity

  • Internal Server Error

No Sample Response

This method does not specify any sample responses.

List all available stock images

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.stock-image.list

Auditing

Calling this method generates the following auditing event.

  • power-iaas.stock-image.list

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

Query Parameters

  • Include SAP images with get available stock images

  • Include VTL images with get available stock images

  • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/$CLOUD_INSTANCE_ID/stock-images   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

Response

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

No Sample Response

This method does not specify any sample responses.

Detailed info of an available stock image

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.stock-image.read

Auditing

Calling this method generates the following auditing event.

  • power-iaas.stock-image.read

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/stock-images/$IMAGE_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

Response

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "images": [
        {
          "creationDate": "2024-07-31T18:44:28.000Z",
          "description": "this are the details of an available stock image",
          "href": "/pcloud/v1/cloud-instances/a28d8395820185938ef8c9d89a093ef9/stock-images/2e456abe-3948-de91-3913-efca59681745",
          "imageID": "2e456abe-3948-de91-3913-efca59681745",
          "lastUpdateDate": "2024-07-31T19:31:52.000Z",
          "name": "stock-image-1",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "stock",
            "operatingSystem": "aix"
          },
          "state": "active",
          "storagePool": "",
          "storageType": ""
        },
        {
          "creationDate": "2024-07-31T18:44:28.000Z",
          "description": "",
          "href": "/pcloud/v1/cloud-instances/a28d8395820185938ef8c9d89a093ef9/stock-images/2e456abe-3948-de91-3913-efca59681746",
          "imageID": "2e456abe-3948-de91-3913-efca59681746",
          "lastUpdateDate": "2024-07-31T19:31:52.000Z",
          "name": "stock-image-2",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "stock",
            "operatingSystem": "aix"
          },
          "state": "active",
          "storagePool": "",
          "storageType": ""
        },
        {
          "creationDate": "2023-02-07T14:11:41.000Z",
          "description": "",
          "href": "/pcloud/v1/cloud-instances/a28d8395820185938ef8c9d89a093ef9/stock-images/2e456abe-3948-de91-3913-efca59681747",
          "imageID": "2e456abe-3948-de91-3913-efca59681747",
          "lastUpdateDate": "2023-02-07T14:31:56.000Z",
          "name": "7200-05-05T00:00:00.000Z",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "stock",
            "operatingSystem": "aix"
          },
          "state": "active",
          "storagePool": "",
          "storageType": ""
        }
      ]
    }

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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.image.list

Auditing

Calling this method generates the following auditing event.

  • power-iaas.image.list

Request

Query Parameters

  • Include SAP images with get available stock images

  • Include VTL images with get available stock images

  • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/images   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json' \

Response

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "images": [
        {
          "creationDate": "2024-10-02T20:16:12.000Z",
          "description": "",
          "href": "/pcloud/v1/cloud-instances/a28d8395820185938ef8c9d89a093ef9/images/2e456abe-3948-de91-3913-efca59681745",
          "imageID": "2e456abe-3948-de91-3913-efca59681745",
          "lastUpdateDate": "2024-10-02T20:16:13.000Z",
          "name": "7100-05-07T00:00:00.000Z",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "stock",
            "operatingSystem": "aix"
          },
          "state": "active",
          "storagePool": "",
          "storageType": ""
        },
        {
          "creationDate": "2023-12-15T20:19:53.000Z",
          "description": "",
          "href": "/pcloud/v1/cloud-instances/a28d8395820185938ef8c9d89a093ef9/images/2e456abe-3948-de91-3913-efca59681745",
          "imageID": "2e456abe-3948-de91-3913-efca59681745",
          "lastUpdateDate": "2023-12-15T20:19:53.000Z",
          "name": "7200-04-01T00:00:00.000Z",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "stock",
            "operatingSystem": "aix"
          },
          "state": "active",
          "storagePool": "",
          "storageType": ""
        },
        {
          "creationDate": "2023-12-18T18:15:35.000Z'",
          "description": "",
          "href": "/pcloud/v1/cloud-instances/a28d8395820185938ef8c9d89a093ef9/images/2e456abe-3948-de91-3913-efca59681745",
          "imageID": "2e456abe-3948-de91-3913-efca59681745",
          "lastUpdateDate": "2023-12-18T18:15:35.000Z'",
          "name": "7200-05-05T00:00:00.000Z",
          "specifications": {
            "architecture": "ppc64",
            "containerFormat": "bare",
            "diskFormat": "raw",
            "endianness": "big-endian",
            "hypervisorType": "phyp",
            "imageType": "stock",
            "operatingSystem": "aix"
          },
          "state": "active",
          "storagePool": "",
          "storageType": ""
        }
      ]
    }

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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.image.read

Auditing

Calling this method generates the following auditing event.

  • power-iaas.image.read

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "creationDate": "2024-03-29T06:39:39.000Z",
      "imageID": "2e456abe-3948-de91-3913-efca59681745",
      "lastUpdateDate": "2024-03-29T06:41:01.000Z",
      "maxImageVolumeSize": 0,
      "name": "vm-image-capture-cos-bucket",
      "servers": [],
      "size": 0,
      "specifications": {
        "architecture": "ppc64",
        "containerFormat": "bare",
        "diskFormat": "raw",
        "endianness": "little-endian",
        "hypervisorType": "phyp",
        "imageType": "import",
        "operatingSystem": "rhel"
      },
      "state": "error",
      "storagePool": "General-Flash-83",
      "storageType": "",
      "volumes": []
    }

Get detail of last image export job

GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.image-export.read

Auditing

Calling this method generates the following auditing event.

  • power-iaas.job.read

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.image-export.create

Auditing

Calling this method generates the following auditing event.

  • power-iaas.image.export

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

  • Image ID of a image

Parameters for the export

  • 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

Status Code

  • Accepted, image export successfully added to the jobs queue

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict, a conflict has prevented adding image export job

  • Unprocessable Entity

  • Internal Server Error

Example responses
  • {
      "href": "pcloud/v1/jobs/c113467d-8419-449c-8d81-259dda713d9f",
      "jobID": "c113467d-8419-449c-8d81-259dda713d9fcreate"
    }

Get events from this cloud instance since a specific timestamp

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.event.list

Auditing

Calling this method generates the following auditing event.

  • power-iaas.event.list

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "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"
          }
        }
      ]
    }

Get a single event

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.event.read

Auditing

Calling this method generates the following auditing event.

  • power-iaas.event.read

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.job.list

Auditing

Calling this method generates the following auditing event.

  • power-iaas.job.list

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "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"
        }
      ]
    }

Delete a cloud instance job

DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.job.delete

Auditing

Calling this method generates the following auditing event.

  • power-iaas.job.delete

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

  • PCloud Job ID

  • curl -X DELETE   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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Internal Server Error

No Sample Response

This method does not specify any sample responses.

List the detail of a job

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.job.read

Auditing

Calling this method generates the following auditing event.

  • power-iaas.job.read

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.disaster-recovery.read

Auditing

Calling this method generates the following auditing event.

  • power-iaas.disaster-recovery.read

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}/locations/disaster-recovery   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json'

Response

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "location": "dal12",
      "replicationSites": [
        {
          "isActive": true,
          "location": "us-east"
        }
      ]
    }

Get all disaster recovery locations supported by Power Virtual Server

GET /pcloud/v1/locations/disaster-recovery

Auditing

Calling this method generates the following auditing event.

  • power-iaas.disaster-recovery.read

Request

No Request Parameters

This method does not accept any 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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "disasterRecoveryLocations": [
        {
          "location": "dal12",
          "replicationSites": [
            {
              "isActive": true,
              "location": "us-east"
            }
          ]
        },
        {
          "location": "us-east",
          "replicationSites": [
            {
              "isActive": true,
              "location": "dal12"
            }
          ]
        }
      ]
    }

Get all networks in this cloud instance

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.network.list

Auditing

Calling this method generates the following auditing event.

  • power-iaas.network.list

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/networks/392913e3-e8ac-406b-a061-b431ee4bd239",
      "jumbo": false,
      "mtu": 1450,
      "name": "test-ibm-network",
      "networkID": "392913e3-e8ac-406b-a061-b431ee4bd239",
      "type": "vlan",
      "vlanID": 3314
    }

Create a new Network

POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.network.create

Auditing

Calling this method generates the following auditing event.

  • power-iaas.network.create

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

Parameters for the creation of a new network

Examples:
{
  "cidr": "192.168.1.0/24",
  "gateway": "192.168.1.1",
  "ipAddressRanges": [
    {
      "endingIPAddress": "192.168.1.254",
      "startingIPAddress": "192.168.1.2"
    }
  ],
  "mtu": 1450,
  "name": "sample-network",
  "type": "vlan"
}
  • 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

Status Code

  • OK

  • Created

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Unprocessable Entity

  • Internal Server Error

  • Workspace Status Error

Example responses
  • {
      "cidr": "195.168.0.0/24",
      "dnsServers": [
        "127.0.0.1"
      ],
      "gateway": "195.168.0.1",
      "ipAddressMetrics": {
        "available": 253,
        "total": 253,
        "used": 0,
        "utilization": 0
      },
      "ipAddressRanges": [
        {
          "endingIPAddress": "195.168.0.254",
          "startingIPAddress": "195.168.0.2"
        }
      ],
      "mtu": 1450,
      "name": "test-net",
      "networkID": "2e456abe-3948-de91-3913-efca59681745",
      "type": "vlan",
      "vlanID": 964
    }

Delete a Network

DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.network.delete

Auditing

Calling this method generates the following auditing event.

  • power-iaas.network.delete

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

  • Network ID

  • curl -X DELETE   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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Gone

  • Internal Server Error

No Sample Response

This method does not specify any sample responses.

Get a network's current state/information

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.network.read

Auditing

Calling this method generates the following auditing event.

  • power-iaas.network.read

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "cidr": "172.16.5.0/24",
      "dnsServers": [
        "9.9.9.9",
        "127.0.0.3"
      ],
      "gateway": "172.16.5.1",
      "ipAddressMetrics": {
        "available": 250,
        "total": 251,
        "used": 1,
        "utilization": 0
      },
      "ipAddressRanges": [
        {
          "endingIPAddress": "172.16.5.254",
          "startingIPAddress": "172.16.5.4"
        }
      ],
      "jumbo": false,
      "mtu": 1450,
      "name": "testMangala1",
      "networkID": "392913e3-e8ac-406b-a061-b431ee4bd239",
      "type": "vlan",
      "vlanID": 3314
    }

Update a Network

PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.network.update

Auditing

Calling this method generates the following auditing event.

  • power-iaas.network.update

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

  • Network ID

Parameters to update a Network

  • 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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Unprocessable Entity

  • Internal Server Error

Example responses
  • {
      "cidr": "195.168.0.0/24",
      "dnsServers": [
        "127.0.0.1"
      ],
      "gateway": "195.168.0.1",
      "ipAddressMetrics": {
        "available": 125,
        "total": 125,
        "used": 0,
        "utilization": 0
      },
      "ipAddressRanges": [
        {
          "endingIPAddress": "195.168.0.128",
          "startingIPAddress": "195.168.0.4"
        }
      ],
      "mtu": 1450,
      "name": "test-net",
      "networkID": "2e456abe-3948-de91-3913-efca59681745",
      "type": "vlan",
      "vlanID": 964
    }

Get all ports for this network

GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.read

    Grants access to this and other methods.

  • power-iaas.network-port.list

Auditing

Calling this method generates the following auditing event.

  • power-iaas.port.list

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

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal Server Error

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.network-port.create

Auditing

Calling this method generates the following auditing event.

  • power-iaas.port.create

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

  • Network ID

Create a Network 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

Status Code

  • Created

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Unprocessable Entity

  • Internal Server Error

Example responses
  • {
      "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"
        }
      ]
    }

Delete a Network Port

DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

  • power-iaas.cloud-instance.modify

    Grants access to this and other methods.

  • power-iaas.network-port.delete

Auditing

Calling this method generates the following auditing event.

  • power-iaas.port.delete

Request

Path Parameters

  • Cloud Instance ID of a PCloud Instance

  • Network ID

  • Port ID

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Gone

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get a port's information

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.network-port.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.port.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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"
      }

    Update a port's information

    PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.network-port.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.port.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Network ID

    • Port ID

    Parameters for updating a Port

    • 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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "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"
        }
      }

    Get all Server Placement Groups

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.placement-group.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.placement-group.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.placement-group.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.placement-group.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for the creation of a new Server Placement Group

    • 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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "id": "7a3583cc-85ec-4589-b5b5-b5d7af58354f",
        "members": [],
        "name": "MyAffinity-servergroup-1620150831",
        "policy": "affinity"
      }

    Delete Server Placement Group

    DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.placement-group.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.placement-group.delete

    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'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get Server Placement Group detail

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.placement-group.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.placement-group.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.placement-group-member.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.placement-groups.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Placement Group ID

    Parameters for removing a Server in a Placement Group

    • 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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "id": "7a3583cc-85ec-4589-b5b5-b5d7af58354f",
        "members": [],
        "name": "MyAffinity-servergroup-1620150831",
        "policy": "affinity"
      }

    Add Server to Placement Group

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.placement-group-member.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.placement-groups.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Placement Group ID

    Parameters for adding a server to a Server Placement Group

    • 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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "id": "7a3583cc-85ec-4589-b5b5-b5d7af58354f",
        "members": [
          "541c1cda-a8da-4081-8020-3a0ce9850ca0"
        ],
        "name": "MyAffinity-servergroup-1620150831",
        "policy": "affinity"
      }

    List of available resources within a particular Pod

    Applicable to satellite locations only.

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following action, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.pod-capacity.view

      Required for satellite locations, ignored for public data centers.

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pod-capacity.list

    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/pod-capacity   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    List of available resources within a Pod

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "PodData": {
          "cores": 19.9,
          "memory": 4737,
          "satLocationID": "satloc_dal_clp394838u3uhfu2hf48",
          "storage": 374486,
          "totalCores": 160.6,
          "totalMemory": 6420,
          "totalPhysCores": 360,
          "totalPhysMemory": 7936,
          "totalPhysStorage": 1608770,
          "totalStorage": 409600
        },
        "StorageControllers": {
          "192166272": {
            "displayName": "ibm001-flash-1",
            "health": "OK",
            "poolStorage": 181882,
            "poolTotalStorage": 204800,
            "pools": {
              "general-flash-1": {
                "poolName": "general-flash-1",
                "storage": 181882,
                "totalStorage": 204800
              }
            }
          },
          "192166274": {
            "displayName": "ibm001-flash-2",
            "health": "OK",
            "poolStorage": 192604,
            "poolTotalStorage": 204800,
            "pools": {
              "general-flash-2": {
                "poolName": "general-flash-2",
                "storage": 192604,
                "totalStorage": 204800
              }
            }
          },
          "generic0": {
            "displayName": "PVC-Lite-File_1abc",
            "health": "OK",
            "poolStorage": 0,
            "poolTotalStorage": 0,
            "pools": {}
          },
          "generic1": {
            "displayName": "PVC-Lite-File_2abc",
            "health": "OK",
            "poolStorage": 0,
            "poolTotalStorage": 0,
            "pools": {}
          },
          "generic2": {
            "displayName": "PVC-Lite-File_3abc",
            "health": "OK",
            "poolStorage": 0,
            "poolTotalStorage": 0,
            "pools": {}
          },
          "generic3": {
            "displayName": "PVC-Lite-File_4abc",
            "health": "OK",
            "poolStorage": 0,
            "poolTotalStorage": 0,
            "pools": {}
          },
          "generic4": {
            "displayName": "PVC-Lite-File_5abc",
            "health": "OK",
            "poolStorage": 0,
            "poolTotalStorage": 0,
            "pools": {}
          }
        },
        "SystemPools": {
          "e1050": {
            "cores": 13.06,
            "memory": 1887,
            "systems": [
              {
                "cores": 13.06,
                "id": 23,
                "memory": 1887,
                "totalCores": 61.66,
                "totalMemory": 2262,
                "totalPhysCores": 120,
                "totalPhysMemory": 2560
              }
            ],
            "totalCores": 61.66,
            "totalMemory": 2262,
            "totalPhysCores": 120,
            "totalPhysMemory": 2560
          },
          "e1080": {
            "cores": 1.69,
            "memory": 2782,
            "systems": [
              {
                "cores": 1.69,
                "id": 14,
                "memory": 2782,
                "totalCores": 58.44,
                "totalMemory": 3303,
                "totalPhysCores": 120,
                "totalPhysMemory": 3840
              }
            ],
            "totalCores": 58.44,
            "totalMemory": 3303,
            "totalPhysCores": 120,
            "totalPhysMemory": 3840
          },
          "s1022": {
            "cores": 5.15,
            "memory": 68,
            "systems": [
              {
                "cores": 2.69,
                "id": 20,
                "memory": 58,
                "totalCores": 16.24,
                "totalMemory": 311,
                "totalPhysCores": 40,
                "totalPhysMemory": 512
              },
              {
                "cores": 2.42,
                "id": 5,
                "memory": 1,
                "totalCores": 13.37,
                "totalMemory": 382,
                "totalPhysCores": 40,
                "totalPhysMemory": 512
              },
              {
                "cores": 0.04,
                "id": 11,
                "memory": 9,
                "totalCores": 10.89,
                "totalMemory": 162,
                "totalPhysCores": 40,
                "totalPhysMemory": 512
              }
            ],
            "totalCores": 40.5,
            "totalMemory": 855,
            "totalPhysCores": 120,
            "totalPhysMemory": 1536
          }
        }
      }

    Get all the pvm instances for this cloud instance

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.list

    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 $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Request Timeout

    • Internal Server Error

    Example responses
    • {
        "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"
      }

    Create a new Power VM Instance

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.create

    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

    • 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

    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.

    Example responses
    • {
        "addresses": [
          {
            "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/35c0e26c-e51f-4230-b556-49ada44d8831/networks/64782dfc-820f-45e7-9975-7320a548f116",
            "ip": "192.168.2.153",
            "ipAddress": "192.168.2.153",
            "macAddress": "fa:f2:5f:3c:86:20",
            "networkID": "64782dfc-820f-45e7-9975-7320a548f116",
            "networkName": "MoyTest",
            "type": "fixed",
            "version": 4
          }
        ],
        "creationDate": "2020-01-17T05:55:28.000Z",
        "diskSize": 80,
        "health": {
          "lastUpdate": "2020-01-17T17:23:04.070Z",
          "status": "OK"
        },
        "imageID": "8105a084-0360-478f-bfe8-c5a2af98f690",
        "maxmem": 4,
        "maxproc": 0.5,
        "memory": 2,
        "migratable": false,
        "minmem": 2,
        "minproc": 0.25,
        "networkIDs": [
          "64782dfc-820f-45e7-9975-7320a548f116"
        ],
        "networks": [
          {
            "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/35c0e26c-e51f-4230-b556-49ada44d8831/networks/64782dfc-820f-45e7-9975-7320a548f116",
            "ip": "192.168.2.153",
            "ipAddress": "192.168.2.153",
            "macAddress": "fa:f2:5f:3c:86:20",
            "networkID": "64782dfc-820f-45e7-9975-7320a548f116",
            "networkName": "MoyTest",
            "type": "fixed",
            "version": 4
          }
        ],
        "procType": "shared",
        "processors": 0.25,
        "pvmInstanceID": "35c0e26c-e51f-4230-b556-49ada44d8831",
        "serverName": "MoyMetadataTest3",
        "status": "ACTIVE",
        "storageType": "standard",
        "sysType": "s922",
        "updatedDate": "2020-01-17T05:55:28.000Z",
        "volumeIDs": [
          "3a40ee8a-e80c-49bc-9db4-b09687c38bd1"
        ]
      }

    Delete a PCloud PVM Instance

    DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.delete

    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.

    Parameters to delete a PVM Instance

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

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Gone

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get a PVM Instance's current state or information

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    Parameters to update a PCloud PVM Instance

    • 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

    Status Code

    • Accepted (this is a long running operation)

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "addresses": [
          {
            "externalIP": "xxx.xxx.xxx.xxx",
            "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/8ab7ede5-540e-44bc-99cf-9c8bf1ac6297/networks/8838dcff-d423-4490-aa95-7bfed54adbae",
            "ip": "192.168.140.38",
            "ipAddress": "192.168.140.38",
            "macAddress": "fa:38:e6:a8:19:20",
            "networkID": "8838dcff-d423-4490-aa95-7bfed54adbae",
            "networkName": "public-192_168_140_32-29-VLAN_3305",
            "type": "fixed",
            "version": 4
          }
        ],
        "creationDate": "2020-04-22T17:12:41.000Z",
        "diskSize": 20,
        "health": {
          "lastUpdate": "2020-04-22T17:16:28.099Z",
          "status": "WARNING"
        },
        "imageID": "dd04bafb-fda2-49c5-825b-1c1d274a8a99",
        "maxmem": 4,
        "maxproc": 0.5,
        "memory": 4,
        "migratable": false,
        "minmem": 2,
        "minproc": 0.25,
        "networkIDs": [
          "8838dcff-d423-4490-aa95-7bfed54adbae"
        ],
        "networks": [
          {
            "externalIP": "xxx.xxx.xxx.xxx",
            "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/pvm-instances/8ab7ede5-540e-44bc-99cf-9c8bf1ac6297/networks/8838dcff-d423-4490-aa95-7bfed54adbae",
            "ip": "192.168.140.38",
            "ipAddress": "192.168.140.38",
            "macAddress": "fa:38:e6:a8:19:20",
            "networkID": "8838dcff-d423-4490-aa95-7bfed54adbae",
            "networkName": "public-192_168_140_32-29-VLAN_3305",
            "type": "fixed",
            "version": 4
          }
        ],
        "pinPolicy": "soft",
        "procType": "dedicated",
        "processors": 0.25,
        "pvmInstanceID": "8ab7ede5-540e-44bc-99cf-9c8bf1ac6297",
        "serverName": "stg-provision-test-eu-de-1",
        "status": "ACTIVE",
        "storageType": "tier1",
        "sysType": "s922",
        "updatedDate": "2020-04-22T17:12:41.000Z",
        "volumeIDs": [
          "d2c0e860-bceb-48a1-aa54-e8c5af9bdefc"
        ]
      }

    Perform an action on a PVMInstance

    Corresponding actions are 'start', 'stop', 'reboot', 'immediate-shutdown', 'reset'

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance.action

    Auditing

    Calling this method generates the following auditing events.

    • power-iaas.pvm-instance.start

    • power-iaas.pvm-instance.stop

    • power-iaas.pvm-instance.immediate-shutdown

    • power-iaas.pvm-instance.renew

    • power-iaas.pvm-instance.unknown

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    Parameters for the desired action

    • 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"
            }'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-capture.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.capture

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    Parameters for the capture PVMInstance

    • 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"
            }'

    Response

    Status Code

    • OK

    • Accepted, upload to cloud storage in progress

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    List all console languages

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance-console.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.monitor

    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/console   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "consoleLanguages": [
          {
            "code": "1399",
            "language": "1399 Japanese (Latin Unicode Extended)"
          },
          {
            "code": "e1399",
            "language": "e1399 Japanese (Latin Unicode Extended: JIS2014)"
          },
          {
            "code": "037",
            "language": "037 English"
          },
          {
            "code": "930",
            "language": "930 Japanese (Katakana)"
          },
          {
            "code": "e930",
            "language": "e930 Japan (Katakana Extended)"
          },
          {
            "code": "939",
            "language": "939 Japan (Latin Extended)"
          }
        ]
      }

    Generate the noVNC Console URL

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance-console.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.monitor

    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'

    Response

    Status Code

    • Created

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "consoleURL": "https://dal12-console.power-iaas.test.cloud.ibm.com/console/index.html?path=%3Ftoken%393239203d-ed93-2831-3848-388187472cba"
      }

    Update PVMInstance console language code

    PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance-console.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.monitor

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    Parameters to update a PVMInstance console required codepage

    • curl -X PUT   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/$CLOUD_INSTANCE_ID/pvm-instances/$PVM_INSTANCE_ID/console   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json'   -d '{
              "code": "e1399"
            }'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "code": "e1399"
      }

    Get all networks for this PVM Instance

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance-network.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance-network.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-network.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance-network.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    Add network to PVM Instance parameters

    • 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

    Status Code

    • Created

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "href": "/pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/pvm-instances/9cb9384d-9b0e-4cb9-a8b5-b0ec7977dc3f/networks/f89dce15-e05f-46cf-8350-3eeb8cbe40ba",
        "ip": "195.166.0.111",
        "ipAddress": "195.166.0.111",
        "macAddress": "fa:38:e6:a8:19:20",
        "networkID": "8838dcff-d423-4490-aa95-7bfed54adbae",
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-network.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance-network.delete

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    • Network ID

    Remove a network from PVM Instance parameters

    • 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' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Gone

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get a PVM Instance's network information

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance-network.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance-network.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "networks": [
          {
            "externalIP": "xxx.xxx.xxx.xxx",
            "ip": "192.168.140.38",
            "ipAddress": "192.168.140.38",
            "macAddress": "fa:38:e6:a8:19:20",
            "networkID": "8838dcff-d423-4490-aa95-7bfed54adbae",
            "networkName": "public-192_168_140_32-29-VLAN_3305",
            "type": "fixed",
            "version": 4
          }
        ]
      }

    Perform an operation on a PVMInstance

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance.operation

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.operation

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    Parameters for the desired operations

    • 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)
              }
            }'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get all snapshots for this PVM Instance

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance-snapshot.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-snapshot.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.snapshot

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    PVM Instance snapshot create parameters

    • 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"]
            }'

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    • Gateway Timeout

    Example responses
    • {
        "snapshotID": "je47ff70-55c9-4cf5-965a-ecdf90e7d78a"
      }

    Restore a PVM Instance snapshot

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-snapshot.restore

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.read

    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

    • 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

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    Example responses
    • {
        "action": "action",
        "creationDate": "2000-01-23T04:56:07.000Z",
        "description": "snapshot restore",
        "lastUpdateDate": "2000-01-23T04:56:07.000Z",
        "name": "name",
        "percentComplete": 0,
        "pvmInstanceID": "pvmInstanceID",
        "snapshotID": "snapshotID",
        "status": "status",
        "volumeSnapshots": {
          "key": "volumeSnapshots"
        }
      }

    Get all the pvm instances for this cloud instance

    GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.pvm-instance.list

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com//pcloud/v2/cloud-instances/$CLOUD_INSTANCE_ID/pvm-instances   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Request Timeout

    • Internal Server Error

    Example responses
    • {
        "pvminstances": [
          {
            "configuration": {
              "licenseRepositoryCapacity": 1,
              "systemReferenceCodes": []
            },
            "cores": {
              "assigned": 0.5,
              "maximum": 0.75,
              "minimum": 0.25
            },
            "creationDate": "2019-11-21T10:41:33.000Z",
            "deployment": {
              "machineType": "s922",
              "pinPolicy": "soft",
              "processorMode": "shared"
            },
            "health": {
              "status": "ATTENTION"
            },
            "host": {
              "id": 82
            },
            "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/6da0fd14-f7d3-4142-96f5-078df36c2539",
            "id": "6da0fd14-f7d3-4142-96f5-078df36c2539",
            "memory": {
              "assigned": 16,
              "maximum": 24,
              "minimum": 12
            },
            "name": "Test_VTL",
            "networkPorts": {
              "id": "c4af3a74-0852-4b1c-95d6-4b4b9bc040a7",
              "ipProtocol": "IPv4",
              "macAddress": "fa:f2:a4:c3:9e:a3",
              "privateIP": "192.168.0.0",
              "type": "static"
            },
            "operatingSystem": {
              "type": "vtl",
              "version": "Linux/CentOS Linux 3.10.0-957.27.2.el7.ppc647 (AltArch), 7 (AltArch)"
            },
            "placementGroup": {
              "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
            },
            "status": "ACTIVE",
            "virtualCores": {
              "assigned": 15,
              "maximum": 20,
              "minimum": 10
            }
          },
          {
            "configuration": {
              "softwareLicenses": {
                "ibmiCSS": false,
                "ibmiDBQ": true,
                "ibmiPHA": false,
                "ibmiRDS": false
              },
              "systemReferenceCodes": []
            },
            "cores": {
              "assigned": 0.5,
              "maximum": 0.75,
              "minimum": 0.25
            },
            "creationDate": "2020-01-17T05:55:28.000Z",
            "deployment": {
              "machineType": "s922",
              "pinPolicy": "none",
              "processorMode": "shared"
            },
            "health": {
              "status": "WARNING"
            },
            "host": {
              "id": 29
            },
            "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/35c0e26c-e51f-4230-b556-49ada44d8831",
            "id": "35c0e26c-e51f-4230-b556-49ada44d8831",
            "memory": {
              "assigned": 16,
              "maximum": 24,
              "minimum": 12
            },
            "name": "Test_IBMI",
            "networkPorts": {
              "id": "1d57c166-d982-43a5-8487-f59e48632u2a",
              "ipProtocol": "IPv4",
              "macAddress": "fa:f2:5f:ea:15:20",
              "privateIP": "",
              "type": "dhcp"
            },
            "operatingSystem": {
              "type": "ibmi",
              "version": "V7R3M0 410 9"
            },
            "placementGroup": {
              "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
            },
            "status": "ACTIVE",
            "virtualCores": {
              "assigned": 15,
              "maximum": 20,
              "minimum": 10
            }
          },
          {
            "configuration": {
              "sapProfile": {
                "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/sap/saptest-1x4",
                "profileID": "saptest-1x4"
              },
              "systemReferenceCodes": []
            },
            "cores": {
              "assigned": 4,
              "maximum": 4,
              "minimum": 4
            },
            "creationDate": "2021-09-26T02:55:28.000Z",
            "deployment": {
              "machineType": "s922",
              "pinPolicy": "none",
              "processorMode": "dedicated",
              "type": "SAP-RISE"
            },
            "health": {
              "status": "OK"
            },
            "host": {
              "id": 37
            },
            "href": "/pcloud/v1/cloud-instances/969afb22cb004e808ab84b827abfa1b0/pvm-instances/35c0e26c-e51f-4230-b556-49adac4d8838",
            "id": "35c0e26c-e51f-4230-b556-49adac4d8838",
            "memory": {
              "assigned": 16,
              "maximum": 24,
              "minimum": 12
            },
            "name": "Test_RHEL",
            "networkPorts": {
              "id": "64782dfc-820f-45e7-9975-7320a548f116",
              "ipProtocol": "IPv4",
              "macAddress": "fa:f2:5f:3c:86:20",
              "privateIP": "192.168.2.153",
              "type": "static"
            },
            "operatingSystem": {
              "type": "rhel",
              "version": "Linux/Red Hat Enterprise Linux 4.16.0-305.45.1.el8_4.ppc8.4 (Ootpa), 8.4 (Ootpa)"
            },
            "placementGroup": {
              "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
            },
            "status": "ACTIVE",
            "virtualCores": {
              "assigned": 15,
              "maximum": 20,
              "minimum": 10
            }
          }
        ]
      }

    Get detail of last capture job

    GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance-capture.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.job.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-capture.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.job.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    Parameters for the capture

    • 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

    Status Code

    • Accepted, pvm-instance capture successfully added to the jobs queue

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict, a conflict has prevented adding the pvm-instance capture job

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "href": "pcloud/v1/jobs/c113467d-8419-449c-8d81-259dda713d9f",
        "jobID": "c113467d-8419-449c-8d81-259dda713d9f"
      }

    List all volumes attached to a PVM Instance

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance-volume.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "volumes": [
          {
            "bootVolume": true,
            "bootable": true,
            "creationDate": "2020-04-22T16:16:08.000Z",
            "diskType": "tier1",
            "href": "/pcloud/v1/cloud-instances/66b2c271412a4726b4ba72db3637ee60/volumes/22f701a6-81a5-4df9-8c0b-eaec1c5e8bc7",
            "lastUpdateDate": "2020-04-22T16:16:21.000Z",
            "name": "testVolume",
            "pvmInstanceIDs": [
              "6c98be83-bc60-441d-bd37-9894b58ec98c"
            ],
            "shareable": false,
            "size": 20,
            "state": "in-use",
            "volumeID": "22f701a6-81a5-4df9-8c0b-eaec1c5e8bc7",
            "volumePool": "Tier1-Flash-1",
            "volumeType": "Tier1-Flash-1",
            "wwn": 9.00507640081029e+31
          }
        ]
      }

    Detach a volume from a PVMInstance

    DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-volume.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.configure

    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'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pvm-instance-volume.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "bootable": true,
        "creationDate": "2020-04-22T16:16:08.000Z",
        "diskType": "tier1",
        "lastUpdateDate": "2020-04-22T16:16:21.000Z",
        "name": "testVolume",
        "pvmInstanceIDs": [
          "6c98be83-bc60-441d-bd37-9894b58ec98c"
        ],
        "shareable": false,
        "size": 20,
        "state": "in-use",
        "volumeID": "22f701a6-81a5-4df9-8c0b-eaec1c5e8bc7",
        "volumePool": "Tier1-Flash-1",
        "volumeType": "Tier1-Flash-1",
        "wwn": 9.00507640081029e+31
      }

    Attach a volume to a PVMInstance

    Attach a volume to a PVMInstance.

    Note: Recommended for attaching data volumes. In the case of VMRM, it is recommended to use the 'Attach all volumes to a PVM instance' API for attaching the first boot volume.

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-volume.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.configure

    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'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Update a volume attached to a PVMInstance

    PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-volume.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.configure

    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

    • 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"
            }'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Set the PVMInstance volume as the boot volume

    Set the PVMInstance volume as the boot volume.

    Note: If a non-bootable volume is provided, it will be converted to a bootable volume and then attached.

    PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-boot-volume.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.configure

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    • Volume ID

    • curl -X PUT   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    List all volumes for this cloud instance

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.cloud-instance-volume.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • [
        {
          "bootable": true,
          "creationDate": "2019-11-21T10:41:38.000Z",
          "diskType": "tier1",
          "href": "/pcloud/v1/cloud-instances/969afb22cb004e807ab84b827abfa1b0/volumes/8a78e4b2-fc59-473e-9260-51a753634fd9",
          "lastUpdateDate": "2019-11-21T10:42:16.000Z",
          "name": "testr-6da0fd14-00000953-boot-0",
          "shareable": false,
          "size": 20,
          "state": "in-use",
          "volumeID": "8a78e4b2-fc59-473e-9260-51a753634fd9",
          "volumePool": "StoragePool-1",
          "volumeType": "StoragePool-1",
          "wwn": "wwn-id"
        },
        {
          "auxVolumeName": "aux_test-vol-1-ff2dd3a6-17ed44275611",
          "auxiliary": false,
          "bootable": false,
          "creationDate": "2022-07-08T12:28:41.000Z",
          "diskType": "tier1",
          "href": "/pcloud/v1/cloud-instances/6dc23f8f500f44a180661501eee2d9f8/volumes/ff2dd3a6-17ed-453d-88fc-7f77882c4d81",
          "lastUpdateDate": "2022-07-08T12:28:47.000Z",
          "masterVolumeName": "volume-test-vol-1-ff2dd3a6-17ed",
          "mirroringState": "inconsistent_copying",
          "name": "test-vol-1",
          "primaryRole": "master",
          "pvmInstanceIDs": [],
          "replicationEnabled": true,
          "replicationStatus": "enabled",
          "replicationType": "global",
          "shareable": false,
          "size": 2,
          "state": "available",
          "volumeID": "ff2dd3a6-17ed-453d-88fc-7f77882c4d66",
          "volumePool": "Tier1-Flash-1",
          "volumeType": "Tier1-Flash-1-DR",
          "wwn": "6005076400810289700000000000B788"
        }
      ]

    Create a new data Volume

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.cloud-instance-volume.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for the creation of a new data volume

    • 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

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "bootable": false,
        "creationDate": "2021-08-31T19:26:55.000Z",
        "diskType": "tier3",
        "href": "/pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/volumes/322d6d22-5006-4813-9f9c-92d6acea84ee",
        "lastUpdateDate": "1970-01-01T00:00:00.000Z",
        "name": "data-volume-1",
        "pvmInstanceIDs": [],
        "replicationStatus": "not-capable",
        "shareable": false,
        "size": 2000,
        "state": "creating",
        "volumeID": "322d6d22-5006-4813-9f9c-92d6acea84ee",
        "volumePool": "Tier3-Flash-1",
        "volumeType": "Tier3-Flash-1",
        "wwn": "322d6d22-5006-4813-9f9c-92d6acea84ee"
      }

    Create a volume clone for specified volumes

    This API is deprecated, use v2 clone API to perform the volume clone.

    Note: Support for this API will be available till 31st March 2023.

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-clone.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.clone

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for the cloning of volumes

    • 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"
            }'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    Example responses
    • {
        "clonedVolumes": {
          "volume-id-1": "cloned-volume-id-1",
          "volume-id-2": "cloned-volume-id-2"
        }
      }

    Delete a cloud instance volume

    DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.cloud-instance-volume.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.delete

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Volume ID

    • curl -X DELETE   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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Gone

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Detailed info of a volume

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.cloud-instance-volume.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.cloud-instance-volume.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Volume ID

    Parameters to update a cloud instance volume

    • 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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "bootable": false,
        "creationDate": "2020-01-10T16:43:39.000Z",
        "diskType": "tier1",
        "lastUpdateDate": "2020-01-13T17:58:45.000Z",
        "name": "test-data-vol-4",
        "shareable": true,
        "size": 32,
        "state": "in-use",
        "volumeID": "e8cc1226-a4d5-46c8-875c-312b8b5bdda6"
      }

    Perform an action on a Volume

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.cloud-instance-volume.action

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.operation

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Volume ID

    Parameters for the desired action

    • 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
            }'

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get a list of flashcopy mappings of a given volume

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-flash-copy.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Too Many Requests

    • Internal Server Error

    Example responses
    • [
        {
          "flashCopyName": "fcmap44",
          "sourceVolumeName": "volume-vol-demo-b52b93df-746c",
          "startTime": "1901-01-01T00:00:00.000Z",
          "status": "stopped",
          "targetVolumeName": "chg_volume-vol-demo-b52b93df-746c"
        },
        {
          "copyRate": "50,",
          "flashCopyName": "fcmap45",
          "sourceVolumeName": "chg_volume-vol-demo-b52b93df-746c",
          "startTime": "1901-01-01T00:00:00.000Z",
          "status": "idle_or_copied",
          "targetVolumeName": "volume-vol-demo-b52b93df-746c"
        }
      ]

    Get remote copy relationship of a volume

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-remote-copy.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Too Many Requests

    • Internal Server Error

    Example responses
    • {
        "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"
      }

    Detach multiple volumes from a PVMInstance

    DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-volume.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.configure

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    Parameter to detach multiple volumes from a PVMInstance

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Attach all volumes to a PVMInstance

    Attach all volumes to a PVMInstance.

    Note: In the case of VMRM, if a single volume ID is provided in the 'volumeIDs' field, that volume will be converted to a bootable volume and then attached.

    POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.pvm-instance-volume.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.configure

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PCloud PVM Instance ID

    Parameter to attach volumes to a PVMInstance

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

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    Example responses
    • {
        "summary": "The request to attach volumes to the server 2e456abe-3948-de91-3913-efca59681745 has been submitted successfully. Please check the server details for the status of the volume attachment request"
      }

    Delete all volumes

    DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.cloud-instance-volume.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.delete

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters to delete volumes

    Response

    Status Code

    • Accepted

    • Partial Content

    • Bad Request

    • Unauthorized

    • Not Found

    • Request Timeout

    • Too Many Requests

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Create multiple data volumes from a single definition

    POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.cloud-instance-volume.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for creating multiple volumes

    • 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

    Status Code

    • Created

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "volumes": [
          {
            "bootVolume": false,
            "bootable": false,
            "creationDate": "2020-08-04T15:34:28.000Z",
            "diskType": "tier3",
            "href": "/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/{volume_id}",
            "lastUpdateDate": "2020-08-04T15:34:28.000Z",
            "name": "base-name-1",
            "pvmInstanceIDs": [],
            "shareable": false,
            "size": 5,
            "state": "creating",
            "volumeID": "<uuid>",
            "volumePool": "Tier3-Flash-1",
            "volumeType": "Tier3-Flash-1",
            "wwn": "322d6d22-5006-4813-9f9c-92d6acea84ee"
          },
          {
            "bootVolume": false,
            "bootable": false,
            "creationDate": "2020-08-04T15:34:28.000Z",
            "diskType": "tier1",
            "href": "/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/{volume_id}",
            "lastUpdateDate": "2020-08-04T15:34:28.000Z",
            "name": "base-name-2",
            "pvmInstanceIDs": [],
            "shareable": false,
            "size": 5,
            "state": "creating",
            "volumeID": "<uuid>",
            "volumePool": "Tier1-Flash-1",
            "volumeType": "Tier1-Flash-1",
            "wwn": "322d6d22-5006-4813-9f9c-92d6acea84ee"
          }
        ]
      }

    Get the list of volumes-clone request for a cloud instance

    GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-clone.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • [
        {
          "action": "prepare",
          "creationDate": "2020-09-28T20:09:33.829Z",
          "lastUpdateDate": "2020-09-28T20:09:50.749Z",
          "name": "test2-Sep28",
          "percentComplete": 70,
          "status": "preparing",
          "volumesCloneID": "a4945ba6-5b4c-45b5-8312-485e3ac1ec3d"
        },
        {
          "action": "start",
          "creationDate": "2020-09-28T19:42:38.618Z",
          "lastUpdateDate": "2020-09-28T19:44:52.386Z",
          "name": "test1-Sep28",
          "percentComplete": 100,
          "status": "available",
          "volumesCloneID": "8553bb63-7eac-405c-af8c-ccfe71186ca8"
        }
      ]

    Create a new volumes clone request and initiates the Prepare action

    Requires a minimum of two volumes. Requires a minimum of one volume to be in the in-use state. Requires a unique volumes clone name. Prepare action does the preparatory work for creating the snapshot volumes.

    Note: If there is an existing prepare, user cannot trigger another prepare for the same set of volumes. Prepare should be followed by start and execute. If existing prepare does not have to be used then it should be first cancelled before the next prepare operation.

    POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-clone.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.clone

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for preparing a set 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

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "action": "prepare",
        "creationDate": "2020-09-28T19:42:38.618Z",
        "lastUpdateDate": "2020-09-28T19:42:38.618Z",
        "name": "test1-Sep28",
        "percentComplete": 0,
        "status": "preparing",
        "volumesCloneID": "8553bb63-7eac-405c-af8c-ccfe71186ca8"
      }

    Delete a volumes-clone request

    DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-clone.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.clone

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

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get the details for a volumes-clone request

    GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-clone.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.clone

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "action": "execute",
        "clonedVolumes": [
          {
            "clone": {
              "name": "clone-tim-xyz-23222-5",
              "volumeID": "38809cf7-0c9e-4c21-b4f5-b3b99305bf1a"
            },
            "source": {
              "name": "tim-vm-capture-1-data-2",
              "volumeID": "f2e3d534-c2af-4ead-9ba5-54ccb43ead79"
            }
          },
          {
            "clone": {
              "name": "clone-tim-xyz-23222-4",
              "volumeID": "920863d2-f6c1-4e21-8df5-d016bf6c10ef"
            },
            "source": {
              "name": "tim-vm-capture-1-data-3",
              "volumeID": "bfa57ddb-dcfa-4aad-aee2-e63a95519a07"
            }
          },
          {
            "clone": {
              "name": "clone-tim-xyz-23222-1",
              "volumeID": "67316c07-877f-4e2b-8126-dce1e1d36302"
            },
            "source": {
              "name": "tim-test-capture-1-boot",
              "volumeID": "cf367e26-12b7-4870-9cf3-bf9a75e565ca"
            }
          },
          {
            "clone": {
              "name": "clone-tim-xyz-23222-3",
              "volumeID": "3e2c0def-783d-426b-9121-56c7cfd313bb"
            },
            "source": {
              "name": "tim-vm-capture-1-data-4",
              "volumeID": "3b58f6ee-095e-4e95-9c82-615a07e7d661"
            }
          },
          {
            "clone": {
              "name": "clone-tim-xyz-23222-2",
              "volumeID": "d83b83e0-a8db-4ecd-a660-58fe13a12dba"
            },
            "source": {
              "name": "tim-vm-capture-1-data-1",
              "volumeID": "d313abd1-827d-4803-9712-122aa9b667b7"
            }
          }
        ],
        "creationDate": "2020-09-28T19:42:38.618Z",
        "lastUpdateDate": "2020-09-28T19:49:03.914Z",
        "name": "test1-Sep28",
        "percentComplete": 100,
        "status": "completed",
        "volumesCloneID": "8553bb63-7eac-405c-af8c-ccfe71186ca8"
      }

    Cancel a volumes-clone request

    Initiates the cleanup action that performs the cleanup of the preparatory clones and snapshot volumes.

    POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-clone.cancel

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.clone

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Volumes Clone ID

    Parameters for cancelling a volumes-clone request

    • 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

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "action": "cancel",
        "creationDate": "2020-09-28T20:09:33.829Z",
        "lastUpdateDate": "2020-09-28T20:16:31.950Z",
        "name": "test2-Sep28",
        "percentComplete": 0,
        "status": "cancelling",
        "volumesCloneID": "a4945ba6-5b4c-45b5-8312-485e3ac1ec3d"
      }

    Initiate the Execute action for a volumes-clone request

    Execute action creates the cloned volumes using the volume snapshots.

    POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-clone.execute

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.clone

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Volumes Clone ID

    Parameters for the cloning of volumes

    • curl --location --request POST   http://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes-clone/{volumes_clone_id}/execute       -H 'Authorization: Bearer <>'
            -H 'CRN:'
            -H 'Content-Type: application/json'
            -d '{
                "name":"test-volume",
                "rollbackPrepare": false
                }'

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "action": "execute",
        "creationDate": "2020-09-28T19:42:38.618Z",
        "lastUpdateDate": "2020-09-28T19:47:04.309Z",
        "name": "test1-Sep28",
        "percentComplete": 0,
        "status": "executing",
        "volumesCloneID": "8553bb63-7eac-405c-af8c-ccfe71186ca8"
      }

    Initiate the Start action for a volumes-clone request

    Start action starts the consistency group to initiate the flash copy.

    POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-clone.start

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "action": "start",
        "creationDate": "2020-09-28T19:42:38.618Z",
        "lastUpdateDate": "2020-09-28T19:44:52.386Z",
        "name": "test1-Sep28",
        "percentComplete": 100,
        "status": "available",
        "volumesCloneID": "8553bb63-7eac-405c-af8c-ccfe71186ca8"
      }

    Create a volume clone for specified volumes

    POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-clone.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.clone

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for the cloning of volumes

    • curl -X POST   https://us-east.power-iaas.cloud.ibm.com/pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/clone   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json'   -d '{
              "name": "base-name",
              "volumeIDs": [
                    "3f3a0c29-d459-4397-920c-10e42eecb658",
                    "my-data-volume"]
            }'

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "cloneTaskID": "fe14b0f3-9027-41c0-b804-760bf95ffc1d",
        "href": "pcloud/v2/cloud-instances/${CLOUD_INSTANCE_ID}/volumes/clone-tasks/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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-clone.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume.clone

    Request

    Custom Headers

    • Allowable values: [application/json,percentComplete,status]

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Volumes Clone Task ID

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com//pcloud/v2/cloud-instances/$CLOUD_INSTANCE_ID/volumes/clone-tasks/$CLONE_TASK_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    Example responses
    • {
        "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"
          }
        ]
      }

    Get list of SAP profiles

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.sap.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.sap.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "profiles": [
          {
            "certified": true,
            "cores": 1,
            "fullSystemProfile": false,
            "memory": 4,
            "profileID": "test-1x4",
            "saps": 12000,
            "smtMode": 8,
            "supportedSystems": [
              "e980"
            ],
            "type": "compute",
            "workloadTypes": [
              "OLAP"
            ]
          },
          {
            "certified": false,
            "cores": 16,
            "fullSYstemProfile": false,
            "memory": 1600,
            "profileID": "test-16x1600",
            "saps": 24000,
            "smtMode": 8,
            "supportedSystems": [
              "e980"
            ],
            "type": "balanced",
            "workloadTypes": [
              "OLAP"
            ]
          },
          {
            "certified": false,
            "cores": 20,
            "fullSystemProfile": true,
            "memory": 2000,
            "profileID": "test-20x2000",
            "saps": 24000,
            "smtMode": 4,
            "supportedSystems": [
              "e980"
            ],
            "type": "balanced",
            "workloadTypes": [
              "OLAP",
              "OLTP"
            ]
          }
        ]
      }

    Create a new SAP PVM Instance

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.sap.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.sap.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for the creation of a new SAP PVM Instance

    • curl -X POST   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/sap   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json'   -d '{
              "imageID": "01234567-abcd-abcd-abcd-012345678901",
              "name": "test-instance",
              "networks": [
                {
                  "networkID": "01234567-abcd-abcd-abcd-012345678902"
                }
              ],
              "pinPolicy": "none",
              "placementGroup": "01234567-abcd-abcd-abcd-012345678906",
              "profileID": "profile-name",
              "sshKeyName": "ssh-key-name",
              "storageAffinity": {
                "affinityPolicy": "anti-affinity",
                "antiAffinityPVMInstances": null,
                "antiAffinityVolumes": [
                  "01234567-abcd-abcd-abcd-012345678903"
                ]
              },
              "storageType": "tier1",
              "sysType": "e980",
              "userData": "encoded-base64-user-data",
              "volumeIDs": [
                "01234567-abcd-abcd-abcd-012345678904",
                "01234567-abcd-abcd-abcd-012345678905"
              ]
            }

    Response

    A list of PVMInstances

    Status Code

    • OK

    • Created

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • [
        {
          "addresses": [
            {
              "networkID": "26038c24-fdde-4982-8d86-eaf01ab0cf7d"
            }
          ],
          "creationDate": "1901-01-01T00:00:00.000Z",
          "diskSize": 100,
          "imageID": "ed37bc0b-1968-4d88-96a2-30fe4e977e1b",
          "memory": 4,
          "networkIDs": [
            "26038c24-fdde-4982-8d86-eaf01ab0cf7d"
          ],
          "networks": [
            {
              "networkID": "26038c24-fdde-4982-8d86-eaf01ab0cf7d"
            }
          ],
          "osType": "rhel",
          "pinPolicy": "none",
          "procType": "dedicated",
          "processors": 1,
          "pvmInstanceID": "72820ebc-97fb-4898-a763-4a6ccfc60dff",
          "sapProfile": {
            "href": "/pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/sap/tinytest-1x4",
            "profileID": "tinytest-1x4"
          },
          "serverName": "test-rj-sap",
          "srcs": [],
          "status": "BUILDING",
          "storagePool": "Tier1-Flash-2",
          "storageType": "tier1",
          "sysType": "e980",
          "updatedDate": "1901-01-01T00:00:00.000Z",
          "volumeIDs": []
        }
      ]

    Get the information on an SAP profile

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.sap.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.sap.read

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • SAP Profile ID

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/$CLOUD_INSTANCE_ID/sap/$SAP_PROFILE_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "certified": true,
        "cores": 4,
        "fullSystemProfile": false,
        "memory": 128,
        "profileID": "ush1-4x128",
        "saps": 24000,
        "smtMode": 8,
        "supportedSystems": [
          "e880",
          "e980"
        ],
        "type": "small",
        "workloadTypes": [
          "OLAP/OLTP"
        ]
      }

    Get the list of Shared Processor Pools for a cloud instance

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.shared-processor-pool.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.shared-processor-pool.list

    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 $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.shared-processor-pool.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.shared-processor-pool.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for the creation of a new Shared Processor Pool

    • 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

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "id": "95e79570-1339-46da-9999-2a49ee141dda",
        "name": "SPP2",
        "reservedCores": 3,
        "status": "configuring",
        "statusDetail": "“configuration of shared processor pool SPP2 in progress”"
      }

    Delete a Shared Processor Pool from a cloud instance

    DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.shared-processor-pool.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.shared-processor-pool.delete

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

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.shared-processor-pool.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.shared-processor-pool.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.shared-processor-pool.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.shared-processor-pool.update

    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

    • 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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "allocatedCores": 6,
        "availableCores": 0,
        "hostGroup": "s922",
        "hostID": 308,
        "id": "5f0e3a10-0a33-4197-bb51-c9db4f530951",
        "name": "SPP_DB",
        "reservedCores": 6,
        "sharedProcessorPoolPlacementGroups": [],
        "status": "active",
        "statusDetail": "shared processor pool SPP1 is active"
      }

    List all PVM instance snapshots for this cloud instance

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.cloud-instance-snapshot.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.image.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "snapshots": [
          {
            "action": "snapshot1",
            "creationDate": "2022-08-16T08:02:05.000Z",
            "description": "test1",
            "lastUpdateDate": "2022-08-16T08:02:14.000Z",
            "name": "test-abc-snap1",
            "percentComplete": 100,
            "pvmInstanceID": "2eee5ae2-66d2-435d-8e8b-32f80a65df23",
            "snapshotID": "4f37a134-4822-4e86-b56b-d95e82cb056c",
            "status": "available",
            "volumeSnapshots": {
              "f57e242f-203d-4678-bde5-a8f1792e9117": "fa62198c-f614-4750-983a-671b67a38ef3"
            }
          },
          {
            "action": "snapshot2",
            "creationDate": "2022-09-16T08:02:05.000Z",
            "description": "test2",
            "lastUpdateDate": "2022-09-16T08:02:14.000Z",
            "name": "test-abc-snap2",
            "percentComplete": 100,
            "pvmInstanceID": "3abc5bf3-66d2-435d-8e8b-33f80a65df24",
            "snapshotID": "5g48b245-4822-4e86-b56b-d95e82cc167d",
            "status": "available",
            "volumeSnapshots": {
              "g68f353g-203d-4678-bde5-a8f1792f0228": "gb73209d-f614-4750-983a-782c78b49ff4"
            }
          }
        ]
      }

    Delete a PVM instance snapshot of a cloud instance

    DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.cloud-instance-snapshot.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.image.delete

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

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Gone

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get the detail of a snapshot

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.cloud-instance-snapshot.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.image.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.cloud-instance-snapshot.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.image.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • PVM Instance snapshot id

    Parameters for the update of a 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"
            }'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get the list of Shared Processor Pool Placement Groups for a cloud instance

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.spp-placement-group.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.spp-placement-group.list

    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/spp-placement-groups   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.spp-placement-group.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.spp-placement-group.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for the creation of a Shared Processor Pool Placement Group

    • curl -X POST   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/$CLOUD_INSTANCE_ID/spp-placement-groups   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json'   -d '{
              "name": "Tim_Anti"
              "policy": "anti-affinity"
            }'
            

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.spp-placement-group.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.spp-placement-group.delete

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Shared Processor Pool Placement Group ID or Name

    • curl -X DELETE   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/$CLOUD_INSTANCE_ID/spp-placement-groups/$SPP_PLACEMENT_GROUP_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.spp-placement-group.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.spp-placement-group.read

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Shared Processor Pool Placement Group ID or Name

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/$CLOUD_INSTANCE_ID/spp-placement-groups/$SPP_PLACEMENT_GROUP_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "id": "95445036-ee96-454d-869e-535ddc45c4a1",
        "memberSharedProcessorPools": [],
        "name": "Tim_Anti",
        "policy": "anti-affinity"
      }

    Delete Shared Processor Pool member from a Shared Processor Pool Placement Group

    DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.spp-placement-group-member.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.spp-placement-groups.delete

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Shared Processor Pool Placement Group ID or Name

    • Shared Processor Pool ID or Name

    • curl -X DELETE   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/$CLOUD_INSTANCE_ID/spp-placement-groups/$SPP_PLACEMENT_GROUP_ID/members/$SHARED_PROCESSOR_POOL_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    Example responses
    • {
        "id": "95445036-ee96-454d-869e-535ddc45c4a1",
        "memberSharedProcessorPools": [],
        "name": "Tim_Anti",
        "policy": "anti-affinity"
      }

    Add Shared Processor Pool as a member of a Shared Processor Pool Placement Group

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.spp-placement-group-member.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.spp-placement-groups.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Shared Processor Pool Placement Group ID or Name

    • Shared Processor Pool ID or Name

    • curl -X POST   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/$CLOUD_INSTANCE_ID/spp-placement-groups/$SPP_PLACEMENT_GROUP_ID/members/$SHARED_PROCESSOR_POOL_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "id": "95445036-ee96-454d-869e-535ddc45c4a1",
        "memberSharedProcessorPools": [
          "SPP1"
        ],
        "name": "Tim_Anti",
        "policy": "anti-affinity"
      }

    Storage capacity for all available storage pools in a region

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pod-capacity.view

      Required for satellite locations, ignored for public data centers.

    • power-iaas.storage-capacity-pool.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.storage-capacity.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pod-capacity.view

      Required for satellite locations, ignored for public data centers.

    • power-iaas.storage-capacity-pool.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.storage-capacity.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.storage-capacity-type.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.storage-capacity.list

    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-types   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json'

    Response

    Storage types capacity

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "maximumStorageAllocation": {
          "maxAllocationSize": 55146,
          "storagePool": "General-Flash-1",
          "storageType": "any"
        },
        "storageTypesCapacity": [
          {
            "maximumStorageAllocation": {
              "maxAllocationSize": 55146,
              "storagePool": "General-Flash-1",
              "storageType": "tier1"
            },
            "storagePoolsCapacity": [
              {
                "maxAllocationSize": 55146,
                "poolName": "General-Flash-1",
                "replicationEnabled": true,
                "storageHost": 1951643481,
                "storageType": "tier1",
                "totalCapacity": 164812
              },
              {
                "maxAllocationSize": 19078,
                "poolName": "General-Flash-2b",
                "replicationEnabled": false,
                "storageHost": 1951643433,
                "storageType": "tier1",
                "totalCapacity": 40960
              },
              {
                "maxAllocationSize": 19692,
                "poolName": "General-Flash-2b",
                "replicationEnabled": false,
                "storageHost": 1951643433,
                "storageType": "tier1",
                "totalCapacity": 40960
              }
            ],
            "storageType": "tier1"
          },
          {
            "maximumStorageAllocation": {
              "maxAllocationSize": 55146,
              "storagePool": "General-Flash-1",
              "storageType": "tier5k"
            },
            "storagePoolsCapacity": [
              {
                "maxAllocationSize": 55146,
                "poolName": "General-Flash-1",
                "replicationEnabled": true,
                "storageHost": 1951643481,
                "storageType": "tier5k",
                "totalCapacity": 164812
              },
              {
                "maxAllocationSize": 19590,
                "poolName": "General-Flash-1b",
                "replicationEnabled": false,
                "storageHost": 1951643481,
                "storageType": "tier5k",
                "totalCapacity": 40960
              },
              {
                "maxAllocationSize": 19078,
                "poolName": "General-Flash-2b",
                "replicationEnabled": false,
                "storageHost": 1951643433,
                "storageType": "tier5k",
                "totalCapacity": 40960
              }
            ],
            "storageType": "tier5k"
          },
          {
            "maximumStorageAllocation": {
              "maxAllocationSize": 55146,
              "storagePool": "General-Flash-1",
              "storageType": "tier3"
            },
            "storagePoolsCapacity": [
              {
                "maxAllocationSize": 55146,
                "poolName": "General-Flash-1",
                "replicationEnabled": true,
                "storageHost": 1951643481,
                "storageType": "tier3",
                "totalCapacity": 164812
              },
              {
                "maxAllocationSize": 19262,
                "poolName": "General-Flash-1b",
                "replicationEnabled": false,
                "storageHost": 1951643481,
                "storageType": "tier3",
                "totalCapacity": 40960
              },
              {
                "maxAllocationSize": 19579,
                "poolName": "General-Flash-2b",
                "replicationEnabled": false,
                "storageHost": 1951643481,
                "storageType": "tier3",
                "totalCapacity": 40960
              }
            ],
            "storageType": "tier3"
          },
          {
            "maximumStorageAllocation": {
              "maxAllocationSize": 55146,
              "storagePool": "General-Flash-1",
              "storageType": "tier0"
            },
            "storagePoolsCapacity": [
              {
                "maxAllocationSize": 55146,
                "poolName": "General-Flash-1",
                "replicationEnabled": true,
                "storageHost": 1951643481,
                "storageType": "tier0",
                "totalCapacity": 164812
              },
              {
                "maxAllocationSize": 19590,
                "poolName": "General-Flash-1b",
                "replicationEnabled": false,
                "storageHost": "195_164_34_81'",
                "storageType": "tier0",
                "totalCapacity": 40960
              },
              {
                "maxAllocationSize": 19078,
                "poolName": "General-Flash-2b",
                "replicationEnabled": "false,",
                "storageHost": 1951643433,
                "storageType": "tier0",
                "totalCapacity": 40960
              }
            ],
            "storageType": "tier0"
          }
        ]
      }

    Storage capacity for a storage type in a region

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pod-capacity.view

      Required for satellite locations, ignored for public data centers.

    • power-iaas.storage-capacity-type.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.storage-capacity.read

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • Storage type name

    • curl --location --request GET   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/storage-capacity/storage-types/tier3   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json'

    Response

    Storage type capacity

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "maximumStorageAllocation": {
          "maxAllocationSize": 55146,
          "storagePool": "General-Flash-1",
          "storageType": "tier3"
        },
        "storagePoolsCapacity": [
          {
            "maxAllocationSize": 55146,
            "poolName": "General-Flash-1a",
            "replicationEnabled": true,
            "storageHost": 1951643481,
            "storageType": "tier3",
            "totalCapacity": 164812
          },
          {
            "maxAllocationSize": 19262,
            "poolName": "General-Flash-1b",
            "replicationEnabled": false,
            "storageHost": 1951643481,
            "storageType": "tier3",
            "totalCapacity": 40960
          },
          {
            "maxAllocationSize": 19590,
            "poolName": "General-Flash-1c",
            "replicationEnabled": false,
            "storageHost": 1951643481,
            "storageType": "tier3",
            "totalCapacity": 40960
          }
        ],
        "storageType": "tier3"
      }

    List all supported storage tiers for this cloud instance

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.storage-tier.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.service-broker.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • [
        {
          "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.pod-capacity.view

      Required for satellite locations, ignored for public data centers.

    • power-iaas.system-pool.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.system-pools.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "e980": {
          "capacity": {
            "cores": 140.25,
            "memory": 22091
          },
          "coreIncrement": 0.25,
          "coreMemoryRatio": 64,
          "maxAvailable": {
            "cores": 73.75,
            "memory": 297
          },
          "maxCoresAvailable": {
            "cores": 73.75,
            "memory": 297
          },
          "maxMemoryAvailable": {
            "cores": 73.75,
            "memory": 297
          },
          "sharedCoreRatio": {
            "default": 1,
            "max": 1,
            "min": 0.05
          },
          "systems": [
            {
              "cores": 73.75,
              "id": 3,
              "memory": 297,
              "totalCores": 140.25,
              "totalMemory": 22091,
              "totalPhysCores": 160,
              "totalPhysMemory": 24576
            }
          ],
          "type": "e980"
        },
        "s922": {
          "capacity": {
            "cores": 17,
            "memory": 924
          },
          "coreIncrement": 0.25,
          "coreMemoryRatio": 64,
          "maxAvailable": {
            "cores": 8.25,
            "memory": 837
          },
          "maxCoresAvailable": {
            "cores": 8.25,
            "memory": 821
          },
          "maxMemoryAvailable": {
            "cores": 4.25,
            "memory": 837
          },
          "sharedCoreRatio": {
            "default": 1,
            "max": 1,
            "min": 0.05
          },
          "systems": [
            {
              "cores": 8.25,
              "id": 56,
              "memory": 821,
              "totalCores": 17,
              "totalMemory": 924,
              "totalPhysCores": 22,
              "totalPhysMemory": 1024
            },
            {
              "cores": 5.75,
              "id": 57,
              "memory": 831,
              "totalCores": 13.25,
              "totalMemory": 893,
              "totalPhysCores": 22,
              "totalPhysMemory": 1024
            },
            {
              "cores": 5,
              "id": 53,
              "memory": 763,
              "totalCores": 13,
              "totalMemory": 896,
              "totalPhysCores": 20,
              "totalPhysMemory": 1024
            }
          ],
          "type": "s922"
        }
      }

    Get all volume groups

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-group.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-group.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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"
                  ]
                }
              ]
            }
          }
        ]
      }

    Create a new volume group

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-group.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-group.post

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for the creation of a new volume group

    • 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

    Status Code

    • Accepted

    • Partial Content

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    • Gateway Timeout. Request is still processing and taking longer than expected.

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-group.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-group.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "volumeGroups": [
          {
            "consistencyGroupName": "rccg-36e8-543wa",
            "id": "36e83257-f7f5-4848-96f6-47a7b4e54323",
            "name": "VG-Test-1",
            "replicationStatus": "enabled",
            "status": "available",
            "statusDescription": {
              "errors": []
            },
            "volumeIDs": [
              "1711cbc9-3456-42ef-a9c0-b2373561147b",
              "4356217e-af84-4579-b419-497b4cddc751"
            ]
          },
          {
            "consistencyGroupName": "rccg-987e-1161as",
            "id": "987e4439-eb01-43c1-b922-7c9d644116112",
            "name": "VG-Test-2",
            "replicationStatus": "enabled",
            "status": "error",
            "statusDescription": {
              "errors": [
                {
                  "key": "VOL-NOT-IN-GROUP",
                  "message": "Failed to add volume to CG rccg-987e-1161as because volume aaaca558-3dc9-4956-8980-6f4a5496eb03 is already part of CG rccg-36e8-543ui.",
                  "volIDs": [
                    "aaaca558-3dc9-4956-8980-6f4a5496eb56"
                  ]
                }
              ]
            },
            "volumeIDs": []
          }
        ]
      }

    Delete a cloud instance volume group

    DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-group.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-group.delete

    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'

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get volume Group

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-group.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-group.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-group.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-group.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • The ID of the volume group

    Parameters for updating a 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”]
            }'

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Perform an action on a volume group

    Corresponding actions are 'start', 'stop', 'reset'

    POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-group.action

    Auditing

    Calling this method generates the following auditing events.

    • power-iaas.volume-group.start

    • power-iaas.volume-group.stop

    • power-iaas.volume-group.reset

    • power-iaas.volume-group.unknown

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • The ID of the volume group

    Parameters for the desire action.

    • 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"
            }'

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get volume Group details

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-group.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-group.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-group-remote-copy.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-group.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Too Many Requests

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-group-storage.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-group.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Too Many Requests

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-onboarding.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-onboarding.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.volume-onboarding.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-onboarding.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for the creation of volume onboarding

    • 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"
            }'

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    Example responses
    • {
        "description": "onboarding-test-1",
        "id": "6392eaf7-6edf-4edd-ae3e-a18583946241"
      }

    Get the information of volume onboarding operation

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-onboarding.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-onboarding.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "creationTimestamp": "2022-09-03T11:37:42.000Z",
        "description": "onboardingDemo1",
        "id": "76ab88a3-8078-4a69-abff-31cafd1f96qq",
        "inputVolumes": [
          "aux_vol-1-80ed3950-ae0044275619",
          "aux_vol-2-80ed3950-ae0044275619"
        ],
        "progress": 100,
        "results": {
          "onboardedVolumes": [],
          "volumeOnboardingFailures": [
            {
              "failureMessage": "Unauthorized onboard of auxiliary volumes.",
              "volumes": [
                "aux_DRVMTest-29e8ee86-000037b0-boot-0-0e71999a-857a44275619",
                "aux_volume-vol-demo-test-99593-3-5414edfc-e1f144275619"
              ]
            }
          ]
        },
        "status": "REVERTED"
      }

    Get all IKE Policies

    List all IKE Policies with all attributes

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.vpn-connection-ike-policy.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.ike-policy.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection-ike-policy.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.ike-policy.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for the creation of a new IKE Policy

    • 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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection-ike-policy.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.ike-policy.delete

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • ID of a IKE Policy

    • curl -X DELETE   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/vpn/ike-policies/{ike_policy_id}   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.vpn-connection-ike-policy.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.ike-policy.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection-ike-policy.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.ike-policy.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • ID of a IKE Policy

    Parameters for updating IKE Policy

    • 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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "authentication": "sha1",
        "dhGroup": 19,
        "encryption": "3des-cbc",
        "id": "7edc8988-eb18-4b5c-a594-0d73d8254463",
        "keyLifetime": 28800,
        "name": "ikePolicy1",
        "version": 2
      }

    Get all IPSec Policies

    Get all IPSec Policies with all their attributes

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.vpn-connection-ipsec-policy.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.ipsec-policy.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection-ipsec-policy.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.ipsec-policy.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    Parameters for the creation of a new IPSec Policy

    • 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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection-ipsec-policy.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.ipsec-policy.delete

    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'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.vpn-connection-ipsec-policy.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.ipsec-policy.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection-ipsec-policy.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.ipsec-policy.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • ID of a IPSec Policy

    Parameters for the update of an IPSec Policy

    • 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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "authentication": "hmac-md5-96",
        "dhGroup": 2,
        "encryption": "3des-cbc",
        "id": "6edc8988-eb18-4b5c-a594-0d73d8254463",
        "keyLifetime": 28800,
        "name": "ipSecPolicy2",
        "pfs": true
      }

    Get all VPN Connections

    Get all VPN Connections

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.vpn-connection.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.vpn-connection.list

    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 $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.vpn-connection.create

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    VPN Connection object used for creation

    • curl -X POST   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/$CLOUD_INSTANCE_ID/vpn/vpn-connections   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json'   -d '{
              "ikePolicy": "6edc8988-ab18-4b5c-b123-0d73e8254463",
              "ipSecPolicy": "7abc1234-ab18-4b5c-b123-0d73e8254463",
              "mode": "policy",
              "name": "VPN-Connection-1",
              "networks": [ 
                "99b7cf8835eb4c77abdadd9e6ed5009c" 
              ],
              "peerGatewayAddress": "192.168.1.1",
              "peerSubnets": "128.170.1.0/20"
            }'

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Method Not Allowed

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "deadPeerDetection": {
          "action": "restart",
          "interval": 10,
          "threshold": 5
        },
        "id": "123e4567-e89b-12d3-a456-42661475",
        "ikePolicy": {
          "id": "6edc8988-ab18-4b5c-b123-0d73e8254463",
          "name": "IKE Policy 1"
        },
        "ipSecPolicy": {
          "id": "7abc1234-ab18-4b5c-b123-0d73e8254463",
          "name": "IPSec Policy 1"
        },
        "jobRef": {
          "href": "pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/jobs/cb6db5dd-17b9-4236-8754-8b82d1357e74",
          "id": "cb6db5dd-17b9-4236-8754-8b82d1357e74"
        },
        "localGatewayAddress": "192.168.1.1",
        "mode": "policy",
        "name": "VPN-Connection-1",
        "networkIDs": [
          "99b7cf8835eb4c77abdadd9e6ed5009c"
        ],
        "peerGatewayAddress": "192.168.1.1",
        "peerSubnets": [
          "128.170.1.0/20",
          "128.169.1.0/24",
          "128.168.1.0/27",
          "128.170.1.0/32"
        ],
        "status": "active",
        "vpnGatewayAddress": "192.168.204.1"
      }

    Delete VPN Connection

    Delete VPN Connection (by its identifier)

    DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.vpn-connection.delete

    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

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "href": "pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/jobs/565783da-268a-41df-8742-f4e2929af9e6",
        "id": "565783da-268a-41df-8742-f4e2929af9e6"
      }

    Get VPN Connection

    Get a VPN Connection

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.vpn-connection.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.vpn-connection.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "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}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.vpn-connection.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • ID of a VPN connection

    VPN Connection object used for update

    • 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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "deadPeerDetection": {
          "action": "restart",
          "interval": 10,
          "threshold": 5
        },
        "id": "1dfb9c031c4145cfa7c696711ba0ef0d",
        "ikePolicy": {
          "id": "d1c0a9508e724cf4b93a06cda0c3a415",
          "name": "ui-test-updated"
        },
        "ipSecPolicy": {
          "id": "ad1517c55e68450b9a160e0c1e52c0b6",
          "name": "tbsec"
        },
        "localGatewayAddress": "169.48.225.198",
        "mode": "route",
        "name": "cli-test-vpn-connection-new",
        "networkIDs": [
          "3a3dffcb-3621-40b4-82c3-ae393d2805ba"
        ],
        "peerGatewayAddress": "10.0.0.1",
        "peerSubnets": [
          "1.2.5.0/24"
        ],
        "status": "active",
        "vpnGatewayAddress": "169.48.225.198"
      }

    Detach network

    Detach network from a specific VPN Connection

    DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection-network.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.vpn-connection.delete

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • ID of a VPN connection

    network to detach

    • 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

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "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

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.vpn-connection-network.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.vpn-connection.read

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • ID of a VPN connection

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/vpn-connections//{vpn_connection_id}/networks   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "networkIDs": [
          "7f950c76-8582-11qeb-8dcd-0242ac143",
          "7f950c76-8582-11veb-8dcd-0242ac153",
          "7f950c76-8582-11deb-8dcd-0242ac163"
        ]
      }

    Attach network

    Attach a network to a VPN Connection

    PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection-network.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.vpn-connection.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • ID of a VPN connection

    network to attach

    • 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

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "href": "pcloud/v1/cloud-instances/a28e43001b7748b0acbdfb2d36288643/jobs/565783da-268a-41df-8742-f4e2929af9e6",
        "id": "565783da-268a-41df-8742-f4e2929af9e6"
      }

    Detach Peer Subnet

    Detach peer subnet from a VPN Connection

    DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection-peer-subnet.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.vpn-connection.delete

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • ID of a VPN connection

    Peer subnet to detach

    • curl -X DELETE   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/{cloudInstanceID}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json'
        -d '{
            "cidr": <cidr of peer subnet>
            }'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "peerSubnets": [
          "128.170.1.0/20",
          "128.169.1.0/24",
          "128.168.1.0/27"
        ]
      }

    Get Peer Subnets

    Get a list of peer subnets attached to a specific VPN Connection

    GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.vpn-connection-peer-subnet.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.vpn-connection.read

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • ID of a VPN connection

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/vpn-connections//{vpn_connection_id}/peer-subnets   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "peerSubnets": [
          "128.170.1.0/20",
          "128.169.1.0/24",
          "128.168.1.0/27",
          "128.170.1.0/32"
        ]
      }

    Attach Peer Subnet

    Attach peer subnet to a VPN Connection

    PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.vpn-connection-peer-subnet.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.vpn-connection.update

    Request

    Path Parameters

    • Cloud Instance ID of a PCloud Instance

    • ID of a VPN connection

    peer subnet to attach

    • curl -X PUT   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/${CLOUD_INSTANCE_ID}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json'
        -d '{
            "cidr": "128.170.1.0/32"
            }'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "peerSubnets": [
          "128.170.1.0/20",
          "128.169.1.0/24",
          "128.168.1.0/27",
          "128.170.1.0/32"
        ]
      }

    Delete a Task

    DELETE /pcloud/v1/tasks/{task_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.task.delete

    Request

    Path Parameters

    • PCloud Task ID

    • curl -X DELETE   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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Gone

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get a Task

    GET /pcloud/v1/tasks/{task_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.task.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "cloudInstanceID": "de395723a09e7df8e873815634857dab",
        "componentID": "de395723a09e7df8e873815634857dab",
        "componentType": "cloud-instance",
        "creationDate": "2023-03-10T18:06:54.814Z",
        "lastUpdateDate": "2023-03-10T18:07:40.008Z",
        "operation": "deprovision",
        "status": "failed",
        "statusDetail": "unable to deprovision cloud instance de395723a09e7df8e873815634857dab: unable to delete network (ca387f83-e357-63bs-bc96-43958439588d) for de395723a09e7df8e873815634857dab: unable to delete subnet for network ca387f83-e357-63bs-bc96-43958439588d for cloud instance de395723a09e7df8e873815634857dab: Resource not found: [DELETE https://192.168.2.140:9696/v2.0/subnets/dc2370f1-5ed3-4b87-bcdc-62dbe52f9461], error message: {\\\"NeutronError\\\": {\\\"type\\\": \\\"SubnetNotFound\\\", \\\"message\\\": \\\"Subnet dc2370f1-5ed3-4b87-bcdc-62dbe52f9461 could not be found.\\\", \\\"detail\\\": \\\"\\\"}}",
        "taskID": "1c3498de-3432-6565-aed3-345345345387"
      }

    Get a Tenant's current state/information

    GET /pcloud/v1/tenants/{tenant_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.tenant.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.tenant.read

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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"
      }

    Update a tenant

    PUT /pcloud/v1/tenants/{tenant_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.tenant.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.tenant.update

    Request

    Path Parameters

    • Tenant ID of a pcloud tenant

    Parameters for updating a Tenant

    • curl -X PUT   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/tenants/{tenant_id}   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json'   -d '{
              "icn": "347aa3a4b34344f8bc7c7cccdf856e4d"
            }'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "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"
      }

    List a Tenant's SSH Keys

    GET /pcloud/v1/tenants/{tenant_id}/sshkeys

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.tenant-sshkey.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.tenant-sshkey.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "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..."
          }
        ]
      }

    Add a new SSH key to the Tenant

    POST /pcloud/v1/tenants/{tenant_id}/sshkeys

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.tenant-sshkey.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.tenant-sshkey.create

    Request

    Path Parameters

    • Tenant ID of a pcloud tenant

    Parameters for the creation of a new SSH key

    • 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"
            }'

    Response

    Status Code

    • OK

    • Created

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "creationDate": "2024-10-04T15:23:53.543Z",
        "name": "sshkey-name",
        "sshKey": "ssh-rsa-key"
      }

    Delete a Tenant's SSH key

    DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.tenant-sshkey.delete

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.tenant-sshkey.delete

    Request

    Path Parameters

    • Tenant ID of a pcloud tenant

    • SSH key name for a pcloud tenant

    • curl -X DELETE   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' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Gone

    • Internal Server Error

    No Sample Response

    This method does not specify any sample responses.

    Get a Tenant's SSH Key by name

    GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.tenant-sshkey.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.tenant-sshkey.read

    Request

    Path Parameters

    • Tenant ID of a pcloud tenant

    • SSH key name for a pcloud tenant

    • curl -X GET   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' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    Example responses
    • {
        "creationDate": "2024-10-04T15:23:53.543Z",
        "name": "sshkey-name",
        "sshKey": "ssh-rsa-key"
      }

    Update an SSH Key

    PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.tenant-sshkey.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.tenant-sshkey.update

    Request

    Path Parameters

    • Tenant ID of a pcloud tenant

    • SSH key name for a pcloud tenant

    Parameters for updating a Tenant's SSH Key

    • curl -X PUT   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}   -H 'Authorization: Bearer <>'   -H 'CRN: crn:v1...'   -H 'Content-Type: application/json'   -d '{
              "name": "sshkey-name"
              "sshKey": "ssh-rsa-key"
            }'

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    Example responses
    • {
        "creationDate": "2024-10-04T15:23:53.543Z",
        "name": "new-sshkey-name",
        "sshKey": "new-ssh-rsa-key"
      }

    List all the hosts that can be reserved

    GET /v1/available-hosts

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.available-hosts.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.available-hosts.list

    Request

    No Request Parameters

    This method does not accept any request parameters.

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/available-hosts   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Internal Server Error

    • Gateway Timeout. Request is still processing and taking longer than expected.

    Example responses
    • {
        "s1022": {
          "capacity": {
            "cores": {
              "total": 40
            },
            "memory": {
              "total": 2048
            }
          },
          "count": 1,
          "sysType": "s1022"
        },
        "s922": {
          "capacity": {
            "cores": {
              "total": 20
            },
            "memory": {
              "total": 1024
            }
          },
          "count": 2,
          "sysType": "s922"
        }
      }

    Get the list of host groups for the workspace

    GET /v1/host-groups

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.host-group.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.host-group.list

    Request

    No Request Parameters

    This method does not accept any request parameters.

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/host-groups   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Description of a host group

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Internal Server Error

    • Gateway Timeout. Request is still processing and taking longer than expected.

    Example responses
    • [
        {
          "creationDate": "2024-04-17T06:44:49.000Z",
          "hosts": [
            "/v1/hosts/269"
          ],
          "id": "2e408848-3b5e-44a6-afcc-4fb929cb15ac",
          "name": "testHostGroup",
          "primary": "7c107dc5-4b97-46af-a8b7-32c1aeabfb73",
          "secondaries": [
            "f1ab14fc-b085-4ff0-a053-3e42515c3115"
          ]
        },
        {
          "creationDate": "2024-04-18T00:43:17.000Z",
          "hosts": [
            "/v1/hosts/311",
            "/v1/hosts/408"
          ],
          "id": "4434fb0b-3abd-4973-a3bb-65729b16f05f",
          "name": "anotherHostGroup",
          "primary": "7c107dc5-4b97-46af-a8b7-32c1aeabfb73"
        }
      ]

    Create a host group with one (or more) host

    POST /v1/host-groups

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.host-group.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.host-group.create

    Request

    Parameters for the creation of a new host group

    • curl -X POST   https://us-east.power-iaas.cloud.ibm.com/v1/host-groups   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json'   -d '{
              "hosts": {
                "displayName": "s922Host",
                "sysType": "s922"
              },
              "name": "testHostGroup"
            }'

    Response

    Description of a host group

    Status Code

    • Created

    • Bad Request

    • Unauthorized

    • Forbidden

    • Conflict

    • Unprocessable Entity

    • Internal Server Error

    • Gateway Timeout. Request is still processing and taking longer than expected.

    Example responses
    • {
        "creationDate": "2024-04-17T06:44:49.000Z",
        "hosts": [
          "/v1/hosts/269"
        ],
        "id": "2e408848-3b5e-44a6-afcc-4fb929cb15ac",
        "name": "testHostGroup",
        "primary": "7c107dc5-4b97-46af-a8b7-32c1aeabfb73",
        "secondaries": [
          "f1ab14fc-b085-4ff0-a053-3e42515c3115"
        ]
      }

    Get the details of a host group

    GET /v1/host-groups/{host_group_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.host-group.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.host-group.read

    Request

    Path Parameters

    • Hostgroup ID

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/host-groups/$HOST_GROUP_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Description of a host group

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    • Gateway Timeout. Request is still processing and taking longer than expected.

    Example responses
    • {
        "creationDate": "2024-04-17T06:44:49.000Z",
        "hosts": [
          "/v1/hosts/269"
        ],
        "id": "2e408848-3b5e-44a6-afcc-4fb929cb15ac",
        "name": "testHostGroup",
        "primary": "7c107dc5-4b97-46af-a8b7-32c1aeabfb73"
      }

    Share/unshare a host group with another workspace

    PUT /v1/host-groups/{host_group_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.host-group.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.host-group.update

    Request

    Path Parameters

    • Hostgroup ID

    Parameters to set the sharing status of the host group

    • curl -X PUT   https://us-east.power-iaas.cloud.ibm.com/v1/host-groups/$HOST_GROUP_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json'   -d '{
              "add": [
                "workspace": "f1ab14fc-b085-4ff0-a053-3e42515c3115",
                "name": "testHostGroup"
              ]
            }'

    Response

    Description of a host group

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Conflict

    • Internal Server Error

    • Gateway Timeout. Request is still processing and taking longer than expected.

    Example responses
    • {
        "creationDate": "2024-04-17T06:44:49.000Z",
        "hosts": [
          "/v1/hosts/269"
        ],
        "id": "2e408848-3b5e-44a6-afcc-4fb929cb15ac",
        "name": "testHostGroup",
        "primary": "7c107dc5-4b97-46af-a8b7-32c1aeabfb73",
        "secondaries": [
          "f1ab14fc-b085-4ff0-a053-3e42515c3115"
        ]
      }

    Get the list of all the hosts the workspace has access to

    GET /v1/hosts

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.host.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.host.list

    Request

    No Request Parameters

    This method does not accept any request parameters.

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/hosts   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Host description

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Internal Server Error

    • Gateway Timeout. Request is still processing and taking longer than expected.

    Example responses
    • [
        {
          "capacity": {
            "cores": {
              "available": 15,
              "reserved": 5,
              "total": 20,
              "used": 0
            },
            "memory": {
              "available": 940.65,
              "reserved": 83.35,
              "total": 1024,
              "used": 0
            }
          },
          "displayName": "s922Host",
          "hostGroup": {
            "access": "primary",
            "href": "/v1/host-groups/f63294c1-642f-4d83-9bdc-221bf2b72674",
            "name": "testHostGroup"
          },
          "id": 308,
          "state": "up",
          "status": "enabled",
          "sysType": "s922"
        },
        {
          "capacity": {
            "cores": {
              "available": 35,
              "reserved": 5,
              "total": 40,
              "used": 0
            },
            "memory": {
              "available": 1924.75,
              "reserved": 123.25,
              "total": 2048,
              "used": 0
            }
          },
          "displayName": "s1022Host",
          "hostGroup": {
            "access": "primary",
            "href": "/v1/host-groups/f63294c1-642f-4d83-9bdc-221bf2b72674",
            "name": "testHostGroup"
          },
          "id": 401,
          "state": "up",
          "status": "enabled",
          "sysType": "s1022"
        }
      ]

    Add new host(s) to an existing host group

    POST /v1/hosts

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.host.create

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.host-group.update

    Request

    Parameters to add a host to an existing host group

    • curl -X POST   https://us-east.power-iaas.cloud.ibm.com/v1/hosts   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json'   -d '{
              "hostGroupID": "308",
              "hosts": [
                "displayName": "myHost",
                "sysType": "s922"
              ]
            }'

    Response

    Host description

    Status Code

    • Created

    • Bad Request

    • Unauthorized

    • Forbidden

    • Unprocessable Entity

    • Internal Server Error

    • Gateway Timeout. Request is still processing and taking longer than expected.

    Example responses
    • {
        "capacity": {
          "cores": {
            "available": 15,
            "reserved": 5,
            "total": 20,
            "used": 0
          },
          "memory": {
            "available": 940.65,
            "reserved": 83.35,
            "total": 1024,
            "used": 0
          }
        },
        "displayName": "myHost",
        "hostGroup": {
          "access": "primary",
          "href": "/v1/host-groups/f63294c1-642f-4d83-9bdc-221bf2b72674",
          "name": "testHostGroup"
        },
        "id": 308,
        "state": "up",
        "status": "enabled",
        "sysType": "s922"
      }

    Release a host from its host group

    DELETE /v1/hosts/{host_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.host.delete

    Auditing

    Calling this method generates the following auditing events.

    • power-iaas.host-group.delete

    • power-iaas.host.delete

    Request

    Path Parameters

    • Host ID

    • curl -X DELETE   https://us-east.power-iaas.cloud.ibm.com/v1/hosts/$HOST_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • Accepted

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    • Gateway Timeout. Request is still processing and taking longer than expected.

    No Sample Response

    This method does not specify any sample responses.

    Get the details about a host

    GET /v1/hosts/{host_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.host.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.host.read

    Request

    Path Parameters

    • Host ID

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/hosts/$HOST_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Host description

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    • Gateway Timeout. Request is still processing and taking longer than expected.

    Example responses
    • {
        "capacity": {
          "cores": {
            "available": 15,
            "reserved": 5,
            "total": 20,
            "used": 0
          },
          "memory": {
            "available": 940.65,
            "reserved": 83.35,
            "total": 1024,
            "used": 0
          }
        },
        "displayName": "myHost",
        "hostGroup": {
          "access": "primary",
          "href": "/v1/host-groups/f63294c1-642f-4d83-9bdc-221bf2b72674",
          "name": "testHostGroup"
        },
        "id": 308,
        "state": "up",
        "status": "enabled",
        "sysType": "s922"
      }

    Modify the display name of a host

    PUT /v1/hosts/{host_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.modify

      Grants access to this and other methods.

    • power-iaas.host.update

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.host.update

    Request

    Path Parameters

    • Host ID

    Parameters to modify a host

    • curl -X PUT   https://us-east.power-iaas.cloud.ibm.com/v1/hosts/$HOST_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json'   -d '{
            "displayName": "updatedHostName"
            }'

    Response

    Host description

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Unprocessable Entity

    • Internal Server Error

    • Gateway Timeout. Request is still processing and taking longer than expected.

    Example responses
    • {
        "capacity": {
          "cores": {
            "available": 15,
            "reserved": 5,
            "total": 20,
            "used": 0
          },
          "memory": {
            "available": 940.65,
            "reserved": 83.35,
            "total": 1024,
            "used": 0
          }
        },
        "displayName": "updatedHostName",
        "hostGroup": {
          "access": "primary",
          "href": "/v1/host-groups/f63294c1-642f-4d83-9bdc-221bf2b72674",
          "name": "testHostGroup"
        },
        "id": 308,
        "state": "up",
        "status": "enabled",
        "sysType": "s922"
      }

    Get all Datacenters information and capabilities

    GET /v1/datacenters

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.datacenter.list

    Request

    No Request Parameters

    This method does not accept any request parameters.

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/datacenters   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Internal Server Error

    Example responses
    • {
        "datacenters": [
          {
            "capabilities": {
              "cloud-connections": true,
              "disaster-recovery-site": true,
              "metrics": true,
              "power-edge-router": true,
              "power-vpn-connections": true
            },
            "capabilitiesDetails": {
              "disasterRecovery": {
                "asynchronousReplication": {
                  "enabled": true,
                  "targetLocations": [
                    {
                      "region": "lon04",
                      "status": "active"
                    }
                  ]
                }
              },
              "supportedSystems": {
                "dedicated": [],
                "general": [
                  "e1080",
                  "s922"
                ]
              }
            },
            "href": "https://dal.power-iaas.test.cloud.ibm.com/v1/datacenters/dal10",
            "location": {
              "region": "dal10",
              "regionDisplayName": "Dallas 10",
              "type": "datacenter",
              "url": "https://dal.power-iaas.test.cloud.ibm.com"
            },
            "status": "active",
            "type": "off-premises"
          },
          {
            "capabilities": {
              "cloud-connections": true,
              "disaster-recovery-site": false,
              "metrics": true,
              "power-edge-router": false,
              "power-vpn-connections": true
            },
            "capabilitiesDetails": {
              "disasterRecovery": {
                "asynchronousReplication": {
                  "enabled": true,
                  "targetLocations": [
                    {
                      "region": "dal10",
                      "status": "active"
                    }
                  ]
                }
              },
              "supportedSystems": {
                "dedicated": [
                  "e1080"
                ],
                "general": [
                  "e1080",
                  "e980"
                ]
              }
            },
            "href": "https://lon.power-iaas.test.cloud.ibm.com/v1/datacenters/lon04",
            "location": {
              "region": "lon04",
              "regionDisplayName": "London 04",
              "type": "datacenter",
              "url": "https://lon.power-iaas.test.cloud.ibm.com"
            },
            "status": "active",
            "type": "off-premises"
          }
        ]
      }

    Get a Datacenter's information and capabilities

    GET /v1/datacenters/{datacenter_region}

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.datacenter.read

    Request

    Custom Headers

    • Allowable values: [application/json,capabilities,capabilitiesDetails,location,status,type]

    Path Parameters

    • Datacenter Region

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/datacenters/$DATACENTER_REGION   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Internal Server Error

    Example responses

    Get a list of all the snapshots on a workspace

    This API is deprecated for /v1/snapshots. The API v1/volume-snapshots has replaced this endpoint.

    View the usage of snapshots on the workspace. The snapshots may take time sync because the data is cached.

    GET /v1/snapshots

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.snapshot.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.snapshot.list

    Request

    No Request Parameters

    This method does not accept any request parameters.

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/snapshots   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    • Service Unavailable

    Example responses
    • {
        "snapshots": [
          {
            "creationDate": "2024-02-01T16:44:42.000Z",
            "id": "35c0e26c-e51f-4230-b556-49ada44d8831",
            "name": "snapshot-list-1",
            "size": 0.5874996185302734,
            "status": "available",
            "updatedDate": "2024-02-01T16:44:42.000Z",
            "volumeID": "b77b3324-3958-4a08-851a-77a57a2d4720"
          },
          {
            "creationDate": "2024-01-05T13:44:42.000Z",
            "id": "421328d7-78bd-4374-ad6b-479f43da838d",
            "name": "snapshot-list-2",
            "size": 0.2874396185302784,
            "status": "available",
            "updatedDate": "2024-01-05T16:44:42.000Z",
            "volumeID": "346f8fcd-a41c-4256-918f-5b07ac007914"
          }
        ]
      }

    Get the detail of a snapshot

    This API is deprecated for /v1/snapshots. The API v1/volume-snapshots has replaced this endpoint.

    View the usage of a snapshot. The snapshot may take time sync because the data is cached.

    GET /v1/snapshots/{snapshot_id}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.snapshot.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.snapshot.read

    Request

    Path Parameters

    • PVM Instance snapshot id

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/snapshots/$SNAPSHOT_ID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    • Service Unavailable

    Example responses
    • {
        "creationDate": "2024-02-01T16:44:42.000Z",
        "id": "35c0e26c-e51f-4230-b556-49ada44d8831",
        "name": "snapshot-list-1",
        "size": 0.5874996185302734,
        "status": "available",
        "updatedDate": "2024-02-01T16:44:42.000Z",
        "volumeID": "b77b3324-3958-4a08-851a-77a57a2d4720"
      }

    Get the list of volume snapshots on a workspace

    View the usage of volume snapshots on the workspace. The volume snapshots may take time sync because the data is cached.

    GET /v1/volume-snapshots

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-snapshot.list

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-snapshot.list

    Request

    No Request Parameters

    This method does not accept any request parameters.

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/volume-snapshots   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    • Service Unavailable

    Example responses
    • [
        {
          "creationDate": "2024-02-01T16:44:42.000Z",
          "id": "35c0e26c-e51f-4230-b556-49ada44d8831",
          "name": "snapshot-list-1",
          "size": 0.5874996185302734,
          "status": "available",
          "updatedDate": "2024-02-01T16:44:42.000Z",
          "volumeID": "b77b3324-3958-4a08-851a-77a57a2d4720"
        },
        {
          "creationDate": "2024-01-05T13:44:42.000Z",
          "id": "421328d7-78bd-4374-ad6b-479f43da838d",
          "name": "snapshot-list-2",
          "size": 0.2874396185302784,
          "status": "available",
          "updatedDate": "2024-01-05T16:44:42.000Z",
          "volumeID": "346f8fcd-a41c-4256-918f-5b07ac007914"
        }
      ]

    Get the detail of a volume snapshot

    View the usage of a snapshot. The snapshot may take time sync because the data is cached.

    GET /v1/volume-snapshots/{volume_snapshot_uuid}

    Authorization

    To call this method, you must be assigned one or more IAM access roles that include the following actions, depending on any listed conditions. You can check your access by going to Users > User > Access.

    • power-iaas.cloud-instance.read

      Grants access to this and other methods.

    • power-iaas.volume-snapshot.read

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.volume-snapshot.read

    Request

    Path Parameters

    • The volume snapshot UUID

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/volume-snapshots/$VOLUME_SNAPSHOT_UUID   -H 'Authorization: Bearer $TOKEN'   -H 'CRN: $CRN'   -H 'Content-Type: application/json' \

    Response

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Internal Server Error

    • Service Unavailable

    Example responses
    • {
        "creationDate": "2024-02-01T16:44:42.000Z",
        "id": "35c0e26c-e51f-4230-b556-49ada44d8831",
        "name": "snapshot-list-1",
        "size": 0.5874996185302734,
        "status": "available",
        "updatedDate": "2024-02-01T16:44:42.000Z",
        "volumeID": "b77b3324-3958-4a08-851a-77a57a2d4720"
      }

    Get all Workspaces information and capabilities for a tenant

    GET /v1/workspaces

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.workspace.list

    Request

    No Request Parameters

    This method does not accept any request parameters.

    • curl -X GET   https://us-east.power-iaas.cloud.ibm.com/v1/workspaces   -H 'Authorization: Bearer <>'
        -H 'CRN:'
        -H 'Content-Type: application/json'  

    Response

    Status Code

    • OK

    • Unauthorized

    • Forbidden

    • Too Many Requests

    • Internal Server Error

    Example responses
    • {
        "workspaces": [
          {
            "capabilities": {
              "cloud-connections": false,
              "power-edge-router": true,
              "power-vpn-connections": false,
              "transit-gateway-connection": false
            },
            "details": {
              "creationDate": "2023-02-09T04:28:26.961Z",
              "crn": "crn:v1:bluemix:public:power-iaas:dal12:a/abc12345678910e112131c1516171d19:6da0fd14-f7d3-4142-96f5-078df36c2539::",
              "href": "https://dal.power-iaas.test.cloud.ibm.com/pcloud/v1/workspaces/6da0fd14-f7d3-4142-96f5-078df36c2539",
              "powerEdgeRouter": {
                "state": "active",
                "type": "automated"
              }
            },
            "id": "35c0e26c-e51f-4230-b556-49ada44d8831",
            "location": {
              "region": "dal10",
              "type": "datacenter",
              "url": "https://dal.power-iaas.test.cloud.ibm.com"
            },
            "name": "Workspace for Power Systems Virtual Server Dallas",
            "status": "active",
            "type": "Off-Premises"
          },
          {
            "capabilities": {
              "cloud-connections": true,
              "power-edge-router": false,
              "power-vpn-connections": true,
              "transit-gateway-connection": false
            },
            "details": {
              "creationDate": "2022-04-17T15:30:47.961Z",
              "crn": "crn:v1:bluemix:public:power-iaas:dal12:a/abc12345678910e112131c1516171d19:35c0e26c-e51f-4230-b556-49ada44d8831::",
              "href": "https://dal.power-iaas.test.cloud.ibm.com/pcloud/v1/workspaces/35c0e26c-e51f-4230-b556-49ada44d8831"
            },
            "id": "35c0e26c-e51f-4230-b556-49ada44d8831",
            "location": {
              "region": "dal13",
              "type": "datacenter",
              "url": "https://dal.power-iaas.test.cloud.ibm.com"
            },
            "name": "Dallas13 Workspace",
            "status": "active",
            "type": "Off-Premises"
          }
        ]
      }

    Get a Workspace's information and capabilities

    GET /v1/workspaces/{workspace_id}

    Auditing

    Calling this method generates the following auditing event.

    • power-iaas.workspace.list

    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

    Status Code

    • OK

    • Bad Request

    • Unauthorized

    • Forbidden

    • Not Found

    • Too Many Requests

    • Internal Server Error

    Example responses
    • {
        "capabilities": {
          "cloud-connections": true,
          "power-edge-router": false,
          "power-vpn-connections": true,
          "transit-gateway-connection": false
        },
        "details": {
          "creationDate": "2022-04-17T15:30:47.961Z",
          "crn": "crn:v1:bluemix:public:power-iaas:dal12:a/abc12345678910e112131c1516171d19:35c0e26c-e51f-4230-b556-49ada44d8831::"
        },
        "id": "35c0e26c-e51f-4230-b556-49ada44d8831",
        "location": {
          "region": "dal13",
          "type": "datacenter",
          "url": "https://dal.power-iaas.test.cloud.ibm.com"
        },
        "name": "Workspace for Power Systems Virtual Server-test",
        "status": "active",
        "type": "Off-Premises"
      }
    id=curlclassName=tab-item-selected