# Hypervisor Managers Controller Resource

The API allows you to list, view, edit and create hypervisor managers.

### GET /hypervisor-managers

Returns list of hypervisor managers filtered by specified query parameters.

Request Parameters
name | type | description | constraints
--- | --- | --- | ---
backup-to-be-restored | query |  |
direction | query |  |
filter | query |  |
nameLike | query |  |
orderBy | query |  |
page | query |  |
size | query |  |
snapshotable | query |  | boolean
type | query |  | "AWS" or "AZURE" or "FAKE_HVM" or "FUSIONCOMPUTE" or "GCP" or "HC3" or "HYPERV" or "KUBERNETES" or "NUTANIX" or "NUTANIX_V4" or "OPENNEBULA" or "OPENSHIFT" or "OPENSTACK" or "ORACLE" or "PLATFORM9" or "RHEV" or "RHV" or "VCENTER" or "VERGE" or "VIRTUOZZO" or "ZADARA"

Response Body
media type | data type | description
--- | --- | ---
application/json | array of HypervisorManagerListRecord (JSON) | list of hypervisor managers filtered by specified query parameters

#### Example

##### Request

    GET /hypervisor-managers
    Content-Type: */*
    Accept: application/json

    ...

##### Response

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

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /hypervisor-managers

Create hypervisor manager.

Request Body
media type | data type | description
--- | --- | ---
application/json | HypervisorManagerRequest (JSON) | specify details for new hypervisor manager

Response Body
media type | data type | description
--- | --- | ---
application/json | HypervisorManagerDetails (JSON) | details of newly created hypervisor manager

#### Example

##### Request

    POST /hypervisor-managers
    Content-Type: application/json
    Accept: application/json

    {
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

##### Response

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

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### PUT /hypervisor-managers

Change node for specified list of hypervisor managers.

Request Body
media type | data type | description
--- | --- | ---
application/json | HypervisorManagerBatchUpdate (JSON) | specify node and guids of hypervisor managers

Response Body
media type | data type | description
--- | --- | ---
application/json | BatchResponse (JSON) | list of successful and unsuccessful updates of node

#### Example

##### Request

    PUT /hypervisor-managers
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

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

    { }

### GET /hypervisor-managers/detailed

Returns detailed list of hypervisor managers.

Response Body
media type | data type | description
--- | --- | ---
application/json | array of HypervisorManagerDetails (JSON) | detailed list of hypervisor managers

#### Example

##### Request

    GET /hypervisor-managers/detailed
    Content-Type: */*
    Accept: application/json

    ...

##### Response

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

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### GET /hypervisor-managers/for-restore

Returns list of hypervisor managers for a restore operation filtered by specified query parameters.

Request Parameters
name | type | description | constraints
--- | --- | --- | ---
backup-to-be-restored | query |  |
direction | query |  |
filter | query |  |
nameLike | query |  |
orderBy | query |  |
page | query |  |
size | query |  |
snapshotable | query |  | boolean
type | query |  | "AWS" or "AZURE" or "FAKE_HVM" or "FUSIONCOMPUTE" or "GCP" or "HC3" or "HYPERV" or "KUBERNETES" or "NUTANIX" or "NUTANIX_V4" or "OPENNEBULA" or "OPENSHIFT" or "OPENSTACK" or "ORACLE" or "PLATFORM9" or "RHEV" or "RHV" or "VCENTER" or "VERGE" or "VIRTUOZZO" or "ZADARA"

Response Body
media type | data type | description
--- | --- | ---
application/json | array of HypervisorManagerForRestoreListRecord (JSON) | list of hypervisor manager name and guids filtered by specified query parameters

#### Example

##### Request

    GET /hypervisor-managers/for-restore
    Content-Type: */*
    Accept: application/json

    ...

##### Response

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

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "url" : "https://some.host:8181/api",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### PUT /hypervisor-managers/password

Change password for specified list of hypervisor managers.

Request Body
media type | data type | description
--- | --- | ---
application/json | SingleAttributeBatchUpdate (JSON) | specify new password and guids of hypervisor managers

Response Body
media type | data type | description
--- | --- | ---
application/json | BatchResponse (JSON) | list of successful and unsuccessful updates of password

#### Example

##### Request

    PUT /hypervisor-managers/password
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

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

    { }

### GET /hypervisor-managers/rbac-contexts

Returns list of hypervisor managers for a rbac context

Response Body
media type | data type | description
--- | --- | ---
application/json | array of RbacContextListRecord (JSON) | list of hypervisor manager rbac context wrappers

#### Example

##### Request

    GET /hypervisor-managers/rbac-contexts
    Content-Type: */*
    Accept: application/json

    ...

##### Response

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

    [ { } ]

### PUT /hypervisor-managers/user

Change user for specified list of hypervisor managers.

Request Body
media type | data type | description
--- | --- | ---
application/json | SingleAttributeBatchUpdate (JSON) | specify new user and guids of hypervisor managers

Response Body
media type | data type | description
--- | --- | ---
application/json | BatchResponse (JSON) | list of successful and unsuccessful updates of user

#### Example

##### Request

    PUT /hypervisor-managers/user
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

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

    { }

### DELETE /hypervisor-managers/{guid}

Remove hypervisor manager.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for hypervisor manager (use by vProtect)

#### Example

##### Request

    DELETE /hypervisor-managers/{guid}
    Content-Type: */*

    ...

##### Response

    HTTP/1.1 204 No Content

### GET /hypervisor-managers/{guid}

Get a single hypervisor manager.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for hypervisor manager (use by vProtect)

Response Body
media type | data type | description
--- | --- | ---
application/json | HypervisorManagerDetails (JSON) | hypervisor manager details

#### Example

##### Request

    GET /hypervisor-managers/{guid}
    Content-Type: */*
    Accept: application/json

    ...

##### Response

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

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### PUT /hypervisor-managers/{guid}

Change hypervisor manager details.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for hypervisor manager (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | HypervisorManagerUpdate (JSON) | specify hypervisor manager details to update

Response Body
media type | data type | description
--- | --- | ---
application/json | HypervisorManagerDetails (JSON) | updated details of hypervisor manager

#### Example

##### Request

    PUT /hypervisor-managers/{guid}
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

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

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### GET /hypervisor-managers/{guid}/access-key

Returns access key from hypervisor manager.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for hypervisor manager (use by vProtect)

Response Body
media type | data type | description
--- | --- | ---
application/json | string (JSON) | access key from hypervisor manager

#### Example

##### Request

    GET /hypervisor-managers/{guid}/access-key
    Content-Type: application/json
    Accept: application/json

    ...

##### Response

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

    ...

### PUT /hypervisor-managers/{guid}/access-key

Change access key for specified hypervisor manager.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for hypervisor manager (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | StringDTO (JSON) | specify new access key

#### Example

##### Request

    PUT /hypervisor-managers/{guid}/access-key
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### PUT /hypervisor-managers/{guid}/certificates

Change certificate settings for hypervisor manager

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for hypervisor manager (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | HypervisorManagerCertificateSettingsUpdate (JSON) | specify hypervisor manager certificate settings to update

Response Body
media type | data type | description
--- | --- | ---
application/json | HypervisorManagerDetails (JSON) | updated details of hypervisor manager

#### Example

##### Request

    PUT /hypervisor-managers/{guid}/certificates
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

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

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### PUT /hypervisor-managers/{guid}/password

Change password for specified hypervisor manager.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for hypervisor manager (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | StringDTO (JSON) | specify new password

#### Example

##### Request

    PUT /hypervisor-managers/{guid}/password
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### PUT /hypervisor-managers/{guid}/secret-key

Change secret key for specified hypervisor manager.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for hypervisor manager (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | StringDTO (JSON) | specify new secret key

#### Example

##### Request

    PUT /hypervisor-managers/{guid}/secret-key
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### GET /hypervisor-managers/{guid}/statistics

Returns architecture statistics from hypervisor manager.

Request Parameters
name | type | description | constraints
--- | --- | --- | ---
guid | path | specify local unique identifier for hypervisor manager (use by vProtect) |
compute-zone | query |  |
from | query |  | long
to | query |  | long

Response Body
media type | data type | description
--- | --- | ---
application/json | HypervisorManagerStatisticsDto (JSON) | architecture statistics from hypervisor manager

#### Example

##### Request

    GET /hypervisor-managers/{guid}/statistics
    Content-Type: */*
    Accept: application/json

    ...

##### Response

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

    { }

### GET /hypervisor-managers/azure/{guid}/client-secret

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

Response Body
media type | data type | description
--- | --- | ---
application/json | string (JSON) |

#### Example

##### Request

    GET /hypervisor-managers/azure/{guid}/client-secret
    Content-Type: */*
    Accept: application/json

    ...

##### Response

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

    ...

### PUT /hypervisor-managers/azure/{guid}/client-secret

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

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

#### Example

##### Request

    PUT /hypervisor-managers/azure/{guid}/client-secret
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### POST /hypervisor-managers/{guid}/projects/delete-non-present

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

#### Example

##### Request

    POST /hypervisor-managers/{guid}/projects/delete-non-present
    Content-Type: application/json

    ...

##### Response

    HTTP/1.1 201 Created