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.

OpenAPI Specification

vastdata-clusters-api-openapi.yml Raw ↑
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