openapi: 3.0.0
info:
version: 1.0-rev0
title: Veeam Backup for AWS public API 1.0 Agents Inventory Browser API
description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery.
security:
- Bearer: []
tags:
- description: The Inventory Browser section defines paths and operations for retrieving VMware vSphere servers and their virtual infrastructure objects (data centers, clusters, hosts, resource pools, VMs).
NOTE
In the current version, you can browse VMware vSphere objects only.
name: Inventory Browser
paths:
/api/v1/inventory/vmware/hosts:
get:
description: The HTTP GET request to the `/api/v1/inventory/vmware/hosts` path allows you to get an array of all VMware vSphere servers added to the backup infrastructure.
operationId: GetAllInventoryVmwareHosts
parameters:
- $ref: '#/components/parameters/apiVersionParam'
- description: Number of VMware vSphere servers to skip.
in: query
name: skip
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/ViRootFilters'
- description: Maximum number of VMware vSphere servers to return.
in: query
name: limit
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/ViRootFilters'
- description: Sorts VMware vSphere servers by one of the VMware vSphere server parameters.
in: query
name: orderColumn
schema:
$ref: '#/components/schemas/EViRootFiltersOrderColumn'
x-veeam-spec:
$ref: '#/components/schemas/ViRootFilters'
- description: Sorts VMware vSphere servers in the ascending order by the `orderColumn` parameter.
in: query
name: orderAsc
schema:
type: boolean
x-veeam-spec:
$ref: '#/components/schemas/ViRootFilters'
- description: Filters VMware vSphere servers by the `nameFilter` pattern. The pattern can match any VMware vSphere server 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/ViRootFilters'
responses:
'200':
content:
application/json:
example:
data:
- inventoryObject:
hostName: vcenter01.tech01.local
name: vcenter01.tech01.local
objectId: d766a026-a7a7-4d6e-add0-9599a291394f
type: vCenterServer
size: N/A
- inventoryObject:
hostName: vcenter02.tech02.local
name: vcenter02.tech02.local
objectId: bd49ae5e-d5ec-4013-8ffa-c91beadce052
type: vCenterServer
size: N/A
pagination:
count: 2
limit: 200
skip: 0
total: 2
schema:
$ref: '#/components/schemas/ViRootsResult'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get All VMware vSphere Servers
tags:
- Inventory Browser
x-veeam-authorize:
claims:
- ViewViHierarchy
/api/v1/inventory/vmware/hosts/{name}:
get:
description: The HTTP GET request to the `/api/v1/inventory/vmware/hosts/{name}` path allows you to get an array of virtual infrastructure objects of the VMware vSphere server that has the specified `name`.
operationId: GetVmwareHostObject
parameters:
- $ref: '#/components/parameters/apiVersionParam'
- description: Name of the VMware vSphere server.
in: path
name: name
required: true
schema:
type: string
- description: Number of objects to skip.
in: query
name: skip
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/VCenterInventoryFilters'
- description: Maximum number of objects to return.
in: query
name: limit
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/VCenterInventoryFilters'
- description: Sorts objects by one of the object parameters.
in: query
name: orderColumn
schema:
$ref: '#/components/schemas/EvCentersInventoryFiltersOrderColumn'
x-veeam-spec:
$ref: '#/components/schemas/VCenterInventoryFilters'
- description: Sorts objects in the ascending order by the `orderColumn` parameter.
in: query
name: orderAsc
schema:
type: boolean
x-veeam-spec:
$ref: '#/components/schemas/VCenterInventoryFilters'
- description: Filters objects by object ID.
in: query
name: objectIdFilter
schema:
type: string
x-veeam-spec:
$ref: '#/components/schemas/VCenterInventoryFilters'
- description: Filters objects by hierarchy type.
in: query
name: hierarchyTypeFilter
schema:
$ref: '#/components/schemas/EHierarchyType'
x-veeam-spec:
$ref: '#/components/schemas/VCenterInventoryFilters'
- description: Filters objects by the `nameFilter` pattern. The pattern can match any object 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/VCenterInventoryFilters'
- description: Filters objects by virtual infrastructure type.
in: query
name: typeFilter
schema:
$ref: '#/components/schemas/EVmwareInventoryType'
x-veeam-spec:
$ref: '#/components/schemas/VCenterInventoryFilters'
- description: Filters objects by name of the parent container.
in: query
name: parentContainerNameFilter
schema:
type: string
x-veeam-spec:
$ref: '#/components/schemas/VCenterInventoryFilters'
responses:
'200':
content:
application/json:
example:
data:
- inventoryObject:
hostName: vcenter01.tech.local
name: Prague
objectId: datacenter-42371
type: Datacenter
size: N/A
- inventoryObject:
hostName: vcenter01.tech.local
name: Templates
objectId: group-h42373
type: Folder
size: N/A
- inventoryObject:
hostName: vcenter01.tech.local
name: esx03.tech.local
objectId: host-42428
type: Host
size: N/A
- inventoryObject:
hostName: vcenter01.tech.local
name: Services
objectId: resgroup-65867
type: ResourcePool
size: N/A
- inventoryObject:
hostName: vcenter01.tech.local
name: winsrv01
objectId: vm-62230
type: VirtualMachine
size: 220 GB
pagination:
limit: 200
skip: 0
total: 5
count: 5
schema:
$ref: '#/components/schemas/VCenterInventoryResult'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get VMware vSphere Server Objects
tags:
- Inventory Browser
x-veeam-authorize:
claims:
- ViewViHierarchy
components:
schemas:
EVmwareInventoryType:
description: Type of the VMware vSphere object.
enum:
- Unknown
- VirtualMachine
- vCenterServer
- Datacenter
- Cluster
- Host
- ResourcePool
- Folder
- Datastore
- DatastoreCluster
- StoragePolicy
- Template
- ComputeResource
- VirtualApp
- Tag
- Category
- Multitag
- Network
type: string
VCenterInventoryFilters:
properties:
hierarchyTypeFilter:
$ref: '#/components/schemas/EHierarchyType'
limit:
description: Maximum number of objects to return.
format: int32
type: integer
nameFilter:
description: Filters objects by the `nameFilter` pattern. The pattern can match any object parameter. To substitute one or more characters, use the asterisk (*) character at the beginning, at the end or both.
type: string
objectIdFilter:
description: Filters objects by object ID.
type: string
orderAsc:
description: Sorts objects in the ascending order by the `orderColumn` parameter.
type: boolean
orderColumn:
$ref: '#/components/schemas/EvCentersInventoryFiltersOrderColumn'
parentContainerNameFilter:
description: Filters objects by name of the parent container.
type: string
skip:
description: Number of objects to skip.
format: int32
type: integer
typeFilter:
$ref: '#/components/schemas/EVmwareInventoryType'
type: object
EViRootFiltersOrderColumn:
description: Sorts VMware vSphere servers by one of the VMware vSphere server parameters.
enum:
- Name
- Type
type: string
EvCentersInventoryFiltersOrderColumn:
description: Sorts vCenter Servers by one of the job parameters.
enum:
- Name
- ObjectId
- Type
type: string
EHierarchyType:
description: Hierarchy type.
enum:
- HostsAndClusters
- DatastoresAndVms
- HostsAndDatastores
- VmsAndTemplates
- VmsAndTags
- Network
type: string
ViRootFilters:
properties:
limit:
description: Maximum number of VMware vSphere servers to return.
format: int32
type: integer
nameFilter:
description: Filters VMware vSphere servers by the `nameFilter` pattern. The pattern can match any VMware vSphere server parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end.
type: string
orderAsc:
description: Sorts VMware vSphere servers in the ascending order by the `orderColumn` parameter.
type: boolean
orderColumn:
$ref: '#/components/schemas/EViRootFiltersOrderColumn'
skip:
description: Number of VMware vSphere servers to skip.
format: int32
type: integer
type: object
ViRootsResult:
properties:
data:
description: Array of VMware vSphere servers.
items:
$ref: '#/components/schemas/VmwareObjectSizeModel'
type: array
pagination:
$ref: '#/components/schemas/PaginationResult'
required:
- data
- pagination
type: object
PaginationResult:
description: Pagination settings.
properties:
count:
description: Number of returned results.
format: int32
type: integer
limit:
description: Maximum number of results to return.
format: int32
type: integer
skip:
description: Number of skipped results.
format: int32
type: integer
total:
description: Total number of results.
format: int32
type: integer
required:
- total
- count
type: object
VmwareObjectModel:
description: VMware vSphere object.
properties:
hostName:
description: Name of the VMware vSphere server that hosts the object.
type: string
name:
description: Name of the VMware vSphere object.
type: string
objectId:
description: ID of the VMware vSphere object. The parameter is required for all VMware vSphere objects except vCenter Servers and standalone ESXi hosts.
type: string
type:
$ref: '#/components/schemas/EVmwareInventoryType'
required:
- name
- type
- hostName
type: object
Error:
properties:
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
message:
description: The error message contains a generic description of the error condition in English. It is intended for a human audience
type: string
resourceId:
description: ID of the object that is involved in the error (or empty)
type: string
required:
- errorCode
- message
type: object
VCenterInventoryResult:
properties:
data:
description: Array of vCenter Servers.
items:
$ref: '#/components/schemas/VmwareObjectSizeModel'
type: array
pagination:
$ref: '#/components/schemas/PaginationResult'
required:
- data
- pagination
type: object
VmwareObjectSizeModel:
properties:
inventoryObject:
$ref: '#/components/schemas/VmwareObjectModel'
size:
description: Size used by the VMware vSphere object.
type: string
required:
- inventoryObject
type: object
responses:
InternalServerError:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal server error. The request has been received but could not be completed because of an internal error at the server side.
Unauthorized:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
NotFound:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Not found. No object was found with the path parameter specified in the request.
Forbidden:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
parameters:
apiVersionParam:
description: Version and revision of the client REST API. Must be in the following format: `-`.
in: header
name: x-api-version
required: true
schema:
default: 1.1-rev0
type: string
securitySchemes:
Bearer:
name: Authorization
in: header
type: apiKey
description: Bearer \