# 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

    [ { } ]

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

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    { }

### GET /storage-providers/available-types

Response Body
media type | data type | description
--- | --- | ---
application/json | array of AvailableStorageProviderTypeListRecordDto (JSON) |

#### Example

##### Request

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

    ...

##### Response

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

    [ { } ]

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

    [ { } ]

### GET /storage-providers/for-filter

Response Body
media type | data type | description
--- | --- | ---
application/json | array of StorageProviderForFilterListRecordDto (JSON) |

#### Example

##### Request

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

    ...

##### Response

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

    [ { } ]

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

    [ { } ]

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

    { }

##### Response

    HTTP/1.1 204 No Content
    Content-Type: application/json

    { }

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

    [ { } ]

### GET /storage-providers/reduced

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 StorageProviderReducedListRecord (JSON) |

#### Example

##### Request

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

    ...

##### Response

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

    [ { } ]

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

    { }

##### Response

    HTTP/1.1 204 No Content
    Content-Type: application/json

    { }

### GET /storage-providers/v2

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 StorageProviderListRecordDto (JSON) |

#### Example

##### Request

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

    ...

##### Response

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

    [ { } ]

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

    { }

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

    { }

##### Response

    HTTP/1.1 204 No Content
    Content-Type: application/json

    { }

### GET /storage-providers/dashboard/{guid}

Get a single storage provider dashboard details

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 | StorageProviderDashboardDto (JSON) | storage provider dashboard details

#### Example

##### Request

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

    ...

##### Response

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

    { }

### GET /storage-providers/details/{guid}

Get a single storage provider details

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 | StorageProviderDetailsDto (JSON) | storage provider details

#### Example

##### Request

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

    ...

##### Response

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

    { }

### PUT /storage-providers/details/{guid}

Request Parameters
name | type | description
--- | --- | ---
guid | path |

Request Body
media type | data type
--- | ---
application/json | StorageProviderCreateUpdateRequestDto (JSON)

#### Example

##### Request

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

    { }

##### Response

    HTTP/1.1 204 No Content

### GET /storage-providers/v2/for-restore

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

Request Parameters
name | type | description | constraints
--- | --- | --- | ---
backup-to-be-restored | query |  | required, not empty

Response Body
media type | data type | description
--- | --- | ---
application/json | array of StorageProviderForRestoreListRecordDto (JSON) | list of provider restore info list records filtered by specified query parameters

#### Example

##### Request

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

    ...

##### Response

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

    [ { } ]

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

    { }

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

    { }

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

    { }

##### Response

    HTTP/1.1 204 No Content
    Content-Type: application/json

    { }

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

    { }

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

    { }

##### Response

    HTTP/1.1 204 No Content
    Content-Type: application/json

    { }

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

    { }

##### Response

    HTTP/1.1 204 No Content

### GET /storage-providers/{guid}/statistics

Returns architecture statistics for storage provider

Request Parameters
name | type | description | constraints
--- | --- | --- | ---
guid | path | unique identification series of selected storage provider |
compute-zone | query |  |
from | query |  | long
to | query |  | long

Response Body
media type | data type | description
--- | --- | ---
application/json | StorageProviderStatisticsDetails (JSON) | architecture statistics for storage provider

#### Example

##### Request

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

    ...

##### Response

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

    { }