TimescaleDB / Tiger Data VPCs API

Manage VPCs and their peering connections.

OpenAPI Specification

timescaledb-vpcs-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tiger Cloud Analytics VPCs API
  description: 'A RESTful API for Tiger Cloud platform.

    '
  version: 1.0.0
  license:
    name: Proprietary
    url: https://www.tigerdata.com/legal/terms
  contact:
    name: Tiger Data Support
    url: https://www.tigerdata.com/contact
servers:
- url: https://console.cloud.tigerdata.com/public/api/v1
  description: API server for Tiger Cloud
tags:
- name: VPCs
  description: Manage VPCs and their peering connections.
paths:
  /projects/{project_id}/vpcs:
    get:
      operationId: getVPCs
      tags:
      - VPCs
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      summary: List All VPCs
      description: Retrieves a list of all Virtual Private Clouds (VPCs).
      responses:
        '200':
          description: A list of VPCs.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VPC'
        4XX:
          $ref: '#/components/responses/ClientError'
    post:
      operationId: createVPC
      tags:
      - VPCs
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      summary: Create a VPC
      description: Creates a new Virtual Private Cloud (VPC).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VPCCreate'
      responses:
        '201':
          description: VPC created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VPC'
        4XX:
          $ref: '#/components/responses/ClientError'
  /projects/{project_id}/vpcs/{vpc_id}:
    get:
      operationId: getVPC
      tags:
      - VPCs
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/VPCId'
      summary: Get a VPC
      description: Retrieves the details of a specific VPC by its ID.
      responses:
        '200':
          description: VPC details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VPC'
        4XX:
          $ref: '#/components/responses/ClientError'
    delete:
      operationId: deleteVPC
      tags:
      - VPCs
      summary: Delete a VPC
      description: Deletes a specific VPC.
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/VPCId'
      responses:
        '204':
          description: VPC deleted successfully.
        4XX:
          $ref: '#/components/responses/ClientError'
  /projects/{project_id}/vpcs/{vpc_id}/rename:
    post:
      operationId: renameVPC
      tags:
      - VPCs
      summary: Rename a VPC
      description: Updates the name of a specific VPC.
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/VPCId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VPCRename'
      responses:
        '200':
          description: VPC renamed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VPC'
        4XX:
          $ref: '#/components/responses/ClientError'
  /projects/{project_id}/vpcs/{vpc_id}/peerings:
    get:
      operationId: getVPCPeerings
      tags:
      - VPCs
      summary: List VPC Peerings
      description: Retrieves a list of all VPC peering connections for a given VPC.
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/VPCId'
      responses:
        '200':
          description: A list of VPC peering connections.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Peering'
        4XX:
          $ref: '#/components/responses/ClientError'
    post:
      operationId: createVPCPeering
      tags:
      - VPCs
      summary: Create a VPC Peering
      description: Creates a new VPC peering connection.
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/VPCId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PeeringCreate'
      responses:
        '201':
          description: VPC peering created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Peering'
        4XX:
          $ref: '#/components/responses/ClientError'
  /projects/{project_id}/vpcs/{vpc_id}/peerings/{peering_id}:
    get:
      operationId: getVPCPeering
      tags:
      - VPCs
      summary: Get a VPC Peering
      description: Retrieves the details of a specific VPC peering connection.
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/VPCId'
      - $ref: '#/components/parameters/PeeringId'
      responses:
        '200':
          description: VPC peering details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Peering'
        4XX:
          $ref: '#/components/responses/ClientError'
    delete:
      operationId: deleteVPCPeering
      tags:
      - VPCs
      summary: Delete a VPC Peering
      description: Deletes a specific VPC peering connection.
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/VPCId'
      - $ref: '#/components/parameters/PeeringId'
      responses:
        '204':
          description: VPC peering deleted successfully.
        4XX:
          $ref: '#/components/responses/ClientError'
components:
  schemas:
    VPC:
      type: object
      properties:
        id:
          type: string
          readOnly: true
          example: '1234567890'
        name:
          type: string
          example: my-production-vpc
        cidr:
          type: string
          example: 10.0.0.0/16
        region_code:
          type: string
          example: us-east-1
    PeeringCreate:
      type: object
      required:
      - peer_account_id
      - peer_region_code
      - peer_vpc_id
      properties:
        peer_account_id:
          type: string
          example: acc-12345
        peer_region_code:
          type: string
          example: aws-us-east-1
        peer_vpc_id:
          type: string
          example: '1234567890'
    VPCRename:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: The new name for the VPC.
          example: my-renamed-vpc
    Peering:
      type: object
      properties:
        id:
          type: string
          readOnly: true
          example: '1234567890'
        peer_account_id:
          type: string
          example: acc-12345
        peer_region_code:
          type: string
          example: aws-us-east-1
        peer_vpc_id:
          type: string
          example: '1234567890'
        provisioned_id:
          type: string
          example: '1234567890'
        status:
          type: string
          example: active
        error_message:
          type: string
          example: VPC not found
    VPCCreate:
      type: object
      required:
      - name
      - cidr
      - region_code
      properties:
        name:
          type: string
          example: my-production-vpc
        cidr:
          type: string
          example: 10.0.0.0/16
        region_code:
          type: string
          example: us-east-1
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
  parameters:
    PeeringId:
      name: peering_id
      in: path
      required: true
      description: The unique identifier of the VPC peering connection.
      schema:
        type: string
        example: '1234567890'
    VPCId:
      name: vpc_id
      in: path
      required: true
      description: The unique identifier of the VPC.
      schema:
        type: string
        example: '1234567890'
    ProjectId:
      name: project_id
      in: path
      required: true
      description: The unique identifier of the project.
      schema:
        type: string
        example: rp1pz7uyae
  responses:
    ClientError:
      description: Client error response (4xx status codes).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'