Pure Storage Object Store Roles API

Manages the roles assumable by external federated entity. Each role is assigned a trust policy that determines which identity provider authorizes the entities and how.

Documentation

Specifications

Code Examples

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-array-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-volume-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-host-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flasharray-rest-api-array-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flasharray-rest-api-volume-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-file-system-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-bucket-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-array-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flashblade-rest-api-file-system-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flashblade-rest-api-bucket-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-array-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-metric-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-alert-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/pure1-cloud-api-array-structure.json

Other Resources

🔗
SDKs
https://pypi.org/project/py-pure-client/
🔗
SDKs
https://github.com/PureStorage-OpenConnect/PureStorage.Pure1
🔗
SDKs
https://github.com/PureStorage-OpenConnect/powershell-toolkit-3
🔗
SDKs
https://github.com/PureStorage-OpenConnect/rest-client
🔗
Integrations
https://github.com/PureStorage-OpenConnect/terraform-provider-flash
🔗
Integrations
https://github.com/PureStorage-OpenConnect/pure-fa-openmetrics-exporter
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-flasharray-rest-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flasharray-rest-api-volume-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flasharray-rest-api-array-example.json
🔗
SDKs
https://github.com/PureStorage-OpenConnect/flashblade-powershell
🔗
SDKs
https://github.com/purestorage/purity_fb_python_client
🔗
Integrations
https://github.com/PureStorage-OpenConnect/pure-fb-openmetrics-exporter
🔗
Tools
https://github.com/PureStorage-OpenConnect/flashblade-mcp-server
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-flashblade-rest-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flashblade-rest-api-file-system-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flashblade-rest-api-bucket-example.json
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-pure1-cloud-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/pure1-cloud-api-array-example.json

OpenAPI Specification

pure-storage-object-store-roles-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: FlashArray REST Active Directory Object Store Roles 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: Object Store Roles
  description: Manages the roles assumable by external federated entity. Each role is assigned a trust policy that determines which identity provider authorizes the entities and how.
paths:
  /api/2.26/object-store-roles:
    get:
      tags:
      - Object Store Roles
      summary: Pure Storage GET Object-store-roles
      description: List object store roles and their attributes.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $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/ObjectStoreRoleGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStoreRoleGetResponse'
    post:
      tags:
      - Object Store Roles
      summary: Pure Storage POST Object-store-roles
      description: Create new object store roles.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Names_required'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectStoreRolePost'
        required: true
        x-codegen-request-body-name: object-store-role
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStoreRoleResponse'
      x-codegen-request-body-name: object-store-role
    delete:
      tags:
      - Object Store Roles
      summary: Pure Storage DELETE Object-store-roles
      description: Delete existing object store roles.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Names'
      responses:
        '200':
          description: OK
          content: {}
    patch:
      tags:
      - Object Store Roles
      summary: Pure Storage PATCH Object-store-roles
      description: Modify existing object store roles.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Names'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectStoreRole'
        required: true
        x-codegen-request-body-name: object-store-role
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStoreRoleResponse'
      x-codegen-request-body-name: object-store-role
  /api/2.26/object-store-roles/object-store-access-policies:
    get:
      tags:
      - Object Store Roles
      summary: Pure Storage GET Object-store-roles/object-store-access-policies
      description: List object store roles and their access policies.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $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
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyMemberContextGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyMemberContextGetResponse'
    post:
      tags:
      - Object Store Roles
      summary: Pure Storage POST Object-store-roles/object-store-access-policies
      description: Grant access policies to an object store role.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Member_ids'
      - $ref: '#/components/parameters/Member_names'
      - $ref: '#/components/parameters/Policy_ids'
      - $ref: '#/components/parameters/Policy_names'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyMemberContextResponse'
    delete:
      tags:
      - Object Store Roles
      summary: Pure Storage DELETE Object-store-roles/object-store-access-policies
      description: Revoke an object store role's access policy.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Member_ids'
      - $ref: '#/components/parameters/Member_names'
      - $ref: '#/components/parameters/Policy_ids'
      - $ref: '#/components/parameters/Policy_names'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content: {}
  /api/2.26/object-store-roles/object-store-trust-policies:
    get:
      tags:
      - Object Store Roles
      summary: Pure Storage GET Object-store-roles/object-store-trust-policies
      description: List object store roles and their trust policies.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Object_store_role_ids'
      - $ref: '#/components/parameters/Object_store_role_names'
      - $ref: '#/components/parameters/Sort'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStoreTrustPolicyGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStoreTrustPolicyGetResponse'
  /api/2.26/object-store-roles/object-store-trust-policies/download:
    get:
      tags:
      - Object Store Roles
      summary: Pure Storage GET Object-store-roles/object-store-trust-policies/download
      description: Download object store roles and their trust policies in native AWS format.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Object_store_role_ids'
      - $ref: '#/components/parameters/Object_store_role_names'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStoreTrustPolicyIam'
  /api/2.26/object-store-roles/object-store-trust-policies/upload:
    patch:
      tags:
      - Object Store Roles
      summary: Pure Storage PATCH Object-store-roles/object-store-trust-policies/upload
      description: Upload object store roles and their trust policies in native AWS format.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Object_store_role_ids'
      - $ref: '#/components/parameters/Object_store_role_names'
      requestBody:
        description: The trust policy document to upload.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectStoreTrustPolicyIam'
        required: true
        x-codegen-request-body-name: policy_document
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStoreTrustPolicyResponse'
      x-codegen-request-body-name: policy_document
  /api/2.26/object-store-roles/object-store-trust-policies/rules:
    get:
      tags:
      - Object Store Roles
      summary: Pure Storage GET Object-store-roles/object-store-trust-policies/rules
      description: List trust policy rules and their attributes.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Indices'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Policy_names'
      - $ref: '#/components/parameters/Object_store_role_ids'
      - $ref: '#/components/parameters/Object_store_role_names'
      - $ref: '#/components/parameters/Sort'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStoreTrustPolicyRuleGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStoreTrustPolicyRuleGetResponse'
    post:
      tags:
      - Object Store Roles
      summary: Pure Storage POST Object-store-roles/object-store-trust-policies/rules
      description: Create a new trust policy rule.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Policy_names'
      - $ref: '#/components/parameters/Object_store_role_ids'
      - $ref: '#/components/parameters/Object_store_role_names'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrustPolicyRulePost'
        required: true
        x-codegen-request-body-name: rule
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStoreTrustPolicyRuleResponse'
      x-codegen-request-body-name: rule
    delete:
      tags:
      - Object Store Roles
      summary: Pure Storage DELETE Object-store-roles/object-store-trust-policies/rules
      description: Delete one or more trust policy rules.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Indices'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Policy_names'
      - $ref: '#/components/parameters/Object_store_role_ids'
      - $ref: '#/components/parameters/Object_store_role_names'
      responses:
        '200':
          description: OK
          content: {}
    patch:
      tags:
      - Object Store Roles
      summary: Pure Storage PATCH Object-store-roles/object-store-trust-policies/rules
      description: Modify a trust policy rule's attributes.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Indices'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Policy_names'
      - $ref: '#/components/parameters/Object_store_role_ids'
      - $ref: '#/components/parameters/Object_store_role_names'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrustPolicyRulePost'
        required: true
        x-codegen-request-body-name: rule
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStoreTrustPolicyRuleResponse'
      x-codegen-request-body-name: rule
components:
  schemas:
    _referenceWithoutType:
      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
    _builtInNoId:
      type: object
      properties:
        name:
          description: Name of the object (e.g., a file system or snapshot).
          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'
    _errorContextResponseErrors:
      type: object
      properties:
        context:
          description: 'Contains information relating to the cause of this error,

            or the name of the object that was being processed when the error was encountered.

            This may be `null` for more general errors.

            '
          type: string
        location_context:
          description: 'Contains information relating to the context in which the request was executing

            when the error occurred.

            For example, this may be the name of an array in the same fleet.

            This may be `null` for more general errors, or if no explicit `context` parameter

            was provided with the request.

            '
          title: FixedReference
          allOf:
          - $ref: '#/components/schemas/_fixedReference'
        message:
          description: A description of the error which occurred.
          type: string
          example: Resource does not exist.
    _errorContextResponse:
      type: object
      properties:
        errors:
          description: The list of errors encountered when attempting to perform an operation.
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/_errorContextResponseErrors'
    TrustPolicyRulePost:
      type: object
      properties:
        actions:
          description: 'The list of role-assumption actions granted by this rule to the respective role.

            Currently we support `sts:AssumeRoleWithSAML` and `sts:AssumeRoleWithWebIdentity` actions.

            '
          type: array
          items:
            type: string
          example:
          - sts:AssumeRoleWithSAML
        conditions:
          description: 'Conditions used to limit the scope which this rule applies to.

            '
          type: array
          items:
            $ref: '#/components/schemas/_trustPolicyRuleCondition'
        effect:
          description: 'Effect of this rule.

            When `allow`, the rule allows the given actions to be performed on the

            given resources, subject to the given conditions.

            Valid values include `allow`.

            '
          type: string
          readOnly: true
          example: allow
        policy:
          description: The policy to which this rule belongs.
          title: FixedReference
          allOf:
          - $ref: '#/components/schemas/_fixedReference'
        principals:
          description: List of Identity Providers
          type: array
          items:
            $ref: '#/components/schemas/_referenceWritable'
    PolicyBase:
      allOf:
      - $ref: '#/components/schemas/PolicyBaseRenameable'
    PolicyMemberContextGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfo'
      - $ref: '#/components/schemas/PolicyMemberContextResponse'
      - $ref: '#/components/schemas/_errorContextResponse'
    _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
    _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
    ObjectStoreTrustPolicyGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfo'
      - $ref: '#/components/schemas/_errorContextResponse'
      - $ref: '#/components/schemas/ObjectStoreTrustPolicyResponse'
    _referenceWritable:
      allOf:
      - $ref: '#/components/schemas/_referenceWithoutType'
      - 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`, `policies/snapshot`, etc.

              '
            type: string
      x-aliases:
      - _reference
    ObjectStoreRole:
      allOf:
      - $ref: '#/components/schemas/_builtIn'
      - $ref: '#/components/schemas/_context'
      - type: object
        properties:
          account:
            description: Reference of the associated account.
            title: FixedReference
            allOf:
            - $ref: '#/components/schemas/_fixedReference'
          created:
            description: Creation timestamp of the object.
            type: integer
            format: int64
            readOnly: true
          max_session_duration:
            description: 'The maximum session duration for the role in milliseconds

              '
            type: integer
          prn:
            description: Pure Resource Name of the role
            type: string
            readOnly: true
            example: prn::iam:array-id/local:obj-account-id/123456789101112:role/myrole
          trusted_entities:
            description: List of trusted entities
            type: array
            readOnly: true
            items:
              $ref: '#/components/schemas/_fixedReference'
    ObjectStoreRolePost:
      type: object
      properties:
        max_session_duration:
          description: 'Maximum session duration in milliseconds.

            If not provided when creating the role, defaults to 1h, minimum is 1h, maximum is 12h.

            '
          type: integer
    _trustPolicyRuleCondition:
      description: 'Identity-provider-specific condition that specifies who can assume the role.

        '
      type: object
      properties:
        key:
          description: 'Key from the context of the role assuming request that will have its

            value compared based on the operator specified in this condition to the

            values provided in this condition.

            '
          type: string
          example: saml:sub
        operator:
          description: 'Operator specifying the comparison to be done between the values from

            the request context and the values provided in this condition.

            Valid values: `StringEquals`.

            '
          type: string
          example: StringEquals
        values:
          description: 'Values to be compared with the values in the role assuming request

            context identified by the key. If multiple values are specified, it''s

            sufficient if just one matches.

            '
          type: array
          items:
            type: string
          example:
          - something
          - anything
    PolicyMemberContextResponse:
      type: object
      properties:
        items:
          description: A list of members for policies.
          type: array
          items:
            $ref: '#/components/schemas/PolicyMemberContext'
    _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
    ObjectStoreTrustPolicyIam:
      description: Trust policy document in the AWS IAM format.
      type: string
      example: "{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [{\n    \"Action\": \"sts:AssumeRoleWithSAML\",\n    \"Effect\": \"Allow\",\n    \"Principal\": {\n      \"Federated\": \"arn:aws:iam:::saml-provider/example\"\n    },\n    \"Condition\": {\n      \"StringEquals\": {\n        \"saml:aud\": \"engineers\"\n      }\n    }\n  }]\n}"
    ObjectStoreTrustPolicyRuleGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfo'
      - $ref: '#/components/schemas/_errorContextResponse'
      - $ref: '#/components/schemas/ObjectStoreTrustPolicyRuleResponse'
    ObjectStoreTrustPolicyRuleResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/TrustPolicyRuleWithContext'
    ObjectStoreRoleResponse:
      type: object
      properties:
        items:
          description: A list of object store roles.
          type: array
          items:
            $ref: '#/components/schemas/ObjectStoreRole'
    _context:
      type: object
      properties:
        context:
          description: 'The context in which the operation was performed.


            Valid values include a reference to any array which is a member of the same fleet

            or to the fleet itself.


            Other parameters provided with the request, such as names of volumes or snapshots,

            are resolved relative to the provided `context`.

            '
          readOnly: true
          title: FixedReference
          allOf:
          - $ref: '#/components/schemas/_fixedReference'
    TrustPolicyRuleWithContext:
      allOf:
      - $ref: '#/components/schemas/TrustPolicyRule'
      - $ref: '#/components/schemas/_context'
    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
    _index:
      type: object
      properties:
        index:
          description: Index of the object in the containing array.
          type: integer
          readOnly: true
    ObjectStoreTrustPolicyResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ObjectStoreTrustPolicy'
    TrustPolicyRule:
      allOf:
      - $ref: '#/components/schemas/_builtInNoId'
      - $ref: '#/components/schemas/_index'
      - $ref: '#/components/schemas/TrustPolicyRulePost'
    ObjectStoreRoleGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfo'
      - $ref: '#/components/schemas/_errorContextResponse'
      - $ref: '#/components/schemas/ObjectStoreRoleResponse'
    _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
    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
    ObjectStoreTrustPolicy:
      allOf:
      - $ref: '#/components/schemas/PolicyBase'
      - $ref: '#/components/schemas/_context'
      - type: object
        properties:
          enabled:
            description: 'If `true`, the policy is enabled. If not specified, defaults to `true`.

              '
            type: boolean
            readOnly: true
          role:
            description: Object Store Role to which the Trust Policy applies.
            title: FixedReference
            allOf:
            - $ref: '#/components/schemas/_fixedReference'
          rules:
            description: List of rules establishing the trust policy
            type: array
            items:
              $ref: '#/components/schemas/TrustPolicyRule'
    PolicyMemberContext:
      allOf:
      - $ref: '#/components/schemas/PolicyMember'
      - $ref: '#/components/schemas/_context'
  parameters:
    Filter:
      name: filter
      in: query
      description: 'Narrows down the results to only the response objects

        that satisfy the filter criteria.

        '
      schema:
        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
    Allow_errors:
      name: allow_errors
      in: query
      description: 'If set to `true`, the API will allow the operation to continue even if there are errors.

        Any errors will be returned in the `errors` field of the response.

        If set to `false`, the operation will fail if there are any errors.

        '
      schema:
        type: boolean
        default: false
    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 retriev

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-object-store-roles-api-openapi.yml