openapi: 3.0.0
info:
version: 1.0-rev0
title: Veeam Backup for AWS public API 1.0 Agents Repositories API
description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery.
security:
- Bearer: []
tags:
- name: Repositories
paths:
/api/v1/repositories:
get:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Repositories
operationId: RepositoriesGetAll
parameters:
- name: SearchPattern
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters'
schema:
type: string
- name: Offset
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters'
schema:
type: integer
format: int32
minimum: 0
- name: Sort
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters'
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- nameAsc
- nameDesc
- descriptionAsc
- descriptionDesc
- amazonAccountNameAsc
- amazonAccountNameDesc
- amazonBucketAsc
- amazonBucketDesc
- amazonStorageFolderAsc
- amazonStorageFolderDesc
- regionAsc
- regionDesc
- encryptionAsc
- encryptionDesc
uniqueItems: false
- name: Limit
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters'
schema:
type: integer
format: int32
minimum: -1
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoriesPage'
application/problem+json:
schema:
$ref: '#/components/schemas/RepositoriesPage'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
post:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Repositories
operationId: CreateRepository
parameters:
- $ref: '#/components/parameters/apiVersionParam'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RepositoryCreateSpec'
application/json:
schema:
$ref: '#/components/schemas/RepositoryCreateSpec'
text/json:
schema:
$ref: '#/components/schemas/RepositoryCreateSpec'
application/*+json:
schema:
$ref: '#/components/schemas/RepositoryCreateSpec'
application/csp-report:
schema:
$ref: '#/components/schemas/RepositoryCreateSpec'
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Repository'
application/problem+json:
schema:
$ref: '#/components/schemas/Repository'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/repositories/{repositoryId}:
get:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Repositories
operationId: RepositoriesGetOneById
parameters:
- name: repositoryId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Repository'
application/problem+json:
schema:
$ref: '#/components/schemas/Repository'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
put:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Repositories
operationId: UpdateRepository
parameters:
- name: repositoryId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RepositoryUpdateSpec'
application/json:
schema:
$ref: '#/components/schemas/RepositoryUpdateSpec'
text/json:
schema:
$ref: '#/components/schemas/RepositoryUpdateSpec'
application/*+json:
schema:
$ref: '#/components/schemas/RepositoryUpdateSpec'
application/csp-report:
schema:
$ref: '#/components/schemas/RepositoryUpdateSpec'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Repository'
application/problem+json:
schema:
$ref: '#/components/schemas/Repository'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
delete:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Repositories
operationId: DeleteRepository
parameters:
- name: repositoryId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: The repository is in use by one or more policies.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/repositories/{repositoryId}/rescan:
post:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Repositories
operationId: RescanRepository
parameters:
- name: repositoryId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
responses:
'202':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SessionLink'
application/problem+json:
schema:
$ref: '#/components/schemas/SessionLink'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/repositories/settings/validate:
post:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Repositories
operationId: RepositoryValidateSettings
parameters:
- $ref: '#/components/parameters/apiVersionParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoryCreateSpec'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/ValidationMessage'
application/problem+json:
schema:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/ValidationMessage'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/repositories/{repositoryId}/checkPassword:
post:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Repositories
operationId: RepositoryPasswordIsCorrect
parameters:
- name: repositoryId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoryPasswordValidationSpec'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoryPasswordValidationResult'
application/problem+json:
schema:
$ref: '#/components/schemas/RepositoryPasswordValidationResult'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/repositories/export:
post:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Repositories
operationId: ExportRepositories
parameters:
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
text/csv:
schema:
type: string
format: binary
application/xml:
schema:
type: string
format: binary
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
text/csv:
schema:
$ref: '#/components/schemas/Error'
application/xml:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
text/csv:
schema:
$ref: '#/components/schemas/Error'
application/xml:
schema:
$ref: '#/components/schemas/Error'
/api/v1/backupInfrastructure/repositories:
get:
description: The HTTP GET request to the `/api/v1/backupInfrastructure/repositories` path allows you to get an array of all backup repositories that are added to the backup infrastructure.
operationId: GetAllRepositories
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: Number of repositories to skip.
in: query
name: skip
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters_2'
- description: Maximum number of repositories to return.
in: query
name: limit
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters_2'
- description: Sorts repositories by one of the repository parameters.
in: query
name: orderColumn
schema:
$ref: '#/components/schemas/ERepositoryFiltersOrderColumn'
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters_2'
- description: Sorts repositories in the ascending order by the `orderColumn` parameter.
in: query
name: orderAsc
schema:
type: boolean
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters_2'
- description: Filters repositories by the `nameFilter` pattern. The pattern can match any repository parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end.
in: query
name: nameFilter
schema:
type: string
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters_2'
- description: Filters repositories by repository type.
in: query
name: typeFilter
schema:
$ref: '#/components/schemas/ERepositoryType'
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters_2'
- description: Filters repositories by ID of the backup server.
in: query
name: hostIdFilter
schema:
format: uuid
type: string
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters_2'
- description: Filters repositories by path to the folder where backup files are stored.
in: query
name: pathFilter
schema:
type: string
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters_2'
- description: Filters repositories by VM Backup API parameters converted to the base64 string. To obtain the string, call the `GetApiProductInfoString` method of VM Backup API.
in: query
name: vmbApiFilter
schema:
type: string
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters_2'
- description: Filters repositories by ID of a platform that you use to communicate with VM Backup API.
in: query
name: vmbApiPlatform
schema:
format: uuid
type: string
x-veeam-spec:
$ref: '#/components/schemas/RepositoriesFilters_2'
responses:
'200':
content:
application/json:
example:
data:
- description: Created by TECH\sheila.d.cory
hostId: e22b8842-c454-4036-abd5-f468c3248aaf
id: d4b5e196-f3ad-474c-99bc-dfef051dae07
mountServer:
mountServerId: e22b8842-c454-4036-abd5-f468c3248aaf
vPowerNFSEnabled: true
vPowerNFSPortSettings:
mountPort: 1063
vPowerNFSPort: 2049
writeCacheFolder: C:\ProgramData\Veeam\Backup\IRCache\
name: Backup Repository 1
repository:
advancedSettings:
alignDataBlocks: true
decompressBeforeStoring: false
perVmBackup: false
rotatedDrives: false
maxTaskCount: 4
path: C:\Backup Repository
readWriteRate: 0
tag: D4B5E196F3AD474C99BCDFEF051DAE07
type: WinLocal
- description: Created by Veeam Backup
hostId: 6745a759-2205-4cd2-b172-8ec8f7e60ef8
id: 88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec
mountServer:
mountServerId: 6745a759-2205-4cd2-b172-8ec8f7e60ef8
vPowerNFSEnabled: true
vPowerNFSPortSettings:
mountPort: 1063
vPowerNFSPort: 2049
writeCacheFolder: C:\ProgramData\Veeam\Backup\IRCache\
name: Default Backup Repository
repository:
advancedSettings:
alignDataBlocks: true
decompressBeforeStoring: false
perVmBackup: false
rotatedDrives: false
maxTaskCount: 4
path: C:\Backup
readWriteRate: 0
tag: 88788F9ED8F54EB4BC4F9B3F5403BCEC
type: WinLocal
pagination:
count: 2
limit: 200
skip: 0
total: 2
schema:
$ref: '#/components/schemas/RepositoriesResult'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get All Repositories
tags:
- Repositories
x-veeam-authorize:
claims:
- ViewRepositories
post:
description: The HTTP POST request to the `/api/v1/backupInfrastructure/repositories` path allows you to add a repository to the backup infrastructure.
operationId: CreateRepository
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- in: query
name: overwriteOwner
schema:
type: boolean
x-veeam-spec:
$ref: '#/components/schemas/RepositoryBehaviorFilters'
requestBody:
content:
application/json:
example:
description: Created by TECH\sheila.d.cory
kind: Das
mountServer:
mountServerId: 6745a759-2205-4cd2-b172-8ec8f7e60ef8
vPowerNFSEnabled: true
vPowerNFSPortSettings:
mountPort: 1058
vPowerNFSPort: 1058
writeCacheFolder: D:\ProgramData\Veeam\Backup\
repository:
advancedSettings:
alignDataBlocks: false
decompressBeforeStoring: false
perVmBackup: false
rotatedDrives: false
maxTaskCount: 8
path: D:\Backups
readWriteRate: 0
useFastCloningOnXFSVolumes: false
tag: big-repository
type: WinLocal
name: Main Backup Repository
hostId: 6745a759-2205-4cd2-b172-8ec8f7e60ef8
schema:
$ref: '#/components/schemas/RepositorySpec'
required: true
responses:
'201':
content:
application/json:
example:
activityId: e81a72de-9b0a-4f4a-a451-0d0ece4c54b2
progressPercent: 0
sessionType: Infrastructure
creationTime: '2022-01-28T20:18:47.563+01:00'
name: Infrastructure Item Saving
state: Working
usn: 0
id: e81a72de-9b0a-4f4a-a451-0d0ece4c54b2
schema:
$ref: '#/components/schemas/SessionModel'
description: Infrastructure session has been created to add the repository. To check the progress, track the session `state`.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Add Repository
tags:
- Repositories
x-veeam-authorize:
claims:
- CreateRepositories
/api/v1/backupInfrastructure/repositories/states:
get:
description: The HTTP GET request to the `/api/v1/backupInfrastructure/repositories/states` path allows you to get an array of all repository states. The states include repository location and brief statistics, such as repository capacity, free and used space.
operationId: GetAllRepositoriesStates
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: Number of repository states to skip.
in: query
name: skip
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/RepositoryStatesFilters'
- description: Maximum number of repository states to return.
in: query
name: limit
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/RepositoryStatesFilters'
- description: Sorts repository states by one of the state parameters.
in: query
name: orderColumn
schema:
$ref: '#/components/schemas/ERepositoryStatesFiltersOrderColumn'
x-veeam-spec:
$ref: '#/components/schemas/RepositoryStatesFilters'
- description: Sorts repository states in the ascending order by the `orderColumn` parameter.
in: query
name: orderAsc
schema:
type: boolean
x-veeam-spec:
$ref: '#/components/schemas/RepositoryStatesFilters'
- description: Filters repository states by repository ID.
in: query
name: idFilter
schema:
format: uuid
type: string
x-veeam-spec:
$ref: '#/components/schemas/RepositoryStatesFilters'
- description: Filters repository states by the `nameFilter` pattern. The pattern can match any repository state parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end.
in: query
name: nameFilter
schema:
type: string
x-veeam-spec:
$ref: '#/components/schemas/RepositoryStatesFilters'
- description: Filters repository states by repository type.
in: query
name: typeFilter
schema:
$ref: '#/components/schemas/ERepositoryType'
x-veeam-spec:
$ref: '#/components/schemas/RepositoryStatesFilters'
- description: Filters repository states by repository capacity.
in: query
name: capacityFilter
schema:
format: double
type: number
x-veeam-spec:
$ref: '#/components/schemas/RepositoryStatesFilters'
- description: Filters repository states by repository free space.
in: query
name: freeSpaceFilter
schema:
format: double
type: number
x-veeam-spec:
$ref: '#/components/schemas/RepositoryStatesFilters'
- description: Filters repository states by repository used space.
in: query
name: usedSpaceFilter
schema:
format: double
type: number
x-veeam-spec:
$ref: '#/components/schemas/RepositoryStatesFilters'
responses:
'200':
content:
application/json:
example:
data:
- capacityGB: 299.4
description: Created by TECH\sheila.d.cory
freeGB: 217.8
hostId: e22b8842-c454-4036-abd5-f468c3248aaf
hostName: enterprise03.tech.local
id: d4b5e196-f3ad-474c-99bc-dfef051dae07
name: Backup Repository 1
path: C:\Backup Repository
type: WinLocal
usedSpaceGB: 173.4
- capacityGB: 99.4
description: Created by Veeam Backup
freeGB: 16.4
hostId: 6745a759-2205-4cd2-b172-8ec8f7e60ef8
hostName: enterprise06.tech.local
id: 88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec
name: Default Backup Repository
path: C:\Backup
type: WinLocal
usedSpaceGB: 30.4
pagination:
count: 2
limit: 200
skip: 0
total: 2
schema:
$ref: '#/components/schemas/RepositoryStatesResult'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get All Repository States
tags:
- Repositories
x-veeam-authorize:
claims:
- ViewRepositories
/api/v1/backupInfrastructure/repositories/{id}:
delete:
description: The HTTP DELETE request to the `/api/v1/backupInfrastructure/repositories/{id}` path allows you to remove a backup repository that has the specified `id` from the backup infrastructure.
operationId: DeleteRepository
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
- description: If *true*, Veeam Backup & Replication will remove backup files.
in: query
name: deleteBackups
schema:
type: boolean
x-veeam-spec:
$ref: '#/components/schemas/DeleteRepositoryFilters'
responses:
'204':
content:
application/json:
schema:
$ref: '#/components/schemas/EmptySuccessResponse'
description: Repository has been removed.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Remove Repository
tags:
- Repositories
x-veeam-authorize:
claims:
- DeleteRepositories
get:
description: The HTTP GET request to the `/api/v1/backupInfrastructure/repositories/{id}` path allows you to get a backup repository that has the specified `id`.
operationId: GetRepository
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
example:
mountServer:
mountServerId: e22b8842-c454-4036-abd5-f468c3248aaf
vPowerNFSEnabled: true
vPowerNFSPortSettings:
mountPort: 1063
vPowerNFSPort: 2049
writeCacheFolder: C:\ProgramData\Veeam\Backup\IRCache\
tag: D4B5E196F3AD474C99BCDFEF051DAE07
id: d4b5e196-f3ad-474c-99bc-dfef051dae07
type: WinLocal
description: Created by TECH\sheila.d.cory
repository:
advancedSettings:
alignDataBlocks: true
decompressBeforeStoring: false
perVmBackup: false
rotatedDrives: false
maxTaskCount: 4
path: C:\Backup Repository
readWriteRate: 0
hostId: e22b8842-c454-4036-abd5-f468c3248aaf
name: Backup Repository 1
schema:
$ref: '#/components/schemas/RepositoryModel'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get Repository
tags:
- Repositories
x-veeam-authorize:
claims:
- ViewRepositories
put:
description: The HTTP PUT request to the `/api/v1/backupInfrastructure/repositories/{id}` path allows you to edit a backup repository that has the specified `id`.
operationId: UpdateRepository
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoryModel'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SessionModel'
description: Infrastructure session has been created to edit the repository. To check the progress, track the session `state`.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Edit Repository
tags:
- Repositories
x-veeam-authorize:
claims:
- UpdateRepositories
/api/v1/backupInfrastructure/repositories/{id}/accessPermissions:
get:
description: The HTTP GET request to the `/api/v1/backupInfrastructure/repositories/{id}/accessPermissions` path allows you to get access permissions of a repository that has the specified `id`.
operationId: GetRepositoryAccessPermissions
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoryAccessPermissionsModel'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get Repository Access Permissions
tags:
- Repositories
x-veeam-authorize:
claims:
- ViewRepositoryAccessPermissions
put:
description: The HTTP PUT request to the `/api/v1/backupInfrastructure/repositories/{id}/accessPermissions` path allows you to edit access permissions of a repository that has the specified `id`.
operationId: UpdateRepositoryAccessPermissions
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoryAccessPermissionsModel'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoryAccessPermissionsModel'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Edit Repository Access Permissions
tags:
- Repositories
x-veeam-authorize:
claims:
- UpdateRepositoryAccessPermissions
/api/v1/backupInfrastructure/scaleOutRepositories:
get:
description: The HTTP GET request to the `/api/v1/backupInfrastructure/scaleOutRepositories` path allows you to get an array of all scale-out backup repositories that are added to the backup infrastructure.
operationId: GetAllScaleOutRepositories
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: Number of repositories to skip.
in: query
name: skip
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/ScaleOutRepositoriesFilters'
- description: Maximum number of repositories to return.
in: query
name: limit
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/ScaleOutRepositoriesFilters'
- description: Sorts repositories by one of the repository parameters.
in: query
name: orderColumn
schema:
$ref: '#/components/schemas/EScaleOutRepositoryFiltersOrderColumn'
x-veeam-spec:
$ref: '#/components/schemas/ScaleOutRepositoriesFilters'
- description: Sorts repositories in the ascending order by the `orderColumn` parameter.
in: query
name: orderAsc
schema:
type: boolean
x-veeam-spec:
$ref: '#/components/schemas/ScaleOutRepositoriesFilters'
- description: Filters repositories by the `nameFilter` pattern. The pattern can match any repository parameter. To substitute one or more characters, use the asterisk (*) character at the beginning, at the end or both.
in: query
name: nameFilter
schema:
type: string
x-veeam-spec:
$ref: '#/components/schemas/ScaleOutRepositoriesFilters'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScaleOutRepositoriesResult'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get All Scale-Out Backup Repositories
tags:
- Repositories
x-veeam-authorize:
claims:
- ViewScaleOutRepositories
post:
description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories` path allows you to add a scale-out backup repository to the backup infrastructure.
operationId: CreateScaleOutRepository
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScaleOutRepositorySpec'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SessionModel'
description: Infrastructure session has been created to add the repository. To check the progress, track the session `state`.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Add Scale-Out Backup Repository
tags:
- Repositories
x-veeam-authorize:
claims:
- CreateScaleOutRepositories
/api/v1/backupInfrastructure/scaleOutRepositories/{id}:
delete:
description: The HTTP DELETE request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}` path allows you to remove a scale-out backup repository that has the specified `id`.
operationId: DeleteScaleOutRepository
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the scale-out backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
- description: If *true*, Veeam Backup & Replication will remove backup files.
in: query
name: deleteBackups
schema:
type: boolean
x-veeam-spec:
$ref: '#/components/schemas/DeleteRepositoryFilters'
responses:
'204':
content:
application/json:
schema:
$ref: '#/components/schemas/EmptySuccessResponse'
description: Scale-out backup repository has been removed.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Remove Scale-Out Backup Repository
tags:
- Repositories
x-veeam-authorize:
claims:
- DeleteScaleOutRepositories
get:
description: The HTTP GET request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}` path allows you to get a scale-out backup repository that has the specified `id`.
operationId: GetScaleOutRepository
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the scale-out backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScaleOutRepositoryModel'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get Scale-Out Backup Repository
tags:
- Repositories
x-veeam-authorize:
claims:
- ViewScaleOutRepositories
put:
description: The HTTP PUT request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}` path allows you to edit a scale-out backup repository that has the specified `id`.
operationId: UpdateScaleOutRepository
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the scale-out backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScaleOutRepositoryModel'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SessionModel'
description: Infrastructure session has been created to edit the scale-out backup repository. To check the progress, track the session `state`.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Edit Scale-Out Backup Repository
tags:
- Repositories
x-veeam-authorize:
claims:
- UpdateScaleOutRepositories
/api/v1/backupInfrastructure/scaleOutRepositories/{id}/accessPermissions:
get:
description: The HTTP GET request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/accessPermissions` path allows you to get access permissions of a scale-out backup repository that has the specified `id`.
operationId: GetScaleOutRepositoryAccessPermissions
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the scale-out backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoryAccessPermissionsModel'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get Scale-Out Backup Repository Access Permissions
tags:
- Repositories
x-veeam-authorize:
claims:
- ViewRepositoryAccessPermissions
put:
description: The HTTP PUT request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/accessPermissions` path allows you to edit access permissions of a scale-out backup repository that has the specified `id`.
operationId: UpdateScaleOutRepositoryAccessPermissions
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the scale-out backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoryAccessPermissionsModel'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoryAccessPermissionsModel'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Edit Scale-Out Backup Repository Access Permissions
tags:
- Repositories
x-veeam-authorize:
claims:
- UpdateRepositoryAccessPermissions
/api/v1/backupInfrastructure/scaleOutRepositories/{id}/disableMaintenanceMode:
post:
description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/disableMaintenanceMode` path allows you to disable the Maintenance mode for specified extents of a scale-out backup repository that has the specified `id`.
operationId: DisableScaleOutExtentMaintenanceMode
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the scale-out backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScaleOutExtentMaintenanceSpec'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SessionModel'
description: RepositoryMaintenance session has been created.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Disable Maintenance Mode
tags:
- Repositories
x-veeam-authorize:
claims:
- DisableRepositoryMaintenanceMode
/api/v1/backupInfrastructure/scaleOutRepositories/{id}/disableSealedMode:
post:
description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/disableSealedMode` path allows you to disable the Sealed mode for specified extents of a scale-out backup repository that has the specified `id`.
operationId: DisableScaleOutExtentSealedMode
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the scale-out backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScaleOutExtentMaintenanceSpec'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SessionModel'
description: RepositoryMaintenance session has been created.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Disable Sealed Mode
tags:
- Repositories
x-veeam-authorize:
claims:
- DisableRepositorySealedMode
/api/v1/backupInfrastructure/scaleOutRepositories/{id}/enableMaintenanceMode:
post:
description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/enableMaintenanceMode` path allows you to enable the Maintenance mode for specified extents of a scale-out backup repository that has the specified `id`.
operationId: EnableScaleOutExtentMaintenanceMode
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the scale-out backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScaleOutExtentMaintenanceSpec'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SessionModel'
description: RepositoryMaintenance session has been created.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Enable Maintenance Mode
tags:
- Repositories
x-veeam-authorize:
claims:
- EnableRepositoryMaintenanceMode
/api/v1/backupInfrastructure/scaleOutRepositories/{id}/enableSealedMode:
post:
description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/enableSealedMode` path allows you to enable the Sealed mode for specified extents of a scale-out backup repository that has the specified `id`.
operationId: EnableScaleOutExtentSealedMode
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the scale-out backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScaleOutExtentMaintenanceSpec'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SessionModel'
description: RepositoryMaintenance session has been created.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Enable Sealed Mode
tags:
- Repositories
x-veeam-authorize:
claims:
- EnableRepositorySealedMode
/api/v1/backupInfrastructure/scaleOutRepositories/{id}/evacuateBackups:
post:
description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/evacuateBackups` path allows you to evacuate backups from specified performance extents of a scale-out backup repository that has the specified `id`.
Before you evacuate backups from performance extents, you must put them into the Maintenance mode.
operationId: EvacuateBackupsFromScaleOutExtent
parameters:
- $ref: '#/components/parameters/apiVersionParam_2'
- description: ID of the scale-out backup repository.
in: path
name: id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScaleOutExtentMaintenanceSpec'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SessionModel'
description: RepositoryEvacuate session has been created.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Evacuate Backups from Performance Extent
tags:
- Repositories
x-veeam-authorize:
claims:
- EvacuateExtentBackups
components:
schemas:
ERepositoryConnectionType:
description: Repository connection type (direct or through a gateway server).
enum:
- Direct
- SelectedGateway
type: string
AmazonS3StorageModel:
allOf:
- $ref: '#/components/schemas/BaseRepositoryModel'
- properties:
account:
$ref: '#/components/schemas/AmazonS3StorageAccountModel'
bucket:
$ref: '#/components/schemas/AmazonS3StorageBucketModel'
enableTaskLimit:
description: If *true*, the maximum number of concurrent tasks is limited.
type: boolean
maxTaskCount:
description: Maximum number of concurrent tasks.
type: integer
mountServer:
$ref: '#/components/schemas/MountServerSettingsModel'
proxyAppliance:
$ref: '#/components/schemas/AmazonS3StorageProxyApplianceModel'
required:
- account
- bucket
- mountServer
type: object
description: Amazon S3 storage.
Error:
description: ''
required:
- type
- title
- status
- errorCode
type: object
properties:
type:
type: string
format: uri
description: An URI reference that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g. using HTML).
title:
type: string
description: A short, summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized)
status:
type: integer
format: int32
description: The HTTP status code generated by the origin server for this occurrence of the problem.
minimum: 400
maximum: 600
exclusiveMaximum: true
errorCode:
description: The error code is a string that uniquely identifies an error condition and should be understood by programs that detect and handle errors by type
enum:
- AccessDenied
- ExpiredToken
- InvalidToken
- InvalidURI
- MethodNotAllowed
- NotFound
- NotImplemented
- ServiceUnavailable
- UnexpectedContent
- UnknownError
type: string
details:
description: The error message contains a generic description of the error condition in English. It is intended for a human audience
type: string
instance:
description: ID of the object that is involved in the error (or empty)
type: string
format: uri
data:
type: object
description: Error payload
additionalProperties:
type: object
RepositoryModel:
allOf:
- discriminator:
mapping:
AmazonS3: '#/components/schemas/AmazonS3StorageModel'
AmazonS3Glacier: '#/components/schemas/AmazonS3GlacierStorageModel'
AmazonSnowballEdge: '#/components/schemas/AmazonSnowballEdgeStorageModel'
AzureArchive: '#/components/schemas/AzureArchiveStorageModel'
AzureBlob: '#/components/schemas/AzureBlobStorageModel'
AzureDataBox: '#/components/schemas/AzureDataBoxStorageModel'
GoogleCloud: '#/components/schemas/GoogleCloudStorageModel'
IBMCloud: '#/components/schemas/IBMCloudStorageModel'
LinuxHardened: '#/components/schemas/LinuxHardenedStorageModel'
LinuxLocal: '#/components/schemas/LinuxLocalStorageModel'
Nfs: '#/components/schemas/NfsStorageModel'
S3Compatible: '#/components/schemas/S3CompatibleStorageModel'
Smb: '#/components/schemas/SmbStorageModel'
WasabiCloud: '#/components/schemas/WasabiCloudStorageModel'
WinLocal: '#/components/schemas/WindowsLocalStorageModel'
propertyName: type
oneOf:
- $ref: '#/components/schemas/WindowsLocalStorageModel'
- $ref: '#/components/schemas/LinuxLocalStorageModel'
- $ref: '#/components/schemas/NfsStorageModel'
- $ref: '#/components/schemas/SmbStorageModel'
- $ref: '#/components/schemas/AzureBlobStorageModel'
- $ref: '#/components/schemas/AzureDataBoxStorageModel'
- $ref: '#/components/schemas/AmazonS3StorageModel'
- $ref: '#/components/schemas/AmazonSnowballEdgeStorageModel'
- $ref: '#/components/schemas/S3CompatibleStorageModel'
- $ref: '#/components/schemas/GoogleCloudStorageModel'
- $ref: '#/components/schemas/IBMCloudStorageModel'
- $ref: '#/components/schemas/AmazonS3GlacierStorageModel'
- $ref: '#/components/schemas/AzureArchiveStorageModel'
- $ref: '#/components/schemas/WasabiCloudStorageModel'
- $ref: '#/components/schemas/LinuxHardenedStorageModel'
- $ref: '#/components/schemas/BaseRepositoryModel'
RepositoriesSortColumns:
type: string
enum:
- nameAsc
- nameDesc
- descriptionAsc
- descriptionDesc
- amazonAccountNameAsc
- amazonAccountNameDesc
- amazonBucketAsc
- amazonBucketDesc
- amazonStorageFolderAsc
- amazonStorageFolderDesc
- regionAsc
- regionDesc
- encryptionAsc
- encryptionDesc
NetworkRepositorySettingsModel:
description: Repository settings.
properties:
advancedSettings:
$ref: '#/components/schemas/RepositoryAdvancedSettingsModel'
enableReadWriteLimit:
description: If *true*, reading and writing speed is limited.
type: boolean
enableTaskLimit:
description: If *true*, the maximum number of concurrent tasks is limited.
type: boolean
maxTaskCount:
description: Maximum number of concurrent tasks.
type: integer
readWriteRate:
description: Maximum rate that restricts the total speed of reading and writing data to the backup repository disk.
type: integer
type: object
EConsumptionLimitKind:
description: Measurement unit.
enum:
- TB
- PB
type: string
SessionLink:
required:
- sessionId
type: object
properties:
sessionId:
type: string
format: uuid
_links:
type: array
uniqueItems: false
items:
$ref: '#/components/schemas/Link'
S3CompatibleStorageAccountModel:
description: Account used to access the S3 compatible storage.
properties:
connectionSettings:
$ref: '#/components/schemas/ObjectStorageConnectionModel'
credentialsId:
description: ID of a cloud credentials record used to access the storage.
format: uuid
type: string
regionId:
description: ID of a region where the storage is located.
type: string
servicePoint:
description: Endpoint address and port number of the storage.
type: string
required:
- servicePoint
- regionId
- credentialsId
- gatewayServer
type: object
AzureArchiveStorageContainerModel:
description: Azure Archive container where backup data is stored.
properties:
containerName:
description: Name of an Azure Archive container.
type: string
folderName:
description: Name of the folder that the object storage repository is mapped to.
type: string
required:
- containerName
- folderName
type: object
LinuxLocalStorageSpec:
allOf:
- $ref: '#/components/schemas/BaseRepositorySpec'
- properties:
hostId:
description: ID of the server that is used as a backup repository.
format: uuid
type: string
mountServer:
$ref: '#/components/schemas/MountServerSettingsModel'
repository:
$ref: '#/components/schemas/LinuxLocalRepositorySettingsModel'
required:
- hostId
- mountServer
- repository
type: object
description: Linux-based repository.
EPlacementPolicyType:
description: Type of placement policy.
enum:
- DataLocality
- Performance
type: string
x-enumDescriptions:
DataLocality: Veeam Backup & Replication stores full and incremental backup files to the same performance extent of the scale-out backup repository.
Performance: Veeam Backup & Replication stores full and incremental backup files to different performance extents of the scale-out backup repository.
S3CompatibleStorageSpec:
allOf:
- $ref: '#/components/schemas/BaseRepositorySpec'
- properties:
account:
$ref: '#/components/schemas/S3CompatibleStorageAccountModel'
bucket:
$ref: '#/components/schemas/S3CompatibleStorageBucketModel'
enableTaskLimit:
description: If *true*, the maximum number of concurrent tasks is limited.
type: boolean
maxTaskCount:
description: Maximum number of concurrent tasks.
type: integer
mountServer:
$ref: '#/components/schemas/MountServerSettingsModel'
proxyAppliance:
$ref: '#/components/schemas/S3CompatibleProxyModel'
required:
- account
- bucket
- mountServer
type: object
description: S3 compatible storage.
EAzureRegionType:
description: Region where your Microsoft Azure container is located.
enum:
- China
- Germany
- Global
- Government
type: string
LinuxLocalRepositorySettingsModel:
description: Repository settings.
properties:
advancedSettings:
$ref: '#/components/schemas/RepositoryAdvancedSettingsModel'
enableReadWriteLimit:
description: If *true*, reading and writing speed is limited.
type: boolean
enableTaskLimit:
description: If *true*, the maximum number of concurrent tasks is limited.
type: boolean
maxTaskCount:
description: Maximum number of concurrent tasks.
type: integer
path:
description: Path to the folder where backup files are stored.
type: string
readWriteRate:
description: Maximum rate that restricts the total speed of reading and writing data to the backup repository disk.
type: integer
useFastCloningOnXFSVolumes:
description: If *true*, fast cloning on XFS volumes is used.
type: boolean
type: object
EAllowedBackupsType:
description: Type of backup files that can be stored on the extent.
enum:
- All
- FullsOnly
- IncrementsOnly
- None
type: string
SessionResultModel:
description: Session result.
properties:
isCanceled:
description: If *true*, the session has been canceled.
type: boolean
message:
description: Message that explains the session result.
type: string
result:
$ref: '#/components/schemas/ESessionResult'
required:
- result
type: object
RepositoryUpdateSpec:
required:
- name
- amazonAccountId
- enableEncryption
type: object
properties:
name:
maxLength: 255
minLength: 1
type: string
description:
type: string
amazonAccountId:
type: string
format: uuid
password:
type: string
hint:
type: string
enableEncryption:
type: boolean
AzureBlobStorageSpec:
allOf:
- $ref: '#/components/schemas/BaseRepositorySpec'
- properties:
account:
$ref: '#/components/schemas/AzureBlobStorageAccountModel'
container:
$ref: '#/components/schemas/AzureBlobStorageContainerModel'
enableTaskLimit:
description: If *true*, the maximum number of concurrent tasks is limited.
type: boolean
maxTaskCount:
description: Maximum number of concurrent tasks.
type: integer
mountServer:
$ref: '#/components/schemas/MountServerSettingsModel'
proxyAppliance:
$ref: '#/components/schemas/AzureStorageProxyModel'
required:
- account
- container
- mountServer
type: object
description: Microsoft Azure Blob storage.
AmazonS3StorageAccountModel:
description: Account used to access the Amazon S3 storage.
properties:
connectionSettings:
$ref: '#/components/schemas/ObjectStorageConnectionModel'
credentialsId:
description: ID of the cloud credentials record.
format: uuid
type: string
regionType:
$ref: '#/components/schemas/EAmazonRegionType'
required:
- credentialsId
- regionType
- gatewayServer
type: object
ObjectStorageConnectionModel:
description: Object storage connection settings.
properties:
connectionType:
$ref: '#/components/schemas/ERepositoryConnectionType'
gatewayServerIds:
description: Array of gateway server IDs. The value is *null* if the connection type is *Direct*.
items:
format: uuid
type: string
type: array
required:
- connectionType
type: object
ERotatedDriveCleanupMode:
description: Cleanup mode: