Tessell cloud-resource API

The cloud-resource API from Tessell — 3 operation(s) for cloud-resource.

OpenAPI Specification

tessell-cloud-resource-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tessell APIs activity-center cloud-resource 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: cloud-resource
paths:
  /tenant-infra/dp-network-rules:
    get:
      tags:
      - cloud-resource
      summary: Get details of outbound access requests from the vpc / vnet
      operationId: getNetworkOutboundAccessRules
      parameters:
      - $ref: '#/components/parameters/tenantIdMandatory'
      - name: cloud-type
        in: query
        description: Cloud type
        required: true
        schema:
          $ref: '#/components/schemas/cloudType'
      - name: private-communication-enabled
        in: query
        description: Whether private communication is enabled between cp and dp
        required: true
        schema:
          type: boolean
      - name: subscription-id
        in: query
        description: Subscription id for the cloud account
        required: false
        schema:
          type: string
          format: uuid
      - 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/DPNetworkAccessRules'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorOps'
  /tenant-infra/allow-private-endpoint:
    post:
      tags:
      - cloud-resource
      summary: Allow private cp dp endpoints
      operationId: allowPrivateEndpointTenantInfra
      requestBody:
        description: Allow Private Endpoint
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllowPrivateEndpointRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiStatus'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
  /tenant-infra/dp-cp-communication-resources:
    get:
      tags:
      - cloud-resource
      summary: Get details of control plane endpoint services
      operationId: getDpCpCommunicationResources
      parameters:
      - name: region
        in: query
        description: Region of the cloud account
        required: false
        schema:
          type: string
      - name: cloud-type
        in: query
        description: Cloud type
        required: false
        schema:
          $ref: '#/components/schemas/cloudType'
      - 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/DpCpCommunicationResources'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorOps'
components:
  schemas:
    apiStatus:
      title: apiStatus
      type: object
      properties:
        status:
          type: string
        message:
          type: string
    cloudType:
      description: Tessell supported cloud types
      type: string
      enum:
      - AWS
      - AZURE
      - GCP
      - OCI
    DpCpCommunicationResources:
      title: DpCpCommunicationResources
      type: object
      properties:
        controlPlaneEndpointService:
          type: string
    TessellHTTPErrorCode:
      type: object
      properties:
        httpCode:
          type: integer
          description: HTTP code
        code:
          type: string
          description: Tessell's specific code with more context on error
    DPNetworkAccessRules:
      title: DPNetworkAccessRules
      type: object
      properties:
        inbound:
          type: array
          items:
            $ref: '#/components/schemas/DPNetworkInboundRule'
        outbound:
          type: array
          items:
            $ref: '#/components/schemas/DPNetworkOutboundRule'
    DPNetworkOutboundRule:
      title: DPNetworkOutboundRule
      type: object
      properties:
        destinationType:
          type: string
        destination:
          type: array
          items:
            type: string
        destinationDomain:
          type: string
        ports:
          type: array
          items:
            type: string
        purpose:
          type: string
    DPNetworkInboundRule:
      title: DPNetworkInboundRule
      type: object
      properties:
        sourceType:
          type: string
        source:
          type: array
          items:
            type: string
        ports:
          type: array
          items:
            type: string
        purpose:
          type: string
    ApiErrorOps:
      type: object
      description: Common error response object for non 2xx responses of internal or ops APIs
      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
        userView:
          $ref: '#/components/schemas/TessellExceptionUserView'
    TessellExceptionUserView:
      title: TessellExceptionUserView
      type: object
      properties:
        message:
          type: string
          description: End-user representation of the message
        resolution:
          type: string
          description: End-user representation of resolution
        errorCode:
          $ref: '#/components/schemas/TessellHTTPErrorCode'
          description: User specific code might be different in some cases with internal code (Say some internal entity is not present, so 404 for Tessell while 500 for end-user
    AllowPrivateEndpointRequest:
      title: AllowPrivateEndpointRequest
      type: object
      required:
      - principalId
      - region
      properties:
        principalId:
          type: string
        region:
          type: string
  parameters:
    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
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer