openapi: 3.0.1
info:
title: FlashArray REST Active Directory Vchosts API
version: '2.52'
description: 'Active Directory configuration authenticates users for NFS using Kerberos or SMB using Kerberos
or New Technology LAN Manager (NTLM). Active Directory is also used to authorize users by
mapping identities across the NFS and SMB protocols by using LDAP queries.
'
servers:
- url: /
tags:
- name: Vchosts
paths:
/api/2.52/vchosts:
get:
tags:
- Vchosts
summary: Pure Storage List Vchosts
description: 'Displays a list of vchosts.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VchostGetResponse'
post:
tags:
- Vchosts
summary: Pure Storage Create a Vchost
description: 'Creates a vchost.
The `names` query parameter is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VchostPost'
required: true
x-codegen-request-body-name: vchost
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VchostResponse'
x-codegen-request-body-name: vchost
delete:
tags:
- Vchosts
summary: Pure Storage Delete a Vchost
description: 'Deletes an existing vchost.
The `names` or `ids` query parameter is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
content: {}
patch:
tags:
- Vchosts
summary: Pure Storage Modify a Vchost
description: 'Modifies an existing vchost.
The `names` or `ids` query parameter is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VchostPatch'
required: true
x-codegen-request-body-name: vchost
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VchostResponse'
x-codegen-request-body-name: vchost
/api/2.52/vchosts/certificates:
get:
tags:
- Vchosts
summary: Pure Storage List Vchost Certificates
description: 'Displays certificates that are attached to configured vchosts on at least one endpoint.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Certificate_names'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
- $ref: '#/components/parameters/Vchost_ids'
- $ref: '#/components/parameters/Vchost_names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VchostCertificateGetResponse'
post:
tags:
- Vchosts
summary: Pure Storage Create a Vchost Certificate
description: 'Creates an association between a certificate and vchost on one or more endpoints.
The `vchost_names` or `vchost_ids` query parameter is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Vchost_ids'
- $ref: '#/components/parameters/Vchost_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VchostCertificatePost'
required: true
x-codegen-request-body-name: certificate
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VchostCertificateResponse'
x-codegen-request-body-name: certificate
delete:
tags:
- Vchosts
summary: Pure Storage Delete a Vchost Certificate
description: 'Deletes an existing vchost certificate.
The `ids` query parameter alone, or the `certificate_names`
query parameter together with one of `vchost_names` or `vchost_ids`, is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Certificate_names'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Vchost_ids'
- $ref: '#/components/parameters/Vchost_names'
responses:
'200':
description: OK
content: {}
patch:
tags:
- Vchosts
summary: Pure Storage Modify a Vchost Certificate
description: 'Modifies an existing vchost certificate.
The `ids` query parameter alone, or the `certificate_names` query parameter together
with one of `vchost_names` or `vchost_ids`, is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Certificate_names'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Vchost_ids'
- $ref: '#/components/parameters/Vchost_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VchostCertificatePatch'
required: true
x-codegen-request-body-name: certificate
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VchostCertificateResponse'
x-codegen-request-body-name: certificate
/api/2.52/vchosts/endpoints:
get:
tags:
- Vchosts
summary: Pure Storage List Vchost Endpoints
description: 'Displays a list of vchost endpoints with their associated vchosts and certificates.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Endpoints'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
- $ref: '#/components/parameters/Vchost_ids'
- $ref: '#/components/parameters/Vchost_names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VchostEndpointGetResponse'
post:
tags:
- Vchosts
summary: Pure Storage Create a Vchost Endpoint
description: 'Creates a vchost endpoint.
Either the `vchost_names` or `vchost_ids` query parameter is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Vchost_ids'
- $ref: '#/components/parameters/Vchost_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VchostEndpointPost'
required: true
x-codegen-request-body-name: endpoint
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VchostEndpointResponse'
x-codegen-request-body-name: endpoint
delete:
tags:
- Vchosts
summary: Pure Storage Delete a Vchost Endpoint
description: 'Deletes an existing vchost endpoint
The `ids` query parameter alone, or the `endpoints` query parameter together with
one of `vchost_names` or `vchost_ids`, is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Endpoints'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Vchost_ids'
- $ref: '#/components/parameters/Vchost_names'
responses:
'200':
description: OK
content: {}
patch:
tags:
- Vchosts
summary: Pure Storage Modify a Vchost Endpoint
description: 'Modifies an existing vchost endpoint.
The `ids` query parameter alone, or the `endpoints` query parameter together with
one of `vchost_names` or `vchost_ids`, is required.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Endpoints'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Vchost_ids'
- $ref: '#/components/parameters/Vchost_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VchostEndpointPatch'
required: true
x-codegen-request-body-name: endpoint
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VchostEndpointResponse'
x-codegen-request-body-name: endpoint
components:
schemas:
VchostCertificateResponse:
type: object
properties:
items:
description: 'Returns a list of all items after filtering.
If applicable, the values are displayed for each name.
'
type: array
items:
$ref: '#/components/schemas/VchostCertificate'
VchostCertificatePatch:
type: object
properties:
endpoints:
description: 'The IPv4 or IPv6 addresses of the endpoints to configure for the vchost, over which the
configured certificate will be presented.
'
type: array
items:
type: string
example: 1.2.3.4
VchostEndpointGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/VchostEndpointResponse'
VchostEndpointPatch:
type: object
properties:
certificates:
description: 'The certificate to be presented by the vchost over the configured endpoints.
'
type: array
items:
$ref: '#/components/schemas/_referenceNoIdWithType'
VchostEndpointPost:
type: object
properties:
certificates:
description: 'The certificate to be presented by the vchost over the configured endpoints.
'
type: array
items:
$ref: '#/components/schemas/_referenceNoIdWithType'
endpoint:
description: 'The IPv4 or IPv6 address of the endpoint.
'
type: string
example: 1.2.3.4
_referenceNoId:
type: object
properties:
name:
description: 'The resource name, such as volume name, pod name, snapshot name, and so on.
'
type: string
VchostEndpointResponse:
type: object
properties:
items:
description: 'Returns a list of all items after filtering.
If applicable, the values are displayed for each name.
'
type: array
items:
$ref: '#/components/schemas/VchostEndpoint'
_reference:
type: object
properties:
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified.
'
type: string
name:
description: 'The resource name, such as volume name, pod name,
snapshot name, and so on.
'
type: string
x-aliases:
- _referenceWithoutType
_resource:
description: 'An ordinary (as opposed to built-in) resource that can be created, named,
renamed or deleted by the user. This might be a virtual resource (e.g., a
file system), or correspond to something in the environment, like a host or a
server.
'
type: object
properties:
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified and cannot refer to another resource.
'
type: string
readOnly: true
name:
description: 'A user-specified name.
The name must be locally unique and can be changed.
'
type: string
Vchost:
allOf:
- $ref: '#/components/schemas/_resource'
- type: object
properties:
vcuuid:
description: 'The vCenter Server uuid of the vchost.
'
type: string
example: ddf43502-4e00-405e-b341-e87e7eaa13f6
VchostGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/VchostResponse'
VchostResponse:
type: object
properties:
items:
description: 'Returns a list of all items after filtering.
If applicable, the values are displayed for each name.
'
type: array
items:
$ref: '#/components/schemas/Vchost'
VchostCertificate:
type: object
properties:
certificate:
description: 'A reference to the certificate that will be presented to clients accessing the
referenced `vchost` using any of the network addresses defined by `endpoints`.
'
title: ReferenceNoIdWithType
allOf:
- $ref: '#/components/schemas/_referenceNoIdWithType'
endpoints:
description: 'The IPv4 or IPv6 addresses of the endpoints to configure for the vchost, over which the
configured certificate will be presented.
'
type: array
items:
type: string
example: 1.2.3.4
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified.
'
type: string
example: uuid-of-association
is_local:
description: 'Returns true if the vchost certificate is local to the array, and false otherwise.
'
type: boolean
vchost:
description: 'The vchost by which the certificate is to be presented over the configured endpoints.
'
title: ReferenceWithType
allOf:
- $ref: '#/components/schemas/_referenceWithType'
_referenceWithType:
allOf:
- $ref: '#/components/schemas/_reference'
- type: object
properties:
resource_type:
description: 'Type of the object (full name of the endpoint).
Valid values are `hosts`, `host-groups`, `network-interfaces`, `pods`,
`ports`, `pod-replica-links`, `subnets`, `volumes`, `volume-snapshots`,
`volume-groups`, `directories`, `policies/nfs`, `policies/smb`, and
`policies/snapshot`, etc.
'
type: string
x-aliases:
- _reference
VchostCertificatePost:
type: object
properties:
certificate:
description: 'The certificate to be presented by the vchost over the configured endpoints.
'
title: ReferenceNoIdWithType
allOf:
- $ref: '#/components/schemas/_referenceNoIdWithType'
endpoints:
description: 'The IPv4 or IPv6 addresses of the endpoints to configure for the vchost, over which the
configured certificate will be presented.
'
type: array
items:
type: string
example: 1.2.3.4
VchostPatch:
type: object
properties:
name:
description: 'The new name of the vchost.
'
type: string
example: vchost-b
_referenceNoIdWithType:
allOf:
- $ref: '#/components/schemas/_referenceNoId'
- type: object
properties:
resource_type:
description: 'Type of the object (full name of the endpoint).
Valid values include `hosts`, `host-groups`, `network-interfaces`, `pods`,
`ports`, `pod-replica-links`, `subnets`, `volumes`, `volume-snapshots`,
`volume-groups`, `directories`, `policies/nfs`, `policies/smb`, and
`policies/snapshot`, etc.
'
type: string
VchostCertificateGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/VchostCertificateResponse'
VchostEndpoint:
type: object
properties:
certificates:
description: 'The certificate to be presented by the vchost over the configured endpoints.
'
type: array
items:
$ref: '#/components/schemas/_referenceNoIdWithType'
endpoint:
description: 'The IPv4 or IPv6 address of the endpoint.
'
type: string
example: 1.2.3.4
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified.
'
type: string
example: 3a668af2-f63a-0110-bf4a-39e911ac6f07
is_local:
description: Returns true if the vchost endpoint is local to the array, and false otherwise.
type: boolean
vchost:
description: 'The vchost for which this endpoint is to be configured.
'
title: ReferenceWithType
allOf:
- $ref: '#/components/schemas/_referenceWithType'
VchostPost:
type: object
properties:
vcuuid:
description: 'The vCenter Server uuid of the vchost.
'
type: string
example: ddf43502-4e00-405e-b341-e87e7eaa13f6
PageInfo:
type: object
properties:
continuation_token:
description: 'Continuation token that can be provided in the `continuation_token`
query param to get the next page of data.
If you use the continuation token to page through data you
are guaranteed to get all items exactly once regardless of
how items are modified. If an item is added or deleted during
the pagination then it may or may not be returned.
The continuation token is generated if the limit is less
than the remaining number of items, and the default sort is used
(no sort is specified).
'
type: string
more_items_remaining:
description: 'Returns a value of `true` if subsequent items can be retrieved.
'
type: boolean
example: false
total_item_count:
description: 'The total number of records after applying all filter query parameters.
The `total_item_count` will be calculated if and only if the corresponding
query parameter `total_item_count` is set to `true`. If this query parameter
is not set or set to `false`, a value of `null` will be returned.
'
type: integer
format: int32
parameters:
Offset:
name: offset
in: query
description: 'The starting position based on the results of the query
in relation to the full set of response objects returned.
'
schema:
type: integer
format: int32
minimum: 0
example: 10
Filter:
name: filter
in: query
description: 'Narrows down the results to only the response objects
that satisfy the filter criteria.
'
schema:
type: string
Certificate_names:
name: certificate_names
in: query
description: 'The names of one or more certificates.
Enter multiple names in comma-separated format.
For example, `cert01,cert02`.
'
style: form
explode: false
schema:
type: array
items:
type: string
Continuation_token:
name: continuation_token
in: query
description: 'A token used to retrieve the next page of data
with some consistency guaranteed.
The token is a Base64 encoded value.
Set `continuation_token` to the system-generated token taken from the `x-next-token`
header field of the response.
A query has reached its last page when the response does not include a token.
Pagination requires the `limit` and `continuation_token`
query parameters.
'
schema:
type: string
Vchost_names:
name: vchost_names
in: query
description: 'Performs the operation on the unique vchost name specified.
Enter multiple names in a comma-separated format.
For example, `vchost01,vchost02`.
'
style: form
explode: false
schema:
type: array
items:
type: string
XRequestId:
name: X-Request-ID
in: header
description: 'Supplied by client during request or generated by server.
'
schema:
type: string
Limit:
name: limit
in: query
description: 'Limits the size of the response to the specified number of objects on each page.
To return the total number of resources, set `limit=0`.
The total number of resources is returned as a `total_item_count` value.
If the page size requested is larger than the system maximum limit,
the server returns the maximum limit, disregarding the requested page size.
'
schema:
type: integer
format: int32
minimum: 0
example: 10
Authorization:
name: Authorization
in: header
description: 'Access token (in JWT format) required to use any API
endpoint (except `/oauth2`, `/login`, and `/logout`)
'
schema:
type: string
Names:
name: names
in: query
description: 'Performs the operation on the unique names specified.
Enter multiple names in comma-separated format.
For example, `name01,name02`.
If there is not at least one resource that matches
each of the elements of `names`, then an error is returned,
except when creating new resources.
'
style: form
explode: false
schema:
type: array
items:
type: string
Endpoints:
name: endpoints
in: query
description: 'Performs the operation on the unique endpoints specified.
Enter multiple endpoints in a comma-separated format.
'
style: form
explode: false
schema:
type: array
items:
type: string
Ids:
name: ids
in: query
description: "A comma-separated list of unique resource IDs. At least one resource must match\n each specified ID, otherwise an error is returned. This parameter is required\n if ids or names is not provided, but it cannot be used together with name or names.\n"
style: form
explode: false
schema:
type: array
items:
type: string
Vchost_ids:
name: vchost_ids
in: query
description: 'Performs the operation on the unique vchost IDs specified.
Enter multiple vchost IDs in a comma-separated format.
For example, `vchostid01,vchostid02`.
'
style: form
explode: false
schema:
type: array
items:
type: string
Total_item_count:
name: total_item_count
in: query
description: 'If set to `true`, the `total_item_count` matching the
specified query parameters is calculated and returned in
the response. If set to `false`, the `total_item_count`
is `null` in the response. This may speed up queries
where the `total_item_count` is large. If not specified,
defaults to `false`.
'
schema:
type: boolean
Sort:
name: sort
in: query
description: "Sorts the response objects by the specified fields. Sorting can be applied to any field name\n in the response, in ascending order by default, or in descending order by prefixing the\n field name with a minus sign (-). Multiple fields can be specified as a comma-separated\n list (e.g., sort volumes by size descending, then by name ascending). If sort is provided,\n the response will not include a continuation_token.\n"
style: form
explode: false
schema:
type: array
items:
pattern: ^[a-z]+(_[a-z]+)*-?
type: string