openapi: 3.0.3
info:
  title: Exordos Db v1 User API
  version: latest
  description: OpenAPI - Exordos Db v1
components:
  responses:
    Error:
      description: Error response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      title: error
      description: Error occurred while processing request
      type: object
      required:
        - status
        - json
      properties:
        status:
          type: integer
          description: The HTTP status code
          minimum: 400
          exclusiveMaximum: true
          example: 503
        json:
          type: object
          description: Detail error map
          required:
            - code
            - type
            - message
          properties:
            code:
              type: integer
              description: The HTTP status code
              minimum: 400
              exclusiveMaximum: true
              example: 503
            type:
              type: string
              description: Error class name
              example: OSError
            message:
              type: string
              description: Error message
              example: A human-readable explanation of problem
      example:
        code: 400
        json:
          code: 400
          type: ValidationErrorException
          message: Validation error occurred.
    PGInstance_Get:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          minLength: 1
          maxLength: 255
          example: any_string
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: NEW
        ipsv4:
          type: array
          items:
            type: string
            minLength: 0
            maxLength: 15
            example: any_string
          example:
            - any_string
          default: []
        cpu:
          type: integer
          minimum: 1
          maximum: 128
          example: 64
        ram:
          type: integer
          minimum: 512
          maximum: 1073741824
          example: 536871168
        disk_size:
          type: integer
          minimum: 8
          maximum: 1073741824
          example: 536870916
        nodes_number:
          type: integer
          minimum: 1
          maximum: 16
          example: 8
        sync_replica_number:
          type: integer
          minimum: 0
          maximum: 15
          example: 7
          default: 1
        version:
          type: string
      required:
        - project_id
        - version
    PGInstance_Create:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          minLength: 1
          maxLength: 255
          example: any_string
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: NEW
        ipsv4:
          type: array
          items:
            type: string
            minLength: 0
            maxLength: 15
            example: any_string
          example:
            - any_string
          default: []
        cpu:
          type: integer
          minimum: 1
          maximum: 128
          example: 64
        ram:
          type: integer
          minimum: 512
          maximum: 1073741824
          example: 536871168
        disk_size:
          type: integer
          minimum: 8
          maximum: 1073741824
          example: 536870916
        nodes_number:
          type: integer
          minimum: 1
          maximum: 16
          example: 8
        sync_replica_number:
          type: integer
          minimum: 0
          maximum: 15
          example: 7
          default: 1
        version:
          type: string
      required:
        - project_id
        - version
    PGInstance_Update:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          minLength: 1
          maxLength: 255
          example: any_string
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: NEW
        ipsv4:
          type: array
          items:
            type: string
            minLength: 0
            maxLength: 15
            example: any_string
          example:
            - any_string
          default: []
        cpu:
          type: integer
          minimum: 1
          maximum: 128
          example: 64
        ram:
          type: integer
          minimum: 512
          maximum: 1073741824
          example: 536871168
        disk_size:
          type: integer
          minimum: 8
          maximum: 1073741824
          example: 536870916
        nodes_number:
          type: integer
          minimum: 1
          maximum: 16
          example: 8
        sync_replica_number:
          type: integer
          minimum: 0
          maximum: 15
          example: 7
          default: 1
        version:
          type: string
      required:
        - project_id
        - version
    PGInstance_Filter:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          minLength: 1
          maxLength: 255
          example: any_string
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: NEW
        ipsv4:
          type: array
          items:
            type: string
            minLength: 0
            maxLength: 15
            example: any_string
          example:
            - any_string
          default: []
        cpu:
          type: integer
          minimum: 1
          maximum: 128
          example: 64
        ram:
          type: integer
          minimum: 512
          maximum: 1073741824
          example: 536871168
        disk_size:
          type: integer
          minimum: 8
          maximum: 1073741824
          example: 536870916
        nodes_number:
          type: integer
          minimum: 1
          maximum: 16
          example: 8
        sync_replica_number:
          type: integer
          minimum: 0
          maximum: 15
          example: 7
          default: 1
        version:
          type: string
      required:
        - project_id
        - version
    PGDatabase_Get:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          pattern: ^[a-zA-Z_][a-zA-Z0-9_]{0,62}$
          example: ^[a-zA-Z_][a-zA-Z0-9_]{0,62}$
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        instance:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: ACTIVE
        owner:
          type: string
      required:
        - name
        - project_id
        - instance
        - owner
    PGDatabase_Create:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          pattern: ^[a-zA-Z_][a-zA-Z0-9_]{0,62}$
          example: ^[a-zA-Z_][a-zA-Z0-9_]{0,62}$
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        instance:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: ACTIVE
        owner:
          type: string
      required:
        - name
        - project_id
        - instance
        - owner
    PGDatabase_Update:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          pattern: ^[a-zA-Z_][a-zA-Z0-9_]{0,62}$
          example: ^[a-zA-Z_][a-zA-Z0-9_]{0,62}$
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        instance:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: ACTIVE
        owner:
          type: string
      required:
        - name
        - project_id
        - instance
        - owner
    PGDatabase_Filter:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          pattern: ^[a-zA-Z_][a-zA-Z0-9_]{0,62}$
          example: ^[a-zA-Z_][a-zA-Z0-9_]{0,62}$
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        instance:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: ACTIVE
        owner:
          type: string
      required:
        - name
        - project_id
        - instance
        - owner
    PGUser_Get:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          pattern: ^(?!pg_)(?!dbaas_)(?!postgres$)[a-zA-Z_][a-zA-Z0-9_$]{0,62}$
          example: ^(?!pg_)(?!dbaas_)(?!postgres$)[a-zA-Z_][a-zA-Z0-9_$]{0,62}$
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        instance:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: ACTIVE
        password:
          type: string
          minLength: 8
          maxLength: 99
          example: any_string
        password_hash:
          type: string
          minLength: 1
          maxLength: 512
          example: any_string
      required:
        - name
        - project_id
        - instance
    PGUser_Create:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          pattern: ^(?!pg_)(?!dbaas_)(?!postgres$)[a-zA-Z_][a-zA-Z0-9_$]{0,62}$
          example: ^(?!pg_)(?!dbaas_)(?!postgres$)[a-zA-Z_][a-zA-Z0-9_$]{0,62}$
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        instance:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: ACTIVE
        password:
          type: string
          minLength: 8
          maxLength: 99
          example: any_string
        password_hash:
          type: string
          minLength: 1
          maxLength: 512
          example: any_string
      required:
        - name
        - project_id
        - instance
    PGUser_Update:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          pattern: ^(?!pg_)(?!dbaas_)(?!postgres$)[a-zA-Z_][a-zA-Z0-9_$]{0,62}$
          example: ^(?!pg_)(?!dbaas_)(?!postgres$)[a-zA-Z_][a-zA-Z0-9_$]{0,62}$
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        instance:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: ACTIVE
        password:
          type: string
          minLength: 8
          maxLength: 99
          example: any_string
        password_hash:
          type: string
          minLength: 1
          maxLength: 512
          example: any_string
      required:
        - name
        - project_id
        - instance
    PGUser_Filter:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          pattern: ^(?!pg_)(?!dbaas_)(?!postgres$)[a-zA-Z_][a-zA-Z0-9_$]{0,62}$
          example: ^(?!pg_)(?!dbaas_)(?!postgres$)[a-zA-Z_][a-zA-Z0-9_$]{0,62}$
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        project_id:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        instance:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - ERROR
            - IN_PROGRESS
            - NEW
          example: NEW
          default: ACTIVE
        password:
          type: string
          minLength: 8
          maxLength: 99
          example: any_string
        password_hash:
          type: string
          minLength: 1
          maxLength: 512
          example: any_string
      required:
        - name
        - project_id
        - instance
    PGVersion_Get:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        image:
          type: string
          minLength: 0
          maxLength: 2048
          example: any_string
    PGVersion_Create:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        image:
          type: string
          minLength: 0
          maxLength: 2048
          example: any_string
    PGVersion_Update:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        image:
          type: string
          minLength: 0
          maxLength: 2048
          example: any_string
    PGVersion_Filter:
      type: object
      properties:
        uuid:
          type: string
          example: 00000000-0000-0000-0000-000000000000
          format: uuid
        name:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        description:
          type: string
          minLength: 0
          maxLength: 255
          example: any_string
          default: ''
        created_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        updated_at:
          type: string
          x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
          example: '2006-01-02T15:04:05.000576Z'
          format: date-time
          default: '2006-01-02T15:04:05.000576Z'
        image:
          type: string
          minLength: 0
          maxLength: 2048
          example: any_string
  parameters:
    PGInstanceUuid:
      name: PGInstanceUuid
      in: path
      schema:
        type: string
        example: 00000000-0000-0000-0000-000000000000
        format: uuid
      required: true
    name:
      name: name
      in: query
      schema:
        type: string
        minLength: 0
        maxLength: 255
        example: any_string
        default: ''
    description:
      name: description
      in: query
      schema:
        type: string
        minLength: 0
        maxLength: 255
        example: any_string
        default: ''
    project_id:
      name: project_id
      in: query
      schema:
        type: string
        example: 00000000-0000-0000-0000-000000000000
        format: uuid
    created_at:
      name: created_at
      in: query
      schema:
        type: string
        x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
        example: '2006-01-02T15:04:05.000576Z'
        format: date-time
        default: '2006-01-02T15:04:05.000576Z'
    updated_at:
      name: updated_at
      in: query
      schema:
        type: string
        x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
        example: '2006-01-02T15:04:05.000576Z'
        format: date-time
        default: '2006-01-02T15:04:05.000576Z'
    status:
      name: status
      in: query
      schema:
        type: string
        enum:
          - ACTIVE
          - ERROR
          - IN_PROGRESS
          - NEW
        example: NEW
        default: ACTIVE
    ipsv4:
      name: ipsv4
      in: query
      schema:
        type: array
        items:
          type: string
          minLength: 0
          maxLength: 15
          example: any_string
        example:
          - any_string
        default: []
    cpu:
      name: cpu
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 128
        example: 64
    ram:
      name: ram
      in: query
      schema:
        type: integer
        minimum: 512
        maximum: 1073741824
        example: 536871168
    disk_size:
      name: disk_size
      in: query
      schema:
        type: integer
        minimum: 8
        maximum: 1073741824
        example: 536870916
    nodes_number:
      name: nodes_number
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 16
        example: 8
    sync_replica_number:
      name: sync_replica_number
      in: query
      schema:
        type: integer
        minimum: 0
        maximum: 15
        example: 7
        default: 1
    version:
      name: version
      in: query
      schema:
        type: string
    PGDatabaseUuid:
      name: PGDatabaseUuid
      in: path
      schema:
        type: string
        example: 00000000-0000-0000-0000-000000000000
        format: uuid
      required: true
    instance:
      name: instance
      in: query
      schema:
        type: string
    owner:
      name: owner
      in: query
      schema:
        type: string
    PGUserUuid:
      name: PGUserUuid
      in: path
      schema:
        type: string
        example: 00000000-0000-0000-0000-000000000000
        format: uuid
      required: true
    password:
      name: password
      in: query
      schema:
        type: string
        minLength: 8
        maxLength: 99
        example: any_string
    password_hash:
      name: password_hash
      in: query
      schema:
        type: string
        minLength: 1
        maxLength: 512
        example: any_string
    PGVersionUuid:
      name: PGVersionUuid
      in: path
      schema:
        type: string
        example: 00000000-0000-0000-0000-000000000000
        format: uuid
      required: true
    image:
      name: image
      in: query
      schema:
        type: string
        minLength: 0
        maxLength: 2048
        example: any_string
paths:
  /:
    get:
      summary: Base application url
      responses:
        '200':
          description: Get nested urls
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        default:
          $ref: '#/components/responses/Error'
      operationId: Get_urls
  /specifications/:
    get:
      summary: Get OpenApiSpecificationRoute OpenApiSpecificationControllers
      tags: []
      parameters: []
      responses:
        '200':
          description: Get nested urls
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        default:
          $ref: '#/components/responses/Error'
      operationId: Filter_specifications
  /specifications/3.0.3:
    get:
      summary: OpenApi specification
      tags: []
      parameters: []
      responses:
        '200':
          description: OpenApi specification
          content:
            application/json:
              schema:
                type: object
                properties: {}
        default:
          $ref: '#/components/responses/Error'
      operationId: Get_OpenApi_specification
  /v1/:
    get:
      summary: Returns a list of all routes in the main route that are collection
      tags: []
      parameters:
        - name: filters
          description: "the filters to apply when filtering the routes (Is not\nimplemented
            now)\n"
          schema:
            type: string
          in: query
        - name: order_by
          description: "fields to order the routes by (Is not implemented\nnow)\n"
          schema:
            type: string
          in: query
      responses:
        '200':
          description: Get nested urls
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        default:
          $ref: '#/components/responses/Error'
      operationId: Filter_v1
  /v1/types/:
    get:
      summary: Get TypeRoute TypeControllers
      tags: []
      parameters: []
      responses:
        '200':
          description: Get nested urls
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        default:
          $ref: '#/components/responses/Error'
      operationId: Filter_v1_types
  /v1/types/postgres/:
    get:
      summary: Returns a list of all routes in the main route that are collection
      tags: []
      parameters:
        - name: filters
          description: "the filters to apply when filtering the routes (Is not\nimplemented
            now)\n"
          schema:
            type: string
          in: query
        - name: order_by
          description: "fields to order the routes by (Is not implemented\nnow)\n"
          schema:
            type: string
          in: query
      responses:
        '200':
          description: Get nested urls
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        default:
          $ref: '#/components/responses/Error'
      operationId: Filter_v1_types_postgres
  /v1/types/postgres/instances/:
    get:
      summary: Get PGInstances
      tags:
        - PGInstance
      parameters:
        - name: name
          in: query
          schema:
            type: string
            minLength: 0
            maxLength: 255
            example: any_string
            default: ''
        - name: description
          in: query
          schema:
            type: string
            minLength: 0
            maxLength: 255
            example: any_string
            default: ''
        - name: project_id
          in: query
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
        - name: created_at
          in: query
          schema:
            type: string
            x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
            example: '2006-01-02T15:04:05.000576Z'
            format: date-time
            default: '2006-01-02T15:04:05.000576Z'
        - name: updated_at
          in: query
          schema:
            type: string
            x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
            example: '2006-01-02T15:04:05.000576Z'
            format: date-time
            default: '2006-01-02T15:04:05.000576Z'
        - name: status
          in: query
          schema:
            type: string
            enum:
              - ACTIVE
              - ERROR
              - IN_PROGRESS
              - NEW
            example: NEW
            default: ACTIVE
        - name: cpu
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 128
            example: 64
        - name: ram
          in: query
          schema:
            type: integer
            minimum: 512
            maximum: 1073741824
            example: 536871168
        - name: disk_size
          in: query
          schema:
            type: integer
            minimum: 8
            maximum: 1073741824
            example: 536870916
        - name: nodes_number
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 16
            example: 8
        - name: sync_replica_number
          in: query
          schema:
            type: integer
            minimum: 0
            maximum: 15
            example: 7
            default: 1
        - name: version
          in: query
          schema:
            type: string
      responses:
        '200':
          description: PGInstance_Filter
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PGInstance_Filter'
        default:
          $ref: '#/components/responses/Error'
      operationId: Filter_v1_types_postgres_instances
    post:
      summary: Create PGInstance
      tags:
        - PGInstance
      parameters: []
      responses:
        '201':
          description: PGInstance_Create
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGInstance_Create'
        default:
          $ref: '#/components/responses/Error'
      operationId: Create_v1_types_postgres_instances
      requestBody:
        description: PGInstance_Create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PGInstance_Create'
  /v1/types/postgres/instances/{PGInstanceUuid}:
    get:
      summary: Get PGInstance
      tags:
        - PGInstance
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '200':
          description: PGInstance_Get
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGInstance_Get'
        default:
          $ref: '#/components/responses/Error'
      operationId: Get_v1_types_postgres_instances_PGInstanceUuid
    put:
      summary: Update PGInstance
      tags:
        - PGInstance
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '200':
          description: PGInstance_Update
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGInstance_Update'
        default:
          $ref: '#/components/responses/Error'
      operationId: Update_v1_types_postgres_instances_PGInstanceUuid
      requestBody:
        description: PGInstance_Update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PGInstance_Update'
    delete:
      summary: Delete PGInstance
      tags:
        - PGInstance
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '204':
          description: PGInstance_Delete
        default:
          $ref: '#/components/responses/Error'
      operationId: Delete_v1_types_postgres_instances_PGInstanceUuid
  /v1/types/postgres/instances/{PGInstanceUuid}/databases/:
    get:
      summary: Get PGDatabases
      tags:
        - PGDatabase
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '200':
          description: PGDatabase_Filter
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PGDatabase_Filter'
        default:
          $ref: '#/components/responses/Error'
      operationId: Filter_v1_types_postgres_instances_PGInstanceUuid_databases
    post:
      summary: Create PGDatabase
      tags:
        - PGDatabase
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '201':
          description: PGDatabase_Create
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGDatabase_Create'
        default:
          $ref: '#/components/responses/Error'
      operationId: Create_v1_types_postgres_instances_PGInstanceUuid_databases
      requestBody:
        description: PGDatabase_Create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PGDatabase_Create'
  /v1/types/postgres/instances/{PGInstanceUuid}/databases/{PGDatabaseUuid}:
    get:
      summary: Get PGDatabase
      tags:
        - PGDatabase
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
        - name: PGDatabaseUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '200':
          description: PGDatabase_Get
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGDatabase_Get'
        default:
          $ref: '#/components/responses/Error'
      operationId: Get_v1_types_postgres_instances_PGInstanceUuid_databases_PGDatabaseUuid
    put:
      summary: Update PGDatabase
      tags:
        - PGDatabase
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
        - name: PGDatabaseUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '200':
          description: PGDatabase_Update
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGDatabase_Update'
        default:
          $ref: '#/components/responses/Error'
      operationId: Update_v1_types_postgres_instances_PGInstanceUuid_databases_PGDatabaseUuid
      requestBody:
        description: PGDatabase_Update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PGDatabase_Update'
    delete:
      summary: Delete PGDatabase
      tags:
        - PGDatabase
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
        - name: PGDatabaseUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '204':
          description: PGDatabase_Delete
        default:
          $ref: '#/components/responses/Error'
      operationId: Delete_v1_types_postgres_instances_PGInstanceUuid_databases_PGDatabaseUuid
  /v1/types/postgres/instances/{PGInstanceUuid}/users/:
    get:
      summary: Get PGUsers
      tags:
        - PGUser
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '200':
          description: PGUser_Filter
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PGUser_Filter'
        default:
          $ref: '#/components/responses/Error'
      operationId: Filter_v1_types_postgres_instances_PGInstanceUuid_users
    post:
      summary: Create PGUser
      tags:
        - PGUser
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '201':
          description: PGUser_Create
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGUser_Create'
        default:
          $ref: '#/components/responses/Error'
      operationId: Create_v1_types_postgres_instances_PGInstanceUuid_users
      requestBody:
        description: PGUser_Create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PGUser_Create'
  /v1/types/postgres/instances/{PGInstanceUuid}/users/{PGUserUuid}:
    get:
      summary: Get PGUser
      tags:
        - PGUser
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
        - name: PGUserUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '200':
          description: PGUser_Get
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGUser_Get'
        default:
          $ref: '#/components/responses/Error'
      operationId: Get_v1_types_postgres_instances_PGInstanceUuid_users_PGUserUuid
    put:
      summary: Update PGUser
      tags:
        - PGUser
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
        - name: PGUserUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '200':
          description: PGUser_Update
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGUser_Update'
        default:
          $ref: '#/components/responses/Error'
      operationId: Update_v1_types_postgres_instances_PGInstanceUuid_users_PGUserUuid
      requestBody:
        description: PGUser_Update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PGUser_Update'
    delete:
      summary: Delete PGUser
      tags:
        - PGUser
      parameters:
        - name: PGInstanceUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
        - name: PGUserUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '204':
          description: PGUser_Delete
        default:
          $ref: '#/components/responses/Error'
      operationId: Delete_v1_types_postgres_instances_PGInstanceUuid_users_PGUserUuid
  /v1/types/postgres/versions/:
    get:
      summary: Get PGVersions
      tags:
        - PGVersion
      parameters:
        - name: name
          in: query
          schema:
            type: string
            minLength: 0
            maxLength: 255
            example: any_string
            default: ''
        - name: description
          in: query
          schema:
            type: string
            minLength: 0
            maxLength: 255
            example: any_string
            default: ''
        - name: created_at
          in: query
          schema:
            type: string
            x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
            example: '2006-01-02T15:04:05.000576Z'
            format: date-time
            default: '2006-01-02T15:04:05.000576Z'
        - name: updated_at
          in: query
          schema:
            type: string
            x-ogen-time-format: '2006-01-02T15:04:05.000576Z'
            example: '2006-01-02T15:04:05.000576Z'
            format: date-time
            default: '2006-01-02T15:04:05.000576Z'
        - name: image
          in: query
          schema:
            type: string
            minLength: 0
            maxLength: 2048
            example: any_string
      responses:
        '200':
          description: PGVersion_Filter
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PGVersion_Filter'
        default:
          $ref: '#/components/responses/Error'
      operationId: Filter_v1_types_postgres_versions
    post:
      summary: Create PGVersion
      tags:
        - PGVersion
      parameters: []
      responses:
        '201':
          description: PGVersion_Create
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGVersion_Create'
        default:
          $ref: '#/components/responses/Error'
      operationId: Create_v1_types_postgres_versions
      requestBody:
        description: PGVersion_Create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PGVersion_Create'
  /v1/types/postgres/versions/{PGVersionUuid}:
    get:
      summary: Get PGVersion
      tags:
        - PGVersion
      parameters:
        - name: PGVersionUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '200':
          description: PGVersion_Get
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGVersion_Get'
        default:
          $ref: '#/components/responses/Error'
      operationId: Get_v1_types_postgres_versions_PGVersionUuid
    put:
      summary: Update PGVersion
      tags:
        - PGVersion
      parameters:
        - name: PGVersionUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '200':
          description: PGVersion_Update
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGVersion_Update'
        default:
          $ref: '#/components/responses/Error'
      operationId: Update_v1_types_postgres_versions_PGVersionUuid
      requestBody:
        description: PGVersion_Update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PGVersion_Update'
    delete:
      summary: Delete PGVersion
      tags:
        - PGVersion
      parameters:
        - name: PGVersionUuid
          in: path
          schema:
            type: string
            example: 00000000-0000-0000-0000-000000000000
            format: uuid
          required: true
      responses:
        '204':
          description: PGVersion_Delete
        default:
          $ref: '#/components/responses/Error'
      operationId: Delete_v1_types_postgres_versions_PGVersionUuid
servers:
  - url: http://10.20.0.20:8080
    description: ''
    variables:
      version:
        enum:
          - v1
        default: v1
tags:
  - name: PGDatabase
    description: ''
  - name: PGUser
    description: ''
  - name: PGInstance
    description: ''
  - name: PGVersion
    description: ''
