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