Tessell Software Library API

The Software Library API from Tessell — 2 operation(s) for software library.

OpenAPI Specification

tessell-software-library-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tessell APIs activity-center Software Library 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: Software Library
paths:
  /software-library/images:
    get:
      tags:
      - Software Library
      description: Get a list of all software images.
      summary: Get a list of all software images. Using the name filter, a software image can be found using name.
      operationId: getSoftwareImages
      parameters:
      - $ref: '#/components/parameters/tenantIdMandatory'
      - $ref: '#/components/parameters/cloudTypeOldConvention'
      - $ref: '#/components/parameters/cloudRegion'
      - $ref: '#/components/parameters/personas'
      - $ref: '#/components/parameters/imageName'
      - $ref: '#/components/parameters/allImages'
      - $ref: '#/components/parameters/timeZoneOldConvention'
      - $ref: '#/components/parameters/software-image-provider-type-in-query'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getSoftwareImagesResponse'
          description: OK
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /software-library/image/{name}:
    get:
      tags:
      - Software Library
      summary: Get Software Image by name
      operationId: getSoftwareImageByName
      parameters:
      - $ref: '#/components/parameters/tenantIdMandatory'
      - in: path
        name: name
        description: Software Image name
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 256
          example: PostgreSQL 12
      - in: query
        name: versionName
        description: Software Image version name
        required: false
        schema:
          type: string
          minLength: 1
          maxLength: 256
          example: 12
      - $ref: '#/components/parameters/software-image-provider-type-in-query'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/timeZoneOldConvention'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getSoftwareImageByNameResponse'
          description: OK
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    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
    SoftwareImageVersion:
      type: object
      properties:
        name:
          type: string
          description: Version name
        version:
          type: string
          description: DB version string
        osVersion:
          type: string
          description: OS Version string
        cloudAndAvailability:
          type: array
          items:
            type: string
          description: Cloud and Location detail
        status:
          $ref: '#/components/schemas/SoftwareImageStatus'
    SoftwareImageMetadata:
      description: Software image metadata
      type: object
      properties:
        engine:
          type: string
        edition:
          type: string
        version:
          type: string
        createContainer:
          type: boolean
        tessellLibBucketPath:
          type: string
        licenseModel:
          $ref: '#/components/schemas/LicenseModel'
    cloudType:
      description: Tessell supported cloud types
      type: string
      enum:
      - AWS
      - AZURE
      - GCP
      - OCI
    SoftwareImage:
      description: Software Image Response Object
      type: object
      properties:
        description:
          type: string
          description: Description of the SoftwareImage.
          maxLength: 512
        name:
          type: string
          maxLength: 128
          description: Name of the Software Image.
        versions:
          type: array
          items:
            $ref: '#/components/schemas/SoftwareImageVersion'
        status:
          $ref: '#/components/schemas/SoftwareImageStatus'
        metadata:
          $ref: '#/components/schemas/SoftwareImageMetadata'
        provider:
          $ref: '#/components/schemas/SoftwareImageProviderType'
    getSoftwareImageByNameResponse:
      allOf:
      - $ref: '#/components/schemas/SoftwareImage'
    SoftwareImageProviderType:
      type: string
      enum:
      - TESSELL
      - OCI_EXADATA
    SoftwareImageStatus:
      description: Software Image Status
      x-dao-query: true
      x-dao-annotations: "@Enumerated(EnumType.STRING)\n  @NotNull\n  @Type(type = \"pgsql_enum\")\n"
      x-dto-annotations: '@ToString.Exclude

        '
      enum:
      - ENABLED
      - DISABLED
      - DELETED
      - DEPRECATED
      type: string
    getSoftwareImagesResponse:
      description: Response returned by APIs.
      type: object
      properties:
        images:
          type: array
          items:
            $ref: '#/components/schemas/SoftwareImage'
    LicenseModel:
      description: "Licensing model for a software image.\n  * PAYG - Pay-As-You-Go; license cost is bundled with compute and no\n           separate license acquisition is performed by Tessell.\n  * BYOL - Bring Your Own License; Tessell acquires/locks a license\n           from the customer's license pool.\n"
      type: string
      default: BYOL
      enum:
      - PAYG
      - BYOL
  parameters:
    cloudRegion:
      name: region
      description: Cloud Region
      in: query
      required: false
      schema:
        type: string
        minLength: 1
        maxLength: 128
      examples:
        aws:
          value: us-east-1
          summary: aws region example
        azure:
          value: eastUS
          summary: azure region example
    personas:
      in: query
      name: personas
      description: Personas list
      required: false
      explode: true
      schema:
        type: string
        format: list
      style: form
      example:
        personas:
        - CloudAdmin
        - TessellAdmin
    cloudTypeOldConventionMandatory:
      name: cloudType
      in: query
      description: Name of the Cloud
      required: true
      schema:
        $ref: '#/components/schemas/cloudType'
    cloudTypeOldConvention:
      name: cloudType
      description: Name of the Cloud
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/cloudType'
    tenantIdMandatory:
      name: tenant-id
      in: header
      description: Id of the Tenant
      required: true
      schema:
        type: string
        minLength: 1
        maxLength: 128
        example: 12345678-abcd-1234-abcd-1234abcd5678
    software-image-provider-type-in-query:
      name: softwareImageProviderType
      in: query
      description: softwareImageProviderType
      required: false
      schema:
        type: array
        uniqueItems: true
        items:
          $ref: '#/components/schemas/SoftwareImageProviderType'
    timeZoneOldConvention:
      in: query
      name: timeZone
      description: Time Zone
      schema:
        type: string
      required: false
    imageName:
      name: name
      in: query
      required: false
      explode: true
      description: Name of a Software Image
      schema:
        type: string
      style: form
      example:
        name: postgresql-rhel6
    allImages:
      in: query
      name: allImages
      description: Returns All Software Images
      required: false
      schema:
        type: boolean
        default: false
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer