# Private Cloud › Managed VMware vSphere › Backup & Replication › Veeam Managed Backup API

> Part of the OVHcloud developer hub. Index of every page and section: https://developers.eu.ovhcloud.com/llms.txt
> The Private Cloud product's sections: https://developers.eu.ovhcloud.com/reference/private-cloud/llms.txt
> Everything in one file: https://developers.eu.ovhcloud.com/llms-full.txt

> 19 operations of the OVHcloud API. Calls carry `authorization: Bearer $OVH_TOKEN`; the EU host is shown, Canada and the United States answer on api.ca.ovhcloud.com and api.us.ovhcloud.com.

Page: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/

OpenAPI v1: https://api.eu.ovhcloud.com/1.0/__schemas/developer-hub-navigation/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup.json?format=openapi3
OpenAPI v2: https://api.eu.ovhcloud.com/v2/__schemas/developer-hub-navigation/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup.json?format=openapi3

## Operations

- `GET /backupServices/reference/managedBackupVaultRegion` — Lists, per region where a Hosted Private Cloud is located, the region hosting the vaults of its Managed Backup service and the regions allowed as replication secondary site
- `GET /backupServices/tenant` — Retrieves the backup tenants you manage
- `GET /backupServices/tenant/{backupServicesId}` — Retrieves the details of your backup tenant
- `GET /backupServices/tenant/{backupServicesId}/vault` — Lists vaults for your tenant
- `GET /backupServices/tenant/{backupServicesId}/vault/{vaultId}` — Retrieves specific vault details
- `PUT /backupServices/tenant/{backupServicesId}/vault/{vaultId}` — Updates vault display name and cloud repository
- `GET /backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket` — Lists buckets of the vault
- `GET /backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket/{bucketId}` — Gets specific vault bucket details
- `GET /backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket/{bucketId}/credentials` — Retrieves S3™*-compatible credentials and connection endpoint for a vault bucket
- `GET /backupServices/tenant/{backupServicesId}/vspc` — Retrieves list of VSPC tenants
- `GET /backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}` — Retrieves details of a specific VSPC tenant
- `PUT /backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}` — Updates the display name of a VSPC tenant
- `GET /backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup` — Retrieves the Managed Backup services of the VSPC tenant, one per protected Hosted Private Cloud; empty when the Managed Backup add-on is not enabled
- `GET /backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}` — Retrieves a Managed Backup service of the VSPC tenant
- `PUT /backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}` — Updates the display name of a Managed Backup service
- `GET /backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/consumption` — Retrieves the current billable consumption of the Managed Backup service: number of backed up virtual machines per vault level and size band with the matching plan code; no price is returned
- `POST /backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/resetPassword` — Resets the password of your account on the Veeam Backup & Replication web interface of the Managed Backup service
- `GET /backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/virtualMachine` — Lists the virtual machines known to the Managed Backup service with their protection state, billing dimensions and last backup information
- `GET /backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/virtualMachine/{virtualMachineId}` — Retrieves the protection state, billing dimensions and last backup information of a virtual machine

## Lists, per region where a Hosted Private Cloud is located, the region hosting the vaults of its Managed Backup service and the regions allowed as replication secondary site

`GET /v2/backupServices/reference/managedBackupVaultRegion`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-reference-managedbackupvaultregion

**Status:** Beta version

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | object | successful operation |

```json
{
  "key": {
    "primaryRegionName": "af-north-lz-rba",
    "secondaryRegions": [
      {
        "name": "af-north-lz-rba",
        "preferred": true
      }
    ]
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/reference/managedBackupVaultRegion" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/reference/managedBackupVaultRegion")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/reference/managedBackupVaultRegion");

print_r($result);
?>
```

## Retrieves the backup tenants you manage

`GET /v2/backupServices/tenant`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Pagination-Cursor` | header | string |  | Pagination cursor |
| `X-Pagination-Size` | header | integer |  | Pagination size |
| `iamTags` | query | object |  | Filter resources on IAM tags |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenantWithIAM[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time the backup tenant is created |
| `currentState` | backup.tenant.CurrentState | read-only | Current operational state of the backup tenant |
| `currentState.id` | string (uuid) | read-only | Identifier of the backup tenant |
| `currentState.name` | string | read-only | Name of the backup tenant |
| `currentState.vaults` | string[] | read-only | List of vault resource names associated with the backup tenant |
| `currentState.vspcTenants` | string[] | read-only | List of VSPC tenant resource names associated with the backup tenant |
| `currentTasks` | common.CurrentTask[] | read-only | List of tasks that are currently running for the backup tenant |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `iam` | iam.ResourceMetadata | read-only | IAM resource metadata |
| `iam.displayName` | string | read-only | Resource display name |
| `iam.id` | string (uuid) | read-only | Unique identifier of the resource |
| `iam.state` | iam.ResourceMetadata.StateEnum | read-only | Resource state — one of `EXPIRED`, `IN_CREATION`, `OK`, `SUSPENDED` |
| `iam.tags` | object | read-only | Resource tags. Tags that were internally computed are prefixed with ovh: |
| `iam.urn` | string | read-only | Unique resource name used in policies |
| `id` | string (uuid) | read-only | Unique identifier of the backup tenant |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Readiness status of the backup tenant — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.TargetSpec | read-only | Specification of the target state of the backup tenant |
| `targetSpec.name` | string | read-only | The display name of your backup tenant |
| `updatedAt` | string (date-time) | read-only | Date and time the backup tenant is last updated |

```json
[
  {
    "createdAt": "2024-01-01T12:00:00Z",
    "currentState": {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "string",
      "vaults": [
        "string"
      ],
      "vspcTenants": [
        "string"
      ]
    },
    "currentTasks": [
      {
        "errors": [
          {
            "message": "string"
          }
        ],
        "id": "00000000-0000-0000-0000-000000000000",
        "link": "string",
        "status": "ERROR",
        "type": "string"
      }
    ],
    "iam": {
      "displayName": "string",
      "id": "00000000-0000-0000-0000-000000000000",
      "state": "EXPIRED",
      "tags": {
        "key": "string"
      },
      "urn": "string"
    },
    "id": "00000000-0000-0000-0000-000000000000",
    "resourceStatus": "CREATING",
    "targetSpec": {
      "name": "string"
    },
    "updatedAt": "2024-01-01T12:00:00Z"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant");

print_r($result);
?>
```

## Retrieves the details of your backup tenant

`GET /v2/backupServices/tenant/{backupServicesId}`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenantWithIAM | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time the backup tenant is created |
| `currentState` | backup.tenant.CurrentState | read-only | Current operational state of the backup tenant |
| `currentState.id` | string (uuid) | read-only | Identifier of the backup tenant |
| `currentState.name` | string | read-only | Name of the backup tenant |
| `currentState.vaults` | string[] | read-only | List of vault resource names associated with the backup tenant |
| `currentState.vspcTenants` | string[] | read-only | List of VSPC tenant resource names associated with the backup tenant |
| `currentTasks` | common.CurrentTask[] | read-only | List of tasks that are currently running for the backup tenant |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `iam` | iam.ResourceMetadata | read-only | IAM resource metadata |
| `iam.displayName` | string | read-only | Resource display name |
| `iam.id` | string (uuid) | read-only | Unique identifier of the resource |
| `iam.state` | iam.ResourceMetadata.StateEnum | read-only | Resource state — one of `EXPIRED`, `IN_CREATION`, `OK`, `SUSPENDED` |
| `iam.tags` | object | read-only | Resource tags. Tags that were internally computed are prefixed with ovh: |
| `iam.urn` | string | read-only | Unique resource name used in policies |
| `id` | string (uuid) | read-only | Unique identifier of the backup tenant |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Readiness status of the backup tenant — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.TargetSpec | read-only | Specification of the target state of the backup tenant |
| `targetSpec.name` | string | read-only | The display name of your backup tenant |
| `updatedAt` | string (date-time) | read-only | Date and time the backup tenant is last updated |

```json
{
  "createdAt": "2024-01-01T12:00:00Z",
  "currentState": {
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "vaults": [
      "string"
    ],
    "vspcTenants": [
      "string"
    ]
  },
  "currentTasks": [
    {
      "errors": [
        {
          "message": "string"
        }
      ],
      "id": "00000000-0000-0000-0000-000000000000",
      "link": "string",
      "status": "ERROR",
      "type": "string"
    }
  ],
  "iam": {
    "displayName": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "state": "EXPIRED",
    "tags": {
      "key": "string"
    },
    "urn": "string"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "resourceStatus": "CREATING",
  "targetSpec": {
    "name": "string"
  },
  "updatedAt": "2024-01-01T12:00:00Z"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}");

print_r($result);
?>
```

## Lists vaults for your tenant

`GET /v2/backupServices/tenant/{backupServicesId}/vault`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vault

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vault/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Pagination-Cursor` | header | string |  | Pagination cursor |
| `X-Pagination-Size` | header | integer |  | Pagination size |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `iamTags` | query | object |  | Filter resources on IAM tags |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vaultWithIAM[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time when you created the vault |
| `currentState` | backup.tenant.vault.CurrentState | read-only | Current state of your vault |
| `currentState.buckets` | backup.tenant.vault.bucket[] | read-only | Provides list of vault buckets |
| `currentState.buckets[].encrypted` | boolean | read-only | Whether the backup data stored in the bucket is encrypted. Always true for Managed Backup buckets. Null when not reported by the platform. |
| `currentState.buckets[].id` | string (uuid) | read-only | Specifies the unique identifier of the bucket |
| `currentState.buckets[].immutability` | backup.tenant.vault.bucket.Immutability | read-only | Immutability settings of the bucket, enabled on the buckets of a PREMIUM Managed Backup vault. Null when not reported by the platform. |
| `currentState.buckets[].name` | string | read-only | Specifies the name of the bucket |
| `currentState.buckets[].performance` | backup.BucketPerformanceEnum | read-only | Specifies the performance tier of the bucket — one of `HIGH_PERF`, `STANDARD` |
| `currentState.buckets[].region` | common.RegionEnum | read-only | Specifies the geographic region where the bucket is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.buckets[].role` | backup.BucketRoleEnum | read-only | Specifies the role assigned to the bucket — one of `PRIMARY`, `REPLICA` |
| `currentState.buckets[].status` | common.ResourceStatusEnum | read-only | Specifies the current status of the bucket — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.id` | string | read-only | Identifies the vault uniquely. A UUID for Backup Agent and Backup Licenses vaults, the vault name for Managed Backup vaults. |
| `currentState.includedSoftQuotaGb` | integer | read-only | Included soft quota in GB for a Backup Licenses BUNDLE vault. Null for PAYGO, BACKUP_AGENT, MANAGED_BACKUP or when not applicable. |
| `currentState.name` | string | read-only | Specifies the vault name |
| `currentState.region` | common.RegionEnum | read-only | Specifies the region where the vault is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.resourceName` | string | read-only | Specifies the vault resource name |
| `currentState.status` | common.ResourceStatusEnum | read-only | Indicates the current status of the vault — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.type` | backup.VaultTypeEnum | read-only | Specifies the vault type — one of `BUNDLE`, `PAYGO` |
| `currentState.vaultProductLine` | backup.VaultProductLineEnum | read-only | Product line that owns the vault. Interpret it together with type to tell the two PAYGO offers apart. Null for vaults created before this field existed. — one of `BACKUP_AGENT`, `BACKUP_LICENSES`, `MANAGED_BACKUP` |
| `currentState.vspcTenants` | string[] | read-only | Lists resource names of VSPC tenants linked to the vault |
| `currentTasks` | common.CurrentTask[] | read-only | List of tasks currently running on your vault |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `iam` | iam.ResourceMetadata | read-only | IAM resource metadata |
| `iam.displayName` | string | read-only | Resource display name |
| `iam.id` | string (uuid) | read-only | Unique identifier of the resource |
| `iam.state` | iam.ResourceMetadata.StateEnum | read-only | Resource state — one of `EXPIRED`, `IN_CREATION`, `OK`, `SUSPENDED` |
| `iam.tags` | object | read-only | Resource tags. Tags that were internally computed are prefixed with ovh: |
| `iam.urn` | string | read-only | Unique resource name used in policies |
| `id` | string | read-only | Unique identifier of your vault. A UUID for Backup Agent and Backup Licenses vaults, the vault name for Managed Backup vaults. |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Indicates the readiness of your vault — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.vault.TargetSpec | read-only | Specification of your vault target |
| `targetSpec.name` | string | yes | Display name of your vault |
| `updatedAt` | string (date-time) | read-only | Date and time when you last updated the vault |

```json
[
  {
    "createdAt": "2024-01-01T12:00:00Z",
    "currentState": {
      "buckets": [
        {
          "encrypted": true,
          "id": "00000000-0000-0000-0000-000000000000",
          "immutability": {
            "enabled": true,
            "retentionDays": 0
          },
          "name": "string",
          "performance": "HIGH_PERF",
          "region": "af-north-lz-rba",
          "role": "PRIMARY",
          "status": "CREATING"
        }
      ],
      "id": "string",
      "includedSoftQuotaGb": 0,
      "name": "string",
      "region": "af-north-lz-rba",
      "resourceName": "string",
      "status": "CREATING",
      "type": "BUNDLE",
      "vaultProductLine": "BACKUP_AGENT",
      "vspcTenants": [
        "string"
      ]
    },
    "currentTasks": [
      {
        "errors": [
          {
            "message": "string"
          }
        ],
        "id": "00000000-0000-0000-0000-000000000000",
        "link": "string",
        "status": "ERROR",
        "type": "string"
      }
    ],
    "iam": {
      "displayName": "string",
      "id": "00000000-0000-0000-0000-000000000000",
      "state": "EXPIRED",
      "tags": {
        "key": "string"
      },
      "urn": "string"
    },
    "id": "string",
    "resourceStatus": "CREATING",
    "targetSpec": {
      "name": "string"
    },
    "updatedAt": "2024-01-01T12:00:00Z"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vault" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vault")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vault");

print_r($result);
?>
```

## Retrieves specific vault details

`GET /v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vault-vaultid

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vault/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `vaultId` | path | string | yes | Vault ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vaultWithIAM | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time when you created the vault |
| `currentState` | backup.tenant.vault.CurrentState | read-only | Current state of your vault |
| `currentState.buckets` | backup.tenant.vault.bucket[] | read-only | Provides list of vault buckets |
| `currentState.buckets[].encrypted` | boolean | read-only | Whether the backup data stored in the bucket is encrypted. Always true for Managed Backup buckets. Null when not reported by the platform. |
| `currentState.buckets[].id` | string (uuid) | read-only | Specifies the unique identifier of the bucket |
| `currentState.buckets[].immutability` | backup.tenant.vault.bucket.Immutability | read-only | Immutability settings of the bucket, enabled on the buckets of a PREMIUM Managed Backup vault. Null when not reported by the platform. |
| `currentState.buckets[].name` | string | read-only | Specifies the name of the bucket |
| `currentState.buckets[].performance` | backup.BucketPerformanceEnum | read-only | Specifies the performance tier of the bucket — one of `HIGH_PERF`, `STANDARD` |
| `currentState.buckets[].region` | common.RegionEnum | read-only | Specifies the geographic region where the bucket is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.buckets[].role` | backup.BucketRoleEnum | read-only | Specifies the role assigned to the bucket — one of `PRIMARY`, `REPLICA` |
| `currentState.buckets[].status` | common.ResourceStatusEnum | read-only | Specifies the current status of the bucket — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.id` | string | read-only | Identifies the vault uniquely. A UUID for Backup Agent and Backup Licenses vaults, the vault name for Managed Backup vaults. |
| `currentState.includedSoftQuotaGb` | integer | read-only | Included soft quota in GB for a Backup Licenses BUNDLE vault. Null for PAYGO, BACKUP_AGENT, MANAGED_BACKUP or when not applicable. |
| `currentState.name` | string | read-only | Specifies the vault name |
| `currentState.region` | common.RegionEnum | read-only | Specifies the region where the vault is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.resourceName` | string | read-only | Specifies the vault resource name |
| `currentState.status` | common.ResourceStatusEnum | read-only | Indicates the current status of the vault — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.type` | backup.VaultTypeEnum | read-only | Specifies the vault type — one of `BUNDLE`, `PAYGO` |
| `currentState.vaultProductLine` | backup.VaultProductLineEnum | read-only | Product line that owns the vault. Interpret it together with type to tell the two PAYGO offers apart. Null for vaults created before this field existed. — one of `BACKUP_AGENT`, `BACKUP_LICENSES`, `MANAGED_BACKUP` |
| `currentState.vspcTenants` | string[] | read-only | Lists resource names of VSPC tenants linked to the vault |
| `currentTasks` | common.CurrentTask[] | read-only | List of tasks currently running on your vault |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `iam` | iam.ResourceMetadata | read-only | IAM resource metadata |
| `iam.displayName` | string | read-only | Resource display name |
| `iam.id` | string (uuid) | read-only | Unique identifier of the resource |
| `iam.state` | iam.ResourceMetadata.StateEnum | read-only | Resource state — one of `EXPIRED`, `IN_CREATION`, `OK`, `SUSPENDED` |
| `iam.tags` | object | read-only | Resource tags. Tags that were internally computed are prefixed with ovh: |
| `iam.urn` | string | read-only | Unique resource name used in policies |
| `id` | string | read-only | Unique identifier of your vault. A UUID for Backup Agent and Backup Licenses vaults, the vault name for Managed Backup vaults. |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Indicates the readiness of your vault — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.vault.TargetSpec | read-only | Specification of your vault target |
| `targetSpec.name` | string | yes | Display name of your vault |
| `updatedAt` | string (date-time) | read-only | Date and time when you last updated the vault |

```json
{
  "createdAt": "2024-01-01T12:00:00Z",
  "currentState": {
    "buckets": [
      {
        "encrypted": true,
        "id": "00000000-0000-0000-0000-000000000000",
        "immutability": {
          "enabled": true,
          "retentionDays": 0
        },
        "name": "string",
        "performance": "HIGH_PERF",
        "region": "af-north-lz-rba",
        "role": "PRIMARY",
        "status": "CREATING"
      }
    ],
    "id": "string",
    "includedSoftQuotaGb": 0,
    "name": "string",
    "region": "af-north-lz-rba",
    "resourceName": "string",
    "status": "CREATING",
    "type": "BUNDLE",
    "vaultProductLine": "BACKUP_AGENT",
    "vspcTenants": [
      "string"
    ]
  },
  "currentTasks": [
    {
      "errors": [
        {
          "message": "string"
        }
      ],
      "id": "00000000-0000-0000-0000-000000000000",
      "link": "string",
      "status": "ERROR",
      "type": "string"
    }
  ],
  "iam": {
    "displayName": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "state": "EXPIRED",
    "tags": {
      "key": "string"
    },
    "urn": "string"
  },
  "id": "string",
  "resourceStatus": "CREATING",
  "targetSpec": {
    "name": "string"
  },
  "updatedAt": "2024-01-01T12:00:00Z"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}");

print_r($result);
?>
```

## Updates vault display name and cloud repository

`PUT /v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#put-backupservices-tenant-backupservicesid-vault-vaultid

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vault/edit`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `vaultId` | path | string | yes | Vault ID |

### Request body (required)

Type: `backup.tenant.vault.TargetSpec`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | Display name of your vault |

```json
{
  "name": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vault | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time when you created the vault |
| `currentState` | backup.tenant.vault.CurrentState | read-only | Current state of your vault |
| `currentState.buckets` | backup.tenant.vault.bucket[] | read-only | Provides list of vault buckets |
| `currentState.buckets[].encrypted` | boolean | read-only | Whether the backup data stored in the bucket is encrypted. Always true for Managed Backup buckets. Null when not reported by the platform. |
| `currentState.buckets[].id` | string (uuid) | read-only | Specifies the unique identifier of the bucket |
| `currentState.buckets[].immutability` | backup.tenant.vault.bucket.Immutability | read-only | Immutability settings of the bucket, enabled on the buckets of a PREMIUM Managed Backup vault. Null when not reported by the platform. |
| `currentState.buckets[].name` | string | read-only | Specifies the name of the bucket |
| `currentState.buckets[].performance` | backup.BucketPerformanceEnum | read-only | Specifies the performance tier of the bucket — one of `HIGH_PERF`, `STANDARD` |
| `currentState.buckets[].region` | common.RegionEnum | read-only | Specifies the geographic region where the bucket is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.buckets[].role` | backup.BucketRoleEnum | read-only | Specifies the role assigned to the bucket — one of `PRIMARY`, `REPLICA` |
| `currentState.buckets[].status` | common.ResourceStatusEnum | read-only | Specifies the current status of the bucket — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.id` | string | read-only | Identifies the vault uniquely. A UUID for Backup Agent and Backup Licenses vaults, the vault name for Managed Backup vaults. |
| `currentState.includedSoftQuotaGb` | integer | read-only | Included soft quota in GB for a Backup Licenses BUNDLE vault. Null for PAYGO, BACKUP_AGENT, MANAGED_BACKUP or when not applicable. |
| `currentState.name` | string | read-only | Specifies the vault name |
| `currentState.region` | common.RegionEnum | read-only | Specifies the region where the vault is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.resourceName` | string | read-only | Specifies the vault resource name |
| `currentState.status` | common.ResourceStatusEnum | read-only | Indicates the current status of the vault — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.type` | backup.VaultTypeEnum | read-only | Specifies the vault type — one of `BUNDLE`, `PAYGO` |
| `currentState.vaultProductLine` | backup.VaultProductLineEnum | read-only | Product line that owns the vault. Interpret it together with type to tell the two PAYGO offers apart. Null for vaults created before this field existed. — one of `BACKUP_AGENT`, `BACKUP_LICENSES`, `MANAGED_BACKUP` |
| `currentState.vspcTenants` | string[] | read-only | Lists resource names of VSPC tenants linked to the vault |
| `currentTasks` | common.CurrentTask[] | read-only | List of tasks currently running on your vault |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `id` | string | read-only | Unique identifier of your vault. A UUID for Backup Agent and Backup Licenses vaults, the vault name for Managed Backup vaults. |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Indicates the readiness of your vault — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.vault.TargetSpec | read-only | Specification of your vault target |
| `targetSpec.name` | string | yes | Display name of your vault |
| `updatedAt` | string (date-time) | read-only | Date and time when you last updated the vault |

```json
{
  "createdAt": "2024-01-01T12:00:00Z",
  "currentState": {
    "buckets": [
      {
        "encrypted": true,
        "id": "00000000-0000-0000-0000-000000000000",
        "immutability": {
          "enabled": true,
          "retentionDays": 0
        },
        "name": "string",
        "performance": "HIGH_PERF",
        "region": "af-north-lz-rba",
        "role": "PRIMARY",
        "status": "CREATING"
      }
    ],
    "id": "string",
    "includedSoftQuotaGb": 0,
    "name": "string",
    "region": "af-north-lz-rba",
    "resourceName": "string",
    "status": "CREATING",
    "type": "BUNDLE",
    "vaultProductLine": "BACKUP_AGENT",
    "vspcTenants": [
      "string"
    ]
  },
  "currentTasks": [
    {
      "errors": [
        {
          "message": "string"
        }
      ],
      "id": "00000000-0000-0000-0000-000000000000",
      "link": "string",
      "status": "ERROR",
      "type": "string"
    }
  ],
  "id": "string",
  "resourceStatus": "CREATING",
  "targetSpec": {
    "name": "string"
  },
  "updatedAt": "2024-01-01T12:00:00Z"
}
```

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: backup.tenant.vault.TargetSpec
result = client.put("/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}",
	name = None, # Display name of your vault (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: backup.tenant.vault.TargetSpec
$result = $ovh->put("/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}", array(
	name => null, // Display name of your vault (type: string)
));

print_r($result);
?>
```

## Lists buckets of the vault

`GET /v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vault-vaultid-bucket

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vault/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Pagination-Cursor` | header | string |  | Pagination cursor |
| `X-Pagination-Size` | header | integer |  | Pagination size |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `vaultId` | path | string | yes | Vault ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vault.bucket[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `encrypted` | boolean | read-only | Whether the backup data stored in the bucket is encrypted. Always true for Managed Backup buckets. Null when not reported by the platform. |
| `id` | string (uuid) | read-only | Specifies the unique identifier of the bucket |
| `immutability` | backup.tenant.vault.bucket.Immutability | read-only | Immutability settings of the bucket, enabled on the buckets of a PREMIUM Managed Backup vault. Null when not reported by the platform. |
| `immutability.enabled` | boolean | read-only | Whether restore points stored in the bucket are immutable |
| `immutability.retentionDays` | integer | read-only | Number of days during which a restore point can neither be modified nor deleted. Null when immutability is disabled. |
| `name` | string | read-only | Specifies the name of the bucket |
| `performance` | backup.BucketPerformanceEnum | read-only | Specifies the performance tier of the bucket — one of `HIGH_PERF`, `STANDARD` |
| `region` | common.RegionEnum | read-only | Specifies the geographic region where the bucket is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `role` | backup.BucketRoleEnum | read-only | Specifies the role assigned to the bucket — one of `PRIMARY`, `REPLICA` |
| `status` | common.ResourceStatusEnum | read-only | Specifies the current status of the bucket — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |

```json
[
  {
    "encrypted": true,
    "id": "00000000-0000-0000-0000-000000000000",
    "immutability": {
      "enabled": true,
      "retentionDays": 0
    },
    "name": "string",
    "performance": "HIGH_PERF",
    "region": "af-north-lz-rba",
    "role": "PRIMARY",
    "status": "CREATING"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket");

print_r($result);
?>
```

## Gets specific vault bucket details

`GET /v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket/{bucketId}`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vault-vaultid-bucket-bucketid

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vault/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `bucketId` | path | string (uuid) | yes | Bucket ID |
| `vaultId` | path | string | yes | Vault ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vault.bucket | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `encrypted` | boolean | read-only | Whether the backup data stored in the bucket is encrypted. Always true for Managed Backup buckets. Null when not reported by the platform. |
| `id` | string (uuid) | read-only | Specifies the unique identifier of the bucket |
| `immutability` | backup.tenant.vault.bucket.Immutability | read-only | Immutability settings of the bucket, enabled on the buckets of a PREMIUM Managed Backup vault. Null when not reported by the platform. |
| `immutability.enabled` | boolean | read-only | Whether restore points stored in the bucket are immutable |
| `immutability.retentionDays` | integer | read-only | Number of days during which a restore point can neither be modified nor deleted. Null when immutability is disabled. |
| `name` | string | read-only | Specifies the name of the bucket |
| `performance` | backup.BucketPerformanceEnum | read-only | Specifies the performance tier of the bucket — one of `HIGH_PERF`, `STANDARD` |
| `region` | common.RegionEnum | read-only | Specifies the geographic region where the bucket is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `role` | backup.BucketRoleEnum | read-only | Specifies the role assigned to the bucket — one of `PRIMARY`, `REPLICA` |
| `status` | common.ResourceStatusEnum | read-only | Specifies the current status of the bucket — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |

```json
{
  "encrypted": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "immutability": {
    "enabled": true,
    "retentionDays": 0
  },
  "name": "string",
  "performance": "HIGH_PERF",
  "region": "af-north-lz-rba",
  "role": "PRIMARY",
  "status": "CREATING"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket/{bucketId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket/{bucketId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket/{bucketId}");

print_r($result);
?>
```

## Retrieves S3™*-compatible credentials and connection endpoint for a vault bucket

`GET /v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket/{bucketId}/credentials`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vault-vaultid-bucket-bucketid-credentials

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vault/credentials/get`

<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `bucketId` | path | string (uuid) | yes | Bucket ID |
| `vaultId` | path | string | yes | Vault ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vault.bucket.Credentials | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `accessKey` | string | read-only | S3 access key |
| `bucketName` | string | read-only | Name of the bucket these credentials belong to |
| `endpoint` | string | read-only | S3 endpoint URL to configure in your environment |
| `regionCode` | backup.RegionCodeEnum | read-only | Short region code of the bucket — one of `ap-south-mum`, `ap-southeast-syd`, `bhs`, `ca-east-tor`, `de`, `eu-south-mil`, `eu-west-par`, `gra`, `rbx`, `sbg`, `sgp`, `uk`, … |
| `secretKey` | string (password) | read-only | S3 secret key, sensitive value |

```json
{
  "accessKey": "string",
  "bucketName": "string",
  "endpoint": "string",
  "regionCode": "ap-south-mum",
  "secretKey": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket/{bucketId}/credentials" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket/{bucketId}/credentials")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vault/{vaultId}/bucket/{bucketId}/credentials");

print_r($result);
?>
```

## Retrieves list of VSPC tenants

`GET /v2/backupServices/tenant/{backupServicesId}/vspc`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vspc

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vspc/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Pagination-Cursor` | header | string |  | Pagination cursor |
| `X-Pagination-Size` | header | integer |  | Pagination size |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `iamTags` | query | object |  | Filter resources on IAM tags |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vspcWithIAM[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time when the tenant is created |
| `currentState` | backup.tenant.vspc.CurrentState | read-only | Current state of the tenant |
| `currentState.accessUrl` | string | read-only | URL you use to access the tenant |
| `currentState.backupAgents` | backup.tenant.vspc.backupAgent.CurrentState[] | read-only | Backup agents associated with the tenant |
| `currentState.backupAgents[].id` | string (uuid) | read-only | Unique identifier of the backup agent |
| `currentState.backupAgents[].ips` | ipBlock[] | read-only | List of IP addresses assigned to the backup agent |
| `currentState.backupAgents[].name` | string | read-only | Name of the backup agent |
| `currentState.backupAgents[].policy` | string | read-only | VSPC backup policy configured for the agent |
| `currentState.backupAgents[].productResourceName` | string | read-only | Resource name of the product backed up by the agent |
| `currentState.backupAgents[].type` | backup.AgentProductTypeEnum | read-only | Type of the product managed by the agent — one of `ON_PREMISE`, `OVHCLOUD_BAREMETAL`, `OVHCLOUD_PUBLIC_CLOUD`, `OVHCLOUD_VPS` |
| `currentState.backupAgents[].vaultId` | string (uuid) | read-only | Unique identifier of the vault storing the backup agent data |
| `currentState.backupLicensesId` | string | read-only | Backup Licenses subscription identifier of the tenant. Null when the Backup Licenses add-on is not enabled. |
| `currentState.companyName` | string | read-only | Name of your tenant company in VSPC |
| `currentState.enabledAddons` | backup.AddonEnum[] | read-only | Add-ons active on this tenant |
| `currentState.id` | string (uuid) | read-only | Unique identifier of the tenant |
| `currentState.managedBackupIds` | string[] | read-only | Managed Backup service identifiers of the tenant, one per protected Hosted Private Cloud, each formatted managed-backup- followed by the Hosted Private Cloud service name. Null when the Managed Backup add-on is not enabled. |
| `currentState.name` | string | read-only | Display name of the tenant |
| `currentState.region` | common.RegionEnum | read-only | Region where the tenant is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.status` | common.ResourceStatusEnum | read-only | Current status of the tenant — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.vaults` | backup.tenant.vspc.vault[] | read-only | Vaults linked to the tenant |
| `currentState.vaults[].allowedIps` | ipBlock[] | read-only | Provides list of allowed IPs at the vault level |
| `currentState.vaults[].id` | string (uuid) | read-only | Unique identifier of the vault |
| `currentState.vaults[].name` | string | read-only | Name of the vault |
| `currentState.vaults[].performance` | backup.BucketPerformanceEnum | read-only | Performance tier of the vault — one of `HIGH_PERF`, `STANDARD` |
| `currentState.vaults[].region` | common.RegionEnum | read-only | Geographic region where the vault is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.vaults[].resourceName` | string | read-only | Resource name of the vault as used in the system |
| `currentState.vaults[].status` | common.ResourceStatusEnum | read-only | Current status of the vault — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.vaults[].type` | backup.VaultTypeEnum | read-only | Kind of vault — one of `BUNDLE`, `PAYGO` |
| `currentState.vspcType` | backup.VspcTypeEnum | read-only | VSPC infrastructure type backing this tenant. BASIC carries backup agents, ADVANCED carries Backup Licenses and Managed Backup. — one of `ADVANCED`, `BASIC` |
| `currentTasks` | common.CurrentTask[] | read-only | List of tasks currently running for the tenant |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `iam` | iam.ResourceMetadata | read-only | IAM resource metadata |
| `iam.displayName` | string | read-only | Resource display name |
| `iam.id` | string (uuid) | read-only | Unique identifier of the resource |
| `iam.state` | iam.ResourceMetadata.StateEnum | read-only | Resource state — one of `EXPIRED`, `IN_CREATION`, `OK`, `SUSPENDED` |
| `iam.tags` | object | read-only | Resource tags. Tags that were internally computed are prefixed with ovh: |
| `iam.urn` | string | read-only | Unique resource name used in policies |
| `id` | string (uuid) | read-only | Unique identifier of the tenant |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Indicates whether the vault is ready — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.vspc.TargetSpec | read-only | Specification of the target for the tenant |
| `targetSpec.name` | string | yes | Display name of the tenant |
| `updatedAt` | string (date-time) | read-only | Date and time when the tenant is last updated |

```json
[
  {
    "createdAt": "2024-01-01T12:00:00Z",
    "currentState": {
      "accessUrl": "string",
      "backupAgents": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "ips": [
            "192.0.2.0/24"
          ],
          "name": "string",
          "policy": "string",
          "productResourceName": "string",
          "type": "ON_PREMISE",
          "vaultId": "00000000-0000-0000-0000-000000000000"
        }
      ],
      "backupLicensesId": "string",
      "companyName": "string",
      "enabledAddons": [
        "BACKUP_AGENT"
      ],
      "id": "00000000-0000-0000-0000-000000000000",
      "managedBackupIds": [
        "string"
      ],
      "name": "string",
      "region": "af-north-lz-rba",
      "status": "CREATING",
      "vaults": [
        {
          "allowedIps": [
            "192.0.2.0/24"
          ],
          "id": "00000000-0000-0000-0000-000000000000",
          "name": "string",
          "performance": "HIGH_PERF",
          "region": "af-north-lz-rba",
          "resourceName": "string",
          "status": "CREATING",
          "type": "BUNDLE"
        }
      ],
      "vspcType": "ADVANCED"
    },
    "currentTasks": [
      {
        "errors": [
          {
            "message": "string"
          }
        ],
        "id": "00000000-0000-0000-0000-000000000000",
        "link": "string",
        "status": "ERROR",
        "type": "string"
      }
    ],
    "iam": {
      "displayName": "string",
      "id": "00000000-0000-0000-0000-000000000000",
      "state": "EXPIRED",
      "tags": {
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vspc" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vspc")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vspc");

print_r($result);
?>
```

## Retrieves details of a specific VSPC tenant

`GET /v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vspc-vspctenantid

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vspc/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `vspcTenantId` | path | string (uuid) | yes | Vspc tenant ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vspcWithIAM | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time when the tenant is created |
| `currentState` | backup.tenant.vspc.CurrentState | read-only | Current state of the tenant |
| `currentState.accessUrl` | string | read-only | URL you use to access the tenant |
| `currentState.backupAgents` | backup.tenant.vspc.backupAgent.CurrentState[] | read-only | Backup agents associated with the tenant |
| `currentState.backupAgents[].id` | string (uuid) | read-only | Unique identifier of the backup agent |
| `currentState.backupAgents[].ips` | ipBlock[] | read-only | List of IP addresses assigned to the backup agent |
| `currentState.backupAgents[].name` | string | read-only | Name of the backup agent |
| `currentState.backupAgents[].policy` | string | read-only | VSPC backup policy configured for the agent |
| `currentState.backupAgents[].productResourceName` | string | read-only | Resource name of the product backed up by the agent |
| `currentState.backupAgents[].type` | backup.AgentProductTypeEnum | read-only | Type of the product managed by the agent — one of `ON_PREMISE`, `OVHCLOUD_BAREMETAL`, `OVHCLOUD_PUBLIC_CLOUD`, `OVHCLOUD_VPS` |
| `currentState.backupAgents[].vaultId` | string (uuid) | read-only | Unique identifier of the vault storing the backup agent data |
| `currentState.backupLicensesId` | string | read-only | Backup Licenses subscription identifier of the tenant. Null when the Backup Licenses add-on is not enabled. |
| `currentState.companyName` | string | read-only | Name of your tenant company in VSPC |
| `currentState.enabledAddons` | backup.AddonEnum[] | read-only | Add-ons active on this tenant |
| `currentState.id` | string (uuid) | read-only | Unique identifier of the tenant |
| `currentState.managedBackupIds` | string[] | read-only | Managed Backup service identifiers of the tenant, one per protected Hosted Private Cloud, each formatted managed-backup- followed by the Hosted Private Cloud service name. Null when the Managed Backup add-on is not enabled. |
| `currentState.name` | string | read-only | Display name of the tenant |
| `currentState.region` | common.RegionEnum | read-only | Region where the tenant is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.status` | common.ResourceStatusEnum | read-only | Current status of the tenant — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.vaults` | backup.tenant.vspc.vault[] | read-only | Vaults linked to the tenant |
| `currentState.vaults[].allowedIps` | ipBlock[] | read-only | Provides list of allowed IPs at the vault level |
| `currentState.vaults[].id` | string (uuid) | read-only | Unique identifier of the vault |
| `currentState.vaults[].name` | string | read-only | Name of the vault |
| `currentState.vaults[].performance` | backup.BucketPerformanceEnum | read-only | Performance tier of the vault — one of `HIGH_PERF`, `STANDARD` |
| `currentState.vaults[].region` | common.RegionEnum | read-only | Geographic region where the vault is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.vaults[].resourceName` | string | read-only | Resource name of the vault as used in the system |
| `currentState.vaults[].status` | common.ResourceStatusEnum | read-only | Current status of the vault — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.vaults[].type` | backup.VaultTypeEnum | read-only | Kind of vault — one of `BUNDLE`, `PAYGO` |
| `currentState.vspcType` | backup.VspcTypeEnum | read-only | VSPC infrastructure type backing this tenant. BASIC carries backup agents, ADVANCED carries Backup Licenses and Managed Backup. — one of `ADVANCED`, `BASIC` |
| `currentTasks` | common.CurrentTask[] | read-only | List of tasks currently running for the tenant |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `iam` | iam.ResourceMetadata | read-only | IAM resource metadata |
| `iam.displayName` | string | read-only | Resource display name |
| `iam.id` | string (uuid) | read-only | Unique identifier of the resource |
| `iam.state` | iam.ResourceMetadata.StateEnum | read-only | Resource state — one of `EXPIRED`, `IN_CREATION`, `OK`, `SUSPENDED` |
| `iam.tags` | object | read-only | Resource tags. Tags that were internally computed are prefixed with ovh: |
| `iam.urn` | string | read-only | Unique resource name used in policies |
| `id` | string (uuid) | read-only | Unique identifier of the tenant |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Indicates whether the vault is ready — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.vspc.TargetSpec | read-only | Specification of the target for the tenant |
| `targetSpec.name` | string | yes | Display name of the tenant |
| `updatedAt` | string (date-time) | read-only | Date and time when the tenant is last updated |

```json
{
  "createdAt": "2024-01-01T12:00:00Z",
  "currentState": {
    "accessUrl": "string",
    "backupAgents": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "ips": [
          "192.0.2.0/24"
        ],
        "name": "string",
        "policy": "string",
        "productResourceName": "string",
        "type": "ON_PREMISE",
        "vaultId": "00000000-0000-0000-0000-000000000000"
      }
    ],
    "backupLicensesId": "string",
    "companyName": "string",
    "enabledAddons": [
      "BACKUP_AGENT"
    ],
    "id": "00000000-0000-0000-0000-000000000000",
    "managedBackupIds": [
      "string"
    ],
    "name": "string",
    "region": "af-north-lz-rba",
    "status": "CREATING",
    "vaults": [
      {
        "allowedIps": [
          "192.0.2.0/24"
        ],
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "string",
        "performance": "HIGH_PERF",
        "region": "af-north-lz-rba",
        "resourceName": "string",
        "status": "CREATING",
        "type": "BUNDLE"
      }
    ],
    "vspcType": "ADVANCED"
  },
  "currentTasks": [
    {
      "errors": [
        {
          "message": "string"
        }
      ],
      "id": "00000000-0000-0000-0000-000000000000",
      "link": "string",
      "status": "ERROR",
      "type": "string"
    }
  ],
  "iam": {
    "displayName": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "state": "EXPIRED",
    "tags": {
      "key": "string"
    },
    "urn": "string"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "resourceStatus": "CREATING",
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}");

print_r($result);
?>
```

## Updates the display name of a VSPC tenant

`PUT /v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#put-backupservices-tenant-backupservicesid-vspc-vspctenantid

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vspc/edit`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `vspcTenantId` | path | string (uuid) | yes | Vspc tenant ID |

### Request body (required)

Type: `backup.tenant.vspc.TargetSpec`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | Display name of the tenant |

```json
{
  "name": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vspc | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time when the tenant is created |
| `currentState` | backup.tenant.vspc.CurrentState | read-only | Current state of the tenant |
| `currentState.accessUrl` | string | read-only | URL you use to access the tenant |
| `currentState.backupAgents` | backup.tenant.vspc.backupAgent.CurrentState[] | read-only | Backup agents associated with the tenant |
| `currentState.backupAgents[].id` | string (uuid) | read-only | Unique identifier of the backup agent |
| `currentState.backupAgents[].ips` | ipBlock[] | read-only | List of IP addresses assigned to the backup agent |
| `currentState.backupAgents[].name` | string | read-only | Name of the backup agent |
| `currentState.backupAgents[].policy` | string | read-only | VSPC backup policy configured for the agent |
| `currentState.backupAgents[].productResourceName` | string | read-only | Resource name of the product backed up by the agent |
| `currentState.backupAgents[].type` | backup.AgentProductTypeEnum | read-only | Type of the product managed by the agent — one of `ON_PREMISE`, `OVHCLOUD_BAREMETAL`, `OVHCLOUD_PUBLIC_CLOUD`, `OVHCLOUD_VPS` |
| `currentState.backupAgents[].vaultId` | string (uuid) | read-only | Unique identifier of the vault storing the backup agent data |
| `currentState.backupLicensesId` | string | read-only | Backup Licenses subscription identifier of the tenant. Null when the Backup Licenses add-on is not enabled. |
| `currentState.companyName` | string | read-only | Name of your tenant company in VSPC |
| `currentState.enabledAddons` | backup.AddonEnum[] | read-only | Add-ons active on this tenant |
| `currentState.id` | string (uuid) | read-only | Unique identifier of the tenant |
| `currentState.managedBackupIds` | string[] | read-only | Managed Backup service identifiers of the tenant, one per protected Hosted Private Cloud, each formatted managed-backup- followed by the Hosted Private Cloud service name. Null when the Managed Backup add-on is not enabled. |
| `currentState.name` | string | read-only | Display name of the tenant |
| `currentState.region` | common.RegionEnum | read-only | Region where the tenant is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.status` | common.ResourceStatusEnum | read-only | Current status of the tenant — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.vaults` | backup.tenant.vspc.vault[] | read-only | Vaults linked to the tenant |
| `currentState.vaults[].allowedIps` | ipBlock[] | read-only | Provides list of allowed IPs at the vault level |
| `currentState.vaults[].id` | string (uuid) | read-only | Unique identifier of the vault |
| `currentState.vaults[].name` | string | read-only | Name of the vault |
| `currentState.vaults[].performance` | backup.BucketPerformanceEnum | read-only | Performance tier of the vault — one of `HIGH_PERF`, `STANDARD` |
| `currentState.vaults[].region` | common.RegionEnum | read-only | Geographic region where the vault is located — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.vaults[].resourceName` | string | read-only | Resource name of the vault as used in the system |
| `currentState.vaults[].status` | common.ResourceStatusEnum | read-only | Current status of the vault — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `currentState.vaults[].type` | backup.VaultTypeEnum | read-only | Kind of vault — one of `BUNDLE`, `PAYGO` |
| `currentState.vspcType` | backup.VspcTypeEnum | read-only | VSPC infrastructure type backing this tenant. BASIC carries backup agents, ADVANCED carries Backup Licenses and Managed Backup. — one of `ADVANCED`, `BASIC` |
| `currentTasks` | common.CurrentTask[] | read-only | List of tasks currently running for the tenant |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `id` | string (uuid) | read-only | Unique identifier of the tenant |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Indicates whether the vault is ready — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.vspc.TargetSpec | read-only | Specification of the target for the tenant |
| `targetSpec.name` | string | yes | Display name of the tenant |
| `updatedAt` | string (date-time) | read-only | Date and time when the tenant is last updated |

```json
{
  "createdAt": "2024-01-01T12:00:00Z",
  "currentState": {
    "accessUrl": "string",
    "backupAgents": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "ips": [
          "192.0.2.0/24"
        ],
        "name": "string",
        "policy": "string",
        "productResourceName": "string",
        "type": "ON_PREMISE",
        "vaultId": "00000000-0000-0000-0000-000000000000"
      }
    ],
    "backupLicensesId": "string",
    "companyName": "string",
    "enabledAddons": [
      "BACKUP_AGENT"
    ],
    "id": "00000000-0000-0000-0000-000000000000",
    "managedBackupIds": [
      "string"
    ],
    "name": "string",
    "region": "af-north-lz-rba",
    "status": "CREATING",
    "vaults": [
      {
        "allowedIps": [
          "192.0.2.0/24"
        ],
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "string",
        "performance": "HIGH_PERF",
        "region": "af-north-lz-rba",
        "resourceName": "string",
        "status": "CREATING",
        "type": "BUNDLE"
      }
    ],
    "vspcType": "ADVANCED"
  },
  "currentTasks": [
    {
      "errors": [
        {
          "message": "string"
        }
      ],
      "id": "00000000-0000-0000-0000-000000000000",
      "link": "string",
      "status": "ERROR",
      "type": "string"
    }
  ],
  "id": "00000000-0000-0000-0000-000000000000",
  "resourceStatus": "CREATING",
  "targetSpec": {
    "name": "string"
  },
  "updatedAt": "2024-01-01T12:00:00Z"
}
```

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: backup.tenant.vspc.TargetSpec
result = client.put("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}",
	name = None, # Display name of the tenant (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: backup.tenant.vspc.TargetSpec
$result = $ovh->put("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}", array(
	name => null, // Display name of the tenant (type: string)
));

print_r($result);
?>
```

## Retrieves the Managed Backup services of the VSPC tenant, one per protected Hosted Private Cloud; empty when the Managed Backup add-on is not enabled

`GET /v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vspc-vspctenantid-managedbackup

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vspc/managedBackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Pagination-Cursor` | header | string |  | Pagination cursor |
| `X-Pagination-Size` | header | integer |  | Pagination size |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `iamTags` | query | object |  | Filter resources on IAM tags |
| `vspcTenantId` | path | string (uuid) | yes | Vspc tenant ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vspc.managedBackupWithIAM[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time when the service is created |
| `currentState` | backup.tenant.vspc.managedBackup.CurrentState | read-only | Current state of the service |
| `currentState.hostedPrivateCloudServiceName` | string | read-only | Service name of the protected Hosted Private Cloud. Set at order time, cannot be changed. |
| `currentState.protectedVmCount` | integer | read-only | Number of virtual machines carrying a valid vault tag |
| `currentState.unprotectedVmCount` | integer | read-only | Number of virtual machines without a valid vault tag, not backed up and not billed |
| `currentState.vaultRegion` | common.RegionEnum | read-only | Region hosting the backup stack and the primary copy of the vaults of the service — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.vaultSecondaryRegion` | common.RegionEnum | read-only | Region hosting the replicated copy of the ADVANCED and PREMIUM vaults of the service. Chosen at order time, cannot be changed. — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.vbrLogin` | string | read-only | Username of your account on the Veeam Backup & Replication web interface. Its password is delivered at activation and on every resetPassword action. Null while the service is being created. |
| `currentState.vbrUrl` | string | read-only | URL of the Veeam Backup & Replication web interface where backup jobs, restores and file-level recoveries are managed. Null while the service is being created. |
| `currentTasks` | common.CurrentTask[] | read-only | Current tasks running on the service |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `iam` | iam.ResourceMetadata | read-only | IAM resource metadata |
| `iam.displayName` | string | read-only | Resource display name |
| `iam.id` | string (uuid) | read-only | Unique identifier of the resource |
| `iam.state` | iam.ResourceMetadata.StateEnum | read-only | Resource state — one of `EXPIRED`, `IN_CREATION`, `OK`, `SUSPENDED` |
| `iam.tags` | object | read-only | Resource tags. Tags that were internally computed are prefixed with ovh: |
| `iam.urn` | string | read-only | Unique resource name used in policies |
| `id` | string | read-only | Unique identifier of the Managed Backup service, formatted managed-backup- followed by the service name of the protected Hosted Private Cloud |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Indicates the readiness of the service. SUSPENDED while backup schedules are stopped. — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.vspc.managedBackup.TargetSpec | read-only | Target specification for the service |
| `targetSpec.displayName` | string | yes | Display name of the service |
| `updatedAt` | string (date-time) | read-only | Date and time when the service is last updated |

```json
[
  {
    "createdAt": "2024-01-01T12:00:00Z",
    "currentState": {
      "hostedPrivateCloudServiceName": "string",
      "protectedVmCount": 0,
      "unprotectedVmCount": 0,
      "vaultRegion": "af-north-lz-rba",
      "vaultSecondaryRegion": "af-north-lz-rba",
      "vbrLogin": "string",
      "vbrUrl": "string"
    },
    "currentTasks": [
      {
        "errors": [
          {
            "message": "string"
          }
        ],
        "id": "00000000-0000-0000-0000-000000000000",
        "link": "string",
        "status": "ERROR",
        "type": "string"
      }
    ],
    "iam": {
      "displayName": "string",
      "id": "00000000-0000-0000-0000-000000000000",
      "state": "EXPIRED",
      "tags": {
        "key": "string"
      },
      "urn": "string"
    },
    "id": "string",
    "resourceStatus": "CREATING",
    "targetSpec": {
      "displayName": "string"
    },
    "updatedAt": "2024-01-01T12:00:00Z"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup");

print_r($result);
?>
```

## Retrieves a Managed Backup service of the VSPC tenant

`GET /v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vspc-vspctenantid-managedbackup-managedbackupid

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vspc/managedBackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `managedBackupId` | path | string | yes | Managed backup ID |
| `vspcTenantId` | path | string (uuid) | yes | Vspc tenant ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vspc.managedBackupWithIAM | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time when the service is created |
| `currentState` | backup.tenant.vspc.managedBackup.CurrentState | read-only | Current state of the service |
| `currentState.hostedPrivateCloudServiceName` | string | read-only | Service name of the protected Hosted Private Cloud. Set at order time, cannot be changed. |
| `currentState.protectedVmCount` | integer | read-only | Number of virtual machines carrying a valid vault tag |
| `currentState.unprotectedVmCount` | integer | read-only | Number of virtual machines without a valid vault tag, not backed up and not billed |
| `currentState.vaultRegion` | common.RegionEnum | read-only | Region hosting the backup stack and the primary copy of the vaults of the service — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.vaultSecondaryRegion` | common.RegionEnum | read-only | Region hosting the replicated copy of the ADVANCED and PREMIUM vaults of the service. Chosen at order time, cannot be changed. — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.vbrLogin` | string | read-only | Username of your account on the Veeam Backup & Replication web interface. Its password is delivered at activation and on every resetPassword action. Null while the service is being created. |
| `currentState.vbrUrl` | string | read-only | URL of the Veeam Backup & Replication web interface where backup jobs, restores and file-level recoveries are managed. Null while the service is being created. |
| `currentTasks` | common.CurrentTask[] | read-only | Current tasks running on the service |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `iam` | iam.ResourceMetadata | read-only | IAM resource metadata |
| `iam.displayName` | string | read-only | Resource display name |
| `iam.id` | string (uuid) | read-only | Unique identifier of the resource |
| `iam.state` | iam.ResourceMetadata.StateEnum | read-only | Resource state — one of `EXPIRED`, `IN_CREATION`, `OK`, `SUSPENDED` |
| `iam.tags` | object | read-only | Resource tags. Tags that were internally computed are prefixed with ovh: |
| `iam.urn` | string | read-only | Unique resource name used in policies |
| `id` | string | read-only | Unique identifier of the Managed Backup service, formatted managed-backup- followed by the service name of the protected Hosted Private Cloud |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Indicates the readiness of the service. SUSPENDED while backup schedules are stopped. — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.vspc.managedBackup.TargetSpec | read-only | Target specification for the service |
| `targetSpec.displayName` | string | yes | Display name of the service |
| `updatedAt` | string (date-time) | read-only | Date and time when the service is last updated |

```json
{
  "createdAt": "2024-01-01T12:00:00Z",
  "currentState": {
    "hostedPrivateCloudServiceName": "string",
    "protectedVmCount": 0,
    "unprotectedVmCount": 0,
    "vaultRegion": "af-north-lz-rba",
    "vaultSecondaryRegion": "af-north-lz-rba",
    "vbrLogin": "string",
    "vbrUrl": "string"
  },
  "currentTasks": [
    {
      "errors": [
        {
          "message": "string"
        }
      ],
      "id": "00000000-0000-0000-0000-000000000000",
      "link": "string",
      "status": "ERROR",
      "type": "string"
    }
  ],
  "iam": {
    "displayName": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "state": "EXPIRED",
    "tags": {
      "key": "string"
    },
    "urn": "string"
  },
  "id": "string",
  "resourceStatus": "CREATING",
  "targetSpec": {
    "displayName": "string"
  },
  "updatedAt": "2024-01-01T12:00:00Z"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}");

print_r($result);
?>
```

## Updates the display name of a Managed Backup service

`PUT /v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#put-backupservices-tenant-backupservicesid-vspc-vspctenantid-managedbackup-managedbackupid

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vspc/managedBackup/edit`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `managedBackupId` | path | string | yes | Managed backup ID |
| `vspcTenantId` | path | string (uuid) | yes | Vspc tenant ID |

### Request body (required)

Type: `backup.tenant.vspc.managedBackup.TargetSpec`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `displayName` | string | yes | Display name of the service |

```json
{
  "displayName": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vspc.managedBackup | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time when the service is created |
| `currentState` | backup.tenant.vspc.managedBackup.CurrentState | read-only | Current state of the service |
| `currentState.hostedPrivateCloudServiceName` | string | read-only | Service name of the protected Hosted Private Cloud. Set at order time, cannot be changed. |
| `currentState.protectedVmCount` | integer | read-only | Number of virtual machines carrying a valid vault tag |
| `currentState.unprotectedVmCount` | integer | read-only | Number of virtual machines without a valid vault tag, not backed up and not billed |
| `currentState.vaultRegion` | common.RegionEnum | read-only | Region hosting the backup stack and the primary copy of the vaults of the service — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.vaultSecondaryRegion` | common.RegionEnum | read-only | Region hosting the replicated copy of the ADVANCED and PREMIUM vaults of the service. Chosen at order time, cannot be changed. — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.vbrLogin` | string | read-only | Username of your account on the Veeam Backup & Replication web interface. Its password is delivered at activation and on every resetPassword action. Null while the service is being created. |
| `currentState.vbrUrl` | string | read-only | URL of the Veeam Backup & Replication web interface where backup jobs, restores and file-level recoveries are managed. Null while the service is being created. |
| `currentTasks` | common.CurrentTask[] | read-only | Current tasks running on the service |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `id` | string | read-only | Unique identifier of the Managed Backup service, formatted managed-backup- followed by the service name of the protected Hosted Private Cloud |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Indicates the readiness of the service. SUSPENDED while backup schedules are stopped. — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.vspc.managedBackup.TargetSpec | read-only | Target specification for the service |
| `targetSpec.displayName` | string | yes | Display name of the service |
| `updatedAt` | string (date-time) | read-only | Date and time when the service is last updated |

```json
{
  "createdAt": "2024-01-01T12:00:00Z",
  "currentState": {
    "hostedPrivateCloudServiceName": "string",
    "protectedVmCount": 0,
    "unprotectedVmCount": 0,
    "vaultRegion": "af-north-lz-rba",
    "vaultSecondaryRegion": "af-north-lz-rba",
    "vbrLogin": "string",
    "vbrUrl": "string"
  },
  "currentTasks": [
    {
      "errors": [
        {
          "message": "string"
        }
      ],
      "id": "00000000-0000-0000-0000-000000000000",
      "link": "string",
      "status": "ERROR",
      "type": "string"
    }
  ],
  "id": "string",
  "resourceStatus": "CREATING",
  "targetSpec": {
    "displayName": "string"
  },
  "updatedAt": "2024-01-01T12:00:00Z"
}
```

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: backup.tenant.vspc.managedBackup.TargetSpec
result = client.put("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}",
	displayName = None, # Display name of the service (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: backup.tenant.vspc.managedBackup.TargetSpec
$result = $ovh->put("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}", array(
	displayName => null, // Display name of the service (type: string)
));

print_r($result);
?>
```

## Retrieves the current billable consumption of the Managed Backup service: number of backed up virtual machines per vault level and size band with the matching plan code; no price is returned

`GET /v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/consumption`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vspc-vspctenantid-managedbackup-managedbackupid-consumption

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vspc/managedBackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `managedBackupId` | path | string | yes | Managed backup ID |
| `vspcTenantId` | path | string (uuid) | yes | Vspc tenant ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vspc.managedBackup.Consumption | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `billedVmCount` | integer | read-only | Number of virtual machines generating a billing line, the sum of the vmCount of all lines |
| `lines` | backup.tenant.vspc.managedBackup.ConsumptionLine[] | read-only | One line per non-empty combination of vault level and size band. Empty while the service is suspended. |
| `lines[].planCode` | string | read-only | Plan code of the consumption plan the line is billed on |
| `lines[].sizeBand` | backup.ManagedBackupSizeBandEnum | read-only | Billing size band of the line — one of `MAX_1TB`, `MAX_250GB`, `MAX_2TB`, `MAX_4TB`, `MAX_6TB`, `MAX_8TB` |
| `lines[].vaultLevel` | backup.ManagedBackupVaultLevelEnum | read-only | Vault level of the line — one of `ADVANCED`, `PREMIUM`, `STANDARD` |
| `lines[].vmCount` | integer | read-only | Number of virtual machines whose last backup was validated in this vault level and size band |

```json
{
  "billedVmCount": 0,
  "lines": [
    {
      "planCode": "string",
      "sizeBand": "MAX_1TB",
      "vaultLevel": "ADVANCED",
      "vmCount": 0
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/consumption" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/consumption")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/consumption");

print_r($result);
?>
```

## Resets the password of your account on the Veeam Backup & Replication web interface of the Managed Backup service

`POST /v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/resetPassword`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#post-backupservices-tenant-backupservicesid-vspc-vspctenantid-managedbackup-managedbackupid-resetpassword

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vspc/managedBackup/resetPassword`

The account is the one reported in currentState.vbrLogin. The new password is generated by the platform and delivered to the contacts of your account. It is never returned by the API. Accepted on a READY or SUSPENDED service without a password reset already in progress.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `managedBackupId` | path | string | yes | Managed backup ID |
| `vspcTenantId` | path | string (uuid) | yes | Vspc tenant ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vspc.managedBackup | successful operation |
| 403 | object | Error 403 response |
| 409 | object | Error 409 response |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `createdAt` | string (date-time) | read-only | Date and time when the service is created |
| `currentState` | backup.tenant.vspc.managedBackup.CurrentState | read-only | Current state of the service |
| `currentState.hostedPrivateCloudServiceName` | string | read-only | Service name of the protected Hosted Private Cloud. Set at order time, cannot be changed. |
| `currentState.protectedVmCount` | integer | read-only | Number of virtual machines carrying a valid vault tag |
| `currentState.unprotectedVmCount` | integer | read-only | Number of virtual machines without a valid vault tag, not backed up and not billed |
| `currentState.vaultRegion` | common.RegionEnum | read-only | Region hosting the backup stack and the primary copy of the vaults of the service — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.vaultSecondaryRegion` | common.RegionEnum | read-only | Region hosting the replicated copy of the ADVANCED and PREMIUM vaults of the service. Chosen at order time, cannot be changed. — one of `af-north-lz-rba`, `ap-south-mum`, `ap-southeast-sgp`, `ap-southeast-syd`, `ca-east-bhs`, `ca-east-tor`, `eu-central-lz-buh`, `eu-central-lz-prg`, `eu-central-lz-sof`, `eu-central-waw`, `eu-north-lz-cph`, `eu-north-lz-hel`, … |
| `currentState.vbrLogin` | string | read-only | Username of your account on the Veeam Backup & Replication web interface. Its password is delivered at activation and on every resetPassword action. Null while the service is being created. |
| `currentState.vbrUrl` | string | read-only | URL of the Veeam Backup & Replication web interface where backup jobs, restores and file-level recoveries are managed. Null while the service is being created. |
| `currentTasks` | common.CurrentTask[] | read-only | Current tasks running on the service |
| `currentTasks[].errors` | common.TaskError[] | read-only | Errors that occurred on the task |
| `currentTasks[].errors[].message` | string | read-only | Error description |
| `currentTasks[].id` | string (uuid) | read-only | Identifier of the current task |
| `currentTasks[].link` | string | read-only | Link to the task details |
| `currentTasks[].status` | common.CurrentTaskStatusEnum | read-only | Current global status of the current task — one of `ERROR`, `PENDING`, `RUNNING`, `SCHEDULED`, `WAITING_USER_INPUT` |
| `currentTasks[].type` | string | read-only | Type of the current task |
| `id` | string | read-only | Unique identifier of the Managed Backup service, formatted managed-backup- followed by the service name of the protected Hosted Private Cloud |
| `resourceStatus` | common.ResourceStatusEnum | read-only | Indicates the readiness of the service. SUSPENDED while backup schedules are stopped. — one of `CREATING`, `CREATION_PLANNED`, `DELETING`, `ERROR`, `OUT_OF_SYNC`, `READY`, `SUSPENDED`, `UNKNOWN`, `UPDATING` |
| `targetSpec` | backup.tenant.vspc.managedBackup.TargetSpec | read-only | Target specification for the service |
| `targetSpec.displayName` | string | yes | Display name of the service |
| `updatedAt` | string (date-time) | read-only | Date and time when the service is last updated |

```json
{
  "createdAt": "2024-01-01T12:00:00Z",
  "currentState": {
    "hostedPrivateCloudServiceName": "string",
    "protectedVmCount": 0,
    "unprotectedVmCount": 0,
    "vaultRegion": "af-north-lz-rba",
    "vaultSecondaryRegion": "af-north-lz-rba",
    "vbrLogin": "string",
    "vbrUrl": "string"
  },
  "currentTasks": [
    {
      "errors": [
        {
          "message": "string"
        }
      ],
      "id": "00000000-0000-0000-0000-000000000000",
      "link": "string",
      "status": "ERROR",
      "type": "string"
    }
  ],
  "id": "string",
  "resourceStatus": "CREATING",
  "targetSpec": {
    "displayName": "string"
  },
  "updatedAt": "2024-01-01T12:00:00Z"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/resetPassword" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/resetPassword")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/resetPassword");

print_r($result);
?>
```

## Lists the virtual machines known to the Managed Backup service with their protection state, billing dimensions and last backup information

`GET /v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/virtualMachine`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vspc-vspctenantid-managedbackup-managedbackupid-virtualmachine

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vspc/managedBackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Pagination-Cursor` | header | string |  | Pagination cursor |
| `X-Pagination-Size` | header | integer |  | Pagination size |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `managedBackupId` | path | string | yes | Managed backup ID |
| `vspcTenantId` | path | string (uuid) | yes | Vspc tenant ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vspc.managedBackup.virtualMachine[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | read-only | vSphere managed object reference of the virtual machine, vm- prefix included, for example vm-4021. A restored virtual machine is a new vSphere object with a new identifier. |
| `lastBackupAt` | string (date-time) | read-only | Date and time of the last backup cycle that included the virtual machine. Null when it has never been backed up. |
| `name` | string | read-only | Name of the virtual machine in vSphere at the last refresh |
| `protectionStatus` | backup.ManagedBackupVmProtectionStatusEnum | read-only | Indicates whether the virtual machine carries a valid vault tag. Independent of the result of its backups. — one of `PROTECTED`, `UNPROTECTED` |
| `refreshedAt` | string (date-time) | read-only | Date and time when this entry was last refreshed from the backup platform |
| `restorePointCount` | integer | read-only | Number of restore points currently held for the virtual machine. 0 when it has never been backed up. |
| `sizeBand` | backup.ManagedBackupSizeBandEnum | read-only | Billing size band validated at the last backup of the virtual machine. Null when no backup has been validated yet. — one of `MAX_1TB`, `MAX_250GB`, `MAX_2TB`, `MAX_4TB`, `MAX_6TB`, `MAX_8TB` |
| `vaultLevel` | backup.ManagedBackupVaultLevelEnum | read-only | Vault level resolved from the vSphere tag of the virtual machine at the last backup cycle. The tag category allows a single vault tag per virtual machine. Null when the virtual machine is unprotected. — one of `ADVANCED`, `PREMIUM`, `STANDARD` |
| `vmSizeGb` | integer | read-only | Used size of the virtual machine in GB, measured at the last backup and used to compute its sizeBand. Null when no measurement is available yet. |

```json
[
  {
    "id": "string",
    "lastBackupAt": "2024-01-01T12:00:00Z",
    "name": "string",
    "protectionStatus": "PROTECTED",
    "refreshedAt": "2024-01-01T12:00:00Z",
    "restorePointCount": 0,
    "sizeBand": "MAX_1TB",
    "vaultLevel": "ADVANCED",
    "vmSizeGb": 0
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/virtualMachine" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/virtualMachine")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/virtualMachine");

print_r($result);
?>
```

## Retrieves the protection state, billing dimensions and last backup information of a virtual machine

`GET /v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/virtualMachine/{virtualMachineId}`

Link: https://developers.eu.ovhcloud.com/reference/private-cloud/managed-vmware-vsphere/backup-replication/veeam-managed-backup/#get-backupservices-tenant-backupservicesid-vspc-vspctenantid-managedbackup-managedbackupid-virtualmachine-virtualmachineid

**Status:** Beta version  
**IAM actions:** `backupServices:apiovh:vspc/managedBackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backupServicesId` | path | string (uuid) | yes | Backup services ID |
| `managedBackupId` | path | string | yes | Managed backup ID |
| `virtualMachineId` | path | string | yes | Virtual machine ID |
| `vspcTenantId` | path | string (uuid) | yes | Vspc tenant ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | backup.tenant.vspc.managedBackup.virtualMachine | successful operation |
| 400 | object | Error 400 response |
| 404 | object | Error 404 response |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | read-only | vSphere managed object reference of the virtual machine, vm- prefix included, for example vm-4021. A restored virtual machine is a new vSphere object with a new identifier. |
| `lastBackupAt` | string (date-time) | read-only | Date and time of the last backup cycle that included the virtual machine. Null when it has never been backed up. |
| `name` | string | read-only | Name of the virtual machine in vSphere at the last refresh |
| `protectionStatus` | backup.ManagedBackupVmProtectionStatusEnum | read-only | Indicates whether the virtual machine carries a valid vault tag. Independent of the result of its backups. — one of `PROTECTED`, `UNPROTECTED` |
| `refreshedAt` | string (date-time) | read-only | Date and time when this entry was last refreshed from the backup platform |
| `restorePointCount` | integer | read-only | Number of restore points currently held for the virtual machine. 0 when it has never been backed up. |
| `sizeBand` | backup.ManagedBackupSizeBandEnum | read-only | Billing size band validated at the last backup of the virtual machine. Null when no backup has been validated yet. — one of `MAX_1TB`, `MAX_250GB`, `MAX_2TB`, `MAX_4TB`, `MAX_6TB`, `MAX_8TB` |
| `vaultLevel` | backup.ManagedBackupVaultLevelEnum | read-only | Vault level resolved from the vSphere tag of the virtual machine at the last backup cycle. The tag category allows a single vault tag per virtual machine. Null when the virtual machine is unprotected. — one of `ADVANCED`, `PREMIUM`, `STANDARD` |
| `vmSizeGb` | integer | read-only | Used size of the virtual machine in GB, measured at the last backup and used to compute its sizeBand. Null when no measurement is available yet. |

```json
{
  "id": "string",
  "lastBackupAt": "2024-01-01T12:00:00Z",
  "name": "string",
  "protectionStatus": "PROTECTED",
  "refreshedAt": "2024-01-01T12:00:00Z",
  "restorePointCount": 0,
  "sizeBand": "MAX_1TB",
  "vaultLevel": "ADVANCED",
  "vmSizeGb": 0
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/virtualMachine/{virtualMachineId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/virtualMachine/{virtualMachineId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/v2/backupServices/tenant/{backupServicesId}/vspc/{vspcTenantId}/managedBackup/{managedBackupId}/virtualMachine/{virtualMachineId}");

print_r($result);
?>
```
