VAST Data qospolicies API
Quality of Service policies enable you to define quality of service per view. Quality of service policies can set maximum limits on read and write bandwidth and IOPS per view.
Quality of Service policies enable you to define quality of service per view. Quality of service policies can set maximum limits on read and write bandwidth and IOPS per view.
openapi: 3.0.3
info:
description: VAST Management API definition
title: VAST API Swagger Schema activedirectory qospolicies API
version: '1.0'
security:
- ApiToken: []
tags:
- description: Quality of Service policies enable you to define quality of service per view. Quality of service policies can set maximum limits on read and write bandwidth and IOPS per view.
name: qospolicies
paths:
/qospolicies/:
get:
description: This endpoint lists QoS policies.
operationId: qospolicies_list
parameters:
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/PageSize'
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/QOSPolicy'
title: QoS Policy
type: array
description: QoS Policies information
summary: List QoS Policies
tags:
- qospolicies
post:
description: This endpoint creates a QoS policy.
operationId: qospolicies_create
requestBody:
content:
application/json:
schema:
properties:
attached_iam_roles:
description: List of IAM Roles IDs which should be attached to that QOS Policy
items:
type: integer
type: array
attached_users:
description: The users to which to attach the policy, for a user QOS policy
items:
$ref: '#/components/schemas/AttachedUser'
type: array
capacity_limits:
$ref: '#/components/schemas/RequestQOSDynamicLimits'
capacity_total_limits:
$ref: '#/components/schemas/RequestQOSDynamicTotalLimits'
is_default:
description: Is default User QOS Policy
type: boolean
is_gold:
description: Grants priority QoS over views that do not have this setting enabled.
type: boolean
limit_by:
description: Specifies which performance parameter(s) are limited by the policy. BW_IOPS=The policy limits service according to bandwidth (BW) and IO per second (IOPS). BW=The policy limits service according to BW only. IOPS=The policy limits service according to IOPS only.
enum:
- BW
- IOPS
- BW_IOPS
type: string
mode:
description: QoS provisioning mode
enum:
- STATIC
- USED_CAPACITY
- PROVISIONED_CAPACITY
type: string
name:
type: string
policy_type:
description: QOS Policy type
enum:
- VIEW
- USER
- VOLUME
type: string
s3_connections_limit:
description: Maximum number of allowed S3 connections, 0 means unlimited
type: integer
static_limits:
$ref: '#/components/schemas/RequestQOSStaticLimits'
static_total_limits:
$ref: '#/components/schemas/RequestQOSStaticTotalLimits'
tenant_id:
description: Tenant ID
type: integer
use_total_limits:
description: If true - total limits are used instead of separate read/write limits.
type: boolean
required:
- name
type: object
x-originalParamName: QOSPolicyCreateParams
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/QOSPolicy'
description: Created QoS Policy information
summary: Create QoS Policy
tags:
- qospolicies
/qospolicies/{id}/:
delete:
description: This endpoint deletes a QoS policy
operationId: qospolicies_delete
parameters:
- $ref: '#/components/parameters/QOSPolicyId'
responses:
'204':
description: Deleted
summary: Delete QoS Policy
tags:
- qospolicies
get:
description: This endpoint returns details of a specified QoS policy
operationId: qospolicies_read
parameters:
- $ref: '#/components/parameters/QOSPolicyId'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/QOSPolicy'
description: QoS Policy information
summary: Return Details of QoS Policy
tags:
- qospolicies
patch:
description: This endpoint modifies a specified QoS policy.
operationId: qospolicies_partial_update
parameters:
- $ref: '#/components/parameters/QOSPolicyId'
requestBody:
content:
application/json:
schema:
properties:
attached_iam_roles:
description: List of IAM Roles IDs which should be attached to that QOS Policy enabled
items:
type: integer
type: array
attached_users:
description: The users to which to attach the policy, for a user QOS policy
items:
$ref: '#/components/schemas/AttachedUser'
type: array
capacity_limits:
$ref: '#/components/schemas/RequestQOSDynamicLimits'
capacity_total_limits:
$ref: '#/components/schemas/RequestQOSDynamicTotalLimits'
is_default:
description: Is default User QOS Policy
type: boolean
is_gold:
description: Grants priority QoS over views that do not have this setting enabled.
type: boolean
limit_by:
description: Specifies which performance parameter(s) are limited by the policy. BW_IOPS=The policy limits service according to bandwidth (BW) and IO per second (IOPS). BW=The policy limits service according to BW only. IOPS=The policy limits service according to IOPS only.
enum:
- BW
- IOPS
- BW_IOPS
type: string
mode:
description: QoS provisioning mode
enum:
- STATIC
- USED_CAPACITY
- PROVISIONED_CAPACITY
type: string
s3_connections_limit:
description: Maximum number of allowed S3 connections, 0 means unlimited
type: integer
static_limits:
$ref: '#/components/schemas/RequestQOSStaticLimits'
static_total_limits:
$ref: '#/components/schemas/RequestQOSStaticTotalLimits'
use_total_limits:
description: If true - total limits are used instead of separate read/write limits.
type: boolean
type: object
x-originalParamName: QOSPolicyModifyParams
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/QOSPolicy'
description: Updated QoS Policy information
summary: Modify QoS Policy
tags:
- qospolicies
components:
parameters:
Page:
in: query
name: page
schema:
minimum: 1
type: integer
QOSPolicyId:
in: path
name: id
required: true
schema:
minimum: 1
type: integer
PageSize:
in: query
name: page_size
schema:
minimum: 1
type: integer
schemas:
RequestQOSStaticTotalLimits:
properties:
burst_bw_mb:
default: 0
description: Burst BW Mb
minimum: 0
type: integer
burst_iops:
default: 0
description: Burst IOPS
minimum: 0
type: integer
burst_loan_iops:
default: 0
description: Burst loan IOPS
minimum: 0
type: integer
burst_loan_mb:
default: 0
description: Burst loan Mb
minimum: 0
type: integer
max_bw_mbps:
default: 0
description: Maximal BW Mb/s
minimum: 0
type: integer
max_iops:
default: 0
description: Maximal IOPS
minimum: 0
type: integer
min_bw_mbps:
default: 0
description: Minimal BW Mb/s
minimum: 0
type: integer
min_iops:
default: 0
description: Minimal IOPS
minimum: 0
type: integer
type: object
QOSStaticLimits:
allOf:
- $ref: '#/components/schemas/TruncatedQOSStaticLimits'
- properties:
min_reads_bw_mbps:
default: 0
description: Minimal amount of performance to provide when there is resource contention
minimum: 0
type: integer
min_reads_iops:
default: 0
description: Minimal amount of performance to provide when there is resource contention
minimum: 0
type: integer
min_writes_bw_mbps:
default: 0
description: Minimal amount of performance to provide when there is resource contention
minimum: 0
type: integer
min_writes_iops:
default: 0
description: Minimal amount of performance to provide when there is resource contention
minimum: 0
type: integer
required:
- min_reads_bw_mbps
- min_writes_bw_mbps
- min_reads_iops
- min_writes_iops
type: object
RequestQOSDynamicTotalLimits:
properties:
max_bw_mbps_per_gb_capacity:
default: 0
description: Maximal amount of performance per GB to provide when there is no resource contention
minimum: 0
type: integer
max_iops_per_gb_capacity:
default: 0
description: Maximal amount of performance per GB to provide when there is no resource contention
minimum: 0
type: integer
type: object
RequestQOSDynamicLimits:
description: 'Performance limits per unit of either used logical capacity or provisioned capacity, depending on the mode. Units are stated per limit. Valid values: 0-4294967296. 0 means unlimited.'
properties:
max_reads_bw_mbps_per_gb_capacity:
default: 0
description: Maximal amount of performance per GB to provide when there is no resource contention
minimum: 0
type: integer
max_reads_iops_per_gb_capacity:
default: 0
description: Maximal amount of performance per GB to provide when there is no resource contention
minimum: 0
type: integer
max_writes_bw_mbps_per_gb_capacity:
default: 0
description: Maximal amount of performance per GB to provide when there is no resource contention
minimum: 0
type: integer
max_writes_iops_per_gb_capacity:
default: 0
description: Maximal amount of performance per GB to provide when there is no resource contention
minimum: 0
type: integer
type: object
TruncatedQOSStaticLimits:
properties:
burst_reads_bw_mb:
default: 0
description: Burst reads BW Mb
minimum: 0
type: integer
burst_reads_iops:
default: 0
description: Burst reads IOPS
minimum: 0
type: integer
burst_reads_loan_iops:
default: 0
description: Burst reads loan IOPS
minimum: 0
type: integer
burst_reads_loan_mb:
default: 0
description: Burst reads loan Mb
minimum: 0
type: integer
burst_writes_bw_mb:
default: 0
description: Burst writes BW Mb
minimum: 0
type: integer
burst_writes_iops:
default: 0
description: Burst writes IOPS
minimum: 0
type: integer
burst_writes_loan_iops:
default: 0
description: Burst writes loan IOPS
minimum: 0
type: integer
burst_writes_loan_mb:
default: 0
description: Burst writes loan Mb
minimum: 0
type: integer
max_reads_bw_mbps:
default: 0
description: Maximal amount of performance to provide when there is no resource contention
minimum: 0
type: integer
max_reads_iops:
default: 0
description: Maximal amount of performance to provide when there is no resource contention
minimum: 0
type: integer
max_writes_bw_mbps:
default: 0
description: Maximal amount of performance to provide when there is no resource contention
minimum: 0
type: integer
max_writes_iops:
default: 0
description: Maximal amount of performance to provide when there is no resource contention
minimum: 0
type: integer
required:
- max_reads_bw_mbps
- max_writes_bw_mbps
- max_reads_iops
- max_writes_iops
- burst_reads_bw_mb
- burst_writes_bw_mb
- burst_reads_loan_mb
- burst_writes_loan_mb
- burst_reads_iops
- burst_writes_iops
- burst_reads_loan_iops
- burst_writes_loan_iops
type: object
AttachedUser:
properties:
fqdn:
description: The Fully Qualified Domain Name (FQDN) of the user's domain.
type: string
identifier_type:
description: The attribute used to identify the user.
enum:
- sid_str
- uid
- username
type: string
identifier_value:
description: The value of the identifying attribute for the user. Must be of the attribute specified as identifier_type.
type: string
label:
description: A label for the user
type: string
name:
description: User's name
type: string
required:
- name
- identifier_type
- identifier_value
- fqdn
type: object
QOSDynamicLimits:
properties:
max_reads_bw_mbps_per_gb_capacity:
default: 0
description: Maximal amount of performance per GB to provide when there is no resource contention
minimum: 0
type: integer
max_reads_iops_per_gb_capacity:
default: 0
description: Maximal amount of performance per GB to provide when there is no resource contention
minimum: 0
type: integer
max_writes_bw_mbps_per_gb_capacity:
default: 0
description: Maximal amount of performance per GB to provide when there is no resource contention
minimum: 0
type: integer
max_writes_iops_per_gb_capacity:
default: 0
description: Maximal amount of performance per GB to provide when there is no resource contention
minimum: 0
type: integer
required:
- max_reads_bw_mbps_per_gb_capacity
- max_writes_bw_mbps_per_gb_capacity
- max_reads_iops_per_gb_capacity
- max_writes_iops_per_gb_capacity
type: object
RequestQOSStaticLimits:
allOf:
- $ref: '#/components/schemas/RequestTruncatedQOSStaticLimits'
- properties:
min_reads_bw_mbps:
default: 0
description: Minimal amount of performance to provide when there is resource contention
minimum: 0
type: integer
min_reads_iops:
default: 0
description: Minimal amount of performance to provide when there is resource contention
minimum: 0
type: integer
min_writes_bw_mbps:
default: 0
description: Minimal amount of performance to provide when there is resource contention
minimum: 0
type: integer
min_writes_iops:
default: 0
description: Minimal amount of performance to provide when there is resource contention
minimum: 0
type: integer
type: object
RequestTruncatedQOSStaticLimits:
description: 'Performance limits per view. Maximum limits define maximum provisioning in the absence of resource contention. Valid values: 0-4294967296. 0 means unlimited.'
properties:
burst_reads_bw_mb:
default: 0
description: Burst reads BW Mb
minimum: 0
type: integer
burst_reads_iops:
default: 0
description: Burst reads IOPS
minimum: 0
type: integer
burst_reads_loan_iops:
default: 0
description: Burst reads loan IOPS
minimum: 0
type: integer
burst_reads_loan_mb:
default: 0
description: Burst reads loan Mb
minimum: 0
type: integer
burst_writes_bw_mb:
default: 0
description: Burst writes BW Mb
minimum: 0
type: integer
burst_writes_iops:
default: 0
description: Burst writes IOPS
minimum: 0
type: integer
burst_writes_loan_iops:
default: 0
description: Burst writes loan IOPS
minimum: 0
type: integer
burst_writes_loan_mb:
default: 0
description: Burst writes loan Mb
minimum: 0
type: integer
max_reads_bw_mbps:
default: 0
description: Maximal amount of performance to provide when there is no resource contention
minimum: 0
type: integer
max_reads_iops:
default: 0
description: Maximal amount of performance to provide when there is no resource contention
minimum: 0
type: integer
max_writes_bw_mbps:
default: 0
description: Maximal amount of performance to provide when there is no resource contention
minimum: 0
type: integer
max_writes_iops:
default: 0
description: Maximal amount of performance to provide when there is no resource contention
minimum: 0
type: integer
type: object
QOSPolicy:
properties:
attached_users:
description: The users to which to attach the policy, for a user QOS policy
items:
$ref: '#/components/schemas/AttachedUser'
type: array
capacity_limits:
$ref: '#/components/schemas/QOSDynamicLimits'
capacity_total_limits:
$ref: '#/components/schemas/RequestQOSDynamicTotalLimits'
guid:
description: QoS Policy guid
type: string
id:
type: integer
x-cli-header: ID
io_size_bytes:
description: 'Sets the size of IO for static and capacity limit definitions. The number of IOs per request is obtained by dividing request size by IO size. Default: 64K, Recommended range: 4K - 1M'
type: integer
is_default:
description: Is default User QOS Policy
type: boolean
is_gold:
description: Grants priority QoS over views that do not have this setting enabled.
type: boolean
limit_by:
description: Specifies which performance parameter(s) are limited by the policy. BW_IOPS=The policy limits service according to bandwidth (BW) and IO per second (IOPS). BW=The policy limits service according to BW only. IOPS=The policy limits service according to IOPS only.
enum:
- BW
- IOPS
- BW_IOPS
type: string
mode:
description: The mode of provisioning quality of service per view. STATIC=read and/or write BW and/or IOPS may be limited to a set maximum limit. USED_CAPACITY=BW and IOPS may be limited set per unit of used logical capacity. Static limits are also configurable and define boundaries of performance allowance. PROVISIONED_CAPACITY=BW and IOPS may be limited per unit of logical capacity, as provisioned by the soft limit of a quota on the view path. Static limits are also configurable and define boundaries of performance allowance.
enum:
- STATIC
- USED_CAPACITY
- PROVISIONED_CAPACITY
type: string
name:
type: string
policy_type:
description: QOS Policy type - VIEW or USER
enum:
- VIEW
- USER
- VOLUME
type: string
s3_connections_limit:
description: Maximum number of allowed S3 connections, 0 means unlimited
type: integer
static_limits:
$ref: '#/components/schemas/QOSStaticLimits'
static_total_limits:
$ref: '#/components/schemas/RequestQOSStaticTotalLimits'
tenant_id:
description: Tenant ID
type: integer
tenant_name:
description: Tenant Name
type: string
use_total_limits:
description: If true - total limits are used instead of separate read/write limits.
type: boolean
required:
- name
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