openapi: 3.0.1
info:
title: FlashArray REST Active Directory Policies - Network Access 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: Policies - Network Access
description: Manages network access policies. These policies are composed of rules which govern a client's ability to access different product interfaces.
paths:
/api/2.26/network-access-policies:
get:
tags:
- Policies - Network Access
summary: Pure Storage GET Network-access-policies
description: Displays a list of network access policies.
parameters:
- $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'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkAccessPolicyGetResponse'
patch:
tags:
- Policies - Network Access
summary: Pure Storage PATCH Network-access-policies
description: Modify an existing network access policy's attributes.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Versions'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkAccessPolicy'
required: true
x-codegen-request-body-name: policy
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkAccessPolicyResponse'
x-codegen-request-body-name: policy
/api/2.26/network-access-policies/members:
get:
tags:
- Policies - Network Access
summary: Pure Storage GET Network-access-policies/members
description: 'List network access policies mapped to different configurations on the array.
'
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Member_ids'
- $ref: '#/components/parameters/Member_names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
- $ref: '#/components/parameters/Sort'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyMemberGetResponse'
/api/2.26/network-access-policies/rules:
get:
tags:
- Policies - Network Access
summary: Pure Storage GET Network-access-policies/rules
description: Displays a list of network access policy rules.
parameters:
- $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/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
- $ref: '#/components/parameters/Sort'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkAccessPolicyRuleGetResponse'
post:
tags:
- Policies - Network Access
summary: Pure Storage POST Network-access-policies/rules
description: 'Create a new network access policy rule.
Either `policy_ids` or `policy_names` parameter is required.
'
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Before_rule_id'
- $ref: '#/components/parameters/Before_rule_name'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
- $ref: '#/components/parameters/Versions'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkAccessPolicyRulePost'
required: true
x-codegen-request-body-name: rule
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkAccessPolicyRuleResponse'
x-codegen-request-body-name: rule
delete:
tags:
- Policies - Network Access
summary: Pure Storage DELETE Network-access-policies/rules
description: Delete one or more network access policy rules.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Versions'
responses:
'200':
description: OK
content: {}
patch:
tags:
- Policies - Network Access
summary: Pure Storage PATCH Network-access-policies/rules
description: Modify an existing network access policy rule.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Before_rule_id'
- $ref: '#/components/parameters/Before_rule_name'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Versions'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkAccessPolicyRule'
required: true
x-codegen-request-body-name: rule
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkAccessPolicyRuleResponse'
x-codegen-request-body-name: rule
components:
parameters:
Versions:
name: versions
in: query
description: 'A comma-separated list of versions. This is an optional query param used for concurrency control.
The ordering should match the names or ids query param.
This will fail with a 412 Precondition failed if the resource was changed and the current
version of the resource doesn''t match the value in the query param.
'
style: form
explode: false
schema:
type: array
items:
type: string
Offset:
name: offset
in: query
description: 'The offset of the first resource to return from a collection.
'
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
Before_rule_name:
name: before_rule_name
in: query
description: 'The name of the rule to insert or move a rule before.
This cannot be provided together with the `before_rule_id` query parameter.
'
schema:
type: string
Before_rule_id:
name: before_rule_id
in: query
description: 'The id of the rule to insert or move a rule before.
This cannot be provided together with the `before_rule_name` query parameter.
'
schema:
type: string
Policy_ids:
name: policy_ids
in: query
description: 'A comma-separated list of policy IDs.
If after filtering, there is not at least one resource that matches
each of the elements of `policy_ids`, then an error is returned.
This cannot be provided together with the `policy_names` query parameter.
'
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
Policy_names:
name: policy_names
in: query
description: 'A comma-separated list of policy names.
'
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
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
Member_ids:
name: member_ids
in: query
description: 'A comma-separated list of member IDs.
If after filtering, there is not at least one resource that matches
each of the elements of `member_ids`, then an error is returned.
This cannot be provided together with the `member_names` query parameter.
'
style: form
explode: false
schema:
type: array
items:
type: string
Member_names:
name: member_names
in: query
description: 'A comma-separated list of member names.
'
style: form
explode: false
schema:
type: array
items:
type: string
Ids:
name: ids
in: query
description: 'A comma-separated list of resource IDs.
If after filtering, there is not at least one resource that matches
each of the elements of `ids`, then an error is returned.
This cannot be provided together with the `name` or `names` query parameters.
'
style: form
explode: false
schema:
type: array
items:
type: string
Sort:
name: sort
in: query
description: 'Sort the response by the specified fields (in descending order if ''-''
is appended to the field name).
NOTE: If you provide a sort you will not get a `continuation_token` in
the response.
'
style: form
explode: false
schema:
type: array
items:
pattern: ^[a-z]+(_[a-z]+)*-?
type: string
schemas:
NetworkAccessPolicyRuleGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/NetworkAccessPolicyRuleResponse'
NetworkAccessPolicyRuleInPolicy:
allOf:
- $ref: '#/components/schemas/NetworkAccessPolicyRuleBase'
- $ref: '#/components/schemas/_policyRuleIndexInPolicy'
NetworkAccessPolicyResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/NetworkAccessPolicy'
_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
NetworkAccessPolicyRule:
allOf:
- $ref: '#/components/schemas/NetworkAccessPolicyRuleBase'
- $ref: '#/components/schemas/_policyRuleIndex'
_fixedReferenceWithoutType:
type: object
properties:
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified.
'
type: string
readOnly: true
name:
description: 'The resource name, such as volume name, file system name,
snapshot name, and so on.
'
type: string
readOnly: true
x-readOnly: true
NetworkAccessPolicyGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/NetworkAccessPolicyResponse'
NetworkAccessPolicyRulePost:
allOf:
- $ref: '#/components/schemas/NetworkAccessPolicyRulePostBase'
- $ref: '#/components/schemas/_policyRuleIndex'
NetworkAccessPolicyRuleResponse:
type: object
properties:
items:
description: 'Displays a list of all items after filtering.
'
type: array
items:
$ref: '#/components/schemas/NetworkAccessPolicyRule'
NetworkAccessPolicy:
allOf:
- $ref: '#/components/schemas/PolicyBaseRenameable'
- $ref: '#/components/schemas/_version'
- type: object
properties:
rules:
description: 'All of the rules that are part of this policy. The order is the
evaluation order.
If a client does not match any rule in the policy for the interface that
they are attempting to access, the default is to deny access.
'
type: array
maxItems: 200
items:
$ref: '#/components/schemas/NetworkAccessPolicyRuleInPolicy'
NetworkAccessPolicyRuleBase:
allOf:
- $ref: '#/components/schemas/_builtIn'
- type: object
properties:
client:
description: 'Specifies the clients that will be permitted or denied access to the interface.
Accepted notations include a single IP address, subnet in CIDR notation,
or all clients (specified as `*`).
The default value is `*` if not specified.
'
type: string
example: 1.2.3.4
effect:
description: 'If set to `allow`, the specified client will be permitted to access the specified
interfaces. If set to `deny`, the specified client will be denied access to them.
Valid values include `allow` and `deny`.
'
type: string
interfaces:
description: 'Specifies which product interfaces this rule applies to, whether it is
permitting or denying access. Valid values include `management-ssh`,
`management-rest-api`, `management-web-ui`, `snmp`, and
`local-network-superuser-password-access`.
'
type: array
maxItems: 5
items:
type: string
policy:
description: The policy to which this rule belongs.
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
policy_version:
description: 'The policy''s version. This can be used when updating the
resource to ensure there aren''t any updates to the policy since the resource was read.
'
type: string
readOnly: true
_builtIn:
type: object
properties:
id:
description: 'A non-modifiable, globally unique ID chosen by the system.
'
type: string
readOnly: true
name:
description: Name of the object (e.g., a file system or snapshot).
type: string
readOnly: true
PolicyMemberGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/PolicyMemberResponse'
PolicyMemberResponse:
type: object
properties:
items:
description: A list of members for policies.
type: array
items:
$ref: '#/components/schemas/PolicyMember'
PolicyBaseRenameable:
allOf:
- $ref: '#/components/schemas/_resource'
- $ref: '#/components/schemas/_realmsReference'
- type: object
properties:
enabled:
description: 'If `true`, the policy is enabled. If not specified, defaults to `true`.
'
type: boolean
is_local:
description: Whether the policy is defined on the local array.
type: boolean
readOnly: true
location:
description: Reference to the array where the policy is defined.
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
policy_type:
description: 'Type of the policy. Valid values include `alert`, `audit`, `bucket-access`,
`cross-origin-resource-sharing`, `network-access`, `nfs`, `object-access`,
`s3-export`, smb-client`, `smb-share`, `ssh-certificate-authority`, and
`telemetry-metrics`.
'
type: string
readOnly: true
_policyRuleIndex:
type: object
properties:
index:
description: 'The index within the policy. The `index` indicates the order the rules are evaluated.
NOTE: It is recommended to use the query param `before_rule_id` to do reordering to
avoid concurrency issues, but changing `index` is also supported. `index` can not be
changed if `before_rule_id` or `before_rule_name` are specified.
'
type: integer
format: int32
_realmsReference:
type: object
properties:
realms:
description: 'Reference to the realms this resource belongs to.
The value is set to empty array when the resource
lives outside of a realm.
'
type: array
readOnly: true
items:
$ref: '#/components/schemas/_fixedReference'
_fixedReference:
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithoutType'
- type: object
properties:
resource_type:
description: 'Type of the object (full name of the endpoint).
Valid values are the unique part of the resource''s REST endpoint.
For example, a reference to a file system would have a
`resource_type` of `file-systems`.
'
type: string
readOnly: true
NetworkAccessPolicyRulePostBase:
allOf:
- $ref: '#/components/schemas/_builtIn'
- type: object
properties:
client:
description: 'Specifies the clients that will be permitted or denied access to the interface.
Accepted notations include a single IP address, subnet in CIDR notation,
or all clients (specified as `*`).
The default value is `*` if not specified.
'
type: string
example: 1.2.3.4
effect:
description: 'If set to `allow`, the specified client will be permitted to access the specified
interfaces. If set to `deny`, the specified client will be denied access to them.
Valid values include `allow` and `deny`.
The default value is `allow` if not specified.
'
type: string
interfaces:
description: 'Specifies which product interfaces this rule applies to, whether it is
permitting or denying access. Valid values include `management-ssh`,
`management-rest-api`, `management-web-ui`, `snmp`, and
`local-network-superuser-password-access`.
'
type: array
maxItems: 5
items:
type: string
_policyRuleIndexInPolicy:
type: object
properties:
index:
description: 'The index within the policy. The `index` indicates the order the rules are evaluated.
'
type: integer
format: int32
readOnly: true
_version:
type: object
properties:
version:
description: 'A hash of the other properties of this resource. This can be used when
updating the resource to ensure there aren''t any updates since the
resource was read.
'
type: string
readOnly: true
PolicyMember:
type: object
properties:
member:
description: Reference to the resource the policy is applied to.
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
policy:
description: Reference to the policy.
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
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
total_item_count:
description: Total number of items after applying `filter` params.
type: integer
format: int32