Wherobots foreign-catalog API

The foreign-catalog API from Wherobots — 4 operation(s) for foreign-catalog.

OpenAPI Specification

wherobots-foreign-catalog-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Wherobots Cloud apikey foreign-catalog API
  description: "Wherobots Cloud API OpenAPI specification.\n\n    These are the API docs for the Wherobots API. You can use this to test out the API and see what it does.\n    The underlying OPENAPI spec can be found at /openapi.json. This can be used to generate clients for the API.\n\n    The Authorize button below will allow you to input an access token to authenticate to our API.\n    Then all of the requests on the page should work.\n    "
  version: 0.0.1
servers:
- url: https://api.cloud.wherobots.com
  description: Wherobots Cloud API
tags:
- name: foreign-catalog
paths:
  /foreign-catalog:
    get:
      tags:
      - foreign-catalog
      summary: List foreign catalogs
      description: Lists all foreign catalogs visible to the current user.
      operationId: listForeignCatalogs
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  oneOf:
                  - $ref: '#/components/schemas/DeltaForeignCatalogRead'
                  - $ref: '#/components/schemas/IcebergForeignCatalogRead'
                  - $ref: '#/components/schemas/AwsGlueForeignCatalogRead'
                  - $ref: '#/components/schemas/S3TablesForeignCatalogRead'
                  discriminator:
                    propertyName: type
                    mapping:
                      UNITY_DELTA: '#/components/schemas/DeltaForeignCatalogRead'
                      UNITY_ICEBERG: '#/components/schemas/IcebergForeignCatalogRead'
                      AWS_GLUE: '#/components/schemas/AwsGlueForeignCatalogRead'
                      S3_TABLES: '#/components/schemas/S3TablesForeignCatalogRead'
                type: array
                title: Response Listforeigncatalogs
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      x-excluded: true
    post:
      tags:
      - foreign-catalog
      summary: Create a foreign catalog connection
      description: 'Creates a new foreign catalog.


        This endpoint allows for the creation of a new foreign catalog connection.

        The number of foreign catalogs is limited by the organization''s plan.'
      operationId: createForeignCatalog
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/UnityIcebergForeignCatalogCreate'
              - $ref: '#/components/schemas/UnityDeltaForeignCatalogCreate'
              - $ref: '#/components/schemas/AwsGlueForeignCatalogCreate'
              - $ref: '#/components/schemas/S3TablesForeignCatalogCreate'
              title: Payload
              discriminator:
                propertyName: type
                mapping:
                  UNITY_ICEBERG: '#/components/schemas/UnityIcebergForeignCatalogCreate'
                  UNITY_DELTA: '#/components/schemas/UnityDeltaForeignCatalogCreate'
                  AWS_GLUE: '#/components/schemas/AwsGlueForeignCatalogCreate'
                  S3_TABLES: '#/components/schemas/S3TablesForeignCatalogCreate'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/DeltaForeignCatalogRead'
                - $ref: '#/components/schemas/IcebergForeignCatalogRead'
                - $ref: '#/components/schemas/AwsGlueForeignCatalogRead'
                - $ref: '#/components/schemas/S3TablesForeignCatalogRead'
                title: Response Createforeigncatalog
                discriminator:
                  propertyName: type
                  mapping:
                    UNITY_DELTA: '#/components/schemas/DeltaForeignCatalogRead'
                    UNITY_ICEBERG: '#/components/schemas/IcebergForeignCatalogRead'
                    AWS_GLUE: '#/components/schemas/AwsGlueForeignCatalogRead'
                    S3_TABLES: '#/components/schemas/S3TablesForeignCatalogRead'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      x-excluded: true
  /foreign-catalog/{catalog_id}:
    get:
      tags:
      - foreign-catalog
      summary: Get a foreign catalog
      description: Gets a specific foreign catalog by its ID.
      operationId: getForeignCatalog
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: catalog_id
        in: path
        required: true
        schema:
          type: string
          description: The ID of the foreign catalog to retrieve.
          title: Catalog Id
        description: The ID of the foreign catalog to retrieve.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/DeltaForeignCatalogRead'
                - $ref: '#/components/schemas/IcebergForeignCatalogRead'
                - $ref: '#/components/schemas/AwsGlueForeignCatalogRead'
                - $ref: '#/components/schemas/S3TablesForeignCatalogRead'
                discriminator:
                  propertyName: type
                  mapping:
                    UNITY_DELTA: '#/components/schemas/DeltaForeignCatalogRead'
                    UNITY_ICEBERG: '#/components/schemas/IcebergForeignCatalogRead'
                    AWS_GLUE: '#/components/schemas/AwsGlueForeignCatalogRead'
                    S3_TABLES: '#/components/schemas/S3TablesForeignCatalogRead'
                title: Response Getforeigncatalog
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
    put:
      tags:
      - foreign-catalog
      summary: Update a foreign catalog
      description: Updates an existing foreign catalog.
      operationId: updateForeignCatalog
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: catalog_id
        in: path
        required: true
        schema:
          type: string
          description: The ID of the foreign catalog to update.
          title: Catalog Id
        description: The ID of the foreign catalog to update.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/UnityIcebergForeignCatalogUpdate'
              - $ref: '#/components/schemas/UnityDeltaForeignCatalogUpdate'
              - $ref: '#/components/schemas/AwsGlueForeignCatalogUpdate'
              - $ref: '#/components/schemas/S3TablesForeignCatalogUpdate'
              discriminator:
                propertyName: type
                mapping:
                  UNITY_ICEBERG: '#/components/schemas/UnityIcebergForeignCatalogUpdate'
                  UNITY_DELTA: '#/components/schemas/UnityDeltaForeignCatalogUpdate'
                  AWS_GLUE: '#/components/schemas/AwsGlueForeignCatalogUpdate'
                  S3_TABLES: '#/components/schemas/S3TablesForeignCatalogUpdate'
              title: Catalog
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/DeltaForeignCatalogRead'
                - $ref: '#/components/schemas/IcebergForeignCatalogRead'
                - $ref: '#/components/schemas/AwsGlueForeignCatalogRead'
                - $ref: '#/components/schemas/S3TablesForeignCatalogRead'
                discriminator:
                  propertyName: type
                  mapping:
                    UNITY_DELTA: '#/components/schemas/DeltaForeignCatalogRead'
                    UNITY_ICEBERG: '#/components/schemas/IcebergForeignCatalogRead'
                    AWS_GLUE: '#/components/schemas/AwsGlueForeignCatalogRead'
                    S3_TABLES: '#/components/schemas/S3TablesForeignCatalogRead'
                title: Response Updateforeigncatalog
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
    delete:
      tags:
      - foreign-catalog
      summary: Delete a foreign catalog
      description: Deletes a foreign catalog by its ID.
      operationId: deleteForeignCatalog
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: catalog_id
        in: path
        required: true
        schema:
          type: string
          description: The ID of the foreign catalog to delete.
          title: Catalog Id
        description: The ID of the foreign catalog to delete.
      responses:
        '204':
          description: Successful Response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
  /foreign-catalog/test-connection:
    post:
      tags:
      - foreign-catalog
      summary: Test a new foreign catalog connection
      description: 'Tests the connection to a foreign catalog.


        This endpoint allows users to test the connection details of a foreign catalog

        before creating it.'
      operationId: testUnsavedForeignCatalogConnection
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/UnityIcebergForeignCatalogCreate'
              - $ref: '#/components/schemas/UnityDeltaForeignCatalogCreate'
              - $ref: '#/components/schemas/AwsGlueForeignCatalogCreate'
              - $ref: '#/components/schemas/S3TablesForeignCatalogCreate'
              title: Catalog
              discriminator:
                propertyName: type
                mapping:
                  UNITY_ICEBERG: '#/components/schemas/UnityIcebergForeignCatalogCreate'
                  UNITY_DELTA: '#/components/schemas/UnityDeltaForeignCatalogCreate'
                  AWS_GLUE: '#/components/schemas/AwsGlueForeignCatalogCreate'
                  S3_TABLES: '#/components/schemas/S3TablesForeignCatalogCreate'
        required: true
      responses:
        '204':
          description: Successful Response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      x-excluded: true
  /foreign-catalog/{catalog_id}/test-connection:
    post:
      tags:
      - foreign-catalog
      summary: Test an existing foreign catalog connection
      description: 'Tests the connection to a foreign catalog.


        This endpoint allows users to test the connection details of an existing

        foreign catalog.'
      operationId: testExistingForeignCatalogConnection
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: catalog_id
        in: path
        required: true
        schema:
          type: string
          description: The ID of the foreign catalog to test.
          title: Catalog Id
        description: The ID of the foreign catalog to test.
      responses:
        '204':
          description: Successful Response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
components:
  schemas:
    IcebergForeignCatalogRead:
      properties:
        id:
          type: string
          title: Id
          description: Unique external ID of the foreign catalog.
        name:
          type: string
          title: Name
          description: Name of the foreign catalog.
        serverUrl:
          type: string
          title: Serverurl
          description: URL of the foreign catalog server.
        type:
          type: string
          const: UNITY_ICEBERG
          title: Type
          description: Type of the foreign catalog. Must be 'UNITY_DELTA'.
        oauthClientId:
          anyOf:
          - type: string
          - type: 'null'
          title: Oauthclientid
          description: OAuth client ID.
      type: object
      required:
      - id
      - name
      - serverUrl
      - type
      title: IcebergForeignCatalogRead
    ErrorInfo:
      properties:
        code:
          $ref: '#/components/schemas/ErrorClass'
          description: The error code
        message:
          type: string
          title: Message
          description: A human-readable message describing the error
        details:
          type: string
          title: Details
          description: Details about the error
        path:
          type: string
          title: Path
          description: The path to the field that caused the error
        suggestion:
          type: string
          title: Suggestion
          description: Suggested action to resolve the error
          default: Contact us at support@wherobots.com to get help with resolving your error.
        documentation_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Documentation Url
          description: URL to related documentation
        field:
          anyOf:
          - type: string
          - type: 'null'
          title: Field
          description: The field that caused the error if applicable
      type: object
      required:
      - code
      - message
      - details
      - path
      title: ErrorInfo
    AwsGlueForeignCatalogRead:
      properties:
        id:
          type: string
          title: Id
          description: Unique external ID of the foreign catalog.
        name:
          type: string
          title: Name
          description: Name of the foreign catalog.
        type:
          type: string
          const: AWS_GLUE
          title: Type
          description: Type of the foreign catalog. Must be 'AWS_GLUE'.
        region:
          type: string
          title: Region
          description: AWS region where the Glue catalog lives.
        s3Path:
          anyOf:
          - type: string
          - type: 'null'
          title: S3Path
        accessType:
          $ref: '#/components/schemas/ForeignCatalogAccessType'
        stackName:
          type: string
          title: Stackname
          description: CloudFormation stack name backing this Glue catalog.
        cloudConnection:
          $ref: '#/components/schemas/CloudConnectionRead'
          description: Resolved cloud connection details.
      type: object
      required:
      - id
      - name
      - type
      - region
      - accessType
      - stackName
      - cloudConnection
      title: AwsGlueForeignCatalogRead
    AwsGlueForeignCatalogUpdate:
      properties:
        type:
          type: string
          const: AWS_GLUE
          title: Type
          description: Type of the foreign catalog. Must be 'AWS_GLUE'.
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: Updated name of the foreign catalog.
      type: object
      required:
      - type
      title: AwsGlueForeignCatalogUpdate
      description: Request model for updating an AWS Glue foreign catalog.
    S3TablesForeignCatalogUpdate:
      properties:
        type:
          type: string
          const: S3_TABLES
          title: Type
          description: Type of the foreign catalog. Must be 'S3_TABLES'.
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: Updated name of the foreign catalog.
      type: object
      required:
      - type
      title: S3TablesForeignCatalogUpdate
      description: Request model for updating an Amazon S3 Tables foreign catalog.
    UnityDeltaForeignCatalogUpdate:
      properties:
        type:
          type: string
          const: UNITY_DELTA
          title: Type
          description: Type of the foreign catalog. Must be 'UNITY_DELTA'.
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: Updated name of the foreign catalog.
        serverUrl:
          anyOf:
          - type: string
          - type: 'null'
          title: Serverurl
          description: Updated URL of the Unity Delta server.
        token:
          anyOf:
          - type: string
          - type: 'null'
          title: Token
          description: Updated personal access token.
      type: object
      required:
      - type
      title: UnityDeltaForeignCatalogUpdate
      description: 'Request model for updating a Unity Delta foreign catalog.

        Used for OpenAPI schema generation.'
    DeltaForeignCatalogRead:
      properties:
        id:
          type: string
          title: Id
          description: Unique external ID of the foreign catalog.
        name:
          type: string
          title: Name
          description: Name of the foreign catalog.
        serverUrl:
          type: string
          title: Serverurl
          description: URL of the foreign catalog server.
        type:
          type: string
          const: UNITY_DELTA
          title: Type
          description: Type of the foreign catalog. Must be 'UNITY_DELTA'.
      type: object
      required:
      - id
      - name
      - serverUrl
      - type
      title: DeltaForeignCatalogRead
    S3TablesForeignCatalogCreate:
      properties:
        type:
          type: string
          const: S3_TABLES
          title: Type
          description: Type of the foreign catalog.
        name:
          type: string
          title: Name
          description: Name of the foreign catalog.
        cloudConnectionId:
          type: string
          title: Cloudconnectionid
          description: ID of the AWS cloud connection that grants access to the table bucket.
        tableBucketArn:
          type: string
          pattern: ^arn:aws:s3tables:[a-z0-9\-]+:\d{12}:bucket/[a-z0-9][a-z0-9\-]{1,61}[a-z0-9]$
          title: Tablebucketarn
          description: ARN of the S3 Tables table bucket this catalog exposes.
        accessType:
          $ref: '#/components/schemas/ForeignCatalogAccessType'
          description: Whether the catalog is read-only or read-write.
      type: object
      required:
      - type
      - name
      - cloudConnectionId
      - tableBucketArn
      - accessType
      title: S3TablesForeignCatalogCreate
      description: Request model for creating an Amazon S3 Tables foreign catalog.
    ForeignCatalogAccessType:
      type: string
      enum:
      - READ
      - READ_WRITE
      title: ForeignCatalogAccessType
      description: Enum for foreign catalog access modes (e.g. read-only vs. read-write).
    ErrorBody:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ErrorInfo'
          type: array
          title: Errors
          description: A list of errors that occurred
        requestId:
          type: string
          title: Requestid
          description: A unique identifier for the request that caused the error
      type: object
      required:
      - errors
      - requestId
      title: ErrorBody
    CloudProvider:
      type: string
      enum:
      - AWS
      title: CloudProvider
    CloudConnectionRead:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        cloudProvider:
          $ref: '#/components/schemas/CloudProvider'
        managedBy:
          anyOf:
          - $ref: '#/components/schemas/CloudConnectionManagedBy'
          - type: 'null'
        roleArn:
          anyOf:
          - type: string
          - type: 'null'
          title: Rolearn
        awsAccountId:
          anyOf:
          - type: string
          - type: 'null'
          title: Awsaccountid
        trustedAccountIds:
          items:
            type: string
          type: array
          title: Trustedaccountids
        allowSaas:
          type: boolean
          title: Allowsaas
          default: true
        stackName:
          anyOf:
          - type: string
          - type: 'null'
          title: Stackname
        createdAt:
          type: string
          format: date-time
          title: Createdat
        bindings:
          anyOf:
          - items:
              $ref: '#/components/schemas/CloudConnectionBinding'
            type: array
          - type: 'null'
          title: Bindings
      type: object
      required:
      - id
      - name
      - cloudProvider
      - managedBy
      - createdAt
      title: CloudConnectionRead
    AwsGlueForeignCatalogCreate:
      properties:
        type:
          type: string
          const: AWS_GLUE
          title: Type
          description: Type of the foreign catalog.
        name:
          type: string
          title: Name
          description: Name of the foreign catalog.
        region:
          type: string
          title: Region
          description: AWS region where the Glue catalog lives.
        cloudConnectionId:
          type: string
          title: Cloudconnectionid
          description: ID of the AWS cloud connection that grants access to the Glue catalog.
        s3Path:
          anyOf:
          - type: string
          - type: 'null'
          title: S3Path
          description: Optional S3 path constraining which Glue tables this catalog exposes.
        accessType:
          $ref: '#/components/schemas/ForeignCatalogAccessType'
          description: Whether the catalog is read-only or read-write.
      type: object
      required:
      - type
      - name
      - region
      - cloudConnectionId
      - accessType
      title: AwsGlueForeignCatalogCreate
      description: Request model for creating an AWS Glue foreign catalog.
    S3TablesForeignCatalogRead:
      properties:
        id:
          type: string
          title: Id
          description: Unique external ID of the foreign catalog.
        name:
          type: string
          title: Name
          description: Name of the foreign catalog.
        type:
          type: string
          const: S3_TABLES
          title: Type
          description: Type of the foreign catalog. Must be 'S3_TABLES'.
        region:
          type: string
          title: Region
          description: AWS region where the table bucket lives.
        tableBucketArn:
          type: string
          title: Tablebucketarn
          description: ARN of the S3 Tables table bucket this catalog exposes.
        accessType:
          $ref: '#/components/schemas/ForeignCatalogAccessType'
        stackName:
          type: string
          title: Stackname
          description: CloudFormation stack name backing this S3 Tables catalog.
        cloudConnection:
          $ref: '#/components/schemas/CloudConnectionRead'
          description: Resolved cloud connection details.
      type: object
      required:
      - id
      - name
      - type
      - region
      - tableBucketArn
      - accessType
      - stackName
      - cloudConnection
      title: S3TablesForeignCatalogRead
    UnityIcebergForeignCatalogCreate:
      properties:
        type:
          type: string
          const: UNITY_ICEBERG
          title: Type
          description: Type of the foreign catalog.
        name:
          type: string
          title: Name
          description: Name of the foreign catalog.
        serverUrl:
          type: string
          title: Serverurl
          description: URL of the Unity Iceberg server.
        oauthClientId:
          type: string
          title: Oauthclientid
          description: OAuth client ID for authentication.
        oauthClientSecret:
          type: string
          title: Oauthclientsecret
          description: OAuth client secret for authentication.
        alias:
          anyOf:
          - type: string
          - type: 'null'
          title: Alias
          description: Optional alias for the catalog. If specified, it will be used instead of the `name` to reference the catalog inside a workload.
      type: object
      required:
      - type
      - name
      - serverUrl
      - oauthClientId
      - oauthClientSecret
      title: UnityIcebergForeignCatalogCreate
      description: Request model for creating a Unity Iceberg foreign catalog.
    UnityIcebergForeignCatalogUpdate:
      properties:
        type:
 

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wherobots/refs/heads/main/openapi/wherobots-foreign-catalog-api-openapi.yml