> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prequel.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Generate Scoped Auth Token

> Generate a scoped auth token for a specific recipient.



## OpenAPI

````yaml /generated/openapi-generated-2023-12-01.json post /actions/generate-scoped-auth-token
openapi: 3.1.0
info:
  title: Prequel Data Export
  description: Data Export API spec
  version: '2023-12-01'
servers:
  - url: https://api.prequel.co
    description: Cloud-hosted server (US)
  - url: https://eu-api.prequel.co
    description: Cloud-hosted server (EU)
  - url: https://{custom_host}/
    description: Cloud-prem or shared-cloud server
security:
  - ApiKeyAuth: []
paths:
  /actions/generate-scoped-auth-token:
    post:
      tags:
        - Auth
      summary: Generate Scoped Auth Token
      description: Generate a scoped auth token for a specific recipient.
      operationId: create-scoped-auth-token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateScopedAuthTokenRequest'
              $schema: https://json-schema.org/draft/2020-12/schema
              $id: >-
                https://github.com/prequel-co/datafeed/internal/export/api/models/create-scoped-auth-token-request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: string
                    const: success
                  data:
                    $ref: '#/components/schemas/CreateScopedAuthTokenResponse'
                    $schema: https://json-schema.org/draft/2020-12/schema
                    $id: >-
                      https://github.com/prequel-co/datafeed/internal/export/api/models/create-scoped-auth-token-response
                  message:
                    type: string
                type: object
                required:
                  - status
                  - data
                  - message
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    CreateScopedAuthTokenRequest:
      properties:
        application_origin:
          type: string
          description: The origin of the application requesting the scoped auth token.
        recipient_id:
          type: string
          format: uuid
          description: The recipient ID.
        destination:
          oneOf:
            - $ref: '#/components/schemas/CreateDestinationRequest'
              title: Create Destination Request
            - $ref: '#/components/schemas/UpdateDestinationRequest'
              title: Update Destination Request
      additionalProperties: false
      type: object
      required:
        - application_origin
        - recipient_id
        - destination
    CreateScopedAuthTokenResponse:
      properties:
        scoped_token:
          type: string
          description: The scoped auth token.
      additionalProperties: false
      type: object
      required:
        - scoped_token
    CreateDestinationRequest:
      properties:
        destination:
          $ref: '#/components/schemas/DestinationOptions'
      additionalProperties: false
      type: object
    UpdateDestinationRequest:
      properties:
        destination:
          $ref: '#/components/schemas/UpdateDestinationOptions'
      additionalProperties: false
      type: object
      required:
        - destination
    ErrorResponse:
      properties:
        status:
          type: string
          const: error
        message:
          type: string
        data:
          type: 'null'
      type: object
      required:
        - status
        - message
    DestinationOptions:
      oneOf:
        - properties:
            vendor:
              const: abs
            abs:
              $ref: '#/components/schemas/ABSDestinationOptions'
              title: Azure Blob Storage
          required:
            - vendor
            - abs
          title: Azure Blob Storage
        - properties:
            vendor:
              const: athena
            athena:
              $ref: '#/components/schemas/AthenaDestinationOptions'
              title: Amazon Athena
          required:
            - vendor
            - athena
          title: Amazon Athena
        - properties:
            vendor:
              const: aurora_mysql
            aurora_mysql:
              $ref: '#/components/schemas/MySQLDestinationOptions'
              title: Amazon Aurora MySQL
          required:
            - vendor
            - aurora_mysql
          title: Amazon Aurora MySQL
        - properties:
            vendor:
              const: aurora_postgres
            aurora_postgres:
              $ref: '#/components/schemas/PostgresDestinationOptions'
              title: Amazon Aurora PostgreSQL
          required:
            - vendor
            - aurora_postgres
          title: Amazon Aurora PostgreSQL
        - properties:
            vendor:
              const: bigquery
            bigquery:
              $ref: '#/components/schemas/BigQueryDestinationOptions'
              title: Google BigQuery
          required:
            - vendor
            - bigquery
          title: Google BigQuery
        - properties:
            vendor:
              const: clickhouse
            clickhouse:
              $ref: '#/components/schemas/ClickhouseDestinationOptions'
              title: ClickHouse
          required:
            - vendor
            - clickhouse
          title: ClickHouse
        - properties:
            vendor:
              const: databricks
            databricks:
              $ref: '#/components/schemas/DatabricksDestinationOptions'
              title: Databricks
          required:
            - vendor
            - databricks
          title: Databricks
        - properties:
            vendor:
              const: delta_lake
            delta_lake:
              $ref: '#/components/schemas/DeltaLakeDestinationOptions'
              title: Delta Lake
          required:
            - vendor
            - delta_lake
          title: Delta Lake
        - properties:
            vendor:
              const: gcs
            gcs:
              $ref: '#/components/schemas/GCSDestinationOptions'
              title: Google Cloud Storage
          required:
            - vendor
            - gcs
          title: Google Cloud Storage
        - properties:
            vendor:
              const: google_sheets
            google_sheets:
              $ref: '#/components/schemas/GoogleSheetsDestinationOptions'
              title: Google Sheets
          required:
            - vendor
            - google_sheets
          title: Google Sheets
        - properties:
            vendor:
              const: iceberg
            iceberg:
              $ref: '#/components/schemas/IcebergDestinationOptions'
              title: Iceberg
          required:
            - vendor
            - iceberg
          title: Iceberg
        - properties:
            vendor:
              const: mock
            mock:
              $ref: '#/components/schemas/MockDestinationOptions'
              title: Mock (for testing in staging only)
          required:
            - vendor
            - mock
          title: Mock (for testing in staging only)
        - properties:
            vendor:
              const: mongodb
            mongodb:
              $ref: '#/components/schemas/MongoDBDestinationOptions'
              title: MongoDB
          required:
            - vendor
            - mongodb
          title: MongoDB
        - properties:
            vendor:
              const: motherduck
            motherduck:
              $ref: '#/components/schemas/MotherDuckDestinationOptions'
              title: MotherDuck
          required:
            - vendor
            - motherduck
          title: MotherDuck
        - properties:
            vendor:
              const: mysql
            mysql:
              $ref: '#/components/schemas/MySQLDestinationOptions'
              title: MySQL
          required:
            - vendor
            - mysql
          title: MySQL
        - properties:
            vendor:
              const: oracle
            oracle:
              $ref: '#/components/schemas/OracleDestinationOptions'
              title: Oracle
          required:
            - vendor
            - oracle
          title: Oracle
        - properties:
            vendor:
              const: planetscale
            planetscale:
              $ref: '#/components/schemas/MySQLDestinationOptions'
              title: PlanetScale
          required:
            - vendor
            - planetscale
          title: PlanetScale
        - properties:
            vendor:
              const: postgres
            postgres:
              $ref: '#/components/schemas/PostgresDestinationOptions'
              title: PostgreSQL
          required:
            - vendor
            - postgres
          title: PostgreSQL
        - properties:
            vendor:
              const: redshift
            redshift:
              $ref: '#/components/schemas/RedshiftDestinationOptions'
              title: Amazon Redshift
          required:
            - vendor
            - redshift
          title: Amazon Redshift
        - properties:
            vendor:
              const: redshift_serverless
            redshift_serverless:
              $ref: '#/components/schemas/RedshiftServerlessDestinationOptions'
              title: Amazon Redshift Serverless
          required:
            - vendor
            - redshift_serverless
          title: Amazon Redshift Serverless
        - properties:
            vendor:
              const: sftp
            sftp:
              $ref: '#/components/schemas/SFTPDestinationOptions'
              title: SFTP
          required:
            - vendor
            - sftp
          title: SFTP
        - properties:
            vendor:
              const: singlestore
            singlestore:
              $ref: '#/components/schemas/MySQLDestinationOptions'
              title: SingleStore
          required:
            - vendor
            - singlestore
          title: SingleStore
        - properties:
            vendor:
              const: snowflake
            snowflake:
              $ref: '#/components/schemas/SnowflakeDestinationOptions'
              title: Snowflake
          required:
            - vendor
            - snowflake
          title: Snowflake
        - properties:
            vendor:
              const: sql_server
            sql_server:
              $ref: '#/components/schemas/SQLServerDestinationOptions'
              title: SQL Server
          required:
            - vendor
            - sql_server
          title: SQL Server
        - properties:
            vendor:
              const: s3
            s3:
              $ref: '#/components/schemas/S3DestinationOptions'
              title: Amazon S3
          required:
            - vendor
            - s3
          title: Amazon S3
        - properties:
            vendor:
              const: s3_compatible
            s3_compatible:
              $ref: '#/components/schemas/S3CompatibleDestinationOptions'
              title: S3 Compatible
          required:
            - vendor
            - s3_compatible
          title: S3 Compatible
      properties:
        name:
          type: string
          title: Destination name
          description: >-
            Descriptive and unique name for this destination. This will only be
            visible internally and is only used as a reference.
        frequency_minutes:
          type: integer
          enum:
            - 0
            - 10
            - 15
            - 60
            - 360
            - 720
            - 1440
          title: Frequency minutes
          description: 'Number of minutes between transfers. Allowed values: 15'
        recipient_id:
          type: string
          format: uuid
          title: Recipient ID
          description: >-
            ID of
            [Recipient](https://docs.prequel.co/export/concepts/recipients)
            created for this destination.
        enabled_models:
          items:
            type: string
          type: array
          description: List of models to enable for this destination. If empty
        max_concurrent_transfers:
          type: integer
          description: >-
            The maximum number of transfers that can write to this destination
            at the same time. Transfers with overlapping model assignments
            cannot be run simultaneously.
        max_concurrent_queries_per_transfer:
          type: integer
          description: >-
            The maximum number of queries that can be run in parallel for a
            single transfer. This is used to limit the number of concurrent
            queries that can be run for a single transfer to avoid overloading
            the destination.
        is_enabled:
          type: boolean
          description: Whether the destination is enabled (vs paused).
          default: true
        machine_type_id:
          type: string
          format: uuid
      type: object
      required:
        - name
        - recipient_id
      unevaluatedProperties: false
    UpdateDestinationOptions:
      properties:
        name:
          type: string
          description: >-
            Descriptive and unique name for this destination. This will only be
            visible internally and is only used as a reference.
        frequency_minutes:
          type: integer
          description: >-
            Number of minutes between transfers. Between 15 and 1440 (24 hours).
            Defaults to organization-level default.
        enabled_models:
          items:
            type: string
          type: array
          description: List of models to enable for this destination. If empty
        max_concurrent_transfers:
          type: integer
          description: >-
            The maximum number of transfers that can write to this destination
            at the same time. Transfers with overlapping model assignments
            cannot be run simultaneously.
        max_concurrent_queries_per_transfer:
          type: integer
          description: >-
            The maximum number of queries that can be run in parallel for a
            single transfer. This is used to limit the number of concurrent
            queries that can be run for a single transfer to avoid overloading
            the destination.
        is_enabled:
          type: boolean
          description: Whether the destination is enabled (vs paused).
          default: true
        vendor:
          type: string
          enum:
            - snowflake
            - bigquery
            - redshift
            - databricks
            - athena
            - aurora_mysql
            - aurora_postgres
            - abs
            - clickhouse
            - delta_lake
            - gcs
            - google_sheets
            - iceberg
            - mock
            - mongodb
            - motherduck
            - mysql
            - oracle
            - planetscale
            - postgres
            - redshift_serverless
            - sftp
            - s3
            - s3_compatible
            - sql_server
            - singlestore
          readOnly: true
        abs:
          $ref: '#/components/schemas/UpdateABSDestinationOptions'
          title: Azure Blob Storage
        athena:
          $ref: '#/components/schemas/UpdateAthenaDestinationOptions'
          title: Amazon Athena
        aurora_mysql:
          $ref: '#/components/schemas/UpdateMySQLDestinationOptions'
          title: Amazon Aurora MySQL
        aurora_postgres:
          $ref: '#/components/schemas/UpdatePostgresDestinationOptions'
          title: Amazon Aurora PostgreSQL
        bigquery:
          $ref: '#/components/schemas/UpdateBigQueryDestinationOptions'
          title: Google BigQuery
        clickhouse:
          $ref: '#/components/schemas/UpdateClickhouseDestinationOptions'
          title: ClickHouse
        databricks:
          $ref: '#/components/schemas/UpdateDatabricksDestinationOptions'
          title: Databricks
        delta_lake:
          $ref: '#/components/schemas/UpdateDeltaLakeDestinationOptions'
          title: Delta Lake
        gcs:
          $ref: '#/components/schemas/UpdateGCSDestinationOptions'
          title: Google Cloud Storage
        google_sheets:
          $ref: '#/components/schemas/UpdateGoogleSheetsDestinationOptions'
          title: Google Sheets
        iceberg:
          $ref: '#/components/schemas/UpdateIcebergDestinationOptions'
          title: Iceberg
        mock:
          $ref: '#/components/schemas/UpdateMockDestinationOptions'
          title: Mock (for testing in staging only)
        mongodb:
          $ref: '#/components/schemas/UpdateMongoDBDestinationOptions'
          title: MongoDB
        motherduck:
          $ref: '#/components/schemas/UpdateMotherDuckDestinationOptions'
          title: MotherDuck
        mysql:
          $ref: '#/components/schemas/UpdateMySQLDestinationOptions'
          title: MySQL
        oracle:
          $ref: '#/components/schemas/UpdateOracleDestinationOptions'
          title: Oracle
        planetscale:
          $ref: '#/components/schemas/UpdateMySQLDestinationOptions'
          title: PlanetScale
        postgres:
          $ref: '#/components/schemas/UpdatePostgresDestinationOptions'
          title: PostgreSQL
        redshift:
          $ref: '#/components/schemas/UpdateRedshiftDestinationOptions'
          title: Amazon Redshift
        redshift_serverless:
          $ref: '#/components/schemas/UpdateRedshiftServerlessDestinationOptions'
          title: Amazon Redshift Serverless
        sftp:
          $ref: '#/components/schemas/UpdateSFTPDestinationOptions'
          title: SFTP
        singlestore:
          $ref: '#/components/schemas/UpdateMySQLDestinationOptions'
          title: SingleStore
        snowflake:
          $ref: '#/components/schemas/UpdateSnowflakeDestinationOptions'
          title: Snowflake
        sql_server:
          $ref: '#/components/schemas/UpdateSQLServerDestinationOptions'
          title: SQL Server
        s3:
          $ref: '#/components/schemas/UpdateS3DestinationOptions'
          title: Amazon S3
        s3_compatible:
          $ref: '#/components/schemas/UpdateS3CompatibleDestinationOptions'
          title: S3 Compatible
        machine_type_id:
          type: string
          format: uuid
      additionalProperties: false
      type: object
    ABSDestinationOptions:
      properties:
        folder:
          type: string
          title: Folder Name
          description: >-
            Name of folder to create and write data to. It will be created
            automatically if the folder does not exist.
        file_format:
          type: string
          enum:
            - parquet
            - csv
            - json
            - jsonl
          title: File format
          description: >-
            File format to write to the bucket. Parquet is the default and
            recommended format.
          default: parquet
        csv:
          $ref: '#/components/schemas/FileFormatCSV'
          description: Required details if writing CSV file format.
        container_name:
          type: string
          title: Bucket name
          description: Name of the Azure Blob Storage container to write data to.
        storage_account_name:
          type: string
          title: Storage account name
          description: Name of the Azure storage account that owns the container.
        auth_method:
          type: string
          enum:
            - azure_service_shared_access_signature
          title: Auth method
          description: >-
            Authentication method. Currently must be set to
            azure_service_shared_access_signature.
        azure_service_shared_access_signature:
          $ref: '#/components/schemas/AzureServiceSharedAccessSignature'
          description: >-
            Required parameters to authenticate to Azure using a Service shared
            access signature.
        disable_manifest:
          type: boolean
          title: Disable Manifest Files
          description: >-
            Disables JSON manifest files (containing validation metadata)
            written with each batch of data.
          default: false
      additionalProperties: false
      type: object
      required:
        - folder
        - container_name
        - storage_account_name
        - auth_method
    AthenaDestinationOptions:
      oneOf:
        - $ref: '#/components/schemas/AthenaDestinationOptionsAWSIAMRole'
        - $ref: '#/components/schemas/AthenaDestinationOptionsAWSAccessKeys'
      discriminator:
        mapping:
          aws_access_keys:
            $ref: '#/components/schemas/AthenaDestinationOptionsAWSAccessKeys'
          aws_iam_role:
            $ref: '#/components/schemas/AthenaDestinationOptionsAWSIAMRole'
        propertyName: auth_method
    MySQLDestinationOptions:
      properties:
        host:
          type: string
          title: Host
          description: Hostname of the destination server.
          default: example.ab02cdefgxyz.us-east-1.rds.amazonaws.com
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          description: Port of the destination server.
          default: 3306
        connection_database:
          type: string
          title: Database
          description: Name of the database to connect to.
        write_database:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        auth_method:
          type: string
          enum:
            - password_auth
          title: Auth method
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to password_auth.
        password_auth:
          $ref: '#/components/schemas/PasswordAuth'
          description: Required details for username/password authentication.
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_ssl:
          type: boolean
          title: Disable SSL
          description: >-
            Whether to disable SSL for the connection. When false: SSL is
            preferred.
          default: false
      additionalProperties: false
      type: object
      required:
        - host
        - port
        - connection_database
        - write_database
        - auth_method
        - password_auth
    PostgresDestinationOptions:
      properties:
        host:
          type: string
          title: Host
          description: Host address of the database.
          default: example.ab02cdefgxyz.us-east-1.rds.amazonaws.com
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          description: Port of the PostgreSQL server.
          default: 5432
        database:
          type: string
          title: Database
          description: Name of database provisioned by the owner of the destination.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        auth_method:
          type: string
          enum:
            - password_auth
          title: Auth method
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to password_auth.
        password_auth:
          $ref: '#/components/schemas/PasswordAuth'
          description: Required details for username/password authentication.
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_ssl:
          type: boolean
          title: Disable SSL
          description: >-
            Whether to disable SSL for the PostgreSQL connection. When false:
            SSL is required.
          default: false
        connection_timeout_in_seconds:
          type: integer
          minimum: 0
          title: Connection Timeout
          description: Duration to wait for successful connection to Postgres
      additionalProperties: false
      type: object
      required:
        - schema
        - auth_method
        - password_auth
    BigQueryDestinationOptions:
      oneOf:
        - $ref: '#/components/schemas/BigQueryDestinationOptionsGCPServiceAccountRole'
        - $ref: >-
            #/components/schemas/BigQueryDestinationOptionsFederatedGCPServiceAccountRole
        - $ref: '#/components/schemas/BigQueryDestinationOptionsGCPServiceAccountKey'
      discriminator:
        mapping:
          federated_gcp_service_account_role:
            $ref: >-
              #/components/schemas/BigQueryDestinationOptionsFederatedGCPServiceAccountRole
          gcp_service_account_key:
            $ref: >-
              #/components/schemas/BigQueryDestinationOptionsGCPServiceAccountKey
          gcp_service_account_role:
            $ref: >-
              #/components/schemas/BigQueryDestinationOptionsGCPServiceAccountRole
        propertyName: auth_method
    ClickhouseDestinationOptions:
      oneOf:
        - properties:
            bucket_vendor:
              const: bucket_s3
            bucket_s3:
              $ref: '#/components/schemas/ClickhouseS3BucketParams'
              title: Staging bucket hosted on S3
              description: Required details about the S3 bucket used for staging data.
          required:
            - bucket_vendor
            - bucket_s3
          title: Staging bucket hosted on S3
        - properties:
            bucket_vendor:
              const: bucket_gcs
            bucket_gcs:
              $ref: '#/components/schemas/ClickhouseGCSBucketParams'
              title: Staging bucket hosted on GCS
              description: Required details about the GCS bucket used for staging data.
          required:
            - bucket_vendor
            - bucket_gcs
          title: Staging bucket hosted on GCS
        - properties:
            bucket_vendor:
              const: bucket_implicit
          required:
            - bucket_vendor
          title: Staging bucket implicit
      properties:
        host:
          type: string
          title: Host
          description: Hostname of the ClickHouse server.
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          description: Port of the ClickHouse server.
        cluster:
          type: string
          title: Cluster
          description: >-
            Optional field to specify the Cluster to use in 'ON CLUSTER'
            statements.
        connection_database:
          type: string
          title: Connection database
          description: Name of the ClickHouse database to use for the initial connection.
        write_database:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Write database
          description: >-
            Name of the ClickHouse database where tables will be created and
            data will be written. It will be created automatically if it does
            not exist.
        auth_method:
          type: string
          enum:
            - password_auth
          title: Auth method
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to password_auth.
        password_auth:
          $ref: '#/components/schemas/PasswordAuth'
          description: Required details for username/password authentication.
        disable_ssl:
          type: boolean
          title: Disable SSL
          description: >-
            Whether to disable SSL for the ClickHouse connection. When false:
            SSL is enabled.
          default: false
      type: object
      required:
        - host
        - port
        - connection_database
        - write_database
        - auth_method
        - password_auth
      unevaluatedProperties: false
    DatabricksDestinationOptions:
      allOf:
        - oneOf:
            - properties:
                auth_method:
                  const: access_token_auth
                access_token_auth:
                  $ref: '#/components/schemas/AccessToken'
                  description: Required details if authenticating using an access token.
              required:
                - auth_method
                - access_token_auth
            - properties:
                auth_method:
                  const: oauth_client_secret_auth
                oauth_client_secret_auth:
                  $ref: '#/components/schemas/OauthClientSecretAuth'
                  description: >-
                    Required details if authenticating using a OAuth client
                    secret.
              required:
                - auth_method
                - oauth_client_secret_auth
        - oneOf:
            - properties:
                metastore:
                  const: hive
                hive:
                  $ref: '#/components/schemas/DatabricksHiveOptions'
                  title: Hive Metastore
              required:
                - metastore
                - hive
              title: Hive Metastore
            - properties:
                metastore:
                  const: unity_catalog
              required:
                - metastore
              title: Unity Catalog Metastore
      properties:
        host:
          type: string
          title: Server hostname
          description: >-
            Server hostname of the SQL endpoint provisioned by the owner of the
            destination.
          default: adb-1099123456789876.12.azuredatabricks.net
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          description: Port of the Databricks SQL endpoint.
          default: 443
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        catalog:
          type: string
          title: Catalog
          description: Name of catalog to write data to.
        http_path:
          type: string
          title: HTTP path
          description: >-
            HTTP path of the SQL endpoint provisioned by the owner of the
            destination.
          default: /sql/1.0/endpoints/a98765ab4c3210a0
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
      type: object
      required:
        - host
        - port
        - schema
        - catalog
        - http_path
      unevaluatedProperties: false
    DeltaLakeDestinationOptions:
      oneOf:
        - properties:
            storage:
              const: bucket_abs
            bucket_abs:
              $ref: '#/components/schemas/OpenTableFormatABSBucketParams'
              description: >-
                Required details about the ABS bucket used for the delta lake
                table.
          required:
            - storage
            - bucket_abs
          title: bucket_abs
        - properties:
            storage:
              const: bucket_gcs
            bucket_gcs:
              $ref: '#/components/schemas/OpenTableFormatGCSBucketParams'
              description: >-
                Required details about the GCS bucket used for the delta lake
                table.
          required:
            - storage
            - bucket_gcs
          title: bucket_gcs
        - properties:
            storage:
              const: bucket_s3
            bucket_s3:
              $ref: '#/components/schemas/OpenTableFormatS3BucketParams'
              description: >-
                Required details about the S3 bucket used for the delta lake
                table.
          required:
            - storage
            - bucket_s3
          title: bucket_s3
        - properties:
            storage:
              const: bucket_s3_compatible
            bucket_s3_compatible:
              $ref: '#/components/schemas/OpenTableFormatS3CompatibleBucketParams'
              description: >-
                Required details about the S3 compatible bucket used for the
                delta lake table.
          required:
            - storage
            - bucket_s3_compatible
          title: bucket_s3_compatible
      properties:
        retention_window_days:
          type: integer
          title: Retention window (days)
          description: The number of days a file must be deleted before it is vacuumed.
          default: 7
        column_mapping_mode:
          type: string
          enum:
            - none
            - id
            - name
          title: Column mapping mode
          description: >-
            Column mapping mode for the Delta Lake table. Use none for no
            mapping; name to track columns by name (allows rename and drop
            without rewrite); or id to track columns by numeric ID.
          default: none
        deletion_vectors_disabled:
          type: boolean
          title: Disable deletion vectors
          description: >-
            Whether to disable deletion vectors. When false: deletions are
            recorded as markers without rewriting table files.
          default: false
        change_data_feed_disabled:
          type: boolean
          title: Disable change data feed
          description: >-
            Whether to disable change data feed. When false: row-level change
            tracking is maintained for the table.
          default: false
      type: object
      unevaluatedProperties: false
    GCSDestinationOptions:
      oneOf:
        - $ref: '#/components/schemas/GCSDestinationOptionsGCPServiceAccountRole'
        - $ref: '#/components/schemas/GCSDestinationOptionsGCSHMACKeys'
        - $ref: >-
            #/components/schemas/GCSDestinationOptionsFederatedGCPServiceAccountRole
      discriminator:
        mapping:
          federated_gcp_service_account_role:
            $ref: >-
              #/components/schemas/GCSDestinationOptionsFederatedGCPServiceAccountRole
          gcp_service_account_role:
            $ref: '#/components/schemas/GCSDestinationOptionsGCPServiceAccountRole'
          gcs_hmac_keys:
            $ref: '#/components/schemas/GCSDestinationOptionsGCSHMACKeys'
        propertyName: auth_method
    GoogleSheetsDestinationOptions:
      properties:
        host:
          type: string
          pattern: ^(https?:\/\/)?(www.)?docs.google.com\/spreadsheets\/d\/.+(\/)?$
          title: Spreadsheet URL
          default: https://docs.google.com/spreadsheets/d/1234567
      additionalProperties: false
      type: object
      required:
        - host
    IcebergDestinationOptions:
      oneOf:
        - properties:
            catalog:
              const: catalog_iceberg_rest
            catalog_iceberg_rest:
              $ref: '#/components/schemas/IcebergRestCatalogParams'
              description: >-
                Required details about the Iceberg Rest Catalog used for the
                iceberg table.
          required:
            - catalog
            - catalog_iceberg_rest
          title: catalog_iceberg_rest
        - properties:
            catalog:
              const: catalog_glue
            catalog_glue:
              $ref: '#/components/schemas/IcebergAwsGlueCatalogParams'
              description: >-
                Required details about the AWS Glue Catalog used for the iceberg
                table.
          required:
            - catalog
            - catalog_glue
          title: catalog_glue
        - properties:
            catalog:
              const: catalog_s3_tables
            catalog_s3_tables:
              $ref: '#/components/schemas/IcebergAwsS3TablesCatalogParams'
              description: >-
                Required details about the AWS S3 Tables bucket used for the
                iceberg table.
          required:
            - catalog
            - catalog_s3_tables
          title: catalog_s3_tables
        - properties:
            catalog:
              const: catalog_google_lakehouse
            catalog_google_lakehouse:
              $ref: '#/components/schemas/IcebergGoogleLakehouseCatalogParams'
              description: >-
                Required details about the Google Lakehouse Catalog used for the
                iceberg table.
          required:
            - catalog
            - catalog_google_lakehouse
          title: catalog_google_lakehouse
      properties:
        retention_window_days:
          type: integer
          title: Retention window (days)
          description: >-
            The minimum number of days to retain old snapshots before they are
            expired.
          default: 7
      type: object
      unevaluatedProperties: false
    MockDestinationOptions:
      properties:
        schema:
          type: string
          description: Mock schema name.
        database:
          type: string
          description: Mock database name.
        error_code:
          type: string
      additionalProperties: false
      type: object
      required:
        - schema
        - database
    MongoDBDestinationOptions:
      oneOf:
        - $ref: '#/components/schemas/MongoDBDestinationOptionsAWSIAMRole'
        - $ref: '#/components/schemas/MongoDBDestinationOptionsPasswordAuth'
      discriminator:
        mapping:
          aws_iam_role:
            $ref: '#/components/schemas/MongoDBDestinationOptionsAWSIAMRole'
          password_auth:
            $ref: '#/components/schemas/MongoDBDestinationOptionsPasswordAuth'
        propertyName: auth_method
    MotherDuckDestinationOptions:
      properties:
        database:
          type: string
          title: Database
          description: MotherDuck database name.
        schema:
          type: string
          title: Schema
          description: MotherDuck schema name.
        auth_method:
          type: string
          enum:
            - access_token_auth
          title: Auth method
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to access_token_auth.
        access_token_auth:
          $ref: '#/components/schemas/AccessToken'
          description: The access token authentication object.
      additionalProperties: false
      type: object
      required:
        - database
        - schema
        - auth_method
    OracleDestinationOptions:
      oneOf:
        - properties:
            disable_ssl:
              const: false
            ssl_options:
              $ref: '#/components/schemas/OracleSSLParams'
              description: Required details if using SSL connection.
          required:
            - ssl_options
          title: SSL Enabled
        - properties:
            disable_ssl:
              type: boolean
              title: Disable SSL
              description: >-
                Whether to disable SSL for the Oracle connection. When false:
                SSL is enabled.
              default: false
          required:
            - disable_ssl
          title: SSL Disabled
      properties:
        host:
          type: string
          title: Host
          description: Host address of the database.
          default: example.ab02cdefgxyz.us-east-1.rds.amazonaws.com
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          description: Port of the Oracle database server.
          default: 1521
        database:
          type: string
          title: Database
          description: Name of database provisioned by the owner of the destination.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        auth_method:
          type: string
          enum:
            - password_auth
          title: Auth method
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to password_auth.
        password_auth:
          $ref: '#/components/schemas/PasswordAuth'
          description: Required details for username/password authentication.
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
      type: object
      required:
        - schema
        - auth_method
        - password_auth
      unevaluatedProperties: false
    RedshiftDestinationOptions:
      oneOf:
        - $ref: '#/components/schemas/RedshiftDestinationOptionsAWSAccessKeys'
        - $ref: '#/components/schemas/RedshiftDestinationOptionsAWSIAMRole'
      discriminator:
        mapping:
          aws_access_keys:
            $ref: '#/components/schemas/RedshiftDestinationOptionsAWSAccessKeys'
          aws_iam_role:
            $ref: '#/components/schemas/RedshiftDestinationOptionsAWSIAMRole'
        propertyName: auth_method
    RedshiftServerlessDestinationOptions:
      oneOf:
        - $ref: '#/components/schemas/RedshiftServerlessDestinationOptionsAWSIAMRole'
        - $ref: >-
            #/components/schemas/RedshiftServerlessDestinationOptionsAWSAccessKeys
      discriminator:
        mapping:
          aws_access_keys:
            $ref: >-
              #/components/schemas/RedshiftServerlessDestinationOptionsAWSAccessKeys
          aws_iam_role:
            $ref: >-
              #/components/schemas/RedshiftServerlessDestinationOptionsAWSIAMRole
        propertyName: auth_method
    SFTPDestinationOptions:
      oneOf:
        - properties:
            file_encryption:
              const: pgp
            pgp:
              $ref: '#/components/schemas/PGPEncryption'
              description: Required details for PGP encryption.
          required:
            - file_encryption
            - pgp
      properties:
        username:
          type: string
          title: Username
          description: Username to use for the SFTP connection.
        host:
          type: string
          title: Host
          description: Hostname of the SFTP server.
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          default: 22
        folder:
          type: string
          title: Folder name
          description: >-
            Name of folder to create and write data to. It will be created
            automatically if it does not exist.
        file_format:
          type: string
          enum:
            - csv
            - parquet
            - json
            - jsonl
          title: File format
          description: The format of the files to write to the SFTP server.
        csv:
          $ref: '#/components/schemas/FileFormatCSV'
          description: Required details if writing CSV file format.
        auth_method:
          type: string
          enum:
            - public_key_auth
          title: Auth method
          description: Authentication method. Currently must be set to public_key_auth.
        public_key_auth:
          $ref: '#/components/schemas/PublicKeyAuth'
          title: Public key auth
          description: Required details for public key authentication.
      type: object
      required:
        - username
        - host
        - port
        - file_format
        - auth_method
        - public_key_auth
      unevaluatedProperties: false
    SnowflakeDestinationOptions:
      oneOf:
        - $ref: '#/components/schemas/SnowflakeDestinationOptionsPasswordAuth'
        - $ref: '#/components/schemas/SnowflakeDestinationOptionsPublicKeyAuth'
      discriminator:
        mapping:
          password_auth:
            $ref: '#/components/schemas/SnowflakeDestinationOptionsPasswordAuth'
          public_key_auth:
            $ref: '#/components/schemas/SnowflakeDestinationOptionsPublicKeyAuth'
        propertyName: auth_method
    SQLServerDestinationOptions:
      properties:
        host:
          type: string
          title: Host
          description: Host address of the database.
          default: example.ab02cdefgxyz.us-east-1.rds.amazonaws.com
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          description: Port of the SQL Server instance.
          default: 1433
        database:
          type: string
          title: Database
          description: Name of database provisioned by the owner of the destination.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        auth_method:
          type: string
          enum:
            - password_auth
          title: Auth method
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to password_auth.
        password_auth:
          $ref: '#/components/schemas/PasswordAuth'
          description: Required details for username/password authentication.
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_ssl:
          type: boolean
          title: Disable SSL
          description: >-
            Whether to disable SSL for the SQL Server connection. When false:
            SSL is enabled.
          default: false
        primary_key_collation:
          type: string
          title: Primary Key Collation
          description: >-
            SQL Server collation to use for primary key column. Leave empty to
            use database default collation.
      additionalProperties: false
      type: object
      required:
        - schema
        - auth_method
        - password_auth
    S3DestinationOptions:
      oneOf:
        - $ref: '#/components/schemas/S3DestinationOptionsAWSIAMRole'
        - $ref: '#/components/schemas/S3DestinationOptionsAWSAccessKeys'
      discriminator:
        mapping:
          aws_access_keys:
            $ref: '#/components/schemas/S3DestinationOptionsAWSAccessKeys'
          aws_iam_role:
            $ref: '#/components/schemas/S3DestinationOptionsAWSIAMRole'
        propertyName: auth_method
    S3CompatibleDestinationOptions:
      properties:
        host:
          type: string
          title: Bucket host
          description: Hostname of the S3-compatible server.
          default: s3.us-east-1.amazonaws.com
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          description: Port of the S3-compatible server.
          default: 443
        folder:
          type: string
          title: Folder name
          description: >-
            Name of folder to create and write data to. It will be created
            automatically if it does not exist.
        file_format:
          type: string
          enum:
            - parquet
            - csv
            - json
            - jsonl
          title: File format
          description: >-
            File format to write to the bucket. Parquet is the default and
            recommended format.
          default: parquet
        csv:
          $ref: '#/components/schemas/FileFormatCSV'
          description: Required details if writing CSV file format.
        bucket_name:
          type: string
          title: Bucket name
          description: Name of the S3-compatible bucket to write data to.
        disable_ssl:
          type: boolean
          title: Disable SSL
          description: >-
            Whether to disable SSL for the S3-compatible connection. When false:
            SSL is enabled.
          default: false
        auth_method:
          type: string
          enum:
            - access_keys
          title: Auth method
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to access_keys.
        access_keys:
          $ref: '#/components/schemas/AccessKeys'
          description: Required details for access key authentication.
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_manifest:
          type: boolean
          title: Disable Manifest Files
          description: >-
            Disables JSON manifest files (containing validation metadata)
            written with each batch of data.
          default: false
      additionalProperties: false
      type: object
      required:
        - host
        - port
        - folder
        - bucket_name
        - auth_method
        - access_keys
    UpdateABSDestinationOptions:
      properties:
        folder:
          type: string
          description: >-
            The folder to write to. The folder will be created if it does not
            exist.
        container_name:
          type: string
          description: The name of the container to write to.
        storage_account_name:
          type: string
          description: The name of the storage account configured for Prequel.
        auth_method:
          type: string
          enum:
            - azure_service_shared_access_signature
          description: >-
            Option for authentication methods. Currently only SAS is supported
            and must be set to azure_service_shared_access_signature.
        azure_service_shared_access_signature:
          $ref: '#/components/schemas/UpdateAzureServiceSharedAccessSignature'
          description: >-
            Required parameters to authenticate to Azure using a Service shared
            access signature.
        disable_manifest:
          type: boolean
          title: Disable Manifest Files
          description: >-
            Disables JSON manifest files (containing validation metadata)
            written with each batch of data.
          default: false
      additionalProperties: false
      type: object
    UpdateAthenaDestinationOptions:
      properties:
        workgroup:
          type: string
          description: >-
            The Athena workgroup to use for this destination. This should be
            'primary' unless otherwise specified during connection
            configuration.
        connection_database:
          type: string
          description: >-
            The name of the folder in S3 in which the Athena query results are
            written (i.e. the automatically generated athena_output/ data).
        write_database:
          type: string
          pattern: ^[A-Za-z0-9_]+$
          description: >-
            The name of the folder in S3 in which the final data will be
            written.
        auth_method:
          type: string
          enum:
            - aws_iam_role
            - aws_access_keys
          description: The method of authentication to use for this destination.
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
          description: >-
            Required details if authenticating using an AWS IAM role
            (recommended).
        aws_access_keys:
          $ref: '#/components/schemas/UpdateAWSAccessKeys'
          description: Required details if authenticating using AWS access keys.
        bucket_s3:
          $ref: '#/components/schemas/UpdateS3BucketParams'
          description: Required details about the S3 bucket used for staging data.
      additionalProperties: false
      type: object
    UpdateMySQLDestinationOptions:
      properties:
        host:
          type: string
          description: The hostname of the MySQL server.
        port:
          type: integer
          exclusiveMinimum: 0
          description: The port of the MySQL server.
        connection_database:
          type: string
          description: The name of the database to connect to.
        write_database:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          description: The name of the database where final data will be written.
        auth_method:
          type: string
          enum:
            - password_auth
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to password_auth.
        password_auth:
          $ref: '#/components/schemas/UpdatePasswordAuth'
          description: Required details for username/password authentication.
        use_ssh_tunnel:
          type: boolean
          title: Use SSH Tunnel
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_ssl:
          type: boolean
          description: Whether to disable SSL for the MySQL connection.
      additionalProperties: false
      type: object
    UpdatePostgresDestinationOptions:
      properties:
        host:
          type: string
          description: The hostname of the PostgreSQL server.
        port:
          type: integer
          exclusiveMinimum: 0
          description: The port of the PostgreSQL server.
        database:
          type: string
          description: The name of the database to connect to.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          description: The name of the schema to write to.
        auth_method:
          type: string
          enum:
            - password_auth
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to password_auth.
        password_auth:
          $ref: '#/components/schemas/UpdatePasswordAuth'
          description: Required details for username/password authentication.
        use_ssh_tunnel:
          type: boolean
          title: Use SSH Tunnel
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_ssl:
          type: boolean
          description: Whether to disable SSL for the PostgreSQL connection.
        connection_timeout_in_seconds:
          type: integer
          minimum: 0
          title: Connection Timeout (in seconds)
          description: Duration to wait for successful connection to Postgres
      additionalProperties: false
      type: object
    UpdateBigQueryDestinationOptions:
      properties:
        project_id:
          type: string
          description: The BigQuery project ID.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          description: The name of the schema to write to.
        auth_method:
          type: string
          enum:
            - gcp_service_account_role
            - gcp_service_account_key
            - federated_gcp_service_account_role
          title: Auth method
          description: The method of authentication to use for this destination.
        gcp_service_account_role:
          $ref: '#/components/schemas/UpdateGCPServiceAccountRole'
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
        federated_gcp_service_account_role:
          $ref: '#/components/schemas/UpdateFederatedGCPServiceAccountRole'
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
        gcp_service_account_key:
          $ref: '#/components/schemas/UpdateGCPServiceAccountKey'
          description: Required details if authenticating using a GCP service account key.
        bucket_gcs:
          $ref: '#/components/schemas/UpdateBigQueryGCSBucketParams'
          description: Required details about the GCS bucket used for staging data.
      additionalProperties: false
      type: object
      required:
        - auth_method
    UpdateClickhouseDestinationOptions:
      properties:
        host:
          type: string
          description: The hostname of the ClickHouse server.
        port:
          type: integer
          exclusiveMinimum: 0
          description: The port of the ClickHouse server.
        cluster:
          type: string
          description: The name of the ClickHouse cluster to use for this destination.
        connection_database:
          type: string
          description: The name of the database to connect to.
        write_database:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          description: The name of the database where final data will be written.
        auth_method:
          type: string
          enum:
            - password_auth
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to password_auth.
        password_auth:
          $ref: '#/components/schemas/UpdatePasswordAuth'
          description: Required details for username/password authentication.
        bucket_vendor:
          type: string
          enum:
            - bucket_s3
            - bucket_gcs
            - bucket_implicit
          description: Where the staging bucket is hosted.
        bucket_s3:
          $ref: '#/components/schemas/UpdateClickhouseS3BucketParams'
          description: Required details about the S3 bucket used for staging data.
        bucket_gcs:
          $ref: '#/components/schemas/UpdateClickhouseGCSBucketParams'
          description: Required details about the GCS bucket used for staging data.
        disable_ssl:
          type: boolean
          description: Whether to disable SSL for the ClickHouse connection.
      additionalProperties: false
      type: object
    UpdateDatabricksDestinationOptions:
      properties:
        host:
          type: string
          description: The hostname of the Databricks server.
        port:
          type: integer
          exclusiveMinimum: 0
          description: The port of the Databricks server.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          description: The name of the schema to write to.
        catalog:
          type: string
          description: The name of the catalog to write to.
        http_path:
          type: string
          description: The HTTP path to use for the Databricks connection.
        auth_method:
          type: string
          enum:
            - access_token_auth
            - oauth_client_secret_auth
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to access_token_auth.
        access_token_auth:
          $ref: '#/components/schemas/AccessToken'
          description: The access token authentication object.
        oauth_client_secret_auth:
          $ref: '#/components/schemas/UpdateOauthClientSecretAuth'
          description: The OAuth client secret authentication object.
        metastore:
          type: string
          enum:
            - hive
            - unity_catalog
          description: Metastore type to use.
        hive:
          $ref: '#/components/schemas/UpdateDatabricksHiveOptions'
        use_ssh_tunnel:
          type: boolean
          title: Use SSH Tunnel
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
      additionalProperties: false
      type: object
    UpdateDeltaLakeDestinationOptions:
      properties:
        bucket_abs:
          $ref: '#/components/schemas/UpdateOpenTableFormatABSBucketParams'
          description: Required details about the ABS bucket used for the delta lake table.
        bucket_gcs:
          $ref: '#/components/schemas/UpdateOpenTableFormatGCSBucketParams'
          description: Required details about the GCS bucket used for the delta lake table.
        bucket_s3:
          $ref: '#/components/schemas/UpdateOpenTableFormatS3BucketParams'
          description: Required details about the S3 bucket used for the delta lake table.
        bucket_s3_compatible:
          $ref: '#/components/schemas/UpdateOpenTableFormatS3CompatibleBucketParams'
          description: >-
            Required details about the S3 compatible bucket used for the delta
            lake table.
        retention_window_days:
          type: integer
          description: The number of days a file must be deleted before it is vacuumed.
          default: 7
        column_mapping_mode:
          type: string
          enum:
            - none
            - id
            - name
          title: Column mapping mode
          description: >-
            Column mapping mode for the Delta Lake table. Use none for no
            mapping; name to track columns by name (allows rename and drop
            without rewrite); or id to track columns by numeric ID.
          default: none
        deletion_vectors_disabled:
          type: boolean
          title: Disable deletion vectors
          description: >-
            Whether to disable deletion vectors. When false: deletions are
            recorded as markers without rewriting table files.
          default: false
        change_data_feed_disabled:
          type: boolean
          title: Disable change data feed
          description: >-
            Whether to disable change data feed. When false: row-level change
            tracking is maintained for the table.
          default: false
      additionalProperties: false
      type: object
    UpdateGCSDestinationOptions:
      properties:
        disable_manifest:
          type: boolean
          title: Disable Manifest Files
          description: >-
            Disables JSON manifest files (containing validation metadata)
            written with each batch of data.
          default: false
        folder:
          type: string
          description: >-
            The folder to write to. The folder will be created if it does not
            exist.
        auth_method:
          type: string
          enum:
            - gcp_service_account_role
            - gcs_hmac_keys
            - federated_gcp_service_account_role
          description: The method of authentication to use for this destination.
        gcp_service_account_role:
          $ref: '#/components/schemas/UpdateGCPServiceAccountRole'
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
        gcs_hmac_keys:
          $ref: '#/components/schemas/UpdateGCSAccessKeys'
          description: Required details if authenticating using GCS HMAC keys.
        federated_gcp_service_account_role:
          $ref: '#/components/schemas/UpdateFederatedGCPServiceAccountRole'
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
        bucket_name:
          type: string
          description: The name of the GCS bucket.
      additionalProperties: false
      type: object
    UpdateGoogleSheetsDestinationOptions:
      properties:
        host:
          type: string
          pattern: ^(https?:\/\/)?(www.)?docs.google.com\/spreadsheets\/d\/.+(\/)?$
          description: The URL of the Google Sheet.
      additionalProperties: false
      type: object
    UpdateIcebergDestinationOptions:
      properties:
        catalog_iceberg_rest:
          $ref: '#/components/schemas/UpdateIcebergRestCatalogParams'
          description: >-
            Required details about the Iceberg Rest Catalog used for the iceberg
            table.
        catalog_glue:
          $ref: '#/components/schemas/UpdateIcebergAwsGlueCatalogParams'
          description: >-
            Required details about the AWS Glue Catalog used for the iceberg
            table.
        catalog_s3_tables:
          $ref: '#/components/schemas/UpdateIcebergAwsS3TablesCatalogParams'
          description: >-
            Required details about the AWS S3 Tables bucket used for the iceberg
            table.
        catalog_google_lakehouse:
          $ref: '#/components/schemas/UpdateIcebergGoogleLakehouseCatalogParams'
          description: >-
            Required details about the Google Lakehouse Catalog used for the
            iceberg table.
        retention_window_days:
          type: integer
          description: >-
            The minimum number of days to retain old snapshots before they are
            expired.
          default: 7
      additionalProperties: false
      type: object
    UpdateMockDestinationOptions:
      properties:
        schema:
          type: string
          description: Mock schema name.
        database:
          type: string
          description: Mock database name.
        error_code:
          type: string
      additionalProperties: false
      type: object
      required:
        - schema
        - database
    UpdateMongoDBDestinationOptions:
      properties:
        host:
          type: string
          description: The hostname of the MongoDB server.
        port:
          type: integer
          title: Port
          description: Optional. Leave empty If using Atlas.
          default: 27017
        authentication_database:
          type: string
          description: The name of the MongoDB Authentication Database.
        write_database:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          description: The name of the MongoDB database to write to.
        auth_method:
          type: string
          enum:
            - aws_iam_role
            - password_auth
          description: The method of authentication to use for this destination.
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
          description: Required details if authenticating using an AWS IAM role.
        password_auth:
          $ref: '#/components/schemas/UpdatePasswordAuth'
          description: Required details if authenticating with username/password.
        use_ssh_tunnel:
          type: boolean
          title: Use SSH Tunnel
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_ssl:
          type: boolean
          description: Whether to disable SSL for the MongoDB connection.
      additionalProperties: false
      type: object
    UpdateMotherDuckDestinationOptions:
      properties:
        database:
          type: string
          title: Database
          description: MotherDuck database name.
        schema:
          type: string
          title: Schema
          description: MotherDuck schema name to write to.
        auth_method:
          type: string
          enum:
            - access_token_auth
          description: The method of authentication to use for this destination.
        access_token_auth:
          $ref: '#/components/schemas/AccessToken'
          description: The access token authentication object.
      additionalProperties: false
      type: object
    UpdateOracleDestinationOptions:
      oneOf:
        - properties:
            disable_ssl:
              const: false
            ssl_options:
              $ref: '#/components/schemas/OracleSSLParams'
              description: Required details if using SSL connection.
          required:
            - ssl_options
          title: SSL Enabled
        - properties:
            disable_ssl:
              type: boolean
              description: Whether to disable SSL for the PostgreSQL connection.
          required:
            - disable_ssl
          title: SSL Disabled
      properties:
        host:
          type: string
          description: The hostname of the Oracle database server.
        port:
          type: integer
          exclusiveMinimum: 0
          description: The port of the Oracle database server.
        database:
          type: string
          description: The name of the database to connect to.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          description: The name of the schema to write to.
        auth_method:
          type: string
          enum:
            - password_auth
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to password_auth.
        password_auth:
          $ref: '#/components/schemas/UpdatePasswordAuth'
          description: Required details for username/password authentication.
        use_ssh_tunnel:
          type: boolean
          title: Use SSH Tunnel
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
      type: object
      unevaluatedProperties: false
    UpdateRedshiftDestinationOptions:
      properties:
        host:
          type: string
          description: The hostname of the Redshift server.
        port:
          type: integer
          exclusiveMinimum: 0
          description: The port of the Redshift server.
        database:
          type: string
          description: The name of the database to connect to.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          description: The name of the schema to write to.
        cluster:
          type: string
          description: The name of the Redshift cluster to connect to.
        username:
          type: string
          title: Username
        auth_method:
          type: string
          enum:
            - aws_iam_role
            - password_auth
          title: Auth method
          description: The method of authentication to use for this destination.
        aws_access_keys:
          $ref: '#/components/schemas/UpdateRedshiftAccessKeys'
          description: Required details for username/password authentication.
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
          description: Required details if authenticating using an AWS IAM role.
        bucket_s3:
          $ref: '#/components/schemas/UpdateRedshiftS3BucketParams'
          description: Required details about the S3 bucket used for staging data.
        use_ssh_tunnel:
          type: boolean
          title: Use SSH Tunnel
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
      additionalProperties: false
      type: object
      required:
        - auth_method
    UpdateRedshiftServerlessDestinationOptions:
      properties:
        workgroup:
          type: string
          description: The name of the Redshift Serverless workgroup.
        host:
          type: string
          description: The hostname to use to connect.
        port:
          type: integer
          exclusiveMinimum: 0
          description: The port to use to connect.
        database:
          type: string
          description: The name of the database to connect to.
        schema:
          type: string
          description: The name of the schema to write to.
        auth_method:
          type: string
          enum:
            - aws_access_keys
            - aws_iam_role
          title: Auth method
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
          description: Required details if authenticating using an AWS IAM role.
        aws_access_keys:
          $ref: '#/components/schemas/AWSAccessKeys'
          description: Required details if authenticating using AWS access keys.
        bucket_s3:
          $ref: '#/components/schemas/UpdateRedshiftS3BucketParams'
          description: Required details about the S3 bucket used for staging data.
        use_ssh_tunnel:
          type: boolean
          title: Use SSH Tunnel
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
      additionalProperties: false
      type: object
      required:
        - auth_method
    UpdateSFTPDestinationOptions:
      properties:
        username:
          type: string
          description: The username to use for the SFTP connection.
        host:
          type: string
          description: The hostname of the SFTP server.
        port:
          type: integer
          exclusiveMinimum: 0
          description: The port of the SFTP server.
        folder:
          type: string
          description: >-
            The folder to write to. The folder will be created if it does not
            exist.
        auth_method:
          type: string
          enum:
            - public_key_auth
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to public_key_auth.
        public_key_auth:
          $ref: '#/components/schemas/UpdatePublicKeyAuth'
          description: Required details for public key authentication.
      additionalProperties: false
      type: object
    UpdateSnowflakeDestinationOptions:
      properties:
        username:
          type: string
          description: The name of the Snowflake user.
        host:
          type: string
          pattern: .*\.snowflakecomputing.com$
          description: The hostname of the Snowflake server.
        port:
          type: integer
          exclusiveMinimum: 0
          description: The port of the Snowflake server.
        database:
          type: string
          description: The name of the database to connect to.
        schema:
          type: string
          description: The name of the schema to write to.
        auth_method:
          type: string
          enum:
            - password_auth
            - public_key_auth
          description: Authentication method to use for this destination.
        password_auth:
          $ref: '#/components/schemas/UpdatePasswordOnlyAuth'
          description: Required details for username/password authentication.
        public_key_auth:
          $ref: '#/components/schemas/PublicKeyAuth'
          description: Required details for public key authentication.
      additionalProperties: false
      type: object
    UpdateSQLServerDestinationOptions:
      properties:
        host:
          type: string
          description: The hostname of the SQL Server instance.
        port:
          type: integer
          exclusiveMinimum: 0
          description: The port of the SQL Server instance.
        database:
          type: string
          description: The name of the database to connect to.
        schema:
          type: string
          description: The name of the schema to write to.
        auth_method:
          type: string
          enum:
            - password_auth
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to password_auth.
        password_auth:
          $ref: '#/components/schemas/UpdatePasswordAuth'
          description: Required details for username/password authentication.
        use_ssh_tunnel:
          type: boolean
          title: Use SSH Tunnel
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_ssl:
          type: boolean
          description: Whether to disable SSL for the SQL Server connection.
        primary_key_collation:
          type: string
          description: >-
            SQL Server collation to use for primary key column. Leave empty to
            use database default collation.
      additionalProperties: false
      type: object
    UpdateS3DestinationOptions:
      properties:
        disable_manifest:
          type: boolean
          title: Disable Manifest Files
          description: >-
            Disables JSON manifest files (containing validation metadata)
            written with each batch of data.
          default: false
        folder:
          type: string
          description: >-
            The folder to write to. The folder will be created if it does not
            exist.
        auth_method:
          type: string
          enum:
            - aws_iam_role
            - aws_access_keys
          description: The method of authentication to use for this destination.
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
          description: Required details if authenticating using an AWS IAM role.
        aws_access_keys:
          $ref: '#/components/schemas/UpdateAWSAccessKeys'
          description: Required details if authenticating using AWS access keys.
        bucket_name:
          type: string
          description: The name of the S3 bucket.
        bucket_region:
          type: string
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
        use_ssh_tunnel:
          type: boolean
          title: Use SSH Tunnel
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
      additionalProperties: false
      type: object
    UpdateS3CompatibleDestinationOptions:
      properties:
        host:
          type: string
          description: The hostname of the S3-compatible server.
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          default: 443
        disable_manifest:
          type: boolean
          title: Disable Manifest Files
          description: >-
            Disables JSON manifest files (containing validation metadata)
            written with each batch of data.
          default: false
        folder:
          type: string
          description: >-
            The folder to write to. The folder will be created if it does not
            exist.
        bucket_name:
          type: string
          description: The name of the S3-compatible bucket to write to.
        disable_ssl:
          type: boolean
          description: Whether to disable SSL for the S3-compatible connection.
        auth_method:
          type: string
          enum:
            - access_keys
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to access_keys.
        access_keys:
          $ref: '#/components/schemas/UpdateAccessKeys'
          description: Required details for access key authentication.
        use_ssh_tunnel:
          type: boolean
          title: Use SSH Tunnel
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
      additionalProperties: false
      type: object
      required:
        - port
    FileFormatCSV:
      properties:
        delimiter:
          type: string
          title: Delimiter
          description: The delimiter to use for the CSV file. Must be a single character.
      additionalProperties: false
      type: object
      required:
        - delimiter
    AzureServiceSharedAccessSignature:
      properties:
        shared_access_signature_token:
          type: string
          title: Storage Account SAS Token
      additionalProperties: false
      type: object
      required:
        - shared_access_signature_token
    AthenaDestinationOptionsAWSIAMRole:
      properties:
        workgroup:
          type: string
          title: Workgroup
          description: >-
            Optional field to specify the Athena Workgroup to use. Must be
            configured for Athena engine version 3. If left blank
        connection_database:
          type: string
          title: Query results location
          description: >-
            The name of the folder where the query results will be stored. This
            folder will be created within the S3 bucket.
        write_database:
          type: string
          pattern: ^[A-Za-z0-9_]+$
          title: Schema
          description: >-
            This is the name for the group of tables loaded into Athena. This is
            synonymous with database in Athena.
        bucket_s3:
          $ref: '#/components/schemas/S3BucketParams'
          description: Required details about the S3 bucket used for staging data.
        auth_method:
          const: aws_iam_role
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
          title: Authenticate using an AWS IAM role (recommended)
      type: object
      required:
        - connection_database
        - write_database
        - bucket_s3
        - auth_method
        - aws_iam_role
      title: Authenticate using an AWS IAM role (recommended)
      unevaluatedProperties: false
    AthenaDestinationOptionsAWSAccessKeys:
      properties:
        workgroup:
          type: string
          title: Workgroup
          description: >-
            Optional field to specify the Athena Workgroup to use. Must be
            configured for Athena engine version 3. If left blank
        connection_database:
          type: string
          title: Query results location
          description: >-
            The name of the folder where the query results will be stored. This
            folder will be created within the S3 bucket.
        write_database:
          type: string
          pattern: ^[A-Za-z0-9_]+$
          title: Schema
          description: >-
            This is the name for the group of tables loaded into Athena. This is
            synonymous with database in Athena.
        bucket_s3:
          $ref: '#/components/schemas/S3BucketParams'
          description: Required details about the S3 bucket used for staging data.
        auth_method:
          const: aws_access_keys
        aws_access_keys:
          $ref: '#/components/schemas/AWSAccessKeys'
          title: Authenticate using AWS access keys
          description: Required details if authenticating using AWS access keys.
      type: object
      required:
        - connection_database
        - write_database
        - bucket_s3
        - auth_method
        - aws_access_keys
      title: Authenticate using AWS access keys
      unevaluatedProperties: false
    PasswordAuth:
      properties:
        username:
          type: string
          title: Username
        password:
          type: string
          title: Password
      additionalProperties: false
      type: object
      required:
        - username
        - password
    SSHTunnelParams:
      properties:
        ssh_tunnel_host:
          type: string
          title: SSH tunnel host
        ssh_tunnel_port:
          type: integer
          title: SSH tunnel port
          default: 22
        ssh_tunnel_username:
          type: string
          title: SSH tunnel username
        ssh_public_key:
          type: string
          enum:
            - primary_public_key
            - secondary_public_key
          title: SSH Public Key
          description: >-
            This is the public SSH key that will be used to establish the SSH
            tunnel. It should be added to the list of authorized keys on the
            bastion host.
      additionalProperties: false
      type: object
      required:
        - ssh_tunnel_host
        - ssh_tunnel_port
        - ssh_tunnel_username
    BigQueryDestinationOptionsGCPServiceAccountRole:
      properties:
        project_id:
          $comment: >-
            BigQuery Project IDs must consist of 4-30 lowercase letters,
            numbers, and hyphens, and must begin with a lowercase letter and end
            with a lowercase letter or number.
          type: string
          pattern: ^[a-z][a-z0-9-]{2,28}[a-z0-9]$
          title: Project ID
        schema:
          $comment: >-
            BigQuery Dataset IDs must consist of 1-1024 alphanumeric characters
            or underscores.
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          title: Dataset
          description: >-
            Name of dataset to create and write data to. It will be created
            automatically if the dataset does not exist.
        bucket_gcs:
          $ref: '#/components/schemas/BigQueryGCSBucketParams'
          description: Required details about the GCS bucket used for staging data.
        auth_method:
          const: gcp_service_account_role
        gcp_service_account_role:
          $ref: '#/components/schemas/GCPServiceAccountRole'
          title: Authenticate using a GCP service account (recommended)
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
      type: object
      required:
        - project_id
        - schema
        - bucket_gcs
        - auth_method
        - gcp_service_account_role
      title: Authenticate using a GCP service account (recommended)
      unevaluatedProperties: false
    BigQueryDestinationOptionsFederatedGCPServiceAccountRole:
      properties:
        project_id:
          $comment: >-
            BigQuery Project IDs must consist of 4-30 lowercase letters,
            numbers, and hyphens, and must begin with a lowercase letter and end
            with a lowercase letter or number.
          type: string
          pattern: ^[a-z][a-z0-9-]{2,28}[a-z0-9]$
          title: Project ID
        schema:
          $comment: >-
            BigQuery Dataset IDs must consist of 1-1024 alphanumeric characters
            or underscores.
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          title: Dataset
          description: >-
            Name of dataset to create and write data to. It will be created
            automatically if the dataset does not exist.
        bucket_gcs:
          $ref: '#/components/schemas/BigQueryGCSBucketParams'
          description: Required details about the GCS bucket used for staging data.
        auth_method:
          const: federated_gcp_service_account_role
        federated_gcp_service_account_role:
          $ref: '#/components/schemas/FederatedGCPServiceAccountRole'
          title: Authenticate using federation (only if self-hosting)
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
      type: object
      required:
        - project_id
        - schema
        - bucket_gcs
        - auth_method
        - federated_gcp_service_account_role
      title: Authenticate using federation (only if self-hosting)
      unevaluatedProperties: false
    BigQueryDestinationOptionsGCPServiceAccountKey:
      properties:
        project_id:
          $comment: >-
            BigQuery Project IDs must consist of 4-30 lowercase letters,
            numbers, and hyphens, and must begin with a lowercase letter and end
            with a lowercase letter or number.
          type: string
          pattern: ^[a-z][a-z0-9-]{2,28}[a-z0-9]$
          title: Project ID
        schema:
          $comment: >-
            BigQuery Dataset IDs must consist of 1-1024 alphanumeric characters
            or underscores.
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          title: Dataset
          description: >-
            Name of dataset to create and write data to. It will be created
            automatically if the dataset does not exist.
        bucket_gcs:
          $ref: '#/components/schemas/BigQueryGCSBucketParams'
          description: Required details about the GCS bucket used for staging data.
        auth_method:
          const: gcp_service_account_key
        gcp_service_account_key:
          $ref: '#/components/schemas/GCPServiceAccountKey'
          title: Authenticate using direct access
          description: Required details if authenticating using a GCP service account key.
      type: object
      required:
        - project_id
        - schema
        - bucket_gcs
        - auth_method
        - gcp_service_account_key
      title: Authenticate using direct access
      unevaluatedProperties: false
    ClickhouseS3BucketParams:
      oneOf:
        - properties:
            bucket_auth_method:
              const: aws_access_keys
            aws_access_keys:
              $ref: '#/components/schemas/AWSAccessKeys'
              title: Authenticate using AWS access keys
              description: Required details if authenticating using AWS access keys.
          required:
            - bucket_auth_method
            - aws_access_keys
          title: Authenticate using AWS access keys
        - properties:
            bucket_auth_method:
              const: aws_iam_role
            aws_iam_role:
              $ref: '#/components/schemas/AWSIAMRole'
              title: Authenticate using an AWS IAM role (recommended)
              description: Required details if authenticating using AWS IAM role.
          required:
            - bucket_auth_method
            - aws_iam_role
          title: Authenticate using an AWS IAM role (recommended)
      properties:
        bucket_name:
          type: string
          title: Bucket name
        bucket_region:
          type: string
          title: S3 bucket region
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
      type: object
      required:
        - bucket_name
        - bucket_region
      unevaluatedProperties: false
    ClickhouseGCSBucketParams:
      properties:
        bucket_name:
          type: string
          title: Bucket name
        gcs_hmac_keys:
          $ref: '#/components/schemas/GCSAccessKeys'
          description: Required details for GCS HMAC key authentication.
      additionalProperties: false
      type: object
      required:
        - bucket_name
        - gcs_hmac_keys
    AccessToken:
      properties:
        access_token:
          type: string
          title: Personal access token
          description: The access token to use for the connection.
      additionalProperties: false
      type: object
      required:
        - access_token
    OauthClientSecretAuth:
      properties:
        client_id:
          type: string
          title: Client ID
          description: The Databricks-generated OAuth client ID.
        client_secret:
          type: string
          title: Client Secret
          description: The Databricks-generated OAuth client secret.
      additionalProperties: false
      type: object
      required:
        - client_id
        - client_secret
    DatabricksHiveOptions:
      oneOf:
        - properties:
            bucket_vendor:
              const: bucket_s3
            bucket_s3:
              $ref: '#/components/schemas/DatabricksS3BucketParams'
              description: Required details if using an S3 bucket for staging data.
          required:
            - bucket_vendor
            - bucket_s3
          title: bucket_s3
      properties: {}
      type: object
      unevaluatedProperties: false
    OpenTableFormatABSBucketParams:
      properties:
        container_name:
          type: string
          title: Bucket name
        folder:
          type: string
          title: Folder Name
          description: >-
            Name of folder to create and write data to. It will be created
            automatically if the folder does not exist.
        storage_account_name:
          type: string
          title: Storage account name
        bucket_auth_method:
          type: string
          enum:
            - azure_storage_account_access_key
          title: Auth method
        azure_storage_account_access_key:
          $ref: '#/components/schemas/AzureStorageAccountAccessKey'
          description: Required parameters to authenticate to Azure using an access key.
      additionalProperties: false
      type: object
      required:
        - container_name
        - folder
        - storage_account_name
        - bucket_auth_method
    OpenTableFormatGCSBucketParams:
      oneOf:
        - properties:
            bucket_auth_method:
              const: gcp_service_account_role
            gcp_service_account_role:
              $ref: '#/components/schemas/GCPServiceAccountRole'
              title: Authenticate using a GCP service account (recommended)
              description: >-
                Required details if authenticating using Workload Identity
                Federation.
          required:
            - bucket_auth_method
            - gcp_service_account_role
          title: Authenticate using a GCP service account (recommended)
        - properties:
            bucket_auth_method:
              const: gcp_service_account_key
            gcp_service_account_key:
              $ref: >-
                #/components/schemas/OpenTableFormatGCSDestinationServiceAccountKey
              title: Authenticate using direct access
              description: >-
                Required details if authenticating using a GCP service account
                key.
          required:
            - bucket_auth_method
            - gcp_service_account_key
          title: Authenticate using direct access
        - properties:
            bucket_auth_method:
              const: federated_gcp_service_account_role
            federated_gcp_service_account_role:
              $ref: '#/components/schemas/FederatedGCPServiceAccountRole'
              title: Authenticate using federation (only if self-hosting)
              description: >-
                Required details if authenticating using Workload Identity
                Federation.
          required:
            - bucket_auth_method
            - federated_gcp_service_account_role
          title: Authenticate using federation (only if self-hosting)
      properties:
        bucket_name:
          type: string
          title: GCS bucket name
        folder:
          type: string
          title: Folder
      type: object
      required:
        - bucket_name
        - folder
      unevaluatedProperties: false
    OpenTableFormatS3BucketParams:
      oneOf:
        - properties:
            bucket_auth_method:
              const: aws_iam_role
            aws_iam_role:
              $ref: '#/components/schemas/AWSIAMRole'
              title: Authenticate using an AWS IAM role (recommended)
          required:
            - bucket_auth_method
            - aws_iam_role
          title: Authenticate using an AWS IAM role (recommended)
        - properties:
            bucket_auth_method:
              const: aws_access_keys
            aws_access_keys:
              $ref: '#/components/schemas/AWSAccessKeys'
              title: Authenticate using AWS access keys
              description: Required details if authenticating using AWS access keys.
          required:
            - bucket_auth_method
            - aws_access_keys
          title: Authenticate using AWS access keys
      properties:
        bucket_name:
          type: string
          title: S3 bucket name
        bucket_region:
          type: string
          title: S3 bucket region
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
        folder:
          type: string
          title: Folder name
          description: >-
            Name of folder to create and write data to. It will be created
            automatically if it does not exist.
      type: object
      required:
        - bucket_name
        - bucket_region
        - folder
      unevaluatedProperties: false
    OpenTableFormatS3CompatibleBucketParams:
      properties:
        bucket_host:
          type: string
          title: Bucket host
          default: s3.us-east-1.amazonaws.com
        bucket_port:
          type: integer
          exclusiveMinimum: 0
          title: Bucket port
          default: 443
        bucket_name:
          type: string
          title: Bucket name
        folder:
          type: string
          title: Folder name
          description: >-
            Name of folder to create and write data to. It will be created
            automatically if it does not exist.
        bucket_auth_method:
          type: string
          enum:
            - access_keys
          title: Auth method
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to access_keys.
        access_keys:
          $ref: '#/components/schemas/AccessKeys'
          description: Required details for access key authentication.
        disable_ssl:
          type: boolean
          title: Disable SSL
      additionalProperties: false
      type: object
      required:
        - bucket_host
        - bucket_port
        - bucket_name
        - folder
        - bucket_auth_method
        - access_keys
    GCSDestinationOptionsGCPServiceAccountRole:
      properties:
        folder:
          type: string
          title: Folder
          description: >-
            Name of folder to create and write data to. It will be created
            automatically if it does not exist.
        file_format:
          type: string
          enum:
            - parquet
            - csv
            - json
            - jsonl
          title: File format
          description: >-
            File format to write to the bucket. Parquet is the default and
            recommended format.
          default: parquet
        csv:
          $ref: '#/components/schemas/FileFormatCSV'
          description: Required details if writing CSV file format.
        bucket_name:
          type: string
          title: GCS bucket name
        disable_manifest:
          type: boolean
          title: Disable Manifest Files
          description: >-
            Disables JSON manifest files (containing validation metadata)
            written with each batch of data.
          default: false
        auth_method:
          const: gcp_service_account_role
        gcp_service_account_role:
          $ref: '#/components/schemas/GCPServiceAccountRole'
          title: Authenticate using a GCP service account (recommended)
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
      type: object
      required:
        - folder
        - bucket_name
        - auth_method
        - gcp_service_account_role
      title: Authenticate using a GCP service account (recommended)
      unevaluatedProperties: false
    GCSDestinationOptionsGCSHMACKeys:
      properties:
        folder:
          type: string
          title: Folder
          description: >-
            Name of folder to create and write data to. It will be created
            automatically if it does not exist.
        file_format:
          type: string
          enum:
            - parquet
            - csv
            - json
            - jsonl
          title: File format
          description: >-
            File format to write to the bucket. Parquet is the default and
            recommended format.
          default: parquet
        csv:
          $ref: '#/components/schemas/FileFormatCSV'
          description: Required details if writing CSV file format.
        bucket_name:
          type: string
          title: GCS bucket name
        disable_manifest:
          type: boolean
          title: Disable Manifest Files
          description: >-
            Disables JSON manifest files (containing validation metadata)
            written with each batch of data.
          default: false
        auth_method:
          const: gcs_hmac_keys
        gcs_hmac_keys:
          $ref: '#/components/schemas/GCSAccessKeys'
          title: Authenticate using GCS HMAC keys
          description: Required details if authenticating using GCS HMAC keys.
      type: object
      required:
        - folder
        - bucket_name
        - auth_method
        - gcs_hmac_keys
      title: Authenticate using GCS HMAC keys
      unevaluatedProperties: false
    GCSDestinationOptionsFederatedGCPServiceAccountRole:
      properties:
        folder:
          type: string
          title: Folder
          description: >-
            Name of folder to create and write data to. It will be created
            automatically if it does not exist.
        file_format:
          type: string
          enum:
            - parquet
            - csv
            - json
            - jsonl
          title: File format
          description: >-
            File format to write to the bucket. Parquet is the default and
            recommended format.
          default: parquet
        csv:
          $ref: '#/components/schemas/FileFormatCSV'
          description: Required details if writing CSV file format.
        bucket_name:
          type: string
          title: GCS bucket name
        disable_manifest:
          type: boolean
          title: Disable Manifest Files
          description: >-
            Disables JSON manifest files (containing validation metadata)
            written with each batch of data.
          default: false
        auth_method:
          const: federated_gcp_service_account_role
        federated_gcp_service_account_role:
          $ref: '#/components/schemas/FederatedGCPServiceAccountRole'
          title: Authenticate using federation (only if self-hosting)
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
      type: object
      required:
        - folder
        - bucket_name
        - auth_method
        - federated_gcp_service_account_role
      title: Authenticate using federation (only if self-hosting)
      unevaluatedProperties: false
    IcebergRestCatalogParams:
      oneOf:
        - $ref: '#/components/schemas/IcebergRestCatalogParamsOAuthBearerTokenAuth'
        - $ref: '#/components/schemas/IcebergRestCatalogParamsOAuthClientSecretAuth'
      discriminator:
        mapping:
          oauth_bearer_token_auth:
            $ref: '#/components/schemas/IcebergRestCatalogParamsOAuthBearerTokenAuth'
          oauth_client_secret_auth:
            $ref: '#/components/schemas/IcebergRestCatalogParamsOAuthClientSecretAuth'
        propertyName: auth_method
    IcebergAwsGlueCatalogParams:
      properties:
        storage_options:
          $ref: '#/components/schemas/IcebergAwsStorageOptionsParams'
        database:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Database
          description: >-
            Name of database in which to group written iceberg tables. It will
            be created automatically if the database does not exist.
      additionalProperties: false
      type: object
      required:
        - storage_options
        - database
    IcebergAwsS3TablesCatalogParams:
      properties:
        storage_options:
          $ref: '#/components/schemas/IcebergAwsStorageOptionsParams'
        namespace:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Namespace
          description: >-
            Name of collection in which to group written iceberg tables. It will
            be created automatically if the namespace does not exist.
        table_bucket_arn:
          type: string
          title: Table Bucket ARN
          description: ARN of S3 Tables bucket where Iceberg data will be written.
      additionalProperties: false
      type: object
      required:
        - storage_options
    IcebergGoogleLakehouseCatalogParams:
      oneOf:
        - $ref: >-
            #/components/schemas/IcebergGoogleLakehouseCatalogParamsGCPServiceAccountRole
        - $ref: >-
            #/components/schemas/IcebergGoogleLakehouseCatalogParamsFederatedGCPServiceAccountRole
        - $ref: >-
            #/components/schemas/IcebergGoogleLakehouseCatalogParamsGCPServiceAccountKey
      discriminator:
        mapping:
          federated_gcp_service_account_role:
            $ref: >-
              #/components/schemas/IcebergGoogleLakehouseCatalogParamsFederatedGCPServiceAccountRole
          gcp_service_account_key:
            $ref: >-
              #/components/schemas/IcebergGoogleLakehouseCatalogParamsGCPServiceAccountKey
          gcp_service_account_role:
            $ref: >-
              #/components/schemas/IcebergGoogleLakehouseCatalogParamsGCPServiceAccountRole
        propertyName: auth_method
    MongoDBDestinationOptionsAWSIAMRole:
      properties:
        host:
          type: string
          title: Host
          description: >-
            Hostname of the MongoDB server. For Atlas clusters: use the cluster
            endpoint.
          default: clusterID.mongodb.net
        port:
          type: integer
          title: Port
          description: Optional. Leave empty If using Atlas.
          default: 27017
        authentication_database:
          type: string
          title: Database
          description: The MongoDB database to connect to.
        write_database:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_ssl:
          type: boolean
          title: Disable SSL
          description: >-
            Whether to disable SSL for the MongoDB connection. When false: SSL
            is enabled.
          default: false
        auth_method:
          const: aws_iam_role
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
          title: Authenticate using an AWS IAM role (recommended)
      type: object
      required:
        - host
        - authentication_database
        - write_database
        - auth_method
        - aws_iam_role
      title: Authenticate using an AWS IAM role (recommended)
      unevaluatedProperties: false
    MongoDBDestinationOptionsPasswordAuth:
      properties:
        host:
          type: string
          title: Host
          description: >-
            Hostname of the MongoDB server. For Atlas clusters: use the cluster
            endpoint.
          default: clusterID.mongodb.net
        port:
          type: integer
          title: Port
          description: Optional. Leave empty If using Atlas.
          default: 27017
        authentication_database:
          type: string
          title: Database
          description: The MongoDB database to connect to.
        write_database:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_ssl:
          type: boolean
          title: Disable SSL
          description: >-
            Whether to disable SSL for the MongoDB connection. When false: SSL
            is enabled.
          default: false
        auth_method:
          const: password_auth
        password_auth:
          $ref: '#/components/schemas/PasswordAuth'
          title: Authenticate using a username and password
          description: Required details if authenticating with username/password.
      type: object
      required:
        - host
        - authentication_database
        - write_database
        - auth_method
        - password_auth
      title: Authenticate using a username and password
      unevaluatedProperties: false
    OracleSSLParams:
      properties:
        wallet:
          type: string
          title: Oracle Wallet
          description: Base64 encoded contents of Oracle Wallet.
      additionalProperties: false
      type: object
    RedshiftDestinationOptionsAWSAccessKeys:
      properties:
        host:
          type: string
          title: Host
          description: Host address of the destination.
          default: cluster-name.ab1cdefgh.us-east-1.redshift.amazonaws.com
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          default: 5439
        database:
          type: string
          title: Database
          description: Name of database provisioned by the owner of the destination.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        cluster:
          type: string
          title: Cluster
          description: Redshift Cluster identifier
        username:
          type: string
          title: Username
          description: >-
            Username for the Redshift connection. Required when using
            aws_access_keys auth.
        bucket_s3:
          $ref: '#/components/schemas/RedshiftS3BucketParams'
          description: Required details about the S3 bucket used for staging data.
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        auth_method:
          const: aws_access_keys
        aws_access_keys:
          $ref: '#/components/schemas/RedshiftAccessKeys'
          title: Authenticate using AWS access keys
          description: Required details for username/password authentication.
      type: object
      required:
        - host
        - port
        - database
        - schema
        - bucket_s3
        - auth_method
        - aws_access_keys
      title: Authenticate using AWS access keys
      unevaluatedProperties: false
    RedshiftDestinationOptionsAWSIAMRole:
      properties:
        host:
          type: string
          title: Host
          description: Host address of the destination.
          default: cluster-name.ab1cdefgh.us-east-1.redshift.amazonaws.com
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          default: 5439
        database:
          type: string
          title: Database
          description: Name of database provisioned by the owner of the destination.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        cluster:
          type: string
          title: Cluster
          description: Redshift Cluster identifier
        username:
          type: string
          title: Username
          description: >-
            Username for the Redshift connection. Required when using
            aws_access_keys auth.
        bucket_s3:
          $ref: '#/components/schemas/RedshiftS3BucketParams'
          description: Required details about the S3 bucket used for staging data.
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        auth_method:
          const: aws_iam_role
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
          title: Authenticate using an AWS IAM role (recommended)
          description: Required details if authenticating using an AWS IAM role.
      type: object
      required:
        - host
        - port
        - database
        - schema
        - bucket_s3
        - auth_method
        - aws_iam_role
      title: Authenticate using an AWS IAM role (recommended)
      unevaluatedProperties: false
    RedshiftServerlessDestinationOptionsAWSIAMRole:
      properties:
        workgroup:
          type: string
          title: Workgroup
          description: Name of the Redshift Serverless workgroup.
        host:
          type: string
          title: Host
          description: Workgroup endpoint
          default: workgroup.123456789.us-east-1.redshift-serverless.amazonaws.com
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          default: 5439
        database:
          type: string
          title: Database
          description: Name of target database.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        bucket_s3:
          $ref: '#/components/schemas/RedshiftS3BucketParams'
          description: Required details about the S3 bucket used for staging data.
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        auth_method:
          const: aws_iam_role
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
          title: Authenticate using an AWS IAM role (recommended)
          description: Required details if authenticating using an AWS IAM role.
      type: object
      required:
        - workgroup
        - host
        - port
        - database
        - schema
        - bucket_s3
        - auth_method
        - aws_iam_role
      title: Authenticate using an AWS IAM role (recommended)
      unevaluatedProperties: false
    RedshiftServerlessDestinationOptionsAWSAccessKeys:
      properties:
        workgroup:
          type: string
          title: Workgroup
          description: Name of the Redshift Serverless workgroup.
        host:
          type: string
          title: Host
          description: Workgroup endpoint
          default: workgroup.123456789.us-east-1.redshift-serverless.amazonaws.com
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          default: 5439
        database:
          type: string
          title: Database
          description: Name of target database.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        bucket_s3:
          $ref: '#/components/schemas/RedshiftS3BucketParams'
          description: Required details about the S3 bucket used for staging data.
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        auth_method:
          const: aws_access_keys
        aws_access_keys:
          $ref: '#/components/schemas/AWSAccessKeys'
          title: Authenticate using AWS access keys
          description: Required details if authenticating using AWS access keys.
      type: object
      required:
        - workgroup
        - host
        - port
        - database
        - schema
        - bucket_s3
        - auth_method
        - aws_access_keys
      title: Authenticate using AWS access keys
      unevaluatedProperties: false
    PGPEncryption:
      properties:
        pgp_public_key:
          type: string
          title: PGP public key
          description: PGP public key in ASCII armored format.
      additionalProperties: false
      type: object
      required:
        - pgp_public_key
    PublicKeyAuth:
      properties:
        public_key:
          type: string
          enum:
            - primary_public_key
            - secondary_public_key
          title: Public key
          description: >-
            This is the public SSH key that will be used to establish the SSH
            tunnel. It should be added to the list of authorized keys on the
            bastion host.
      additionalProperties: false
      type: object
      required:
        - public_key
    SnowflakeDestinationOptionsPasswordAuth:
      properties:
        host:
          type: string
          pattern: .*\.snowflakecomputing.com$
          title: Account host
          description: Account address of the destination.
          default: db54321.us-central1.gcp.snowflakecomputing.com
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          description: Port of the Snowflake server.
          default: 443
        database:
          type: string
          title: Database
          description: Name of database provisioned by the owner of the destination.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        username:
          type: string
          title: Username
          description: The name of the Snowflake user.
        auth_method:
          const: password_auth
        password_auth:
          $ref: '#/components/schemas/PasswordOnlyAuth'
          title: Authenticate using a username and password
          description: Required details for username/password authentication.
      type: object
      required:
        - host
        - port
        - database
        - schema
        - username
        - auth_method
        - password_auth
      title: Authenticate using a username and password
      unevaluatedProperties: false
    SnowflakeDestinationOptionsPublicKeyAuth:
      properties:
        host:
          type: string
          pattern: .*\.snowflakecomputing.com$
          title: Account host
          description: Account address of the destination.
          default: db54321.us-central1.gcp.snowflakecomputing.com
        port:
          type: integer
          exclusiveMinimum: 0
          title: Port
          description: Port of the Snowflake server.
          default: 443
        database:
          type: string
          title: Database
          description: Name of database provisioned by the owner of the destination.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: >-
            Name of schema to create and write data to. It will be created
            automatically if the schema does not exist.
        username:
          type: string
          title: Username
          description: The name of the Snowflake user.
        auth_method:
          const: public_key_auth
        public_key_auth:
          $ref: '#/components/schemas/PublicKeyAuth'
          description: Required details for public key authentication.
      type: object
      required:
        - host
        - port
        - database
        - schema
        - username
        - auth_method
        - public_key_auth
      unevaluatedProperties: false
    S3DestinationOptionsAWSIAMRole:
      properties:
        folder:
          type: string
          title: Folder name
          description: >-
            Name of folder to create and write data to. It will be created
            automatically if it does not exist.
        file_format:
          type: string
          enum:
            - parquet
            - csv
            - json
            - jsonl
          title: File format
          description: >-
            File format to write to the bucket. Parquet is the default and
            recommended format.
          default: parquet
        csv:
          $ref: '#/components/schemas/FileFormatCSV'
          description: Required details if writing CSV file format.
        bucket_name:
          type: string
          title: S3 bucket name
        bucket_region:
          type: string
          title: S3 bucket region
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_manifest:
          type: boolean
          title: Disable Manifest Files
          description: >-
            Disables JSON manifest files (containing validation metadata)
            written with each batch of data.
          default: false
        auth_method:
          const: aws_iam_role
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
          title: Authenticate using an AWS IAM role (recommended)
      type: object
      required:
        - folder
        - bucket_name
        - bucket_region
        - auth_method
        - aws_iam_role
      title: Authenticate using an AWS IAM role (recommended)
      unevaluatedProperties: false
    S3DestinationOptionsAWSAccessKeys:
      properties:
        folder:
          type: string
          title: Folder name
          description: >-
            Name of folder to create and write data to. It will be created
            automatically if it does not exist.
        file_format:
          type: string
          enum:
            - parquet
            - csv
            - json
            - jsonl
          title: File format
          description: >-
            File format to write to the bucket. Parquet is the default and
            recommended format.
          default: parquet
        csv:
          $ref: '#/components/schemas/FileFormatCSV'
          description: Required details if writing CSV file format.
        bucket_name:
          type: string
          title: S3 bucket name
        bucket_region:
          type: string
          title: S3 bucket region
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
        use_ssh_tunnel:
          type: boolean
          description: Whether to use an SSH tunnel for the connection.
        ssh_tunnel:
          $ref: '#/components/schemas/SSHTunnelParams'
          description: Required details if using SSH tunneling.
        disable_manifest:
          type: boolean
          title: Disable Manifest Files
          description: >-
            Disables JSON manifest files (containing validation metadata)
            written with each batch of data.
          default: false
        auth_method:
          const: aws_access_keys
        aws_access_keys:
          $ref: '#/components/schemas/AWSAccessKeys'
          title: Authenticate using AWS access keys
          description: Required details if authenticating using AWS access keys.
      type: object
      required:
        - folder
        - bucket_name
        - bucket_region
        - auth_method
        - aws_access_keys
      title: Authenticate using AWS access keys
      unevaluatedProperties: false
    AccessKeys:
      properties:
        access_id:
          type: string
          title: Bucket access ID
        secret_key:
          type: string
          title: Bucket secret key
      additionalProperties: false
      type: object
      required:
        - access_id
        - secret_key
    UpdateAzureServiceSharedAccessSignature:
      properties:
        shared_access_signature_token:
          type: string
          title: Storage Account SAS Token
      additionalProperties: false
      type: object
    AWSIAMRole:
      properties:
        aws_iam_role_arn:
          type: string
          title: IAM role ARN
          default: arn:aws:iam::123456789012:role/service-role/role-name
      additionalProperties: false
      type: object
      required:
        - aws_iam_role_arn
    UpdateAWSAccessKeys:
      properties:
        access_id:
          type: string
          description: The access key ID to use for authentication.
        secret_key:
          type: string
          description: The secret key to use for authentication.
      additionalProperties: false
      type: object
    UpdateS3BucketParams:
      properties:
        bucket_name:
          type: string
          description: The name of the S3 bucket.
        bucket_region:
          type: string
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
      additionalProperties: false
      type: object
    UpdatePasswordAuth:
      properties:
        username:
          type: string
          description: The username to use for authentication.
        password:
          type: string
          description: The password to use for authentication.
      additionalProperties: false
      type: object
    UpdateGCPServiceAccountRole:
      properties:
        service_account_email:
          type: string
          pattern: ^.*gserviceaccount.com$
          format: email
          description: The email of the GCP service account to use for authentication.
        workload_identity_federation_metadata:
          $ref: '#/components/schemas/GcpExternalAccountMetadata'
          title: Workload identity metadata
          description: The federation metadata to use for authentication.
      additionalProperties: false
      type: object
    UpdateFederatedGCPServiceAccountRole:
      properties:
        service_account_email:
          type: string
          pattern: ^.*gserviceaccount.com$
          format: email
          title: Service account email
          default: service-account-name@project-id.iam.gserviceaccount.com
        workload_identity_federation_metadata:
          $ref: '#/components/schemas/GcpExternalAccountMetadata'
          title: Workload identity metadata
      additionalProperties: false
      type: object
      required:
        - service_account_email
    UpdateGCPServiceAccountKey:
      properties:
        service_account_email:
          type: string
          pattern: ^.*gserviceaccount.com$
          format: email
          description: The email of the GCP service account to use for authentication.
        service_account_key:
          description: The full Google-generated JSON service account key object.
      additionalProperties: false
      type: object
    UpdateBigQueryGCSBucketParams:
      properties:
        bucket_name:
          type: string
          description: The name of the GCS bucket.
        bucket_region:
          type: string
          description: >-
            The region of the staging GCS bucket. Must be a valid GCS [bucket
            location](https://cloud.google.com/storage/docs/locations)
      additionalProperties: false
      type: object
    UpdateClickhouseS3BucketParams:
      properties:
        bucket_name:
          type: string
          description: The name of the S3 bucket.
        bucket_region:
          type: string
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
        bucket_auth_method:
          type: string
          enum:
            - aws_iam_role
            - aws_access_keys
          description: Authentication method for S3 bucket.
        aws_access_keys:
          $ref: '#/components/schemas/UpdateAWSAccessKeys'
          description: Required details for access key authentication.
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
          description: Required details for AWS IAM role authentication.
      additionalProperties: false
      type: object
    UpdateClickhouseGCSBucketParams:
      properties:
        bucket_name:
          type: string
          description: The name of the GCS bucket.
        gcs_hmac_keys:
          $ref: '#/components/schemas/UpdateGCSAccessKeys'
          description: Required details for GCS HMAC key authentication.
      additionalProperties: false
      type: object
    UpdateOauthClientSecretAuth:
      properties:
        client_id:
          type: string
          title: Client ID
        client_secret:
          type: string
          title: Client Secret
      additionalProperties: false
      type: object
    UpdateDatabricksHiveOptions:
      properties:
        bucket_vendor:
          type: string
          enum:
            - bucket_s3
          description: Where the staging bucket is hosted.
        bucket_s3:
          $ref: '#/components/schemas/UpdateDatabricksS3BucketParams'
          description: Required details if using an S3 bucket for staging data.
      additionalProperties: false
      type: object
    UpdateOpenTableFormatABSBucketParams:
      properties:
        storage_account_name:
          type: string
          description: The name of the storage account configured for Prequel.
        bucket_auth_method:
          type: string
          enum:
            - azure_storage_account_access_key
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to azure_storage_account_access_key.
        azure_storage_account_access_key:
          $ref: '#/components/schemas/UpdateAzureStorageAccountAccessKey'
          description: Required parameters to authenticate to Azure using an access key.
      additionalProperties: false
      type: object
    UpdateOpenTableFormatGCSBucketParams:
      properties:
        bucket_auth_method:
          type: string
          enum:
            - gcp_service_account_role
            - gcp_service_account_key
            - federated_gcp_service_account_role
          description: The method of authentication to use for this destination.
        gcp_service_account_role:
          $ref: '#/components/schemas/UpdateGCPServiceAccountRole'
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
        gcp_service_account_key:
          $ref: >-
            #/components/schemas/UpdateOpenTableFormatGCSDestinationServiceAccountKey
          description: Required details if authenticating using a GCP service account key.
        federated_gcp_service_account_role:
          $ref: '#/components/schemas/UpdateFederatedGCPServiceAccountRole'
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
      additionalProperties: false
      type: object
    UpdateOpenTableFormatS3BucketParams:
      properties:
        bucket_auth_method:
          type: string
          enum:
            - aws_iam_role
            - aws_access_keys
          title: Auth method
          description: The method of authentication to use for this destination.
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRole'
        aws_access_keys:
          $ref: '#/components/schemas/AWSAccessKeys'
          description: Required details if authenticating using AWS access keys.
      additionalProperties: false
      type: object
      required:
        - bucket_auth_method
    UpdateOpenTableFormatS3CompatibleBucketParams:
      properties:
        disable_ssl:
          type: boolean
          description: Whether to disable SSL for the S3-compatible connection.
        bucket_auth_method:
          type: string
          enum:
            - access_keys
          description: >-
            Placeholder value in case authentication options are added.
            Currently must be set to access_keys.
        access_keys:
          $ref: '#/components/schemas/UpdateAccessKeys'
          description: Required details for access key authentication.
      additionalProperties: false
      type: object
    UpdateGCSAccessKeys:
      properties:
        access_key:
          type: string
          description: The access key to use for authentication.
        secret:
          type: string
          description: The secret to use for authentication.
      additionalProperties: false
      type: object
    UpdateIcebergRestCatalogParams:
      properties:
        auth_method:
          type: string
          enum:
            - oauth_bearer_token_auth
            - oauth_client_secret_auth
          title: Auth method
          description: The method of authentication to use for this rest catalog.
        oauth_bearer_token_auth:
          $ref: '#/components/schemas/UpdateOauthBearerTokenAuth'
          description: Required details if authenticating with an OAUTH2 bearer token.
        oauth_client_secret_auth:
          $ref: '#/components/schemas/UpdateOauthDelegatedCredentialAuth'
          description: >-
            Required details if authenticating with an OAUTH2 delegated
            credentials.
        storage_options:
          $ref: '#/components/schemas/UpdateIcebergStorageOptionsParams'
        namespace:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Namespace
          description: >-
            Name of collection in which to group written iceberg tables. It will
            be created automatically if the namespace does not exist.
        warehouse:
          type: string
          title: Namespace
          description: >-
            The identifier for the warehouse associated with this REST catalog.
            This might be a storage URI (ex s3://...) or a unique name provided
            by the catalog service.
      additionalProperties: false
      type: object
    UpdateIcebergAwsGlueCatalogParams:
      properties:
        storage_options:
          $ref: '#/components/schemas/UpdateIcebergAwsStorageOptionsParams'
        database:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
      additionalProperties: false
      type: object
    UpdateIcebergAwsS3TablesCatalogParams:
      properties:
        storage_options:
          $ref: '#/components/schemas/UpdateIcebergAwsStorageOptionsParams'
        database:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
        table_bucket_arn:
          type: string
      additionalProperties: false
      type: object
    UpdateIcebergGoogleLakehouseCatalogParams:
      properties:
        project_id:
          type: string
          description: The Google Cloud project ID.
        catalog_name:
          type: string
          description: Name of BigLake catalog.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          description: Name of BigLake schema to create and write data to.
        bucket_name:
          type: string
          description: Name of GCS bucket to use for the Iceberg table data.
        auth_method:
          type: string
          enum:
            - gcp_service_account_role
            - gcp_service_account_key
            - federated_gcp_service_account_role
          description: The method of authentication to use for this catalog.
        gcp_service_account_role:
          $ref: '#/components/schemas/UpdateGCPServiceAccountRole'
          description: Required details if authenticating using a GCP service account role.
        federated_gcp_service_account_role:
          $ref: '#/components/schemas/UpdateFederatedGCPServiceAccountRole'
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
        gcp_service_account_key:
          $ref: >-
            #/components/schemas/UpdateOpenTableFormatGCSDestinationServiceAccountKey
          description: Required details if authenticating using a GCP service account key.
      additionalProperties: false
      type: object
    UpdateRedshiftAccessKeys:
      properties:
        password:
          type: string
          title: Password
        access_id:
          type: string
          title: Bucket access ID
        secret_key:
          type: string
          title: Bucket secret key
      additionalProperties: false
      type: object
      required:
        - password
        - access_id
        - secret_key
    UpdateRedshiftS3BucketParams:
      properties:
        bucket_name:
          type: string
          description: The name of the S3 bucket.
        bucket_region:
          type: string
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
      additionalProperties: false
      type: object
    AWSAccessKeys:
      properties:
        access_id:
          type: string
          title: Bucket access ID
        secret_key:
          type: string
          title: Bucket secret key
      additionalProperties: false
      type: object
      required:
        - access_id
        - secret_key
    UpdatePublicKeyAuth:
      properties:
        public_key:
          type: string
          title: Public key
          description: >-
            This is the public SSH key that will be used to establish the SSH
            tunnel. It should be added to the list of authorized keys on the
            bastion host.
      additionalProperties: false
      type: object
    UpdatePasswordOnlyAuth:
      properties:
        password:
          type: string
          title: Password
      additionalProperties: false
      type: object
      required:
        - password
    UpdateAccessKeys:
      properties:
        access_id:
          type: string
          description: The access key ID to use for authentication.
        secret_key:
          type: string
          description: The secret key to use for authentication.
      additionalProperties: false
      type: object
    S3BucketParams:
      properties:
        bucket_name:
          type: string
          title: S3 bucket name
        bucket_region:
          type: string
          title: S3 bucket region
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
      additionalProperties: false
      type: object
      required:
        - bucket_name
        - bucket_region
    BigQueryGCSBucketParams:
      properties:
        bucket_name:
          type: string
          title: GCS bucket name
        bucket_region:
          type: string
          title: GCS bucket region
          description: >-
            The region of the staging GCS bucket. Must be a valid GCS [bucket
            location](https://cloud.google.com/storage/docs/locations)
      additionalProperties: false
      type: object
      required:
        - bucket_name
        - bucket_region
    GCPServiceAccountRole:
      properties:
        service_account_email:
          type: string
          pattern: ^.*gserviceaccount.com$
          format: email
          title: Service account email
          default: service-account-name@project-id.iam.gserviceaccount.com
      additionalProperties: false
      type: object
      required:
        - service_account_email
    FederatedGCPServiceAccountRole:
      properties:
        service_account_email:
          type: string
          pattern: ^.*gserviceaccount.com$
          format: email
          title: Service account email
          default: service-account-name@project-id.iam.gserviceaccount.com
        workload_identity_federation_metadata:
          $ref: '#/components/schemas/GcpExternalAccountMetadata'
          title: Workload identity metadata
      additionalProperties: false
      type: object
      required:
        - service_account_email
    GCPServiceAccountKey:
      properties:
        service_account_email:
          type: string
          pattern: ^.*gserviceaccount.com$
          format: email
          title: Service account email
          default: service-account-name@project-id.iam.gserviceaccount.com
        service_account_key:
          title: JSON Token
          description: >-
            The credentials (JSON) that will be used. Create a service account
            just for this use.
      additionalProperties: false
      type: object
      required:
        - service_account_email
        - service_account_key
    GCSAccessKeys:
      properties:
        access_key:
          type: string
          title: Bucket access ID
          description: The access key to use for authentication.
        secret:
          type: string
          title: Bucket secret key
          description: The secret to use for authentication.
      additionalProperties: false
      type: object
      required:
        - access_key
        - secret
    DatabricksS3BucketParams:
      oneOf:
        - properties:
            aws_access_keys:
              $ref: '#/components/schemas/AWSAccessKeys'
              description: Required details if authenticating using AWS access keys.
          required:
            - aws_access_keys
          title: aws_access_keys
      properties:
        bucket_name:
          type: string
          title: S3 bucket name
        bucket_region:
          type: string
          title: S3 bucket region
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
      type: object
      required:
        - bucket_name
        - bucket_region
      unevaluatedProperties: false
    AzureStorageAccountAccessKey:
      properties:
        storage_account_access_key:
          type: string
          title: Access key
      additionalProperties: false
      type: object
      required:
        - storage_account_access_key
    OpenTableFormatGCSDestinationServiceAccountKey:
      properties:
        service_account_email:
          type: string
          pattern: ^.*gserviceaccount.com$
          format: email
          title: Destination service account email
          default: service-account-name@project-id.iam.gserviceaccount.com
        service_account_key:
          title: JSON Token
          description: >-
            The credentials (JSON) that will be used to load data into your
            BigQuery database. Create a service account just for this use.
      additionalProperties: false
      type: object
      required:
        - service_account_email
        - service_account_key
    IcebergRestCatalogParamsOAuthBearerTokenAuth:
      properties:
        host:
          type: string
          title: Host
          default: iceberg.example.net
        port:
          type: integer
          title: Port
          description: Optional.
          default: 443
        namespace:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Namespace
          description: >-
            Name of collection in which to group written iceberg tables. It will
            be created automatically if the namespace does not exist.
        warehouse:
          type: string
          title: Warehouse
          description: >-
            The identifier for the warehouse associated with this REST catalog.
            This might be a storage URI (ex s3://...) or a unique name provided
            by the catalog service.
        storage_options:
          $ref: '#/components/schemas/IcebergStorageOptionsParams'
        auth_method:
          const: oauth_bearer_token_auth
        oauth_bearer_token_auth:
          $ref: '#/components/schemas/OauthBearerTokenAuth'
          description: Required details if authenticating with an OAUTH2 bearer token.
      type: object
      required:
        - host
        - namespace
        - storage_options
        - auth_method
        - oauth_bearer_token_auth
      unevaluatedProperties: false
    IcebergRestCatalogParamsOAuthClientSecretAuth:
      properties:
        host:
          type: string
          title: Host
          default: iceberg.example.net
        port:
          type: integer
          title: Port
          description: Optional.
          default: 443
        namespace:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Namespace
          description: >-
            Name of collection in which to group written iceberg tables. It will
            be created automatically if the namespace does not exist.
        warehouse:
          type: string
          title: Warehouse
          description: >-
            The identifier for the warehouse associated with this REST catalog.
            This might be a storage URI (ex s3://...) or a unique name provided
            by the catalog service.
        storage_options:
          $ref: '#/components/schemas/IcebergStorageOptionsParams'
        auth_method:
          const: oauth_client_secret_auth
        oauth_client_secret_auth:
          $ref: '#/components/schemas/OauthDelegatedCredentialAuth'
          description: >-
            Required details if authenticating with an OAUTH2 delegated
            credentials.
      type: object
      required:
        - host
        - namespace
        - storage_options
        - auth_method
        - oauth_client_secret_auth
      unevaluatedProperties: false
    IcebergAwsStorageOptionsParams:
      properties:
        storage:
          type: string
          enum:
            - bucket_s3
          title: Storage
        bucket_s3:
          $ref: '#/components/schemas/OpenTableFormatS3BucketParams'
      additionalProperties: false
      type: object
      required:
        - storage
    IcebergGoogleLakehouseCatalogParamsGCPServiceAccountRole:
      properties:
        project_id:
          type: string
          title: Project ID
        catalog_name:
          type: string
          title: Catalog Name
          description: Name of BigLake catalog.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: Name of BigLake schema to create and write data to.
        bucket_name:
          type: string
          title: Bucket Name
          description: Name of GCS bucket to use for the Iceberg table data.
        auth_method:
          const: gcp_service_account_role
        gcp_service_account_role:
          $ref: '#/components/schemas/GCPServiceAccountRole'
          title: Authenticate using a GCP service account (recommended)
          description: Required details if authenticating using a GCP service account role.
      type: object
      required:
        - project_id
        - catalog_name
        - auth_method
        - gcp_service_account_role
      title: Authenticate using a GCP service account (recommended)
      unevaluatedProperties: false
    IcebergGoogleLakehouseCatalogParamsFederatedGCPServiceAccountRole:
      properties:
        project_id:
          type: string
          title: Project ID
        catalog_name:
          type: string
          title: Catalog Name
          description: Name of BigLake catalog.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: Name of BigLake schema to create and write data to.
        bucket_name:
          type: string
          title: Bucket Name
          description: Name of GCS bucket to use for the Iceberg table data.
        auth_method:
          const: federated_gcp_service_account_role
        federated_gcp_service_account_role:
          $ref: '#/components/schemas/FederatedGCPServiceAccountRole'
          title: Authenticate using federation (only if self-hosting)
          description: >-
            Required details if authenticating using Workload Identity
            Federation.
      type: object
      required:
        - project_id
        - catalog_name
        - auth_method
        - federated_gcp_service_account_role
      title: Authenticate using federation (only if self-hosting)
      unevaluatedProperties: false
    IcebergGoogleLakehouseCatalogParamsGCPServiceAccountKey:
      properties:
        project_id:
          type: string
          title: Project ID
        catalog_name:
          type: string
          title: Catalog Name
          description: Name of BigLake catalog.
        schema:
          type: string
          pattern: ^[A-Za-z0-9_.]+([-][A-Za-z0-9_.]+)*$
          title: Schema
          description: Name of BigLake schema to create and write data to.
        bucket_name:
          type: string
          title: Bucket Name
          description: Name of GCS bucket to use for the Iceberg table data.
        auth_method:
          const: gcp_service_account_key
        gcp_service_account_key:
          $ref: '#/components/schemas/OpenTableFormatGCSDestinationServiceAccountKey'
          title: Authenticate using direct access
          description: Required details if authenticating using a GCP service account key.
      type: object
      required:
        - project_id
        - catalog_name
        - auth_method
        - gcp_service_account_key
      title: Authenticate using direct access
      unevaluatedProperties: false
    RedshiftS3BucketParams:
      properties:
        bucket_name:
          type: string
          title: S3 bucket name
        bucket_region:
          type: string
          title: S3 bucket region
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
      additionalProperties: false
      type: object
      required:
        - bucket_name
        - bucket_region
    RedshiftAccessKeys:
      properties:
        password:
          type: string
          title: Password
        access_id:
          type: string
          title: Bucket access ID
        secret_key:
          type: string
          title: Bucket secret key
      additionalProperties: false
      type: object
      required:
        - password
        - access_id
        - secret_key
    PasswordOnlyAuth:
      properties:
        password:
          type: string
          title: Password
      additionalProperties: false
      type: object
      required:
        - password
    GcpExternalAccountMetadata:
      properties:
        type:
          type: string
        audience:
          type: string
        subject_token_type:
          type: string
        service_account_impersonation_url:
          type: string
        token_url:
          type: string
        credential_source:
          $ref: '#/components/schemas/CredentialSource'
      type: object
      required:
        - type
        - audience
        - subject_token_type
        - service_account_impersonation_url
        - token_url
        - credential_source
    UpdateDatabricksS3BucketParams:
      properties:
        bucket_name:
          type: string
          description: The name of the S3 bucket.
        bucket_region:
          type: string
          description: >-
            The region of the S3 bucket. Must be a valid [AWS
            region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
        aws_access_keys:
          $ref: '#/components/schemas/UpdateAWSAccessKeys'
          description: Required details if authenticating using AWS access keys.
      additionalProperties: false
      type: object
    UpdateAzureStorageAccountAccessKey:
      properties:
        storage_account_access_key:
          type: string
          title: Access key
      additionalProperties: false
      type: object
    UpdateOpenTableFormatGCSDestinationServiceAccountKey:
      properties:
        service_account_email:
          type: string
          pattern: ^.*gserviceaccount.com$
          format: email
          title: Destination service account email
          default: service-account-name@project-id.iam.gserviceaccount.com
        service_account_key:
          title: JSON Token
          description: >-
            The credentials (JSON) that will be used to load data into your
            BigQuery database. Create a service account just for this use.
      additionalProperties: false
      type: object
    UpdateOauthBearerTokenAuth:
      properties:
        password:
          type: string
          title: Bearer Token
      additionalProperties: false
      type: object
    UpdateOauthDelegatedCredentialAuth:
      properties:
        client_id:
          type: string
          title: Client ID
        client_secret:
          type: string
          title: Client Secret
      additionalProperties: false
      type: object
    UpdateIcebergStorageOptionsParams:
      properties:
        bucket_abs:
          $ref: '#/components/schemas/OpenTableFormatABSBucketParams'
          description: Required details about the ABS bucket used for the iceberg table.
        bucket_gcs:
          $ref: '#/components/schemas/OpenTableFormatGCSBucketParams'
          description: Required details about the GCS bucket used for the iceberg table.
        bucket_s3:
          $ref: '#/components/schemas/OpenTableFormatS3BucketParams'
          description: Required details about the S3 bucket used for the iceberg table.
        bucket_s3_compatible:
          $ref: '#/components/schemas/OpenTableFormatS3CompatibleBucketParams'
          description: >-
            Required details about the S3 compatible bucket used for the iceberg
            table.
      additionalProperties: false
      type: object
    UpdateIcebergAwsStorageOptionsParams:
      properties:
        bucket_s3:
          $ref: '#/components/schemas/OpenTableFormatS3BucketParams'
      additionalProperties: false
      type: object
    IcebergStorageOptionsParams:
      oneOf:
        - properties:
            storage:
              const: bucket_abs
            bucket_abs:
              $ref: '#/components/schemas/OpenTableFormatABSBucketParams'
              description: >-
                Required details about the ABS bucket used for the iceberg
                table.
          required:
            - storage
            - bucket_abs
          title: bucket_abs
        - properties:
            storage:
              const: bucket_gcs
            bucket_gcs:
              $ref: '#/components/schemas/OpenTableFormatGCSBucketParams'
              description: >-
                Required details about the GCS bucket used for the iceberg
                table.
          required:
            - storage
            - bucket_gcs
          title: bucket_gcs
        - properties:
            storage:
              const: bucket_s3
            bucket_s3:
              $ref: '#/components/schemas/OpenTableFormatS3BucketParams'
              description: Required details about the S3 bucket used for the iceberg table.
          required:
            - storage
            - bucket_s3
          title: bucket_s3
        - properties:
            storage:
              const: bucket_s3_compatible
            bucket_s3_compatible:
              $ref: '#/components/schemas/OpenTableFormatS3CompatibleBucketParams'
              description: >-
                Required details about the S3 compatible bucket used for the
                iceberg table.
          required:
            - storage
            - bucket_s3_compatible
          title: bucket_s3_compatible
      properties: {}
      type: object
      unevaluatedProperties: false
    OauthBearerTokenAuth:
      properties:
        password:
          type: string
          title: Bearer Token
      additionalProperties: false
      type: object
      required:
        - password
    OauthDelegatedCredentialAuth:
      properties:
        client_id:
          type: string
          title: Client ID
        client_secret:
          type: string
          title: Client Secret
      additionalProperties: false
      type: object
      required:
        - client_id
        - client_secret
    CredentialSource:
      properties:
        environment_id:
          type: string
        region_url:
          type: string
        url:
          type: string
        regional_cred_verification_url:
          type: string
      additionalProperties: false
      type: object
      required:
        - environment_id
        - region_url
        - url
        - regional_cred_verification_url
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````