Storage Provider Controller Resource

The API allows you to list, view, create and edit storage providers.

GET /storage-providers

Returns list of storage providers list records filtered by specified query parameters.

Request Parameters
name type description constraints multivalued
backup-to-be-restored query   no
direction query   no
filter query   no
nameLike query   no
orderBy query   no
page query   no
size query   no
types query "AFS" or "CEPH_RBD" or "DEFAULT" or "FILE_SYSTEM" or "NUTANIX_VG" yes
Response Body
media type data type description
application/json array of StorageProviderListRecord (JSON) list of storage providers list records filtered by specified query parameters

Example

Request
GET /storage-providers
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "guid" : "...",
  "name" : "...",
  "host" : "...",
  "type" : "NUTANIX_VG",
  "nodeConfig" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "storageCount" : 12345,
  "lastInventorySyncDate" : 12345,
  "lastSuccessfulInventorySyncDate" : 12345,
  "possibleActions" : [ "INVENTORY_SYNC", "HV_READ" ],
  "version" : "..."
} ]
                
              

POST /storage-providers

Create storage provider.

Request Body
media type data type description
application/json StorageProviderRequest (JSON) specify details for new storage provider
Response Body
media type data type description
application/json StorageProviderDetails (JSON) details fo newly created storage provider

Example

Request
POST /storage-providers
Content-Type: application/json
Accept: application/json

                
{
  "type" : "NUTANIX_VG",
  "password" : "...",
  "host" : "...",
  "name" : "...",
  "nodeConfig" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "user" : "...",
  "cephSettings" : {
    "cephAuthKey" : "...",
    "cephConfiguration" : "..."
  },
  "afsSettings" : {
    "afsPrismElementHost" : "...",
    "afsPrismElementUser" : "...",
    "afsPrismElementPassword" : "..."
  },
  "availabilityZone" : "...",
  "storagePoolManagementStrategy" : "INCLUDE",
  "managedStoragePools" : [ "...", "..." ],
  "trustAllCerts" : true
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "guid" : "...",
  "name" : "...",
  "host" : "...",
  "user" : "...",
  "type" : "CEPH_RBD",
  "nodeConfig" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "storageCount" : 12345,
  "cephSettings" : {
    "cephAuthKey" : "...",
    "cephConfiguration" : "..."
  },
  "afsSettings" : {
    "afsPrismElementHost" : "...",
    "afsPrismElementUser" : "..."
  },
  "availabilityZone" : "...",
  "serverPartnerUuid" : "...",
  "lastInventorySyncDate" : 12345,
  "lastSuccessfulInventorySyncDate" : 12345,
  "possibleActions" : [ "HV_READ", "INVENTORY_SYNC" ],
  "storagePoolManagementStrategy" : "INCLUDE",
  "managedStoragePools" : [ "...", "..." ],
  "version" : "...",
  "trustAllCerts" : true
}
                
              

GET /storage-providers/detailed

Returns list of storage providers filtered by specified query parameters.

Request Parameters
name type description constraints multivalued
backup-to-be-restored query   no
direction query   no
filter query   no
nameLike query   no
orderBy query   no
page query   no
size query   no
types query "AFS" or "CEPH_RBD" or "DEFAULT" or "FILE_SYSTEM" or "NUTANIX_VG" yes
Response Body
media type data type description
application/json array of StorageProviderDetails (JSON) list of storage providers filtered by specified query parameters

Example

Request
GET /storage-providers/detailed
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "guid" : "...",
  "name" : "...",
  "host" : "...",
  "user" : "...",
  "type" : "FILE_SYSTEM",
  "nodeConfig" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "storageCount" : 12345,
  "cephSettings" : {
    "cephAuthKey" : "...",
    "cephConfiguration" : "..."
  },
  "afsSettings" : {
    "afsPrismElementHost" : "...",
    "afsPrismElementUser" : "..."
  },
  "availabilityZone" : "...",
  "serverPartnerUuid" : "...",
  "lastInventorySyncDate" : 12345,
  "lastSuccessfulInventorySyncDate" : 12345,
  "possibleActions" : [ "WRITE", "READ" ],
  "storagePoolManagementStrategy" : "INCLUDE",
  "managedStoragePools" : [ "...", "..." ],
  "version" : "...",
  "trustAllCerts" : true
} ]
                
              

GET /storage-providers/for-restore

Returns list of storage provider restore info list records filtered by specified query parameters.

Request Parameters
name type description constraints multivalued
backup-to-be-restored query   no
direction query   no
filter query   no
nameLike query   no
orderBy query   no
page query   no
size query   no
types query "AFS" or "CEPH_RBD" or "DEFAULT" or "FILE_SYSTEM" or "NUTANIX_VG" yes
Response Body
media type data type description
application/json array of StorageProviderForRestoreListRecord (JSON) list of provider restore info list records filtered by specified query parameters

