Delphix PaaSPlugins API

The PaaSPlugins API from Delphix — 3 operation(s) for paasplugins.

OpenAPI Specification

delphix-paasplugins-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Delphix DCT Algorithms PaaSPlugins API
  version: 3.28.0
  description: Delphix DCT API
  contact:
    name: Delphix Support
    url: https://portal.perforce.com/s/
    email: support@delphix.com
servers:
- url: /dct/v3
security:
- ApiKeyAuth: []
tags:
- name: PaaSPlugins
paths:
  /paas-plugins:
    get:
      summary: List all registered PaaS plugins.
      operationId: get_paas_plugins
      tags:
      - PaaSPlugins
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/paasPluginSortParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: ListPaaSPluginsResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/PaaSPlugin'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
  /paas-plugins/{paaSPluginId}/tags:
    parameters:
    - $ref: '#/components/parameters/paaSPluginIdParam'
    post:
      tags:
      - PaaSPlugins
      summary: Create tags for a PaaS plugin.
      operationId: create_paas_plugin_tags
      requestBody:
        content:
          application/json:
            schema:
              x-body-name: paas_plugin_tags
              $ref: '#/components/schemas/TagsRequest'
        description: Tags information for PaaS Plugin.
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponse'
    get:
      tags:
      - PaaSPlugins
      summary: Get tags for a PaaS Plugin.
      operationId: get_paas_plugin_tags
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponse'
  /paas-plugins/{paaSPluginId}/tags/delete:
    parameters:
    - $ref: '#/components/parameters/paaSPluginIdParam'
    post:
      tags:
      - PaaSPlugins
      summary: Delete tags for a PaaS Plugin.
      operationId: delete_paas_plugin_tags
      requestBody:
        $ref: '#/components/requestBodies/DeleteTags'
      responses:
        '204':
          description: No Content
components:
  parameters:
    limit:
      name: limit
      in: query
      description: Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.
      example: 50
      schema:
        type: integer
        minimum: 1
        maximum: 1000
        default: 100
    paaSPluginIdParam:
      in: path
      name: paaSPluginId
      required: true
      schema:
        type: string
        minLength: 1
      description: The ID of the PaaS Plugin.
    paasPluginSortParam:
      name: sort
      in: query
      description: 'The field to sort results by. A property name with a prepended ''-'' signifies descending order.

        '
      required: false
      schema:
        type: string
        enum:
        - id
        - -id
        - unique_identifier
        - -unique_identifier
        - name
        - -name
        - version
        - -version
        nullable: true
        example: name
    cursor:
      name: cursor
      in: query
      description: Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.
      schema:
        type: string
        minLength: 1
        maxLength: 4096
  schemas:
    Tag:
      type: object
      required:
      - key
      - value
      properties:
        key:
          description: Key of the tag
          type: string
          minLength: 1
          maxLength: 4000
          example: key-1
        value:
          description: Value of the tag
          type: string
          minLength: 1
          maxLength: 4000
          example: value-1
    TagsResponse:
      type: object
      properties:
        tags:
          description: Array of tags with key value pairs
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    DeleteTag:
      type: object
      properties:
        key:
          description: Key of the tag
          type: string
          minLength: 1
          maxLength: 4000
          example: key-1
        value:
          description: Value of the tag
          type: string
          minLength: 1
          maxLength: 4000
          example: value-1
        tags:
          description: List of tags to be deleted
          type: array
          minItems: 1
          maxItems: 1000
          uniqueItems: true
          items:
            $ref: '#/components/schemas/Tag'
    PaaSPlugin:
      description: A plugin to manage PaaS Databases.
      type: object
      properties:
        id:
          description: The PaaS Plugin object entity ID.
          type: string
          example: db-123
        unique_identifier:
          description: A unique identifier for this plugin type.
          type: string
          example: my-db-123
        name:
          description: A user friendly name describing this plugin type.
          type: string
          example: my-db-123
        schema:
          description: The JSON schema of this plugin optional parameters and properties.
          type: string
          example: my-db-123
        version:
          description: The version of the currently installed instance of this plugin.
          type: string
          example: my-db-123
        operation_target:
          description: Whether this Instance's PaaS plugin operates at the instance or database level for operations such as snapshotting, provisioning and refresh.
          type: string
          enum:
          - PAAS_INSTANCE
          - PAAS_DATABASE
        regions:
          description: The list of cloud regions where this plugin can operate.
          type: array
          items:
            $ref: '#/components/schemas/PluginRegion'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    TagsRequest:
      type: object
      required:
      - tags
      properties:
        tags:
          description: Array of tags with key value pairs
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          minItems: 1
          maxItems: 1000
          uniqueItems: true
    PluginRegion:
      description: A cloud region where a PaaS plugin can operate.
      type: object
      required:
      - value
      - label
      properties:
        value:
          description: The unique identifier for the region (e.g., "us-west-2", "eastus").
          type: string
          minLength: 1
          maxLength: 256
          example: us-west-2
        label:
          description: The human-readable label for the region (e.g., "US West Oregon", "East US").
          type: string
          minLength: 1
          maxLength: 256
          example: US West Oregon
    PaginatedResponseMetadata:
      type: object
      properties:
        prev_cursor:
          description: Pointer to the previous page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page.
          type: string
        next_cursor:
          description: Pointer to the next page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page.
          type: string
        total:
          description: The total number of results. This value may not be provided.
          type: integer
          format: int_64
  requestBodies:
    DeleteTags:
      description: The parameters to delete tags
      content:
        application/json:
          schema:
            x-body-name: environment
            $ref: '#/components/schemas/DeleteTag'
          examples:
            delete_all_tags:
              description: Delete all tags for given object - No request body required
              summary: Delete all tags
              value: {}
            delete_tags_by_key:
              description: Delete all tags for given object with matching key
              summary: Delete tags by key
              value:
                key: key-1
            delete_tags_by_key_value:
              description: Delete tag for given object with matching key and value
              summary: Delete a tag by key & value
              value:
                key: key-1
                value: value-1
            delete_multiple_tags_by_key_value:
              description: Delete tags for given list of tags with matching key and value
              summary: Delete multiple tags by key & value
              value:
                tags:
                - key: key-1
                  value: value-1
                - key: key-2
                  value: value-2
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization