Portworx OpenStorageBucket API

The OpenStorageBucket API from Portworx — 4 operation(s) for openstoragebucket.

OpenAPI Specification

portworx-openstoragebucket-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: OpenStorage SDK OpenStorageAlerts OpenStorageBucket API
  version: 0.186.0
security:
- bearerAuth: []
tags:
- name: OpenStorageBucket
paths:
  /v1/bucket:
    post:
      operationId: OpenStorageBucket_Create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apiBucketCreateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiBucketCreateResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
          description: An unexpected error response.
      tags:
      - OpenStorageBucket
  /v1/bucket/access/{bucket_id}:
    post:
      operationId: OpenStorageBucket_GrantAccess
      parameters:
      - description: Id of the bucket
        in: path
        name: bucket_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apiBucketGrantAccessRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiBucketGrantAccessResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
          description: An unexpected error response.
      tags:
      - OpenStorageBucket
  /v1/bucket/revoke/{bucket_id}:
    post:
      operationId: OpenStorageBucket_RevokeAccess
      parameters:
      - description: Id of bucket to delete
        in: path
        name: bucket_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apiBucketRevokeAccessRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiBucketRevokeAccessResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
          description: An unexpected error response.
      tags:
      - OpenStorageBucket
  /v1/bucket/{bucket_id}:
    delete:
      operationId: OpenStorageBucket_Delete
      parameters:
      - description: Id of bucket to delete
        in: path
        name: bucket_id
        required: true
        schema:
          type: string
      - description: Region in which bucket will be created.
        in: query
        name: region
        required: false
        schema:
          type: string
      - description: Endpoint to use when deleting the bucket.
        in: query
        name: endpoint
        required: false
        schema:
          type: string
      - description: Flag to allow non empty bucket deletion.
        in: query
        name: clear_bucket
        required: false
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiBucketDeleteResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
          description: An unexpected error response.
      tags:
      - OpenStorageBucket
components:
  schemas:
    protobufAny:
      properties:
        type_url:
          type: string
        value:
          format: byte
          type: string
      type: object
    apiBucketDeleteResponse:
      title: Empty response
      type: object
    apiBucketRevokeAccessRequest:
      properties:
        account_id:
          description: AccountId that is having its access revoked.
          type: string
        bucket_id:
          title: Id of bucket to delete
          type: string
      title: Defines the request to revoke access to the bucket
      type: object
    apiBucketGrantAccessRequest:
      properties:
        access_policy:
          title: Access policy to be applied for the account
          type: string
        account_name:
          title: Name of the account to which access to be provided
          type: string
        bucket_id:
          title: Id of the bucket
          type: string
      title: Defines a request to grant access to the bucket
      type: object
    apiBucketCreateResponse:
      properties:
        bucket_id:
          title: Id of new bucket
          type: string
      title: Defines a response to the creation of a bucket
      type: object
    apiBucketAccessCredentials:
      properties:
        access_key_id:
          title: Access key id
          type: string
        secret_access_key:
          title: Secret access key
          type: string
      title: Defines the bucket access credential object
      type: object
    runtimeError:
      properties:
        code:
          format: int32
          type: integer
        details:
          items:
            $ref: '#/components/schemas/protobufAny'
          type: array
        error:
          type: string
        message:
          type: string
      type: object
    apiBucketRevokeAccessResponse:
      title: Empty response
      type: object
    apiBucketGrantAccessResponse:
      properties:
        account_id:
          description: 'This is the account_id that is being provided access. This will

            This will be required later to revoke access.'
          type: string
        credentials:
          $ref: '#/components/schemas/apiBucketAccessCredentials'
      title: Defines a response to the creation of a bucket
      type: object
    apiBucketCreateRequest:
      description: Defines a request to create a bucket.
      properties:
        anonymousBucketAccessMode:
          $ref: '#/components/schemas/apiAnonymousBucketAccessMode'
        endpoint:
          title: Endpoint to use when creating the bucket
          type: string
        name:
          description: Unique name of the bucket. This will be used for idempotency.
          type: string
        region:
          description: Region in which bucket will be created.
          type: string
      type: object
    apiAnonymousBucketAccessMode:
      default: UnknownBucketAccessMode
      description: " - Private: Default, disallow uncredentialed access to the backend storage.\n - ReadOnly: Read only, uncredentialed users can call ListBucket and GetObject.\n - WriteOnly: Write only, uncredentialed users can only call PutObject.\n - ReadWrite: Read/Write, uncredentialed users can read objects as well as PutObject."
      enum:
      - UnknownBucketAccessMode
      - Private
      - ReadOnly
      - WriteOnly
      - ReadWrite
      type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT