VAST Data clusters API
VMS manages configuration of a single VAST cluster. The clusters path provides access to many configurations and settings that apply to the cluster.
VMS manages configuration of a single VAST cluster. The clusters path provides access to many configurations and settings that apply to the cluster.
openapi: 3.0.3
info:
description: VAST Management API definition
title: VAST API Swagger Schema activedirectory clusters API
version: '1.0'
security:
- ApiToken: []
tags:
- description: VMS manages configuration of a single VAST cluster. The clusters path provides access to many configurations and settings that apply to the cluster.
name: clusters
paths:
/clusters/:
get:
operationId: clusters_list
parameters:
- in: query
name: page
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Cluster'
title: Clusters
type: array
description: Clusters information
summary: List Clusters
tags:
- clusters
post:
description: This endpoint creates the cluster.\ Ideally, VMS will auto-discover the nodes and its logic will be able to decide on\ exact C/D nodes assignment for the cluster.\ Therefore, in ideal case this command gets no node-related arguments.\ Optionally specific C/D nodes list or C/D nodes number can be provided.
operationId: clusters_create
requestBody:
content:
application/json:
schema:
properties:
audit_dir_name:
description: Audit directory name, located under root directory. Protocol audit logs are saved to this directory.
type: string
auto_drive_fw_upgrade:
description: Enable/disable auto drives FW upgrade
type: boolean
bmc_upgrade:
description: BMC upgrade
type: boolean
build:
description: The build to be installed on the cluster
type: string
cloud_lb:
description: vast on cloud installation flag (default is False)
type: boolean
cluster_guid:
description: Guid of the system
type: string
cnode_cores:
description: Number of cnode cores
type: integer
cnode_ips:
description: The list of cnode ips, optional
items:
type: string
type: array
cnode_ipv6_pool:
description: The list of cnode ipv6 addresses, optional
items:
type: string
type: array
composite_table_enable:
description: Enable composite table configuration during system format
type: boolean
dbox_ha_support:
description: DBox HA support
type: boolean
deep_stripe:
description: Is deep stripe system
type: boolean
default_others_share_level_perm:
description: Default Share level permissions for Others. (deprecated since 4.6)
enum:
- READ
- CHANGE
- FULL
type: string
defrag_threshold:
description: Defrag Threshold
type: integer
delete_snap_blocks_threshold:
description: Threshold limiting the number of content blocks handled in a single execution of a delete-snap fiber
type: integer
deny_cnode_system_access:
description: 'Flag for disabling cnode access to the system, default: False'
type: boolean
disable_dboxes_slots:
description: List of dboxes slots to disable, optional
example: '[<dbox-name>:<slot_number>, ...] (e.g. dbox-1:1,dbox-2:1)'
items:
description: DBOX-NAME:SLOT_NUMBER
type: string
type: array
disable_default_micro_shards:
description: Set the micro shards values to equal the mega shards values
type: boolean
disable_dirsnap:
description: Disable directory snapshots
type: boolean
disable_metrics:
description: Disable internal metrics collection
type: boolean
disable_mgmt_ha:
description: Disable management HA
type: boolean
disable_restrict_user:
description: Ignore user restriction on raider clusters
type: boolean
dmsetup:
description: Mock NVMeoF devices with dmsetup devices
type: boolean
dnode_cores:
description: Number of dnode cores
type: integer
dnode_ips:
description: The list of D-Boxes
items:
type: string
type: array
dnode_ipv6_pool:
description: The list of dnode ipv6 addresses, optional
items:
type: string
type: array
double_value_micro_shards:
description: Set the micro shards values to double the mega shards values
type: boolean
dr_hash_size:
description: DR hash size in buckets
type: integer
dr_shards:
description: Number of DR shards
type: integer
dr_wb_shards:
description: Number of DR write buffer shards
type: integer
drive_size:
description: Drive size for mocked devices
type: integer
ekm_address:
description: IP address or DNS name of External Key Manager. Applicable if encryption is enabled and encryption type is one of the external key management types.
type: string
ekm_auth_domain:
description: EKM auth domain (Thales)
type: string
ekm_bypass_validation:
description: Bypass key and certificate validation
type: boolean
ekm_ca_certificate:
description: The CA certificate for the connection to the EKM servers
type: string
ekm_certificate:
description: The SSL certificate for the connection to the EKM servers
type: string
ekm_domain:
description: EKM domain (Thales)
type: string
ekm_port:
description: 'Port number for connections to an External Key Manager. Applicable if encryption is enabled and encryption type is one of the external key management types. Valid range: 1024 - 65535. Default: 5696'
type: integer
ekm_private_key:
description: The private key of the SSL certificate for the connection to the EKM servers.
type: string
ekm_proxy_address:
description: 'Thales EKM proxy address: https://proxy-address:port'
type: string
ekm_servers:
description: 'List of EKM server IPs, additional to ekm_address. Up to five servers may be specified in total. For example: 10.0.0.1:5696,11.0.0.1:5697'
type: string
enable_dr:
description: Enable data reduction
type: boolean
enable_encryption:
description: Enable data encryption
type: boolean
enable_rack_level_resiliency:
description: Enable rack level resiliency
type: boolean
enable_similarity:
description: Enable similarity
type: boolean
enable_smb:
description: Enable support for SMB
type: boolean
encryption_type:
description: Encryption type. INTERNAL = keys are managed internally. CIPHER_TRUST_KMIP=Keys are stored and managed on Thales Group CipherTrust Data Security Platform, FORTANIX_KMIP=Keys are stored and managed on Fortanix DSM, HASHICORP_KMIP=Keys are stored and managed on HashiCorp Vault Enterprise.
type: string
external_managed_dpu:
description: 'Cluster has externally managed DPUs. Default: False'
type: boolean
failing_components_cnodes_failure_to_fail_percentage:
description: Percentage of all CNodes that are allowed to fail
type: integer
failing_components_enabled:
description: Enable failing components feature
type: boolean
failure_domains_support:
description: Failure domains support
type: boolean
format_drives:
description: Format drives
type: boolean
half_system:
description: Is half system
type: boolean
ib_mode:
description: Mode of Infiniband network
example: Connected
type: string
ipv6_gateway:
description: External ipv6 gateway
type: string
ipv6_mgmt_vip:
description: IPV6 Management VIP
type: string
ipv6_prefix:
description: IPV6 Prefix
type: integer
lab_deploy:
description: 'Flag for lab deploy only, default: False'
type: boolean
large_object_scale:
description: Flag for large object scale system
type: boolean
loopback:
description: Loopback (single node) installation
type: boolean
loopback_conf:
description: Loopback Configuration
type: string
max_file_size:
description: Maximum audit file size for each CNode core
type: integer
x-display-base-type: capacity
x-display-units: GB
x-display-units-alt: GiB
x-format: bytes2gb
x-raw-units: Bytes
max_nvram_capacity_percent:
description: Max NVRAM capacity percent
type: integer
max_nvram_replication_factor:
description: Max NVRAM replication factor
type: integer
max_retention_period:
description: Max retention period for audit files. Units of measurement set by max_renention_timeunit.
type: integer
max_retention_timeunit:
description: Unit of measurement for the period specified as max_retention_period
type: string
max_ssd_capacity_percent:
description: Max SSD capacity percent
type: integer
mega_dr_shards:
description: Number of DR shards
type: integer
mega_dr_wb_shards:
description: Number of DR write buffer shards
type: integer
mega_shards:
description: Number of shards
type: integer
mega_stripe_groups:
description: Number of stripe groups
type: integer
micro_dr_shards:
description: Number of DR shards
type: integer
micro_dr_wb_shards:
description: Number of DR write buffer shards
type: integer
micro_shards:
description: Number of shards
type: integer
micro_stripe_groups:
description: Number of stripe groups
type: integer
mixed_media:
description: 'Flag for mixed media systems (NVRAMs and SSDs on same device), default: False'
type: boolean
mock_raider_gui_availability:
description: Creates mock for HPE Raider GUI availability, default is False
type: boolean
name:
description: Cluster name
type: string
nb_eth_mtu:
description: Ethernet Northbound MTU, optional
example: '9216'
type: integer
nb_ib_mtu:
description: Infiniband Northbound MTU, optional
example: '2044'
type: integer
no_perf_check:
description: Don't check cluster performance (default is False, i.e. perform check)
type: boolean
nvram_section_layout:
description: NVRAM Section Layout
type: string
nvram_size:
description: NVRAM size for mocked devices
type: integer
prefill_devices:
description: prefill the mocked devices with zeroes at install
type: boolean
protocols:
description: Protocols to audit for all views.
items:
type: string
type: array
protocols_audit:
description: Specify audit options to enable them globally for all views. Options can be disabled here and enabled in the viewpolicy.
type: object
psnt:
description: Cluster PSNT
type: string
rack_config:
description: Rack config for vcli install
type: object
rack_pools:
additionalProperties:
$ref: '#/components/schemas/ClusterCreateRackUpdate'
type: object
read_access_users:
description: Enter users here to grant them read access to all files in the audit directory. To make the audit directory accessible to clients, create a view on the directory.
items:
type: string
type: array
read_access_users_groups:
description: Enter groups here to grant them read access to all files in the audit directory. To make the audit directory accessible to clients, create a view on the directory.
items:
type: string
type: array
restrict_user:
description: Flag for restrict vastdata user, default is False
type: boolean
s3_block_v2_authentication:
description: Manage s3 blocks v2 authentication
type: boolean
secondary_ekm_address:
description: EKM address
type: string
secondary_ekm_port:
description: 'EKM port. Valid range: 1024 - 65535.'
type: integer
shards:
description: Number of shards
type: integer
stripe_groups:
description: Number of stripe groups
type: integer
supported_drives:
type: object
sw_defined:
description: Enable sw_defined (only for SDS setup)
type: boolean
system_expansion_hack:
description: Hack for expansions tests in CI
type: boolean
use_spdk:
description: Should install spdk
type: boolean
virtual:
description: virtual hardware deployment (default is False)
type: boolean
voc:
description: vast on cloud installation flag (default is False)
type: boolean
vsettings:
$ref: '#/components/schemas/ArbitraryStringsObject'
wb_raid_layout:
description: WB Raid layout
type: string
required:
- name
type: object
x-originalParamName: ClusterCreateParams
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncCluster'
description: ''
summary: Create Cluster
tags:
- clusters
x-cli-command: cluster
x-cli-subcommand: create
/clusters/add_boxes/:
patch:
operationId: add_boxes
requestBody:
content:
'*/*':
schema:
$ref: '#/components/schemas/AddBoxesParams'
x-originalParamName: AddBoxesParams
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncTaskInResponse'
description: ''
summary: Start Add Boxes procedure
tags:
- clusters
/clusters/bgp_table/:
get:
description: This endpoint returns the BGP connections table.
operationId: bgp_table
responses:
'200':
content:
application/json:
schema:
properties:
count:
description: Number of results
type: integer
results:
items:
$ref: '#/components/schemas/BGPTableItem'
type: array
type: object
description: BGP connections table
summary: Return BGP Connections Table
tags:
- clusters
/clusters/block_providers/:
patch:
description: This endpoint temporarily blocks all authentication providers
operationId: cluster_block_providers
requestBody:
content:
application/json:
schema:
properties:
blocked:
type: boolean
type: object
x-originalParamName: ClusterBlockProvidersParams
responses:
'200':
description: ''
summary: Block Authentication Providers
tags:
- clusters
/clusters/close_open_files/:
post:
description: This endpoint closes specified files.
operationId: close_open_files
requestBody:
content:
application/json:
schema:
properties:
paths:
description: Files paths
type: object
protocol:
description: Protocol type
enum:
- SMB
type: string
tenant_id:
description: Tenant ID
type: integer
required:
- paths
- tenant_id
- protocol
type: object
x-originalParamName: CloseOpenFilesParams
responses:
'200':
content:
application/json:
schema:
properties:
async_task_ids:
items:
type: integer
type: array
type: object
description: Close files tasks
summary: Close open files
tags:
- clusters
/clusters/close_protocol_handle/:
delete:
description: This endpoint closes open protocol filehandles.
operationId: close_protocol_handle
parameters:
- description: File path
in: query
name: file_path
required: true
schema:
type: string
- description: Session ID
in: query
name: session_id
required: true
schema:
type: string
- description: Handle ID
in: query
name: session_handle_unique_id
required: true
schema:
type: string
- description: Tenant GUID
in: query
name: tenant_guid
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProtocolHandle'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: The request contains invalid data.
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Service temporarily unavailable, try again later.
summary: Close open protocol filehandles
tags:
- clusters
/clusters/dbox_migration/:
post:
description: This endpoint runs DBox migration.
operationId: dbox_migration_start
requestBody:
content:
application/json:
schema:
properties:
allow_unhealthy_raid:
description: Allow unhealthy RAID state
type: boolean
dbox_ids:
description: Source DBox ids
items:
minimum: 1
type: integer
type: array
nvram_section_layout:
description: Optional NVRAM section layout for DBox expansion
type: string
use_spare_mem:
description: Use spare mem
type: boolean
type: object
x-originalParamName: DboxMigrationParams
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DBoxMigrationResponse'
description: ''
summary: Dbox migration
tags:
- clusters
/clusters/dbox_migration_status/:
get:
description: This endpoint returns the status of DBox migration.
operationId: dbox_migration_status
parameters:
- description: The flag to show the migration status with capacity
in: query
name: with_capacity
schema:
type: boolean
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DBoxMigrationStatusResponse'
description: ''
summary: DBox migration status
tags:
- clusters
/clusters/dbox_migration_update_source_target:
get:
description: This endpoint returns the status of DBox migration validation
operationId: dbox_migration_update_source_target
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DBoxMigrationUpdateSourceTargetResponse'
description: ''
summary: Dbox migration update source target info
tags:
- clusters
patch:
description: This endpoint runs DBox migration.
operationId: dbox_migration_update_source_target
requestBody:
content:
application/json:
schema:
properties:
source_ids:
description: Source DBox ids
items:
minimum: 1
type: integer
type: array
target_ids:
description: Target DBox ids
items:
minimum: 1
type: integer
type: array
type: object
x-originalParamName: DboxMigrationUpdateSourceTargetParams
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DBoxMigrationResponse'
description: ''
summary: Dbox migration update source target
tags:
- clusters
/clusters/dbox_migration_validate/:
get:
description: This endpoint run DBox validation.
operationId: dbox_migration_validate
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DBoxMigrationValidateResponse'
description: ''
summary: DBox migration validate
tags:
- clusters
/clusters/dbox_migration_validate_state/:
get:
description: This endpoint returns the status of DBox validation.
operationId: dbox_migration_validate_state
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DBoxMigrationValidateResponse'
description: ''
summary: DBox migration validate state
tags:
- clusters
/clusters/dboxes_total_capacity/:
get:
description: This endpoint returns the total capacity with given dboxes ids
operationId: dboxes_total_capacity
parameters:
- description: DBox ids separated by comma
in: query
name: ids
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DBoxTotalCapacity'
description: ''
summary: DBoxes total capacity
tags:
- clusters
/clusters/get_shard_expansion_status/:
get:
description: This endpoint returns the status of system shard expansion.
operationId: get_shard_expansion_status
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SystemShardExpandResponse'
description: ''
summary: System shard expansion status
tags:
- clusters
/clusters/get_snapshoted_paths/:
get:
description: This endpoint returns a list of paths that are protected by snapshots.
operationId: get_snapshoted_paths
parameters:
- description: Tenant ID
in: query
name: tenant_id
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: object
description: OK
summary: Return Paths that have Snapshots
tags:
- clusters
/clusters/list_clone_snapshoted_paths_remote/:
get:
description: This endpoint returns a list of snapshots for a path on a remote replication peer.
operationId: list_clone_snapshoted_paths_remote
parameters:
- description: remote target GUID
in: query
name: remote_target_guid
required: true
schema:
type: string
- description: Provide the handle from a GET /cluster/list_snapshoted_paths_remote/ response
in: query
name: handle
required: true
schema:
type: string
- description: Start snapshot ID
in: query
name: start_snapshot_id
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: object
description: ''
summary: List snapshots on a remote replication peer
tags:
- clusters
/clusters/list_open_protocol_handles/:
get:
description: This endpoint queries open protocol filehandles.
operationId: list_open_protocol_handles
parameters:
- description: File path
in: query
name: file_path
required: true
schema:
type: string
- description: Tenant GUID
in: query
name: tenant_guid
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProtocolHandle'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: The request contains invalid data.
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Service temporarily unavailable, try again later.
summary: Query open protocol filehandles
tags:
- clusters
/clusters/list_prefetch_paths_info/:
get:
description: This endpoint lists information about prefetch paths.
operationId: list_prefetch_folders_info
responses:
'200':
content:
application/json:
schema:
properties:
prefetch_data:
items:
$ref: '#/components/schemas/ListPrefetchItem'
type: array
stale_tasks:
items:
type: integer
type: array
type: object
description: Prefetches info
summary: List Prefetch Path Information
tags:
- clusters
/clusters/list_smb_client_connections/:
get:
operationId: list_smb_client_connections
parameters:
- description: Client IP
in: query
name: client_ip
required: true
schema:
type: string
- $ref: '#/components/parameters/TenantIdQP'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SmbClientConnection'
description: ''
summary: Query SMB client connections
tags:
- clusters
/clusters/list_smb_open_files/:
get:
operationId: list_smb_open_files
parameters:
- description: File path
in: query
name: file_path
required: true
schema:
type: string
- description: Tenant GUID
in: query
name: tenant_guid
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: object
description: ''
summary: Query SMB open files
tags:
- clusters
/clusters/list_snapshoted_paths_remote/:
get:
description: This endpoint returns a list of paths that have snapshots on a remote replication peer.
operationId: list_snapshoted_paths_remote
parameters:
- description: The GUID of the remote target, which you can obtain from a GET /replicationtargets/ request
in: query
name: remote_target_guid
required: true
schema:
type: string
- description: The GUID of the remote tenant
in: query
name: remote_tenant_guid
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: object
description: ''
summary: List snapshoted paths on remote target
tags:
- clusters
/clusters/list_tenants_remote/:
get:
description: This endpoint returns the list of tenants.
operationId: list_tenants_remote
parameters:
- description: remote target GUID
in: query
name: remote_target_guid
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: object
descripti
# --- truncated at 32 KB (167 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vastdata/refs/heads/main/openapi/vastdata-clusters-api-openapi.yml