Tessell DB Connection Pool API

The DB Connection Pool API from Tessell — 2 operation(s) for db connection pool.

OpenAPI Specification

tessell-db-connection-pool-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tessell APIs activity-center DB Connection Pool API
  contact:
    email: support@tessell.com
    name: Tessell Inc
    url: https://www.tessell.com
  description: Tessell API Documentation
  termsOfService: https://www.tessell.com/terms
  version: '1.0'
servers:
- url: '{server}'
  variables:
    server:
      default: console.tessell.com
tags:
- name: DB Connection Pool
paths:
  /services/{service-id}/connection-pools:
    get:
      tags:
      - DB Connection Pool
      summary: Get list of connection pools for the DB Service
      operationId: getConnectionPoolsForTessellService
      parameters:
      - name: service-id
        in: path
        description: The ID of the DB Service
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: name
        in: query
        description: Name of connection pool whose details will be returned.
        required: false
        style: form
        schema:
          type: string
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionPoolListResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    post:
      tags:
      - DB Connection Pool
      summary: Creates a new connection pool for the DB Service
      operationId: createConnectionPoolForTessellService
      parameters:
      - name: service-id
        in: path
        description: The ID of the DB Service
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateConnectionPoolPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - DB Connection Pool
      summary: Delete an existing connection pool for the DB Service
      operationId: deleteConnectionPoolForTessellService
      parameters:
      - name: service-id
        in: path
        description: The ID of the DB Service
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteConnectionPoolPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /services/{service-id}/connection-pools/{connection-pool-id}:
    patch:
      tags:
      - DB Connection Pool
      summary: Update an existing connection pool for the DB Service
      operationId: updateConnectionPoolForTessellService
      parameters:
      - name: service-id
        in: path
        description: The ID of the DB Service
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: connection-pool-id
        in: path
        description: The ID of the connection pool
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateConnectionPoolPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    DeletePostgresqlConnectionPoolPayload:
      type: object
      description: Postgres specific configuration for deleting the connection pool
      required:
      - connectionPools
      properties:
        connectionPools:
          type: array
          description: Name of connection pools to delete
          items:
            type: string
    ApiError:
      type: object
      description: Common error response object for non 2xx responses
      properties:
        code:
          type: string
          description: Status code for the error response
        message:
          type: string
          description: Error message for API response
        resolution:
          type: string
        timestamp:
          type: string
          format: date-time
        contextId:
          type: string
          description: ContextId of API request
        sessionId:
          type: string
          description: SessionId of API request
        tessellErrorCode:
          type: string
          description: Unique error code specific to Tessell
    PostgresqlConnectionPoolMode:
      description: Mode of postgresql connection pool.
      type: string
      enum:
      - SESSION
      - TRANSACTION
      - STATEMENT
    PostgresqlConnectionPoolInfo:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique id for the connection pool
        connPoolName:
          type: string
          description: Name of the connection pool
        connPoolSize:
          type: integer
          description: Size of the connection pool
        connMaxDbConnections:
          type: integer
          description: Maximum database connection
        connMinPoolSize:
          type: integer
          description: Minimum connection pool size
        connPoolMode:
          $ref: '#/components/schemas/PostgresqlConnectionPoolMode'
        dbName:
          type: string
          description: Database name on which this connection pool exist
        dbUsername:
          type: string
          description: Username for the connection pool
        serviceName:
          type: string
        status:
          $ref: '#/components/schemas/ConnectionPoolStatus'
        connectionDetails:
          type: object
          properties:
            type:
              type: string
            connectDescriptor:
              type: string
            endpoint:
              type: string
            dbUsername:
              type: string
            port:
              type: integer
              format: int32
    taskSummary:
      title: taskSummary
      type: object
      properties:
        taskId:
          type: string
          format: uuid
        taskType:
          type: string
        resourceId:
          type: string
          format: uuid
        associatedResourceIds:
          type: array
          items:
            type: string
            format: uuid
        details:
          type: object
          additionalProperties:
            type: string
    DeleteConnectionPoolPayload:
      title: DeleteConnectionPoolPayload
      type: object
      properties:
        postgresqlConfig:
          $ref: '#/components/schemas/DeletePostgresqlConnectionPoolPayload'
    UpdateConnectionPoolPayload:
      title: UpdateConnectionPoolPayload
      type: object
      properties:
        postgresqlConfig:
          $ref: '#/components/schemas/UpdatePostgresqlConnectionPoolPayload'
    ConnectionPoolStatus:
      description: Status of connection pool visible to end user.
      type: string
      enum:
      - CREATING
      - ACTIVE
      - UPDATING
      - DELETING
      - DELETED
    ConnectionPoolListResponse:
      title: ConnectionPoolListResponse
      type: object
      properties:
        postgresqlConfig:
          type: array
          items:
            $ref: '#/components/schemas/PostgresqlConnectionPoolInfo'
    UpdatePostgresqlConnectionPoolPayload:
      type: object
      description: Postgres engine specific configuration for updating a connection pool
      required:
      - connPoolName
      - dbName
      - connPoolMode
      - connPoolSize
      properties:
        dbUsername:
          type: string
          description: Database user name
        connPoolName:
          type: string
          description: Name of the connection pool
        dbName:
          type: string
          description: Name of the database for current connection pool
        connPoolMode:
          $ref: '#/components/schemas/PostgresqlConnectionPoolMode'
        connPoolSize:
          type: integer
          format: int32
          description: Size of connection pool
          minimum: 1
          maximum: 100000
        connMaxDbConnections:
          type: integer
          format: int32
          description: Maximum database connection
          minimum: 1
          maximum: 100
        connMinPoolSize:
          type: integer
          format: int32
          description: Minimum connection pool size
          minimum: 1
          maximum: 100000
    CreatePostgresqlConnectionPoolPayload:
      type: object
      description: Postgres engine specific configuration for creating a connection pool
      required:
      - connPoolName
      - dbName
      - connPoolMode
      - connPoolSize
      properties:
        dbUsername:
          type: string
          description: Database user name
        connPoolName:
          type: string
          description: Name of the connection pool
        dbName:
          type: string
          description: Name of the database for current connection pool
        connPoolMode:
          $ref: '#/components/schemas/PostgresqlConnectionPoolMode'
        connPoolSize:
          type: integer
          format: int32
          description: Size of connection pool
          minimum: 1
          maximum: 100000
        connMaxDbConnections:
          type: integer
          format: int32
          description: Maximum database connection
          minimum: 1
          maximum: 100
        connMinPoolSize:
          type: integer
          format: int32
          description: Minimum connection pool size
          minimum: 1
          maximum: 100000
    CreateConnectionPoolPayload:
      title: CreateConnectionPoolPayload
      type: object
      properties:
        postgresqlConfig:
          type: array
          items:
            $ref: '#/components/schemas/CreatePostgresqlConnectionPoolPayload'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer