VAST Data blockhosts API
Block Hosts are block storage client hosts. They must be added to VMS in order to enable block storage volumes to be made available to them.
Block Hosts are block storage client hosts. They must be added to VMS in order to enable block storage volumes to be made available to them.
openapi: 3.0.3
info:
description: VAST Management API definition
title: VAST API Swagger Schema activedirectory blockhosts API
version: '1.0'
security:
- ApiToken: []
tags:
- description: Block Hosts are block storage client hosts. They must be added to VMS in order to enable block storage volumes to be made available to them.
name: blockhosts
paths:
/blockhosts/:
get:
description: This endpoint lists all block storage hosts configured on the tenant.
operationId: blockhosts_list
parameters:
- $ref: '#/components/parameters/TenantIdQP'
- $ref: '#/components/parameters/BlockHostNameQP'
- $ref: '#/components/parameters/BlockHostNqnQP'
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/PageSize'
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/BlockHost'
title: Block Hosts
type: array
description: Block hosts and their properties
summary: List Block Hosts per Tenant
tags:
- blockhosts
post:
description: This endpoint creates a blockhost object with the properties of a block storage client host, to enable the assignment of volumes to the host. Block hosts are added per tenant. To serve block storage from multiple tenants, create a blockhost objec on each tennt separately.
operationId: blockhosts_create
requestBody:
content:
application/json:
schema:
properties:
name:
description: The name of the block host. Must be unique on the tenant. Can be duplicated on multiple tenants.
type: string
nqn:
description: The host's NVMe Qualified Name (NQN), a unique identifier used to identify the host in NVMe operations. Retrieve the NQN from the host.
type: string
tags:
$ref: '#/components/schemas/ArbitraryStringsObject'
tenant_id:
description: The ID of the tenant to which to add the block host. Add the host separately as needed to each tenant.
type: integer
required:
- tenant_id
- name
- nqn
type: object
x-originalParamName: BlockHostCreateParams
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/BlockHost'
description: OK
summary: Create a Block Host
tags:
- blockhosts
/blockhosts/{id}/:
delete:
description: This endpoint deletes a block host.
operationId: blockhosts_delete
parameters:
- $ref: '#/components/parameters/PathObjectId'
- description: Forces removal of mappings of the host to volumes. A host can be deleted only if it is not mapped to any volume.
in: query
name: force
schema:
type: boolean
responses:
'204':
description: OK
summary: Delete a Block Host
tags:
- blockhosts
get:
description: This endpoint returns information about a specific Block Host.
operationId: blockhosts_read
parameters:
- $ref: '#/components/parameters/PathObjectId'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BlockHost'
description: ''
summary: Return Details of a Block Host
tags:
- blockhosts
patch:
description: This endpoint modifies a block storage host.
operationId: blockhosts_update
parameters:
- $ref: '#/components/parameters/PathObjectId'
requestBody:
content:
application/json:
schema:
properties:
name:
description: The name of the block host. Must be unique on the tenant. Can be duplicated on multiple tenants.
type: string
tags:
$ref: '#/components/schemas/ArbitraryStringsObject'
type: object
x-originalParamName: BlockHostModifyParams
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BlockHost'
description: ''
summary: Modifies a Block Host
tags:
- blockhosts
/blockhosts/{id}/set_volumes:
patch:
operationId: hosts_set_volumes
parameters:
- $ref: '#/components/parameters/PathObjectId'
requestBody:
content:
application/json:
schema:
properties:
ids:
items:
type: integer
type: array
snapshot_id:
type: integer
type: object
x-originalParamName: HostSetVolumesParams
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncTaskInResponse'
description: This endpoint maps a single host to multiple volumes (where each is either the current version of the volume or a snapshot of the volume).
summary: Mapping a block host to volumes.
tags:
- blockhosts
/blockhosts/{id}/update_volumes:
patch:
operationId: hosts_update_volumes
parameters:
- $ref: '#/components/parameters/PathObjectId'
requestBody:
content:
application/json:
schema:
properties:
ids_to_add:
items:
type: integer
type: array
ids_to_remove:
items:
type: integer
type: array
snapshot_id:
type: integer
type: object
x-originalParamName: HostUpdateVolumesParams
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncTaskInResponse'
description: This endpoint maps (update) a single host into multiple volumes (either their current version or a snapshot).
summary: Update Mapping of Block Host to Volumes
tags:
- blockhosts
components:
parameters:
BlockHostNameQP:
description: name of the blockhost
in: query
name: name
schema:
type: string
PathObjectId:
description: Object ID specified in the path
in: path
name: id
required: true
schema:
type: string
BlockHostNqnQP:
description: NQN of the blockhost
in: query
name: nqn
schema:
type: string
PageSize:
in: query
name: page_size
schema:
minimum: 1
type: integer
TenantIdQP:
description: Filter by tenant. Specify tenant ID.
in: query
name: tenant_id
schema:
minimum: 1
type: integer
Page:
in: query
name: page
schema:
minimum: 1
type: integer
schemas:
BlockHost:
properties:
id:
type: integer
mapped_block_host_count:
description: The number of block hosts mapped to the volume.
type: integer
mapped_block_hosts_preview:
description: Mapped block hosts preview.
type: string
mapped_volume_count:
description: How many Volumes are mapped to this block host.
type: integer
mapped_volumes_preview:
description: Mapped volumes preview.
type: string
name:
description: The name of the block host, which is unique per tenant.
type: string
nqn:
description: The NVMe Qualified Name of the host.
type: string
tags:
$ref: '#/components/schemas/ArbitraryStringsObject'
tenant_id:
description: ID of the tenant to which the block host belongs.
type: integer
tenant_name:
description: The name of the tenant to which the block host belongs.
type: string
required:
- id
- tenant_id
- name
- nqn
- tags
type: object
ArbitraryStringsObject:
additionalProperties:
type: string
type: object
AsyncTaskInResponse:
properties:
async_task:
description: Creation Async task properties
type: object
type: object
securitySchemes:
ApiToken:
description: Send current valid API token in an Authorization header with format Api-Token <token>.
in: header
name: ApiToken
type: apiKey
basicAuth:
description: Basic authentication using VMS user name and password
scheme: basic
type: http