Example

Request
GET /storage-providers/for-restore
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "guid" : "...",
  "name" : "...",
  "host" : "...",
  "type" : "NUTANIX_VG"
} ]
                
              

PUT /storage-providers/password

Change password for specified list of storage providers.

Request Body
media type data type description
application/json SingleAttributeBatchUpdate (JSON) specify new password and guids of storage providers
Response Body
media type data type description
application/json BatchResponse (JSON) list of successful and unsuccessful updates of password

Example

Request
PUT /storage-providers/password
Content-Type: application/json
Accept: application/json

                
{
  "value" : "...",
  "entities" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ]
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "successful" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "unsuccessful" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ]
}
                
              

GET /storage-providers/rbac-contexts

Returns list of storage providers list records for rbac contexts

Response Body
media type data type description
application/json array of RbacContextListRecord (JSON) list of storage providers list records filtered by specified query parameters

Example

Request
GET /storage-providers/rbac-contexts
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "nameAndGuid" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "uuid" : "...",
  "type" : "CLOUD_SITE",
  "checked" : true,
  "lastLevel" : true,
  "present" : true,
  "entityType" : "...",
  "childrenQueryType" : "..."
} ]
                
              

PUT /storage-providers/user

Change user for specified list of storage providers.

Request Body
media type data type description
application/json SingleAttributeBatchUpdate (JSON) specify new user and guids of storage providers
Response Body
media type data type description
application/json BatchResponse (JSON) list of successful and unsuccessful updates of user

Example

Request
PUT /storage-providers/user
Content-Type: application/json
Accept: application/json

                
{
  "value" : "...",
  "entities" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ]
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "successful" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "unsuccessful" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ]
}
                
              

DELETE /storage-providers/{guid}

Remove storage provider.

Request Parameters
name type description
guid path specify local unique identifier for storage provider (use by vProtect)

Example

Request
DELETE /storage-providers/{guid}
Content-Type: */*

                
...
                
              
Response
HTTP/1.1 204 No Content

              

GET /storage-providers/{guid}

Get a single storage provider

Request Parameters
name type description
guid path specify local unique identifier for storage provider (use by vProtect)
Response Body
media type data type description
application/json StorageProviderDetails (JSON) storage provider details

Example

Request
GET /storage-providers/{guid}
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "guid" : "...",
  "name" : "...",
  "host" : "...",
  "user" : "...",
  "type" : "NUTANIX_VG",
  "nodeConfig" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "storageCount" : 12345,
  "cephSettings" : {
    "cephAuthKey" : "...",
    "cephConfiguration" : "..."
  },
  "afsSettings" : {
    "afsPrismElementHost" : "...",
    "afsPrismElementUser" : "..."
  },
  "availabilityZone" : "...",
  "serverPartnerUuid" : "...",
  "lastInventorySyncDate" : 12345,
  "lastSuccessfulInventorySyncDate" : 12345,
  "possibleActions" : [ "WRITE", "WRITE" ],
  "storagePoolManagementStrategy" : "EXCLUDE",
  "managedStoragePools" : [ "...", "..." ],
  "version" : "...",
  "trustAllCerts" : true
}
                
              

PUT /storage-providers/{guid}

Change storage provider details.

Request Parameters
name type description
guid path specify local unique identifier for storage provider (use by vProtect)
Request Body
media type data type description
application/json StorageProviderUpdate (JSON) specify storage provider details to update
Response Body
media type data type description
application/json StorageProviderDetails (JSON) updated details for storage provider

Example

Request
PUT /storage-providers/{guid}
Content-Type: application/json
Accept: application/json

                
{
  "host" : "...",
  "name" : "...",
  "nodeConfig" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "user" : "...",
  "cephSettings" : {
    "cephAuthKey" : "...",
    "cephConfiguration" : "..."
  },
  "afsSettings" : {
    "afsPrismElementHost" : "...",
    "afsPrismElementUser" : "...",
    "afsPrismElementPassword" : "..."
  },
  "availabilityZone" : "...",
  "storagePoolManagementStrategy" : "EXCLUDE",
  "managedStoragePools" : [ "...", "..." ],
  "trustAllCerts" : true
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "guid" : "...",
  "name" : "...",
  "host" : "...",
  "user" : "...",
  "type" : "CEPH_RBD",
  "nodeConfig" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "storageCount" : 12345,
  "cephSettings" : {
    "cephAuthKey" : "...",
    "cephConfiguration" : "..."
  },
  "afsSettings" : {
    "afsPrismElementHost" : "...",
    "afsPrismElementUser" : "..."
  },
  "availabilityZone" : "...",
  "serverPartnerUuid" : "...",
  "lastInventorySyncDate" : 12345,
  "lastSuccessfulInventorySyncDate" : 12345,
  "possibleActions" : [ "WRITE", "HVM_READ" ],
  "storagePoolManagementStrategy" : "EXCLUDE",
  "managedStoragePools" : [ "...", "..." ],
  "version" : "...",
  "trustAllCerts" : true
}
                
              

PUT /storage-providers/{guid}/ceph-auth-key

Request Parameters
name type description
guid path
Request Body
media type data type
application/json StringDTO (JSON)

Example

Request
PUT /storage-providers/{guid}/ceph-auth-key
Content-Type: application/json

                
{
  "value" : "..."
}
                
              
Response
HTTP/1.1 204 No Content

              

GET /storage-providers/{guid}/ceph-settings

Request Parameters
name type description
guid path
Response Body
media type data type description
application/json CephSettingsDetails (JSON)

Example

Request
GET /storage-providers/{guid}/ceph-settings
Content-Type: application/json
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "cephAuthKey" : "...",
  "cephConfiguration" : "..."
}
                
              

PUT /storage-providers/{guid}/certificates

Change storage provider certificate settings.

Request Parameters
name type description
guid path specify local unique identifier for storage provider (use by vProtect)
Request Body
media type data type description
application/json StorageProviderCertificateSettingsUpdate (JSON) specify storage provider certificate settings to update
Response Body
media type data type description
application/json StorageProviderDetails (JSON) updated details for storage provider

Example

Request
PUT /storage-providers/{guid}/certificates
Content-Type: application/json
Accept: application/json

                
{
  "trustAllCerts" : true
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "guid" : "...",
  "name" : "...",
  "host" : "...",
  "user" : "...",
  "type" : "FILE_SYSTEM",
  "nodeConfig" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "storageCount" : 12345,
  "cephSettings" : {
    "cephAuthKey" : "...",
    "cephConfiguration" : "..."
  },
  "afsSettings" : {
    "afsPrismElementHost" : "...",
    "afsPrismElementUser" : "..."
  },
  "availabilityZone" : "...",
  "serverPartnerUuid" : "...",
  "lastInventorySyncDate" : 12345,
  "lastSuccessfulInventorySyncDate" : 12345,
  "possibleActions" : [ "WRITE", "HVM_READ" ],
  "storagePoolManagementStrategy" : "EXCLUDE",
  "managedStoragePools" : [ "...", "..." ],
  "version" : "...",
  "trustAllCerts" : true
}
                
              

PUT /storage-providers/{guid}/password

Change password for specified storage provider.

Request Parameters
name type description
guid path specify local unique identifier for storage provider (use by vProtect)
Request Body
media type data type description
application/json StringDTO (JSON) specify new password to update

Example

Request
PUT /storage-providers/{guid}/password
Content-Type: application/json

                
{
  "value" : "..."
}
                
              
Response
HTTP/1.1 204 No Content

              

PUT /storage-providers/{guid}/prism-password

Change password for specified list of storage providers.

Request Parameters
name type description
guid path
Request Body
media type data type description
application/json StringDTO (JSON) specify new password and guids of storage providers
Response Body
media type data type description
application/json StorageProviderDetails (JSON) list of successful and unsuccessful updates of password

Example

Request
PUT /storage-providers/{guid}/prism-password
Content-Type: application/json
Accept: application/json

                
{
  "value" : "..."
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "guid" : "...",
  "name" : "...",
  "host" : "...",
  "user" : "...",
  "type" : "AFS",
  "nodeConfig" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "storageCount" : 12345,
  "cephSettings" : {
    "cephAuthKey" : "...",
    "cephConfiguration" : "..."
  },
  "afsSettings" : {
    "afsPrismElementHost" : "...",
    "afsPrismElementUser" : "..."
  },
  "availabilityZone" : "...",
  "serverPartnerUuid" : "...",
  "lastInventorySyncDate" : 12345,
  "lastSuccessfulInventorySyncDate" : 12345,
  "possibleActions" : [ "WRITE", "READ" ],
  "storagePoolManagementStrategy" : "INCLUDE",
  "managedStoragePools" : [ "...", "..." ],
  "version" : "...",
  "trustAllCerts" : true
}
                
              

PUT /storage-providers/{guid}/server-partner

Request Parameters
name type description
guid path
Request Body
media type data type
application/json StringDTO (JSON)

Example

Request
PUT /storage-providers/{guid}/server-partner
Content-Type: application/json

                
{
  "value" : "..."
}
                
              
Response
HTTP/1.1 204 No Content